]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Export serial-related functions from kernel
[grub2.git] / ChangeLog
CommitLineData
fb1d7b79
VS
12010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
2
3 USB hotunplugging and USB serial support.
4
5 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
6 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
7 (grub_uhci_transfer): Respect timeout and set *actual.
8 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
9 non-standard length.
10 (grub_usb_device_attach): Autoload modules.
11 (GRUB_MOD_INIT): Set grub_term_poll_usb.
12 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
13 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
14 users updated.
15 (grub_usb_add_hub): Fill nports and children.
16 (attach_root_port): Receive hub instead of controller.
17 All users updated. Fill hub->devices.
18 (grub_usb_root_hub): Allocate hub->devices.
19 (detach_device): New function.
20 (poll_nonroot_hub): Fill children and detach devices.
21 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
22 actual arguments. All users updated.
23 (grub_usb_bulk_read_extended): New function.
24 * bus/usb/serial/common.c: New file.
25 * bus/usb/serial/ftdi.c: Likewise.
26 * bus/usb/serial/pl2303.c: Likewise.
27 * commands/terminal.c (handle_command): Support wildcard.
28 * commands/usbtest.c: Output "Unknown" instead of empty string.
29 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
30 (usbserial_common_mod_SOURCES): New variable.
31 (usbserial_common_mod_CFLAGS): Likewise.
32 (usbserial_common_mod_LDFLAGS): Likewise.
33 (pkglib_MODULES): Add usbserial_pl2303.mod.
34 (usbserial_pl2303_mod_SOURCES): New variable.
35 (usbserial_pl2303_mod_CFLAGS): Likewise.
36 (usbserial_pl2303_mod_LDFLAGS): Likewise.
37 (pkglib_MODULES): Add usbserial_ftdi.mod.
38 (usbserial_ftdi_mod_SOURCES): New variable.
39 (usbserial_ftdi_mod_CFLAGS): Likewise.
40 (usbserial_ftdi_mod_LDFLAGS): Likewise.
41 (pkglib_MODULES): Add serial.mod.
42 (serial_mod_SOURCES): New variable.
43 (serial_mod_CFLAGS): Likewise.
44 (serial_mod_LDFLAGS): Likewise.
45 * conf/i386-pc.rmk: Likewise.
46 * conf/mips-yeeloong.rmk: Likewise.
47 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
48 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
49 * disk/usbms.c (first_available_slot): New variable.
50 (grub_usbms_attach): Don't reuse free slots due to potential cache
51 problems.
52 * include/grub/serial.h: Moved to ..
53 * include/grub/ns8250.h: ...this.
54 * include/grub/serial.h: New file.
55 * include/grub/term.h (grub_term_poll_usb): New variable.
56 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
57 readkey. All users updated.
58 (grub_terminfo_output_state): Pass term to put.
59 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
60 (grub_usb_controller_dev): Add timeout and actual arguments to
61 transfer. All users updated.
62 (grub_usb_interface): New field detach_data.
63 (grub_usb_device): New fields children and nports.
64 (grub_usb_ep_type_t): New type.
65 (grub_usb_get_ep_type): New function.
66 (grub_usb_bulk_read_extended): Likewise.
67 * include/grub/usbdesc.h (grub_usb_desc): New type.
68 * include/grub/usbserial.h: New file.
69 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
70 * kern/term.c (grub_term_poll_usb): New variable.
71 (grub_getkey): Call grub_term_poll_usb if set.
72 (grub_checkkey): Likewise.
73 (grub_getkeystatus): Likewise.
74 * term/serial.c: Moved controller-specific parts to ...
75 * term/ns8250.c: ... here.
76 * term/serial.c: Mostly rewritten.
77 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
78 according to spec.
79
63c734a6
CW
802010-08-20 Colin Watson <cjwatson@ubuntu.com>
81
82 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
83 "numcenter" (I misunderstood the purpose of this entry).
84 * docs/grub.texi (sendkey): Likewise.
85
c4d16542
CW
862010-08-20 Colin Watson <cjwatson@ubuntu.com>
87
88 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
89 status flag options; simply omitting the option is equivalent and
90 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
91 (keysym_table): Rename "num5numlock" to "numlock".
92 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
93 can uniformly say that only the last of multiple `sendkey'
94 invocations has any effect.
95 * docs/grub.texi (sendkey): New section.
96
93541d66
CW
972010-08-19 Colin Watson <cjwatson@ubuntu.com>
98
99 * commands/i386/pc/sendkey.c (options): Fix three typos.
100
b4ece5e1
VS
1012010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
102
103 Implement sendkey support.
104
105 * commands/i386/pc/sendkey.c: New file.
106 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
107 (sendkey_mod_SOURCES): New variable.
108 (sendkey_mod_CFLAGS): Likewise.
109 (sendkey_mod_LDFLAGS): Likewise.
110
51f1f5af
CW
1112010-08-18 Colin Watson <cjwatson@ubuntu.com>
112
113 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
114 fix warnings from Autoconf.
115
9da94e05
CW
1162010-08-18 Colin Watson <cjwatson@ubuntu.com>
117
118 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
119 to avoid false positives with some assemblers that output things
120 like "someprefix_func" as part of their output.
121
729a0f2e
RM
1222010-08-15 Robert Millan <rmh@gnu.org>
123
124 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
125 errors.
126 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
127 grub_get_libzfs_handle() errors.
128
f3710e08
RM
1292010-08-14 Robert Millan <rmh@gnu.org>
130
131 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
132 filesystem is not ZFS.
133
7a3c13de
BC
1342010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
135
136 Fix for misspelled color names defaulting to black/black (bug
137 reported by Doug Nazar)
138
139 * include/grub/normal.h (grub_parse_color_name_pair): Add return
140 status to prototype.
141 * normal/color.c (grub_parse_color_name_pair): Return failure
142 status.
143 (grub_env_write_color_normal): Ignore bad color names.
144 (grub_env_write_color_highlight): Likewise.
145 * normal/main.c (GRUB_MOD_INIT): Set default color names.
146
ab8ba50d
BC
1472010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
148
149 "shift" command support to GRUB script.
150
151 * include/grub/script_sh.h (grub_script_shift): New prototype.
152 * script/execute.c (grub_script_shift): New function.
153 * script/main.c (grub_script_init): Register shift command.
154 (grub_script_fini): Unregister shift command.
155 * util/grub-script-check.c (grub_script_cmd_shift): New function.
156
157 * tests/grub_script_shift.in: New testcase.
158 * conf/tests.rmk: Rules for new testcase.
159
4d61999e
BC
1602010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
161
162 "continue" command support to GRUB script.
163
164 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
165 (grub_script_break): Continue support.
166 * script/main.c (grub_script_init): Register continue command.
167 (grub_script_fini): Unregister continue command.
168
169 * tests/grub_script_continue.in: New testcase.
170 * conf/tests.rmk: Rules for new testcase.
171
4df51e00
BC
1722010-08-12 BVK Chaitanya <bvk@dbook>
173
174 "break" command support to GRUB script.
175
176 * conf/common.rmk: Rule updates to grub-script-check.
177 * include/grub/misc.h (grub_min): New function.
178 * include/grub/script_sh.h (grub_script_init): New prototype.
179 (grub_script_fini): New prototype.
180 (grub_script_break): New prototype.
181 * script/main.c (grub_script_init): New function.
182 (grub_script_fini): New function.
183 * script/execute.c (grub_script_break): New function.
184 * normal/main.c: Calls to grub_script_{init,fini}.
185 * util/grub-script-check.c (grub_script_break): New function.
186
187 * tests/grub_script_break.in: New testcase.
188 * conf/tests.rmk: Rules for new test case.
189
f12c8420
BC
1902010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
191
192 Function parameters support to GRUB script.
193
194 * script/yylex.l (VARIABLE): Regular expression update.
195 * script/function.c (grub_script_function_call): Moved ...
196 * script/execute.c (grub_script_function_call): ... to here.
197 (grub_script_execute_arglist_to_argv): Removed.
198 (grub_script_arglist_to_argv): New function.
199 * script/argv.c: New file.
200 (grub_script_argv_free): New function.
201 (grub_script_argv_next): Likewise.
202 (grub_script_argv_append): Likewise.
203 (grub_script_argv_split_append): Likewise.
204 * include/grub/script_sh.h (grub_script_argv): New struct.
205 (grub_script_argv_free): New function.
206 (grub_script_argv_next): Likewise.
207 (grub_script_argv_append): Likewise.
208 (grub_script_argv_split_append): Likewise.
209
210 * conf/common.rmk (normal.mod): New source script/argv.c.
211
212 * tests/grub_script_echo1.in: More tests.
213 * tests/grub_script_vars1.in: Likewise.
214 * tests/grub_script_functions.in: New test case.
215 * conf/tests.rmk: Rules for new testcase.
216
8022b748
BC
2172010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
218
219 Remove grub_script_cmdblock struct.
220
221 * include/grub/script_sh.h: Remove grub_script_cmdblock.
222 * script/parser.y: Likewise.
223 * script/execute.c: Rename cmdblock suffix to cmdlist.
224 * script/script.c: Likewise.
225 * util/grub-script-check.c: Likewise.
226
79a6ba61
YB
2272010-08-11 Yves Blusseau <blusseau@zetam.org>
228
229 * .bzrignore: add grub-macho2img
230
d04b9414
VS
2312010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
232
233 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
234
f947ab49
VS
2352010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
236
237 Remove the dump of sm712 initialisation sequence.
238
239 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
240 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
241 (GRUB_VGA_IO_MISC_WRITE): Likewise.
242 (GRUB_VGA_CR_*): Added many registers.
243 (GRUB_VGA_SR_*): Likewise.
244 (GRUB_VGA_GR_*): Likewise.
245 (grub_vga_write_arx): New function.
246 (grub_video_hw_config): New struct.
247 (grub_vga_set_geometry): New function.
248 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
249 GRUB_PCI_CLASS_SUBCLASS_VGA.
250 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
251 * video/sm712.c (grub_sm712_write_reg): New function
252 (grub_sm712_read_reg): Likewise.
253 (grub_sm712_sr_write): Likewise.
254 (grub_sm712_gr_write): Likewise.
255 (grub_sm712_cr_write): Likewise.
256 (grub_sm712_write_arx): Likewise.
257 (grub_sm712_cr_shadow_write): Likewise.
258 (grub_sm712_write_dda_lookup): Likewise.
259 (grub_video_sm712_setup): Initialise the video rather then
260 blindly replay the dump.
261 (main) [TEST]: Add a routine to be able to compile as standalone for
262 tests.
263 * video/sm712_init.c (sm712_init): Removed.
264 (sm712_sr_seq1): New array.
265 (sm712_sr_seq2): Likewise.
266
f0206638
VS
2672010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
268
269 * include/grub/vga.h: Add missing grub/pci.h include.
270
2764da3b
YB
2712010-08-10 Yves Blusseau <blusseau@zetam.org>
272
273 * util/grub-macho2img.c (main): fix typo
274
cf0c775e
VS
2752010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
276
277 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
278 (grub_vga_gr_read): Likewise.
279 (grub_vga_cr_write): Likewise.
280 (grub_vga_cr_read): Likewise.
281 (grub_vga_sr_write): Likewise.
282 (grub_vga_sr_read): Likewise.
283 (grub_vga_palette_read): Likewise.
284 (grub_vga_palette_write): Likewise.
285 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
286 (grub_sm712_sr_read): New function.
287 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
288 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
289
07f360e9
RM
2902010-08-09 Robert Millan <rmh@gnu.org>
291
292 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
293 out unused variables on non-ZFS build.
294
346c2072
RM
2952010-08-08 Robert Millan <rmh@gnu.org>
296
297 Fix path generation for sub-filesystems in ZFS.
298
299 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
300 missing slash.
301
71175420
RM
3022010-08-08 Robert Millan <rmh@gnu.org>
303
304 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
305
0d8286f3
RM
3062010-08-08 Robert Millan <rmh@gnu.org>
307
308 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
309 exist, issue a proper error message (rely on `ls' for translated
310 strings).
311
55dd2924
RM
3122010-08-08 Robert Millan <rmh@gnu.org>
313
314 Fix grub-probe invocation.
315
316 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
317
d3dd9e80
RM
3182010-08-04 Robert Millan <rmh@gnu.org>
319
320 * configure.ac: Remove checks for getfsstat() and getmntany().
321 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
322 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
323 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
324 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
325 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
326 function.
327 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
328 via find_mount_point_from_dir() and getfsstat() / getmntany().
329
0de22aa9
RM
3302010-08-04 Robert Millan <rmh@gnu.org>
331
332 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
333 (grub_find_zpool_from_mount_point): Merge into ...
334 (grub_find_zpool_from_dir): ... this.
335 * kern/emu/misc.c: Likewise.
336
337 * kern/emu/misc.c
338 (grub_make_system_path_relative_to_its_root): Replace
339 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
340 with grub_find_zpool_from_dir().
341 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
342
62858144
RM
3432010-08-04 Robert Millan <rmh@gnu.org>
344
345 Support OpenSolaris in ZFS device resolution.
346
347 * configure.ac: Check for getmntany().
348 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
349 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
350 support.
351
9dd6fd50
RM
3522010-08-03 Robert Millan <rmh@gnu.org>
353
354 Fix grub-emu build.
355
356 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
357 * include/grub/emu/misc.h: ... here.
358
359 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
360 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
361
362 * util/misc.c: Remove `<grub/util/libzfs.h>'.
363 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
364 (grub_get_libzfs_handle): Move to ...
365 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
366 (grub_get_libzfs_handle): ... here.
367
c9f7ff97
BC
3682010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
369
370 * script/execute.c (grub_script_execute_cmdline): Check for NULL
371 as command name case.
372
a870a783
CW
3732010-08-02 Colin Watson <cjwatson@ubuntu.com>
374
375 * disk/raid.c (insert_array): Select unique numbers for named arrays
376 as well, for use as keys in the disk cache.
377
c7db243b
RM
3782010-08-01 Robert Millan <rmh@gnu.org>
379
380 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
381 kFreeBSD device name, except on ZFS where the filesystem label is
382 used.
383 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
384 `/boot/zfs/zpool.cache'.
385 Set mountfrom kernel variable using ${kfreebsd_device}.
386
f7abdefb
RM
3872010-08-01 Robert Millan <rmh@gnu.org>
388
389 Make it even harder to use uninitialized `libzfs_handle' (and
390 make the interface a bit simpler).
391
392 * include/grub/util/misc.h (grub_util_init_libzfs)
393 (libzfs_handle): Remove.
394 (grub_get_libzfs_handle): New prototype.
395
396 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
397 attribute.
398 (grub_util_init_libzfs): Remove.
399 (grub_get_libzfs_handle): New function.
400
401 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
402 grub_get_libzfs_handle() to obtain a libzfs handle instead of
403 accessing `libzfs_handle' directly.
404
c882acc0
RM
4052010-08-01 Robert Millan <rmh@gnu.org>
406
407 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
408 (grub_find_zpool_from_mount_point): New function prototypes.
409
410 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
411 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
412
413 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
414 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
415 `static' attribute.
416
417 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
418 finding zpool from mount point into ...
419 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
420
421 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
422 requested path is part of a ZFS pool, use
423 grub_find_zpool_from_mount_point() to detect its filesystem name,
424 and generate a path with `/fsname@path' syntax.
425
8bfe31d8
CW
4262010-08-01 Colin Watson <cjwatson@ubuntu.com>
427
428 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
429 (void) rather than () so that this is a proper prototype.
430
553df63d
VS
4312010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
432
433 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
434
8687cf07
VS
4352010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
436
437 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
438 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
439
ea9be8ea
CW
4402010-08-01 Colin Watson <cjwatson@ubuntu.com>
441
442 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
443
6eea041a
CW
4442010-08-01 Colin Watson <cjwatson@ubuntu.com>
445
446 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
447
2cfb45df
CW
4482010-08-01 Colin Watson <cjwatson@ubuntu.com>
449
450 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
451 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
452 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
453 disable gfxpayload.
454 (Shell-like scripting): Add real content.
455 (Serial terminal): Suggest `terminal_input serial; terminal_output
456 serial' rather than putting the two commands on separate lines,
457 since console input will be inoperative after the first command.
458 (menuentry): Document --class, --users, and --hotkey options.
459 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
460 Vladimir Serbinenko).
461
7decd202
VS
4622010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
4632010-08-01 Colin Watson <cjwatson@ubuntu.com>
464
465 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
466
c882acc0
RM
4672010-08-01 Robert Millan <rmh@gnu.org>
468
469 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
470 (grub_find_zpool_from_mount_point): New function prototypes.
471
472 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
473 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
474
475 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
476 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
477 `static' attribute.
478
479 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
480 finding zpool from mount point into ...
481 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
482
483 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
484 requested path is part of a ZFS pool, use
485 grub_find_zpool_from_mount_point() to detect its filesystem name,
486 and generate a path with `/fsname@path' syntax.
487
deb0caa3
RM
4882010-08-01 Robert Millan <rmh@gnu.org>
489
490 Prevent accidental use of uninitialized libzfs_handle.
491
492 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
493 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
494 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
495
ce04ef47
CW
4962010-08-01 Colin Watson <cjwatson@ubuntu.com>
497
498 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
499 util/grub.d/10_linux.in). Fixes Debian bug #591093.
500
ebf53056
RM
5012010-08-01 Robert Millan <rmh@gnu.org>
502
503 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 504
3710bb6b
RM
5052010-07-31 Robert Millan <rmh@gnu.org>
506
507 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
508
8072efeb
RM
5092010-07-31 Robert Millan <rmh@gnu.org>
510
511 * kern/emu/misc.c: Add missing license header.
512
3169f4c7
RM
5132010-07-31 Robert Millan <rmh@gnu.org>
514
515 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
516
517 * include/grub/util/libnvpair.h: Include `<config.h>'.
518 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
519 declaring libnvpair prototypes ourselves.
520 * include/grub/util/libzfs.h: Include `<config.h>'.
521 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
522 declaring libzfs prototypes ourselves.
523
524 (libzfs_handle): Moved to ...
525 * include/grub/util/misc.h (libzfs_handle): ... here.
526 Include `<grub/util/libzfs.h>'.
527
c9a00aee
RM
5282010-07-30 Robert Millan <rmh@gnu.org>
529
530 * include/grub/emu/misc.h: Add missing license header.
531
a184f9c8
RM
5322010-07-30 Robert Millan <rmh@gnu.org>
533
534 Enable `grub-probe -t device' resolution on ZFS.
535
536 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
537 * include/grub/util/libnvpair.h: New file.
538 * include/grub/util/libzfs.h: New file.
539
540 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
541 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
542 `<grub/util/libnvpair.h>'.
543 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
544
545 (find_mount_point_from_dir): New static function.
546 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
547 function.
548 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
549 find_root_device_from_libzfs() before ressorting to find_root_device().
550
551 * include/grub/util/misc.h (grub_util_init_libzfs): New function
552 prototype.
553 * util/misc.c: Include `<grub/util/libzfs.h>'.
554 (grub_util_init_libzfs): New function.
555 [HAVE_LIBZFS] (libzfs_handle): New global variable.
556 [HAVE_LIBZFS] (fini_libzfs): New static function.
557 (grub_util_init_libzfs): New function.
558 * util/grub-probe.c (main): Call grub_util_init_libzfs().
559
f7790cdd
RM
5602010-07-30 Robert Millan <rmh@gnu.org>
561
562 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
563 (xmalloc, xrealloc, xstrdup, xasprintf): Add
564 `warn_unused_result' attribute.
565 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
566 (grub_xasprintf, grub_xvasprintf): Likewise.
567 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
568
0806b63c
RM
5692010-07-29 Robert Millan <rmh@gnu.org>
570
571 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
572 (probe): Handle `PRINT_FS_LABEL'.
573 (main): Handle `-t fs_label'.
574
9f841f5c
RM
5752010-07-29 Robert Millan <rmh@gnu.org>
576
577 * configure.ac: Remove grub-mkisofs checks.
578
46371121
VS
5792010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
580
581 * util/ieee1275/grub-install.in: Don't use empty grub_device.
582 Reported by: Lennart Sorensen.
583
5842010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
585
586 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
587 prior to terminal_input/terminal_output separation. It's been over 1.5
588 years and those versions weren't widely deployed.
589
a9600892
CW
5902010-07-22 Colin Watson <cjwatson@ubuntu.com>
591
592 * disk/raid.c (insert_array): Don't count named arrays when looking
593 for unused array numbers.
697e053c 594 Reported and tested by: Michael Guntsche.
a9600892 595
c03507df
CW
5962010-07-20 Colin Watson <cjwatson@ubuntu.com>
597
598 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
599 implementation of this so that grub-emu links again, with a note
600 that this should support hotplugging in the future.
601
b26f1c11
CW
6022010-07-20 Colin Watson <cjwatson@ubuntu.com>
603
604 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
605
efc9d7f1
CW
6062010-07-20 Colin Watson <cjwatson@ubuntu.com>
607
608 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
609 handle on failure.
610 (grub_loopback_close): Remove empty function.
611 (grub_loopback_dev): Remove close method.
612
dd8ff5c9
CW
6132010-07-20 Colin Watson <cjwatson@ubuntu.com>
614
615 Disable EFI cursor when the EFI console becomes inactive.
616
617 * term/efi/console.c (grub_efi_console_init): New function.
618 (grub_efi_console_fini): New function.
619 (grub_console_term_output): Register init and fini methods.
620
5e3bec67
VS
6212010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * tests/util/grub-shell-tester.in: Remove bashism and declare as
624 sh script.
625
afaec079
VS
6262010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
627
628 * disk/loopback.c (grub_loopback): Replace filename with file.
629 (delete_loopback): Handle new semantics.
630 (grub_cmd_loopback): Likewise.
631 (grub_loopback_iterate): Likewise.
632 (grub_loopback_close): Likewise.
633
a6a11f3c
VS
6342010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
635
636 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
637 with -p "".
638 Reported by: Tito Keitel.
639
64a638b0
VS
6402010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
641
642 * docs/grub.texi (Naming convention): Document new naming convention.
643
ab8ba957
VS
6442010-07-20 Vadim Solomin <vadic052@gmail.com>
6452010-07-20 Colin Watson <cjwatson@ubuntu.com>
646
647 Generate device.map in something closer to the old ordering.
648
649 * util/deviceiter.c (struct device): New declaration.
650 (compare_file_names): Rename to ...
651 (compare_devices): ... this. Sort by kernel name in preference to
652 the stable by-id name, but keep the latter as a fallback comparison.
653 Update header comment.
654 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
655 of `struct device' rather than of plain file names.
656
a29d6a4b
TF
6572010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
658
659 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
660 on i386.
661
39d824e8
VS
6622010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * commands/acpi.c (setup_common_tables): Use sizeof instead of
665 hardcoding size.
666 (setv1table): Likewise.
667
f058276b
FZ
6682010-07-20 Colin Watson <cjwatson@ubuntu.com>
669
670 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
671 removing the homehost if present.
672 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
673 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
674 removing the homehost if present.
675 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
676 if possible.
677 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
678
679 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
680 parameter. Set its pointer target to 0.
681 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
682 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
683 `data_offset' value from the superblock for 1.x metadata.
684 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
685 data on the device.
686 (insert_array): Record the start sector of data on the device.
687 (grub_raid_register): Pass start_sector parameters to
688 grub_raid_list->detect and insert_array.
689 * include/grub/raid.h (struct grub_raid_array): Add start_sector
690 member.
691 (struct grub_raid): Add start_sector parameter to `detect'.
692
693 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
694 __attribute__ ((packed)), leaving a comment.
695 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
696 (grub_mdraid_detect_09): ... here and ...
697 (grub_mdraid_detect_1x): ... here.
698
6992010-07-20 Peter Henn <peter.henn@web.de>
700
701 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
702 chunk size and disk size, which are already given as sector counts
703 as distinct from the 0.90 units. Fetch the correct device number
704 from the role table instead of using the table index.
705
7062010-07-20 Felix Zielcke <fzielcke@z-51.de>
707
708 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
709 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
710 (WriteMostly1): New macro.
711 Set array->name to NULL for metadata format 0.90. Add support for
712 metadata 1.x. Fix some comments.
713 * disk/raid.c (): Add support for name based RAID arrays. Fix a
714 few comments.
715 * util/getroot.c (grub_util_get_grub_dev): Add support for
716 /dev/md/name style devices.
717
4b761da9
CW
7182010-07-20 Colin Watson <cjwatson@ubuntu.com>
719
720 * .bzrignore: Ignore 20_linux_xen.
721
5771289a
CW
7222010-07-17 Colin Watson <cjwatson@ubuntu.com>
723
724 * util/import_unicode.py: Remove unnecessary imports.
725
5dab68df
AN
7262010-07-17 Aleš Nesrsta <starous@volny.cz>
727
728 Hotplugging and USB hub support.
729
730 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
731 (grub_ohci): Likewise.
732 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
733 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
734 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
735 (GRUB_OHCI_CTRL_EDS): Likewise.
736 (GRUB_OHCI_BULK_EDS): Likewise.
737 (GRUB_OHCI_TDS): Likewise.
738 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
739 (grub_ohci_ed_phys2virt): New function.
740 (grub_ohci_virt_to_phys): Likewise.
741 (grub_ohci_td_phys2virt): Likewise.
742 (grub_ohci_td_virt2phys): Likewise.
743 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
744 attachment.
745 (grub_ohci_find_ed): New function.
746 (grub_ohci_alloc_td): Likewise.
747 (grub_ohci_free_td): Likewise.
748 (grub_ohci_free_tds): Likewise.
749 (grub_ohci_transfer): Use previously allocated memory.
750 (grub_ohci_portstatus): Reset status changed bit.
751 (grub_ohci_detect_dev): Supply status changed.
752 (grub_ohci_fini_hw): Free memory.
753 (grub_ohci_restore_hw): Reallocate memory.
754 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
755 Reset status change.
756 (grub_uhci_detect_dev): Supply status_change.
757 * bus/usb/usb.c (attach_hooks): New var.
758 (grub_usb_device_attach): New function.
759 (grub_usb_register_attach_hook_class): Likewise.
760 (grub_usb_unregister_attach_hook_class): Likewise.
761 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
762 (grub_usb_add_hub): Reset connection changed bit.
763 (attach_root_port): New function.
764 (grub_usb_root_hub): Likewise.
765 (poll_nonroot_hub): Likewise.
766 (grub_usb_poll_devices): Likewise.
767 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
768 * disk/usbms.c (grub_usbms_open): Use device hooks.
769 (grub_usbms_iterate) :Poll devices.
770 (grub_usbms_finddevs): Split into ...
771 (grub_usbms_attach): ... this ...
772 (grub_usbms_attach): ... and this.
773 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
774 in detect_dev.
775 (grub_usb_interface): New fields attached and detach_hook.
776 (grub_usb_attach_hook_class): New type.
777 (grub_usb_attach_desc): New struct.
778 (grub_usb_register_attach_hook_class): New function.
779 (grub_usb_unregister_attach_hook_class): Likewise.
780 (grub_usb_poll_devices): Likewise.
781 (grub_usb_device_attach): Likewise.
782 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
783 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
784
3222efaf
VS
7852010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
786
787 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
788 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
789 delta determination style. Works with most NetBSD partitions too.
790
139b714a
VS
7912010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
794 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
795
986aad56
VS
7962010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
797
798 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
799
99be513c
AB
8002010-07-14 Anton Blanchard <anton@samba.org>
801
802 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
803 ET_DYN files.
804
18075f62
GS
8052010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
806
807 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
808
8d9a5b15
GS
8092010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
810
811 * kern/partition.c (grub_partition_check_containment): New function to
812 check that a partition is physically contained in a parent. Since
813 offsets are relative (and non-negative), this reduces to checking that
814 the partition ends before its parent.
815 (grub_partition_map_probe): Discard out-of-range sub-partitions.
816 (grub_partition_iterate): Likewise.
817 * include/grub/partition.h (grub_partition_map): Slightly more detailed
818 comments.
819 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
820 partitions that start before their parent, and add debug printfs.
821
19563c25
CW
8222010-07-13 Colin Watson <cjwatson@ubuntu.com>
823
824 * Makefile.in (.SUFFIX): Spell correctly, as ...
825 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
826 bare module name without `.mod', e.g. `test') tried to invoke a
827 Modula-2 compiler.
828
1a1f1e67
CW
8292010-07-13 Colin Watson <cjwatson@ubuntu.com>
830
831 * README: Point to the Info manual.
832
811b0dca
JS
8332010-07-13 Jiro SEKIBA <jir@unicus.jp>
834
835 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
836 2nd superblock position from partition size.
837
e4f4eafc
CW
8382010-07-10 Colin Watson <cjwatson@ubuntu.com>
839
840 * Makefile.in (MAINTAINER_CLEANFILES): Remove
841 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
842 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
843 outputs.
844
4274c30f
VS
8452010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
846
847 Restructure SCSI .id handling.
848 Reported and tested by: Aleš Nesrsta.
849
850 * disk/ata.c (grub_atapi_close): Removed. All users updated.
851 (grub_atapi_dev): Changed .name to "ata". New field .id.
852 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
853 (grub_usbms_dev): New field .id.
854 * disk/scsi.c (grub_scsi_iterate): Generate name.
855 (grub_scsi_open): Parse name.
856 * include/grub/scsi.h (grub_make_scsi_id): New function.
857 (grub_scsi_dev): Change iterate and open to number instead of naming
858 busses. All users updated.
859 (grub_scsi): Remove name. Add .bus.
860
5bc24388
VS
8612010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * commands/help.c (grub_cmd_help): Fix a typo.
864
249975ba
VS
8652010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
868 Reported and tested by: Colin Watson.
869
3eaac1a1
VS
8702010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
871
872 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
873 in this context.
874
becce1b1
VS
8752010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
878
f7bf0918
CW
8792010-07-07 Colin Watson <cjwatson@ubuntu.com>
880
881 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
882 indentation.
883
0b0f9620
CW
8842010-07-06 Colin Watson <cjwatson@ubuntu.com>
885
886 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
887 and disk/raid6_recover.c.
888 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
889 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
890
1e545469
CW
8912010-07-06 Colin Watson <cjwatson@ubuntu.com>
892
893 * term/gfxterm.c (repaint_schedulded): Rename to ...
894 (repaint_scheduled): ... this. Update all callers.
895 (repaint_was_schedulded): Rename to ...
896 (repaint_was_scheduled): ... this. Update all callers.
897
5357687a
CW
8982010-07-06 Colin Watson <cjwatson@ubuntu.com>
899
900 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
901 which we expect to be handled by upper layers.
902
29d7e783
BC
9032010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
904
905 * bus/usb/usbhub.c: #include time.h header.
906
37582066
CW
9072010-07-06 Colin Watson <cjwatson@ubuntu.com>
908
909 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
910 entry_name also for entries without stat blocks (e.g. ".."); fixes
911 corruption of the first entry in a directory.
912
c8c06953
CW
9132010-07-06 Colin Watson <cjwatson@ubuntu.com>
914
915 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
916 after setting gfxterm as the active terminal. GRUB_BACKGROUND
917 doesn't work otherwise.
918
e75056f1
CW
9192010-07-05 Colin Watson <cjwatson@ubuntu.com>
920
921 * docs/grub.texi (Features): Update list of supported file systems.
922 (GNU/Linux): Update for GRUB 2.
923 (Serial terminal): Remove mention of --disable-serial, which was a
924 GRUB Legacy configure option. Update instructions to use
925 `terminal_input' and `terminal_output' rather than `terminal'.
926 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
927 configuration' and `Installing GRUB using grub-install'.
928 (Menu entry editor): Update for GRUB 2.
929 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
930 Document new -a, -u, and -v options.
931 (initrd): New section.
932 (initrd16): New section.
933 (linux): New section.
934 (linux16): New section.
935 (search): The `var' argument to `--set' is optional.
936 (GRUB only offers a rescue shell): Go into a little more detail on
937 drive ordering.
938
5cf69151
CW
9392010-07-05 Colin Watson <cjwatson@ubuntu.com>
940
941 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
942
e3f90044
CW
9432010-07-05 Colin Watson <cjwatson@ubuntu.com>
944
945 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
946 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
947
38d8f4f3
CW
9482010-07-05 Colin Watson <cjwatson@ubuntu.com>
949
950 * util/i386/pc/grub-setup.c (setup): Rename prefix to
951 install_prefix, in line with install_dos_part and install_bsd_part.
952 Add new prefix variable, which is copied to install_prefix after
953 comparing core.img in memory with the one read from disk in the
954 no-embedding case, and use that rather than overwriting
955 install_prefix immediately when installing to a partition.
956 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
957 Bicakci.
958
57ebd41e
GS
9592010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
960
961 * configure.ac: Avoid == in test command, it's not portable.
962 * util/grub.d/30_os-prober.in: Likewise.
963
cb7f64b2
CW
9642010-07-04 Colin Watson <cjwatson@ubuntu.com>
965
966 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
967
6b654bb0
GS
9682010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
969
970 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
971 multiple (top-level) partmaps.
972
72a2026d
VS
9732010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
974
975 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 976 Reported by: Tino Keitel.
72a2026d 977
df3eb88f
VS
9782010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
979
980 Bidi and diacritics support.
981
982 * Makefile.in (widthspec.bin): New target.
983 (widthspec.h): Likewise.
984 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
985 * autogen.sh: Generate unidata.c.
986 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
987 * commands/ls.c (grub_ls_list_devices): Likewise.
988 (grub_ls_list_files): Likewise.
989 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
990 (grub_mini_cmd_lsmod): Likewise.
991 * commands/read.c: Likewise.
992 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
993 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
994 * lib/arg.c (grub_arg_show_help): Likewise.
995 * lib/crypto.c (grub_password_get): Likewise.
996 * normal/auth.c (grub_username_get): Likewise.
997 * normal/misc.c (grub_normal_print_device_info): Likewise.
998 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
999 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
1000 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
1001 (normal/charset.c_DEPENDENCIES): New variable.
1002 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
1003 (pkglib_MODULES): Remove charset.mod.
1004 (charset_mod_SOURCES): Removed.
1005 (charset_mod_CFLAGS): Likewise.
1006 (charset_mod_LDFLAGS): Likewise.
1007 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
1008 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
1009 and term/tparm.c.
1010 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1011 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1012 (kernel_img_HEADERS): Add terminfo.h.
1013 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
1014 Fill ->font. Reverse ascii bitmaps.
1015 (grub_font_get_xheight): New function.
1016 * font/font.c (grub_font_get_string_width): Moved from here ...
1017 * gfxmenu/font.c (grub_font_get_string_width): ... here.
1018 * font/font.c (grub_font_draw_string): Moved from here ...
1019 * gfxmenu/font.c (grub_font_draw_string): ... here.
1020 * font/font.c (grub_font_dup_glyph): New function.
1021 (grub_font_blit_glyph): Likewise.
1022 (grub_font_blit_glyph_mirror): Likewise.
1023 (blit_comb): Likewise.
1024 (grub_font_construct_dry_run): Likewise.
1025 (grub_font_get_constructed_device_width): Likewise.
1026 (grub_font_construct_glyph): Likewise.
1027 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
1028 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
1029 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
1030 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
1031 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
1032 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
1033 (grub_font_get_xheight): New proto.
1034 (grub_font_get_constructed_device_width): Likewise.
1035 (grub_font_construct_glyph): Likewise.
1036 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
1037 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
1038 * include/grub/font.h (grub_font_draw_string): Moved from here ...
1039 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
1040 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
1041 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
1042 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
1043 (grub_console_getcharwidth): Likewise.
1044 * include/grub/misc.h (grub_xputs): New proto.
1045 (grub_puts): Inlined.
1046 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
1047 (grub_normal_get_line_counter): Removed.
1048 (grub_install_newline_hook): Likewise.
1049 (grub_normal_get_char_counter): New proto.
1050 (grub_normal_reset_more): Likewise.
1051 (grub_xputs_normal): Likewise.
1052 * include/grub/powerpc/ieee1275/console.h: Removed.
1053 * include/grub/sparc64/ieee1275/console.h: Likewise.
1054 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
1055 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
1056 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
1057 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
1058 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
1059 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
1060 (grub_term_input): Pass reference to self. All users updated.
1061 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
1062 Pass reference to self. New fields normal_color, highlight_color and
1063 data. All users updated.
1064 (grub_putchar): Removed.
1065 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
1066 (grub_unicode_estimate_width): New function.
1067 (grub_term_getcharwidth): Add defaults.
1068 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
1069 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
1070 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
1071 (grub_cls): Remove EXPORT_FUNC.
1072 (grub_setcolorstate): Inline.
1073 (grub_newline_hook): Removed.
1074 * include/grub/terminfo.h: Rewritten. All users updated.
1075 * include/grub/unicode.h: New file.
1076 * include/grub/video.h (grub_video_signed_rect): New type.
1077 * kern/emu/console.c (grub_console_highlight_color): Removed.
1078 (grub_console_normal_color): Likewise.
1079 (grub_console_standard_color): Made static.
1080 (grub_ncurses_putchar): Remove mapping.
1081 (grub_ncurses_getcharwidth): Removed.
1082 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
1083 (grub_ncurses_setcolor): Removed.
1084 (grub_ncurses_getcolor): Likewise.
1085 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
1086 (grub_console_putchar): ... this.
1087 (grub_console_putchar): Handle argument difference.
1088 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
1089 console_init_early and console_init_lately.
1090 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
1091 * kern/misc.c (grub_puts): Removed.
1092 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
1093 (grub_vsnprintf_real): Remove str = NULL support.
1094 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
1095 * normal/charset.c (grub_utf8_to_ucs4): ... here.
1096 * kern/term.c (grub_putcode): Renamed to ...
1097 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
1098 (grub_putchar): Removed.
1099 (grub_xputs_dumb): New function.
1100 (grub_xputs): New variable.
1101 * lib/charset.c: Move from here ...
1102 * normal/charset.c: ... to here.
1103 (grub_ucs4_to_utf8): New function.
1104 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
1105 (join_types): New variable.
1106 (unpack_join): New function.
1107 (bidi_types): New variable.
1108 (unpack_bidi): New function.
1109 (get_bidi_type): Likewise.
1110 (get_join_type): Likewise.
1111 (is_mirrored): Likewise.
1112 (grub_unicode_get_comb_type): Likewise.
1113 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
1114 (is_type_after): Likewise.
1115 (grub_unicode_aglomerate_comb): Likewise.
1116 (bidi_line_wrap): Likewise.
1117 (grub_bidi_line_logical_to_visual): Likewise.
1118 (grub_bidi_logical_to_visual): Likewise.
1119 (grub_unicode_mirror_code): Likewise.
1120 (grub_unicode_shape_code): Likewise.
1121 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
1122 Don't use grub_putchar.
1123 * normal/main.c (grub_normal_init_page): Use grub_putcode.
1124 (grub_normal_reader_init): Likewise.
1125 (grub_xputs_saved): New variable.
1126 (GRUB_MOD_INIT): Set grub_xputs.
1127 (GRUB_MOD_FINI): Restore grub_xputs.
1128 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
1129 (menu_init): Avoid printing gfxmenu error.
1130 (show_menu): Use grub_normal_get_char_counter.
1131 * normal/menu_entry.c (update_screen): Fix out-of-array.
1132 (complete): Avoid NULL dereferencing.
1133 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
1134 * normal/menu_text.c (print_spaces): Removed.
1135 (grub_print_ucs4): Likewise.
1136 (grub_print_message_indented): Use grub_print_ucs4.
1137 (print_message): Use grub_putcode.
1138 (print_entry): Hanlde diacritics.
1139 * normal/term.c (term_state): New type.
1140 (grub_more_lines): Removed.
1141 (term_states): New variable.
1142 (grub_normal_line_counter): Renamed to ..
1143 (grub_normal_char_counter): ...this. All users updated.
1144 (grub_normal_get_line_counter): Renamed to ...
1145 (grub_normal_get_char_counter): ... this.
1146 (grub_normal_reset_more): New function.
1147 (process_newline): Removed.
1148 (print_more): New function.
1149 (grub_install_newline_hook): Removed.
1150 (map_code): New function.
1151 (grub_puts_terminal): Use grub_print_ucs4.
1152 (putglyph): New function.
1153 (putcode_real): Likewise.
1154 (grub_putcode): Use putcode_real.
1155 (get_maxwidth): New function.
1156 (get_startwidth): Likewise.
1157 (print_ucs4_terminal): Likewise.
1158 (find_term_state): Likewise.
1159 (put_glyphs_terminal): Likewise.
1160 (print_backlog): Likewise.
1161 (print_ucs4_real): Likewise.
1162 (grub_print_ucs4): Likewise.
1163 (grub_xputs_normal): Likewise.
1164 * term/efi/console.c (grub_console_putchar): Output diacritics.
1165 (grub_console_getcharwidth): Removed.
1166 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
1167 * term/gfxterm.c (clear_char): Free chars.
1168 (scroll_up): Avoid leaking memory.
1169 (grub_gfxterm_putchar): Support diacritics.
1170 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
1171 * term/i386/pc/console.c (grub_console_term_output): Declare as
1172 GRUB_TERM_CODE_TYPE_VGA.
1173 * term/i386/pc/vga.c (grub_vga_term): Declare as
1174 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
1175 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
1176 GRUB_TERM_CODE_TYPE_VGA.
1177 * term/i386/vga_common.c (map_char): Removed.
1178 (grub_console_putchar): Likewise.
1179 (grub_console_getcharwidth): Likewise.
1180 * term/ieee1275/ofconsole.c: Simplify using terminfo.
1181 (colors): Reordered to match terminfo.
1182 (grub_ofconsole_normal_color): Removed.
1183 (grub_ofconsole_writeesc): Likewise.
1184 (grub_ofconsole_highlight_color): Likewise.
1185 (grub_ofconsole_getcharwidth): Likewise.
1186 (grub_ofconsole_setcolorstate): Likewise.
1187 (grub_ofconsole_setcolor): Likewise.
1188 (grub_ofconsole_getcolor): Likewise.
1189 (grub_ofconsole_readkey): Renamed to ...
1190 (readkey): ... this. Remove escape sequence handling. Return -1 on no
1191 key.
1192 (grub_ofconsole_checkkey): Removed.
1193 (grub_ofconsole_getkey): Likewise.
1194 (grub_ofconsole_getxy): Likewise.
1195 (grub_ofconsole_gotoxy): Likewise.
1196 (grub_ofconsole_cls): Likewise.
1197 (grub_ofconsole_refresh): Likewise.
1198 (grub_ofconsole_terminfo_input): New struct.
1199 (grub_ofconsole_terminfo_output): Likewise.
1200 (grub_ofconsole_term_input): Use terminfo.
1201 (grub_ofconsole_term_output): Likewise.
1202 (grub_console_init): Split into ...
1203 (grub_console_init_early): ...this and ...
1204 (grub_console_init_lately): ...this. Use terminfo.
1205 (grub_ofconsole_putchar): Renamed to ...
1206 (put): ... this. Remove mapping.
1207 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
1208 * term/serial.c: Simplify using terminfo.
1209 (xpos): Removed.
1210 (ypos): Likewise.
1211 (keep_track): Likewise.
1212 (registered): Likewise.
1213 (input_buf): Likewise.
1214 (npending): Likewise.
1215 (serial_translate_key_sequence): Likewise.
1216 (fill_input_buf): Likewise.
1217 (grub_serial_checkkey): Likewise.
1218 (grub_serial_getkey): Likewise.
1219 (grub_serial_getxy): Likewise.
1220 (grub_serial_gotoxy): Likewise.
1221 (grub_serial_putchar): Likewise.
1222 (grub_serial_cls): Likewise.
1223 (grub_serial_setcolorstate): Likewise.
1224 (grub_serial_setcursor): Likewise.
1225 (serial_hw_init): Use serial_hw_fetch.
1226 (grub_serial_terminfo_input): New variable.
1227 (grub_serial_terminfo_output): Likewise.
1228 (grub_serial_term_input): Use terminfo.
1229 (grub_serial_term_output): Likewise.
1230 * term/terminfo.c (putstr): Use put.
1231 (grub_terminfo_all_free): New function
1232 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
1233 (grub_terminfo_output_register): New function.
1234 (grub_terminfo_output_unregister): Likewise.
1235 (grub_terminfo_getxy): Likewise.
1236 (grub_terminfo_readkey): Likewise.
1237 (grub_terminfo_checkkey): Likewise.
1238 (grub_terminfo_getkey): Likewise.
1239 (grub_terminfo_input_init): Likewise.
1240 (print_terminfo): Likewise.
1241 (grub_cmd_terminfo): Handle encoding.
1242 (grub_terminfo_gotoxy): Track position.
1243 (grub_terminfo_cls): Likewise.
1244 (grub_terminfo_putchar): Likewise.
1245 (grub_terminfo_setcolorstate): Handle colors
1246 (grub_terminfo_cursor_on): This ...
1247 (grub_terminfo_cursor_off): ... and this merged into ...
1248 (grub_terminfo_setcursor): ... this.
1249 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
1250 * unicode/ArabicShaping.txt: New file (imported from Unicode).
1251 * unicode/BidiMirroring.txt: Likewise.
1252 * unicode/UnicodeData.txt: Likewise.
1253 * unicode/COPYING: Likewise.
1254 * util/grub-editenv.c (grub_putchar): Removed.
1255 (grub_xputs_real): New function.
1256 (grub_xputs): New variable.
1257 * util/grub-fstest.c (grub_putchar): Removed.
1258 (grub_xputs_real): New function.
1259 (grub_xputs): New variable.
1260 * util/grub-mkdevicemap.c (grub_putchar): Removed.
1261 (grub_xputs_real): New function.
1262 (grub_xputs): New variable.
1263 * util/grub-probe.c (grub_putchar): Removed.
1264 (grub_xputs_real): New function.
1265 (grub_xputs): New variable.
1266 * util/grub-script-check.c (grub_putchar): Removed.
1267 (grub_xputs_real): New function.
1268 (grub_xputs): New variable.
1269 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
1270 (grub_xputs_real): New function.
1271 (grub_xputs): New variable.
1272 * util/import_unicode.py: New file.
1273 * util/grub-mkfont.c (ft_errmsgs): New array.
1274 (grub_glyph_info): Make bitmap a pointer.
1275 (file_formats): New type WIDTH_SPEC.
1276 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
1277 (options): Add width-spec.
1278 (help): Likewise.
1279 (add_char): Renamed to ...
1280 (add_glyph): ... this.
1281 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
1282 (glyph_replace): New type.
1283 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
1284 (add_char): New function.
1285 (add_subst): Likewise.
1286 (process_cursive): Likewise.
1287 (add_font): Handle GSUB.
1288 (write_font_width_spec): New function.
1289 (main): Sort glyphs.
1290 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
1291 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
1292 * kern/term.c (grub_cls): Moved from here...
1293 * normal/term.c (grub_cls): ... here.
1294
50f0bcda
CW
12952010-07-02 Colin Watson <cjwatson@ubuntu.com>
1296
1297 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
1298 suitable for using within the format argument of printf when
1299 converting grub_size_t.
1300 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
1301 "x" to convert grub_size_t arguments.
1302
40372103
VS
13032010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
1306 too long captions.
1307 (list_get_minimal_size): Take selection box into account.
1308
942a10c7
VS
13092010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1310
1311 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
1312 NULL font.
1313
2bdb2892
CW
13142010-07-02 Colin Watson <cjwatson@ubuntu.com>
1315
1316 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
1317 devices when iterating over /dev/disk/by-id; they will be handled
1318 later if appropriate, which they aren't always (e.g. LVM).
1319
e03ed6c1
CW
13202010-07-02 Colin Watson <cjwatson@ubuntu.com>
1321
1322 * include/grub/misc.h (grub_reboot): Declare as noreturn.
1323 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
1324 fails.
1325 (grub_halt): Likewise.
1326 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
1327 reset-all fails.
1328 (grub_halt): Don't return, even if all of shut-down, power-off, and
1329 poweroff fail.
1330
47695765
CW
13312010-07-02 Colin Watson <cjwatson@ubuntu.com>
1332
1333 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
1334 arguments, not three.
1335
507736c8
CW
13362010-07-02 Colin Watson <cjwatson@ubuntu.com>
1337
1338 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
1339 * util/grub.d/10_linux.in: Use it to check for LVM, so that
1340 LVM-on-RAID is handled correctly.
1341
e3c8cd37
CW
13422010-07-02 Colin Watson <cjwatson@ubuntu.com>
1343
1344 * docs/grub.texi (Changes from GRUB Legacy): New section.
1345 (Future): Fix typo.
1346
8d4a2fec
CW
13472010-07-02 Colin Watson <cjwatson@ubuntu.com>
1348
1349 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
1350 grub.d/README accidentally ends up executable for one reason or
1351 another. Ignore it.
1352
1c4827be
VS
13532010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1354
1355 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
1356 (gpt_partition_map_iterate): Support non-512B sectors.
1357
d9a0c941
VS
13582010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 * kern/efi/init.c (grub_efi_init): Disable watchdog.
1361 Tested by: Seth Goldberg.
1362
48f27e87
VS
13632010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
1366 Properly align mbi.
1367 Reported by: Seth Goldberg.
1368
b0c4f956
VS
13692010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
1370
1371 * util/grub-mkrescue.in: Avoid module duplication.
1372
105a2e8c
SF
13732010-07-01 Sean Finney <seanius@seanius.net>
1374
1375 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
1376
5944958c
SF
13772010-07-01 Sean Finney <seanius@seanius.net>
1378
1379 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
1380
13812010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * disk/lvm.c (grub_lvm_checkvalue): New function.
1384 (grub_lvm_check_flag): Likewise.
1385
b79889ba
RM
13862010-07-01 Robert Millan <rmh@gnu.org>
1387
1388 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
1389 Support 'p' as partition separator on kernel of FreeBSD (used
1390 with GPT labels).
1391 (grub_util_biosdisk_get_grub_dev): Likewise.
1392
ec1d04f1
VS
13932010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
1394
1395 Yeeloong firmware port.
1396
1397 * boot/mips/yeeloong/fwstart.S: New file.
1398 * bus/cs5536.c (gpiodump): New const.
1399 (set_io_space): New function.
1400 (set_iod): Likewise.
1401 (set_p2d): Likewise.
1402 (grub_cs5536_init_geode): Likewise.
1403 * commands/mips/yeeloong/lsspd.c: New file.
1404 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
1405 (serial_mod_SOURCES): New variable.
1406 (serial_mod_CFLAGS): Likewise.
1407 (serial_mod_LDFLAGS): Likewise.
1408 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
1409 term/terminfo.c and term/tparm.c.
1410 (pkglib_IMAGES): Add fwstart.img.
1411 (fwstart_img_SOURCES): New variable.
1412 (fwstart_img_CFLAGS): Likewise.
1413 (fwstart_img_ASFLAGS): Likewise.
1414 (fwstart_img_LDFLAGS): Likewise.
1415 (fwstart_img_FORMAT): Likewise.
1416 (pkglib_MODULES): Add lsspd.mod.
1417 (lsspd_mod_SOURCES): New variable.
1418 (lsspd_mod_CFLAGS): Likewise.
1419 (lsspd_mod_LDFLAGS): Likewise.
1420 (pkglib_MODULES): Add halt.mod.
1421 (halt_mod_SOURCES): New variable.
1422 (halt_mod_CFLAGS): Likewise.
1423 (halt_mod_LDFLAGS): Likewise.
1424 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
1425 (serial_mod_SOURCES): Removed.
1426 (serial_mod_CFLAGS): Likewise.
1427 (serial_mod_LDFLAGS): Likewise.
1428 * disk/ata.c (check_device): New function.
1429 (grub_ata_device_initialize): Use check_device.
1430 (grub_ata_iterate): Recheck devices.
1431 (grub_ata_open): Likewise.
1432 (grub_atapi_iterate): Likewise.
1433 (grub_atapi_open): Likewise.
1434 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
1435 (GRUB_ATA_CH1_PORT1): Likewise.
1436 (GRUB_ATA_CH0_PORT2): Likewise.
1437 (GRUB_ATA_CH1_PORT2): Likewise.
1438 * include/grub/mips/loongson.h: New file.
1439 * include/grub/mips/yeeloong/ec.h: Likewise.
1440 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
1441 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
1442 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
1443 * include/grub/misc.h (grub_halt): Declare as noreturn.
1444 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
1445 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
1446 (UART_ENABLE_FIFO_TRIGGER1): New definition.
1447 (UART_ENABLE_DTRRTS): Likewise.
1448 (UART_ENABLE_MODEM): Removed.
1449 (UART_ENABLE_OUT2): New const.
1450 * include/grub/term.h (grub_term_register_input_active): New function.
1451 (grub_term_register_output_active): Likewise.
1452 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
1453 argument.
1454 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
1455 (init_pci): New function.
1456 (grub_machine_init): Execute platform init when firmware. Init serial.
1457 (grub_halt): Implement.
1458 (grub_exit): Likewise.
1459 (grub_reboot): Likewise.
1460 * term/serial.c (serial_hw_init): Update macros.
1461 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
1462 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
1463 (image_targets): New target mipsel-yeeloong-flash.
1464 (generate_image): Support IMAGE_YEELOONG_FLASH.
1465 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
1466 (grub_video_sm712_setup): Init card.
1467 (grub_video_sm712_set_palette): Removed.
1468 * video/sm712_init.c: New file.
1469
ff4a70d2
CW
14702010-06-30 Colin Watson <cjwatson@ubuntu.com>
1471
1472 * Makefile.in (install-local): Temporarily prepend $(builddir) to
1473 PATH when running help2man and then run it on the unadorned
1474 executable names, rather than passing $(builddir)/* paths to
1475 help2man. This avoids the build directory ending up in generated
1476 manual pages.
1477
1246efeb
CW
14782010-06-29 Colin Watson <cjwatson@ubuntu.com>
1479
1480 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
1481 to avoid accidents when debugging with 'sh -x'.
1482 * util/grub-mkrescue.in: Likewise.
1483 * util/grub.d/00_header.in: Likewise.
1484 * util/grub.d/10_hurd.in: Likewise.
1485 * util/grub.d/10_kfreebsd.in: Likewise.
1486 * util/grub.d/10_linux.in: Likewise.
1487 * util/grub.d/10_netbsd.in: Likewise.
1488 * util/grub.d/10_windows.in: Likewise.
1489 * util/grub.d/20_linux_xen.in: Likewise.
1490 * util/grub.d/30_os-prober.in: Likewise.
1491 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1492
1ba9b889
CW
14932010-06-29 Colin Watson <cjwatson@ubuntu.com>
1494
1495 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
1496 last character in the buffer.
1497 Reported by: Vladimir Serbinenko.
1498
dccaf99d
RM
14992010-06-29 Robert Millan <rmh@gnu.org>
1500
1501 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
1502 (Command-line and menu entry commands): Document `badram' command.
1503
d500ed12
RM
15042010-06-28 Robert Millan <rmh@gnu.org>
1505
1506 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
1507 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
1508 command using ${GRUB_BADRAM} as parameter.
1509
20bc84a6
CW
15102010-06-28 Colin Watson <cjwatson@ubuntu.com>
1511
1512 * docs/grub.texi (Device map): New section.
1513 (Themes): New section (stub).
1514 * Makefile.in (docs/grub.info): The info documentation now builds
1515 without errors. Make sure it stays that way.
1516
4045dee1
VS
15172010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 Use normal parser for menu entries.
1520 Reported by: Thomas Frauendorfer
1521
1522 * include/grub/parser.h (grub_parser_execute): Don't export.
1523 * normal/menu.c (grub_menu_execute_entry_real): New function.
1524 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
1525
bca58c7b
CW
15262010-06-28 Colin Watson <cjwatson@ubuntu.com>
1527
1528 * docs/grub.texi (Embedded configuration): New section (replacing
1529 old "Preset Menu" stub).
1530 (Images): New section.
1531 (configfile): Note that any menu entries defined in `file' are shown
1532 immediately.
1533
dec53e63
JT
15342010-06-28 Josh Triplett <josh@joshtriplett.org>
1535
1536 * mmap/i386/pc/mmap_helper.S: Set CF on return.
1537
c06e40f7
CW
15382010-06-28 Colin Watson <cjwatson@ubuntu.com>
1539
1540 * util/grub-install.in: Add --debug-image= option.
1541
cb88052b
CW
15422010-06-28 Colin Watson <cjwatson@ubuntu.com>
1543
1544 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
1545 possible on Linux.
1546
1547 * util/deviceiter.c (check_device): Rename to ...
1548 (check_device_readable_unique): ... this. Update all callers.
1549 Maintain and check a list of which devices (by canonicalized name)
1550 have already been seen.
1551 (clear_seen_devices): New function.
1552 (compare_file_names) [__linux__]: New function.
1553 (grub_util_iterate_devices): Clear the list of seen devices on exit
1554 and (just in case) on entry.
1555 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
1556 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
1557 seen-devices list, superseded by general code in check_device.
1558
bbe34652
CW
15592010-06-28 Colin Watson <cjwatson@ubuntu.com>
1560
1561 * commands/cat.c (options): New variable.
1562 (grub_cmd_cat): Parse options. If the --dos option is given, print
1563 DOS-style "\r\n" line endings as simple newlines (Debian bug
1564 #586358).
1565 (GRUB_MOD_INIT): Use extcmd.
1566 (GRUB_MOD_FINI): Likewise.
1567 * docs/grub.texi (cat): Document --dos.
1568
412e09f3
VS
15692010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 XEN with Linux grub-mkconfig support.
1572
1573 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
1574 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
1575 GRUB_CMDLINE_XEN_DEFAULT.
1576 * util/grub.d/20_linux_xen.in: New file.
1577
53f3ef38 15782010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
1579
1580 Initialise VGA video on qemu ourselves.
1581
1582 * boot/i386/qemu/boot.S: Don't call 0xc000.
1583 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
1584 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
1585 (kernel_img_HEADERS): Add pci.h.
1586 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
1587 * configure.ac: Force unifont on qemu and yeeloong.
1588 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
1589 (grub_vga_palette_write): Use correct register.
1590 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
1591 Call grub_qemu_init_cirrus.
1592 * kern/i386/qemu/init.c: New file.
1593 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
1594
1595 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
1596
c75be4fb
PR
15972010-06-26 Pavel Roskin <proski@gnu.org>
1598
1599 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
1600 13.
1601
d8034603
CW
16022010-06-26 Colin Watson <cjwatson@ubuntu.com>
1603
1604 * docs/grub.texi (Simple configuration): Explain that
1605 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
1606 set to `true' to disable their respective recovery entries, not
1607 merely set.
1608
3fa06487
CW
16092010-06-26 Colin Watson <cjwatson@ubuntu.com>
1610
1611 Make the `source' command slightly faster.
1612
1613 * normal/main.c (grub_normal_execute): Don't re-read list files when
1614 nested.
1615
e9b29642
CW
16162010-06-23 Colin Watson <cjwatson@ubuntu.com>
1617
1618 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
1619 field position and mask size to red fields from mode_info, not
1620 green.
1621 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
1622 Remove redundant tag->common.framebuffer_type assignment.
1623 Reported by: Seth Goldberg.
1624
e726542f
CW
16252010-06-23 Colin Watson <cjwatson@ubuntu.com>
1626
1627 Sync up other versions of the Linux loader with Robert Millan's
1628 change of 2010-01-09, "Make loader output a bit more user-friendly".
1629
1630 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
1631 grub_dprintf().
1632 (grub_cmd_linux): Likewise.
1633 (grub_cmd_initrd): Likewise.
1634 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
1635 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1636
d6e98a17
CW
16372010-06-21 Colin Watson <cjwatson@ubuntu.com>
1638
1639 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
1640 larger than MEMORY_MAP_SIZE.
1641
14d3f08e
BC
16422010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
1643
1644 Fix parallel build.
1645
1646 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
1647 dependency.
1648 * script/parser.y: #include grub_script.tab.h header.
1649
4f9613a3
VS
16502010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 Support >3GiB and <16MiB RAM in i386-qemu.
1653
1654 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
1655 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
1656 (grub_lower_mem): Removed.
1657 (grub_upper_mem): Likewise.
1658 (mem_size): Made static.
1659 (above_4g): New variable.
1660 (grub_machine_mmap_init): Detect small mem_size and above_4g.
1661 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
1662 support.
1663
05e51879
VS
16642010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1665
1666 Cirrus 5446 and Bochs video cards support.
1667
1668 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
1669 video_bochs.mod
1670 (video_cirrus_mod_SOURCES): New variable.
1671 (video_cirrus_mod_CFLAGS): Likewise.
1672 (video_cirrus_mod_LDFLAGS): Likewise.
1673 (video_bochs_mod_SOURCES): Likewise.
1674 (video_bochs_mod_CFLAGS): Likewise.
1675 (video_bochs_mod_LDFLAGS): Likewise.
1676 * include/grub/vga.h: New file.
1677 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
1678 (grub_video_fb_set_page_t): New type.
1679 (grub_video_fb_setup): New prototype.
1680 (grub_video_fb_swap_buffers): Likewise.
1681 (grub_video_fb_get_info_and_fini): Likewise.
1682 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
1683 (CRTC_DATA_PORT): Likewise.
1684 (CRTC_CURSOR): Likewise.
1685 (CRTC_CURSOR_ADDR_HIGH): Likewise.
1686 (CRTC_CURSOR_ADDR_LOW): Likewise.
1687 (CRTC_CURSOR_DISABLE): Likewise.
1688 (update_cursor): Use grub_vga_cr_write.
1689 (grub_vga_text_setcursor): Likewise.
1690 * video/bochs.c: New file.
1691 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
1692 (palette): Likewise.
1693 (palette_size): Likewise.
1694 (framebuffer): New variable.
1695 (grub_video_fb_init): Use 'framebuffer'.
1696 (grub_video_fb_fini): Likewise.
1697 (grub_video_fb_get_info): Likewise.
1698 (grub_video_fb_get_palette): Likewise.
1699 (grub_video_fb_set_palette): Likewise.
1700 (grub_video_fb_set_viewport): Likewise.
1701 (grub_video_fb_get_viewport): Likewise.
1702 (grub_video_fb_map_color): Likewise.
1703 (grub_video_fb_map_rgb): Likewise.
1704 (grub_video_fb_map_rgba): Likewise.
1705 (grub_video_fb_unmap_color): Likewise.
1706 (grub_video_fb_unmap_color_int): Likewise.
1707 (grub_video_fb_fill_rect): Likewise.
1708 (grub_video_fb_blit_bitmap): Likewise.
1709 (grub_video_fb_blit_render_target): Likewise.
1710 (grub_video_fb_scroll): Likewise.
1711 (grub_video_fb_create_render_target): Likewise.
1712 (grub_video_fb_doublebuf_blit_init): Likewise.
1713 (grub_video_fb_set_active_render_target): Handle doublebuffering.
1714 (doublebuf_pageflipping_update_screen): New function.
1715 (doublebuf_pageflipping_init): Likewise.
1716 (grub_video_fb_setup): Likewise.
1717 (grub_video_fb_swap_buffers): Likewise.
1718 (grub_video_fb_get_info_and_fini): Likewise.
1719 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
1720 All users updated.
1721 (doublebuf_pageflipping_commit): Restructured into ...
1722 (doublebuf_pageflipping_set_page): ... this.
1723 (doublebuf_pageflipping_update_screen): Removed.
1724 (doublebuf_pageflipping_init): Likewise.
1725 (double_buffering_init): Likewise.
1726 (grub_video_vbe_setup): Use grub_video_fb_setup.
1727 (grub_video_vbe_swap_buffers): Removed.
1728 (grub_video_vbe_set_active_render_target): Likewise.
1729 (grub_video_vbe_get_active_render_target): Likewise.
1730 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
1731 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
1732 grub_video_fb_set_active_render_target and
1733 grub_video_fb_get_active_render_target.
1734 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
1735 (SEQUENCER_DATA_PORT): Likewise.
1736 (MAP_MASK_REGISTER): Likewise.
1737 (CRTC_ADDR_PORT): Likewise.
1738 (CRTC_DATA_PORT): Likewise.
1739 (START_ADDR_HIGH_REGISTER): Likewise.
1740 (START_ADDR_LOW_REGISTER): Likewise.
1741 (GRAPHICS_ADDR_PORT): Likewise.
1742 (GRAPHICS_DATA_PORT): Likewise.
1743 (READ_MAP_REGISTER): Likewise.
1744 (INPUT_STATUS1_REGISTER): Likewise.
1745 (INPUT_STATUS1_VERTR_BIT): Likewise.
1746 (get_map_mask): Use grub_vga_sr_read.
1747 (set_map_mask): Use grub_vga_sr_write.
1748 (set_read_map): Use grub_vga_gr_write.
1749 (set_start_address): Use grub_vga_cr_write.
1750 * video/sm712.c (framebuffer): Remove leftover fields.
1751
4321c64a
CW
17522010-06-20 Colin Watson <cjwatson@ubuntu.com>
1753
1754 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
1755 setting GRUB_VIDEO_BACKEND. Make it available as a user override
1756 instead. Replace the gfxterm backend check with a check that
1757 ${GRUB_PREFIX}/video.lst is non-empty.
1758 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
1759 again.
1760 (load_video): New generated function. Call it before loading
1761 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
1762 * util/grub.d/10_linux.in (linux_entry): Call load_video.
1763 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
1764 * docs/grub.texi (Simple configuration): Document
1765 GRUB_VIDEO_BACKEND.
1766
17672010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1768
1769 Use video functions in linux and xnu loaders.
1770
1771 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
1772 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
1773 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
1774 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
1775 loader/i386/pc/linux.c.
1776 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
1777 (find_line_len): Removed.
1778 (find_framebuf): Likewise.
1779 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
1780 * loader/i386/efi/xnu.c: Removed.
1781 * loader/i386/pc/xnu.c: Moved from here...
1782 * loader/i386/xnu.c: ...here.
1783
1784 Enable priorities in video drivers.
1785
1786 * include/grub/video.h (grub_video_adapter_prio_t): New type.
1787 (grub_video_adapter): New field prio.
1788 (grub_video_register): Respect prio when inserting.
1789 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
1790 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
1791 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
1792 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
1793 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
1794 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
1795 * video/sm712.c (grub_video_sm712_adapter): Likewise.
1796
1797 Fix SDL driver ID.
1798
1799 * include/grub/video.h (grub_video_driver_id_t): New value
1800 GRUB_VIDEO_DRIVER_SDL.
1801 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
1802
7d24e434
CW
18032010-06-17 Colin Watson <cjwatson@ubuntu.com>
1804
1805 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
1806 argument to printf.
1807 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1808
c88a83f6
CW
18092010-06-17 Colin Watson <cjwatson@ubuntu.com>
1810
1811 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
1812 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1813
094dfb69
CW
18142010-06-17 Colin Watson <cjwatson@ubuntu.com>
1815
1816 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
1817 directly, and recommend grub-install instead.
1818 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1819
2164da6b
CW
18202010-06-17 Colin Watson <cjwatson@ubuntu.com>
1821
1822 Fix i386-pc prefix handling with nested partitions (Debian bug
1823 #585068). Note that the case where the core image is booted using
1824 multiboot and relocated from its original location still requires
1825 more work.
1826
1827 * kern/i386/pc/init.c (make_install_device): If the prefix starts
1828 with "(,", fill the boot drive in between those two characters, but
1829 expect that a full partition specification including partition map
1830 names will follow.
1831 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
1832 specified, write a prefix without the drive name but including a
1833 full partition specification.
1834
044e2e60
CW
18352010-06-16 Colin Watson <cjwatson@ubuntu.com>
1836
1837 * util/grub-mkconfig.in: Ignore non-option arguments, for
1838 compatibility with older versions (before 2010-06-12) which did the
1839 same. In particular, this makes it easier to ship an update-grub
1840 wrapper which is compatible with that used with GRUB Legacy (Debian
1841 bug #586056).
1842
5591324f
GS
18432010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1844
1845 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
1846 for manual page generation.
1847
662e24d5
GS
18482010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1849
1850 * po/POTFILES: Remove leftover commands/handler.c.
1851
8d70754e
CW
18522010-06-14 Colin Watson <cjwatson@ubuntu.com>
1853
1854 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
1855 left this script non-functional.
1856
41160e2e
CW
18572010-06-14 Colin Watson <cjwatson@ubuntu.com>
1858
1859 * docs/man/grub-emu.h2m: New file.
1860
b5309cc1
CW
18612010-06-13 Colin Watson <cjwatson@ubuntu.com>
1862
1863 * docs/grub.texi (Commands): Document reduced command set in rescue
1864 mode.
1865 (cpuid): New section.
1866
fcb2d090
GS
18672010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
1868
1869 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
1870 new partition naming style.
1871 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
1872
96e5c556
BC
18732010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
1874
1875 Add "-o grub.iso" like cmdline options support.
1876
1877 * util/grub-install.in: Improve cmdline option parsing.
1878 * util/grub-mkconfig.in: Likewise.
1879 * util/grub-mkrescue.in: Likewise.
1880 * util/grub-reboot.in: Likewise.
1881 * util/grub-set-default.in: Likewise.
1882 * util/i386/efi/grub-install.in: Likewise.
1883 * util/ieee1275/grub-install.in: Likewise.
1884 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1885
c16be99b
CW
18862010-06-12 Colin Watson <cjwatson@ubuntu.com>
1887
1888 * .bzrignore: Ignore 41_custom.
1889
ce08a9fb
TS
18902010-06-12 Thomas Schmitt <scdbackup@gmx.net>
1891
1892 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
1893
7beac90c
CW
18942010-06-12 Colin Watson <cjwatson@ubuntu.com>
1895
1896 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
1897 prototype declarations.
1898
1899 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
1900 generating fs, partmap, and video lists.
1901 * include/grub/fs.h (grub_fs_register): Omit prototype if
1902 GRUB_LST_GENERATOR is defined.
1903 * include/grub/partition.h (grub_partition_map_register): Likewise.
1904 * include/grub/video.h (grub_video_register): Likewise.
1905
1c8f0f8d
JM
19062010-06-12 Javier Martín <lordhabbit@gmail.com>
1907
1908 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
1909
a6085973
TS
19102010-06-12 Thomas Schmitt <scdbackup@gmx.net>
1911
1912 * util/grub-mkrescue.in: Support --xorriso argument.
1913
25c56d29
VS
19142010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
1917 Suggested by: Thomas Schmitt.
1918
e03e4b24
VS
19192010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
1922 Suggested by: Thomas Schmitt.
1923
57711df6
VS
19242010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1925
1926 custom.cfg support.
1927
1928 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
1929 * util/grub.d/41_custom.in: New file.
1930
ee62c427
CW
19312010-06-12 Colin Watson <cjwatson@ubuntu.com>
1932
1933 * util/grub-mkrescue.in (make_image): Remove sh module, which has
1934 been merged back into normal.
1935
283af07a
CW
19362010-06-11 Colin Watson <cjwatson@ubuntu.com>
1937
1938 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
1939 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
1940
56a0d956
CW
19412010-06-11 Colin Watson <cjwatson@ubuntu.com>
1942
1943 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
1944 when generating manual pages.
1945 * docs/man/grub-bin2h.h2m: New file.
1946 * docs/man/grub-editenv.h2m: New file.
1947 * docs/man/grub-fstest.h2m: New file.
1948 * docs/man/grub-install.h2m: New file.
1949 * docs/man/grub-macho2img.h2m: New file.
1950 * docs/man/grub-mkconfig.h2m: New file.
1951 * docs/man/grub-mkdevicemap.h2m: New file.
1952 * docs/man/grub-mkfont.h2m: New file.
1953 * docs/man/grub-mkimage.h2m: New file.
1954 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
1955 * docs/man/grub-mkrelpath.h2m: New file.
1956 * docs/man/grub-mkrescue.h2m: New file.
1957 * docs/man/grub-ofpathname.h2m: New file.
1958 * docs/man/grub-pe2elf.h2m: New file.
1959 * docs/man/grub-probe.h2m: New file.
1960 * docs/man/grub-reboot.h2m: New file.
1961 * docs/man/grub-script-check.h2m: New file.
1962 * docs/man/grub-set-default.h2m: New file.
1963 * docs/man/grub-setup.h2m: New file.
1964
3a37e322
VS
19652010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 Use FOR_* macros instead of *_iterate whenever possible.
1968
1969 * commands/handler.c: Removed.
1970 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
1971 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
1972 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1973 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
1974 (grub_probe_SOURCES): Remove kern/parser.c.
1975 (util/grub-script-check.c_DEPENDENCIES): Removed.
1976 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
1977 and grub_script_check_init.c.
1978 (grub_script_check_init.lst): Removed.
1979 (grub_script_check_init.h): Likewise.
1980 (grub_script_check_init.c): Likewise.
1981 (pkglib_MODULES): Remove handler.mod and sh.mod.
1982 (handler_mod_SOURCES): Removed.
1983 (handler_mod_CFLAGS): Likewise.
1984 (handler_mod_LDFLAGS): Likewise.
1985 (normal_mod_SOURCES): Remove normal/handler.c.
1986 Add script/main.c, script/script.c, script/execute.c,
1987 script/function.c, script/lexer.c, grub_script.tab.c
1988 and grub_script.yy.c.
1989 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1990 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1991 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
1992 (grub_setup_SOURCES): Remove kern/parser.c.
1993 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1994 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
1995 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
1996 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1997 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1998 (grub_setup_SOURCES): Remove kern/parser.c.
1999 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
2000 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
2001 * include/grub/command.h (grub_command_iterate): Removed.
2002 (FOR_COMMANDS): New macro.
2003 * include/grub/dl.h (grub_dl): New member next.
2004 (grub_dl_iterate): Removed.
2005 (grub_dl_head): New variable declaration.
2006 (FOR_DL_MODULES): New macro.
2007 * include/grub/fs.h: Include list.h.
2008 (grub_fs): Make next first element.
2009 (grub_fs_list): New variable declaration.
2010 (grub_fs_register): Make inline.
2011 (grub_fs_unregister): Likewise.
2012 (grub_fs_iterate): Removed.
2013 (FOR_FILESYSTEMS): New macro.
2014 * include/grub/handler.h: Removed.
2015 * include/grub/list.h (grub_list_hook_t): Removed.
2016 (grub_list_test_t): Likewise.
2017 (grub_list_pop): Likewise.
2018 (grub_list_iterate): Likewise.
2019 (grub_list_insert): Likewise.
2020 (FOR_LIST_ELEMENTS): New macro.
2021 * include/grub/parser.h (grub_parser_class): Removed.
2022 (grub_parser_register): Likewise.
2023 (grub_parser_unregister): Likewise.
2024 (grub_parser_get_current): Likewise.
2025 (grub_parser_set_current): Likewise.
2026 (grub_register_rescue_parser): Likewise.
2027 (grub_rescue_parse_line): New function.
2028 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
2029 * include/grub/script_sh.h (grub_script_function_list): New variable
2030 declaration.
2031 (FOR_SCRIPT_FUNCTIONS): New macro.
2032 (grub_script_function_iterate): Removed.
2033 (grub_normal_parse_line): New prototype.
2034 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
2035 (FOR_DISABLED_TERM_INPUTS): Likewise.
2036 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
2037 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
2038 * include/grub/video.h (grub_video_adapter): Move 'next' to first
2039 element.
2040 (grub_video_register): Inline.
2041 (grub_video_unregister): Likewise.
2042 (grub_video_adapter_list): New variable declaration.
2043 (grub_video_iterate): Removed.
2044 (FOR_VIDEO_ADAPTERS): New macro.
2045 * kern/dl.c (grub_dl_list): Removed. All users updated.
2046 (grub_dl_iterate): Removed.
2047 * kern/fs.c (grub_fs_list): Make global.
2048 (grub_fs_register): Removed.
2049 (grub_fs_unregister): Likewise.
2050 (grub_fs_iterate): Likewise.
2051 * kern/handler.c: Removed.
2052 * kern/list.c (grub_list_pop): Removed.
2053 (grub_list_iterate): Likewise.
2054 (grub_list_insert): Likewise.
2055 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
2056 (grub_prio_list_insert): Don't use grub_list_insert.
2057 * kern/main.c (grub_register_rescue_parser): Don't call
2058 grub_register_rescue_parser.
2059 * kern/parser.c (grub_parser_class): Removed.
2060 (grub_parser_execute): Use grub_rescue_parse_line.
2061 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
2062 (grub_rescue_parser): Removed.
2063 (grub_register_rescue_parser): Likewise.
2064 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
2065 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
2066 (grub_auth_check_authentication): Likewise.
2067 * normal/completion.c (iterate_command): Removed.
2068 (grub_normal_do_completion): Use FOR_COMMANDS.
2069 * normal/handler.c: Removed.
2070 * normal/main.c (read_config_file): Remove parser changing.
2071 (grub_normal_execute): Don't call read_handler_list.
2072 (grub_normal_read_line_real): Statically allocate prompt.
2073 (grub_cmdline_run): Use grub_normal_parse_line.
2074 (GRUB_MOD_FINI): Don't call free_handler_list.
2075 * normal/menu_entry.c (run): Likewise.
2076 * script/function.c (grub_script_function_list): Make global.
2077 (grub_script_function_iterate): Removed.
2078 * script/main.c (grub_normal_parse_line): Make global.
2079 (grub_sh_parser): Removed.
2080 (GRUB_MOD_INIT): Likewise.
2081 (GRUB_MOD_FINI): Likewise.
2082 * tests/lib/functional_test.c (grub_functional_test): Use
2083 FOR_LIST_ELEMENTS.
2084 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
2085 (grub_test_run): Use FOR_LIST_ELEMENTS.
2086 * tests/lib/unit_test.c (main): Likewise.
2087 * util/deviceiter.c (grub_util_iterate_devices): Don't use
2088 grub_list_pop.
2089 * util/grub-fstest.c (grub_term_input_class): Removed.
2090 (grub_term_output_class): Likewise.
2091 * util/grub-probe.c: Likewise.
2092 * util/i386/pc/grub-setup.c: Likewise.
2093 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2094 * util/grub-script-check.c (main): Don't call grub_init_all and
2095 grub_fini_all.
2096 * video/video.c (grub_video_adapter_list): Make global.
2097 (grub_video_register): Removed.
2098 (grub_video_unregister): Likewise.
2099 (grub_video_iterate): Likewise.
2100
6289c3a7
VS
21012010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2102
2103 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
2104 reported by Henrique Ferreiro.
2105
91460247
RM
21062010-06-09 Robert Millan <rmh@gnu.org>
2107
2108 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
2109 ones, when both are available.
2110
0ea7c4f9
GS
21112010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
2112
2113 Make --version uniform and avoid hard-coded program name.
2114
2115 * util/grub-mkimage.c (main): Use `program_name' instead of
2116 hard-coded string.
2117 * util/i386/pc/grub-setup.c (main): Likewise.
2118 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
2119 * util/grub-install.in: Save the basename of $0 in $self, and use the
2120 latter in informational messages. Use the same format for --version
2121 as the binary programs.
2122 * util/grub-mkconfig.in: Likewise.
2123 * util/grub-mkrescue.in: Likewise.
2124 * util/grub-reboot.in: Likewise.
2125 * util/grub-set-default.in: Likewise.
2126 * util/i386/efi/grub-install.in: Likewise.
2127 * util/ieee1275/grub-install.in: Likewise.
2128 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2129
e8a6f3b6
GS
21302010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
2131
2132 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
2133 embedding area. Use <= instead of == when checking for non-emptiness.
2134
f4d095d7
GS
21352010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
2136
2137 * configure.ac: Add `.' to the directories searched for unifont.
2138
50e532ca
CW
21392010-06-08 Colin Watson <cjwatson@ubuntu.com>
2140
2141 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
2142 grub_script.yy.h.
2143
d39f3dec
CW
21442010-06-08 Colin Watson <cjwatson@ubuntu.com>
2145
2146 * docs/grub.texi (History): Expand to cover GRUB 2.
2147 (Serial terminal): Refer to `terminal_input' and `terminal_output'
2148 commands, not `terminal'.
2149 (serial): Likewise.
2150 (terminal_input): New section.
2151 (terminal_output): New section.
2152 (uppermem): New section (stub).
2153 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
2154
6ef0ddb4
CW
21552010-06-08 Colin Watson <cjwatson@ubuntu.com>
2156
2157 * docs/grub.texi (Security): Menu entries are unrestricted by
2158 default, not restricted to superusers as I had previously thought.
2159 Reword to account for this.
2160
e0f4c438
CW
21612010-06-07 Colin Watson <cjwatson@ubuntu.com>
2162
2163 * kern/emu/misc.c (device_mapper_null_log): New function.
2164 (grub_device_mapper_supported): New function.
2165 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
2166 prototype.
2167 * kern/emu/hostdisk.c (find_partition_start): Check whether
2168 device-mapper is supported before trying to use it.
2169 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
2170
da908200
CW
21712010-06-07 Colin Watson <cjwatson@ubuntu.com>
2172
2173 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
2174 (File name syntax): Likewise.
2175 (help): --all is no longer supported in GRUB 2. Be more precise
2176 about pattern matching.
2177
fb55c3ac
CW
21782010-06-07 Colin Watson <cjwatson@ubuntu.com>
2179
2180 * normal/completion.c (grub_normal_do_completion): When completing
2181 arguments to "set" and the current word contains an equals sign,
2182 skip to after the equals sign before starting completion.
2183
258c2573
CW
21842010-06-07 Colin Watson <cjwatson@ubuntu.com>
2185
2186 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
2187
ee75515e
CW
21882010-06-07 Colin Watson <cjwatson@ubuntu.com>
2189
2190 * docs/grub.texi (Network): New section.
2191 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
2192 `(nd)' as in GRUB Legacy.
2193 (pxe_unload): New section.
2194
a6a700aa
CW
21952010-06-07 Colin Watson <cjwatson@ubuntu.com>
2196
2197 * docs/grub.texi (Troubleshooting): `echo' is not usually available
2198 in the rescue shell, so recommend using `set' instead. Thanks,
2199 Jordan Uggla.
2200
4003dd38
CW
22012010-06-07 Colin Watson <cjwatson@ubuntu.com>
2202
2203 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
2204 (password): New section.
2205 (password_pbkdf2): New section.
2206 (search): New section.
2207 (Security): New section.
2208 (Troubleshooting): New section, currently very incomplete.
2209 (Invoking grub-mkpasswd-pbkdf2): New section.
2210 (Internals): New section, currently very incomplete.
2211
e1cbcc40
CW
22122010-06-07 Colin Watson <cjwatson@ubuntu.com>
2213
2214 * util/grub.d/00_header.in: Add some more quoting (of
2215 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
2216 work again.
2217 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
2218
db8fa1ad
CW
22192010-06-07 Colin Watson <cjwatson@ubuntu.com>
2220
2221 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
2222 to `count', fixing variable shadowing that broke the -c option.
2223
22242010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
2225
2226 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
2227 in case they contain spaces.
2228
f28a9212
CW
22292010-06-04 Colin Watson <cjwatson@ubuntu.com>
2230
2231 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
2232 "part_" to partmap module names, in line with grub-install.
2233 Reported by: Jindřich Makovička (Debian bug #584426).
2234
9cdfe32f
CW
22352010-06-04 Colin Watson <cjwatson@ubuntu.com>
2236
2237 * util/grub-mkimage.c: Make target-related error messages slightly
2238 more helpful; -O talks about "format". Explicitly point to the use
2239 of -O if no target is specified.
2240 Reported by: Didier Raboud (Debian bug #584415).
2241
795b593a
CW
22422010-06-03 Colin Watson <cjwatson@ubuntu.com>
2243
2244 * INSTALL: Document several build requirements for optional features
2245 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
2246
9d9b5833
GS
22472010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
2248
2249 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
2250 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
2251 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
2252
0819fec8
CW
22532010-06-02 Colin Watson <cjwatson@ubuntu.com>
2254
2255 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
2256 Thanks to Jordan Uggla for spotting this.
2257
49396b4f
VS
22582010-06-02 Aleš Nesrsta <starous@volny.cz>
2259
2260 Finally make USB usable.
2261
2262 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
2263 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
2264 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
2265 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
2266 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
2267 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
2268 (GRUB_OHCI_FSMPS): Likewise.
2269 (GRUB_OHCI_PERIODIC_START): Likewise.
2270 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
2271 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
2272 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
2273 (GRUB_OHCI_SET_PORT_RESET): Likewise.
2274 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
2275 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
2276 (grub_ohci_transaction): Likewise.
2277 (grub_ohci_transfer): Improve condition detection algorithms.
2278 Handle toggle property. Program the transactions correctly.
2279 Improve error handling. Various important fixups.
2280 (grub_ohci_portstatus): Put register writes in right order.
2281 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
2282 (grub_uhci_transfer): Don't show "failed" message on success.
2283 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
2284 array.
2285 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
2286 determine its size.
2287 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
2288 before initialization is completed. Use IN direction for empty
2289 transfers. Use last_trans and compute toggle.
2290 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
2291 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
2292 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
2293 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
2294 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
2295 (grub_usb_device): Increase toggle to 256.
2296 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
2297 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
2298 GRUB_USBMS_SUBCLASS_SFF8070.
2299 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
2300 (grub_scsi_inquiry): New member page and alloc_length.
2301 (grub_scsi_request_sense): New structure.
2302 (grub_scsi_request_sense_data): Likewise.
2303 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
2304 control.
2305 * disk/scsi.c (grub_scsi_request_sense): New function.
2306 (grub_scsi_test_unit_ready): Likewise.
2307 (grub_scsi_inquiry): Fill new fields.
2308 (grub_scsi_read_capacity): Likewise.
2309 (grub_scsi_read10): Add request sense at the end.
2310 (grub_scsi_read12): Likewise.
2311 (grub_scsi_write10): Likewise.
2312 (grub_scsi_write12): Likewise.
2313 (grub_scsi_open): Add Test Unit Ready.
2314 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
2315 Support additional subclasses. Con't clear halt yet. Activate the
2316 proper config. Calculate LUNs correctly.
2317 (grub_usbms_transfer): Various important fixups.
2318
23192010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2320
2321 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
2322 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
2323 (grub_ohci_fini_hw): New function.
2324 (grub_ohci_restore_hw): Likewise.
2325 (GRUB_MOD_INIT(ohci)): Register preboot hook.
2326 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
2327 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
2328
23292010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 Dedicated DMA allocations.
2332
2333 * bus/pci.c (grub_memalign_dma32): New function
2334 (grub_dma_free): Likewise.
2335 (grub_dma_get_virt): Likewise.
2336 (grub_dma_get_phys): Likewise.
2337 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
2338 (grub_ohci_pci_iter): Use dma32_alloc.
2339 (grub_ohci_transfer): Likewise.
2340 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
2341 (grub_usb_bulk_readwrite): Likewise.
2342 * include/grub/pci.h: Add declarations.
2343
23442010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 CS5536 support.
2347
2348 * bus/cs5536.c: New file.
2349 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
2350 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
2351 (cs5536_mod_SOURCES): New variable.
2352 (cs5536_mod_CFLAGS): Likewise.
2353 (cs5536_mod_LDFLAGS): Likewise.
2354 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
2355 machine/pci.h.
2356 (kernel_img_SOURCES): Add bus/cs5536.c.
2357 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
2358 usb_keyboard.mod.
2359 (usb_mod_SOURCES): New variable.
2360 (usb_mod_CFLAGS): New variable.
2361 (usb_mod_LDFLAGS): New variable.
2362 (usbtest_mod_SOURCES): New variable.
2363 (usbtest_mod_CFLAGS): New variable.
2364 (usbtest_mod_LDFLAGS): New variable.
2365 (ohci_mod_SOURCES): New variable.
2366 (ohci_mod_CFLAGS): New variable.
2367 (ohci_mod_LDFLAGS): New variable.
2368 (usbms_mod_SOURCES): New variable.
2369 (usbms_mod_CFLAGS): New variable.
2370 (usbms_mod_LDFLAGS): New variable.
2371 (usb_keyboard_mod_SOURCES): New variable.
2372 (usb_keyboard_mod_CFLAGS): New variable.
2373 (usb_keyboard_mod_LDFLAGS): New variable.
2374 * include/grub/smbus.h: New file.
2375 * include/grub/cs5536.h: New file.
2376
0b35b2a9
CW
23772010-06-02 Colin Watson <cjwatson@ubuntu.com>
2378
2379 * util/grub.d/00_header.in: Add safety check to make sure that
2380 ${locale_dir} exists before trying to probe it.
2381
ca0afd5b
CW
23822010-06-02 Colin Watson <cjwatson@ubuntu.com>
2383
2384 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
2385 per the GNU Coding Standards; this is now too obscure to be worth
2386 documenting.
2387 (QNX): Likewise.
2388 (chainloader): Remove cross-reference to `SCO UnixWare'.
2389
1c41aa78
CW
23902010-06-02 Colin Watson <cjwatson@ubuntu.com>
2391
2392 * docs/grub.texi (Chain-loading): New section.
2393 (DOS/Windows): New section, borrowed from GRUB Legacy with details
2394 adjusted for GRUB 2.
2395 (SCO UnixWare): Likewise.
2396 (QNX): Likewise.
2397 (chainloader): Add reference to `Block list syntax'.
2398 (drivemap): New section.
2399 (parttool): New section.
2400
bb8ea0f5
CW
24012010-06-02 Colin Watson <cjwatson@ubuntu.com>
2402
2403 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
2404 the grub shell'.
2405 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
2406 (Installing GRUB using grub-install): Remove reference to the grub
2407 shell; mention `grub-mkimage' and `grub-setup' instead.
2408 (Invoking grub-install): Likewise.
2409 (Interface): Add reference to `Menu entry editor'.
2410 (serial): Remove `--device' option.
2411
288dd6ed
CW
24122010-06-02 Colin Watson <cjwatson@ubuntu.com>
2413
2414 * docs/grub.texi (Configuration): New section, documenting
2415 configuration file generation using grub-mkconfig. I've left a slot
2416 for documenting the full shell scripting format but have not yet
2417 started on writing that up.
2418 (Invoking grub-mkconfig): New section.
2419
34c9f0e9
CW
24202010-06-02 Colin Watson <cjwatson@ubuntu.com>
2421
2422 * docs/grub.texi (direntry): Remove grub-terminfo reference.
2423 (GNU GRUB manual): Likewise.
2424 (General commands): Update description of `terminfo' for GRUB 2.
2425
9121567e
CW
24262010-06-02 Colin Watson <cjwatson@ubuntu.com>
2427
2428 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
2429 (GRUB_MOD_INIT): Fix capitalisation.
2430 * docs/grub.texi (Command-line and menu entry commands): Document
2431 gettext and gptsync commands.
2432
ab631611
CW
24332010-06-02 Colin Watson <cjwatson@ubuntu.com>
2434
2435 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
2436 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
2437
bde4a9ac
CW
24382010-06-01 Colin Watson <cjwatson@ubuntu.com>
2439
2440 Add btrfs probing support, currently only in the single-device case.
2441
2442 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
2443 function.
2444 (grub_guess_root_device): Call find_root_device_from_mountinfo
2445 before looking in /dev.
2446
b1d17e10
VS
24472010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
2450 GRUB_DISK_SIZE_UNKNOWN.
2451 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
2452
dfbfe004
JS
24532010-05-31 Jiro SEKIBA <jir@unicus.jp>
2454
2455 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
2456 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
2457 corrupted or not synced properly.
2458
c2ffc8e9
VS
24592010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2460
2461 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
2462 Reported by: Seth Goldberg.
2463
56293166
VS
24642010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2465
2466 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
2467 addition of dest.
2468 Reported by: Seth Goldberg.
2469
7620e7de
VS
24702010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2471
2472 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
2473 Reported by: Seth Goldberg.
2474
c837af3f
VS
24752010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
2478 64-bit address as signed on MIPS.
2479
c7c75cf4
CW
24802010-05-28 Colin Watson <cjwatson@ubuntu.com>
2481
2482 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
2483 to the empty string.
2484
fa4b8490
BC
24852010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
2486
2487 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
2488
2489 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
2490 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
2491 * kern/misc.c (__enable_execute_stack): Disable on
2492 GRUB_MACHINE_EMU.
2493
a33075b9
CW
24942010-05-28 Colin Watson <cjwatson@ubuntu.com>
2495
2496 Make grub-probe work with symbolic links under /dev/mapper as well
2497 as with real block devices. The Linux world seems to be (at best)
2498 in transition here, and GRUB shouldn't get caught in the middle.
2499
2500 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
2501 /dev/mapper.
2502
d8708134
CW
25032010-05-27 Colin Watson <cjwatson@ubuntu.com>
2504
2505 * util/grub-script-check.c (main): Ensure defined behaviour on empty
2506 input files (in which case exit zero).
2507
db2102a0
CW
25082010-05-27 Colin Watson <cjwatson@ubuntu.com>
2509
2510 * kern/emu/misc.c (canonicalize_file_name): realpath can still
2511 return NULL for various reasons even if it has a maximum-length
2512 buffer: for example, there might be a symlink loop, or the path
2513 might exceed PATH_MAX. If this happens, return NULL.
2514
5fdba519
RM
25152010-05-27 Robert Millan <rmh@gnu.org>
2516
2517 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
2518 partmap module to handle cross-partmap setups.
2519 Reported by Orestes Mas. Gràcies!
2520
d1d368e4
CW
25212010-05-27 Colin Watson <cjwatson@ubuntu.com>
2522
2523 * util/grub-mkrescue.in: Initialise override_dir rather than
2524 assuming that it's unset or empty in the environment.
2525
95ac3c73
GS
25262010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2527
2528 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
2529 variable index into p_index to suppress a warning with -Wshadow.
2530
7d8c0213
BC
25312010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
2532
2533 * INSTALL: Added flex >= 2.5.35 requirement.
2534
db4d5813
VS
25352010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
2538
f24f4300
VS
25392010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2540
2541 cmostest support.
2542
2543 * commands/i386/cmostest.c: New file.
2544 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
2545 (cmostest_mod_SOURCES): New variable.
2546 (cmostest_mod_CFLAGS): Likewise.
2547 (cmostest_mod_LDFLAGS): Likewise.
2548 * conf/i386-pc.rmk: Likewise.
2549 * docs/grub.texi (Vendor power-on keys): New section.
2550 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
2551 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
2552 and GRUB_BUTTON_CMOS_ADDRESS.
2553 * util/grub.d/00_header.in: Handle powering-on by separate button.
2554
ad603f61
VS
25552010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2556
2557 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
2558 Removed drawing_scrollbar argument. All users updated
2559 Fixes #29792.
2560 Reported by Jo Shields
2561
3ecb080a
VS
25622010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2563
2564 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
2565 buffer since gfxterm handles double repaint.
2566
5f2316c1
VS
25672010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2568
2569 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
2570 * term/gfxterm.c (real_scroll): Likewise.
2571
9a25f885
VS
25722010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2573
2574 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
2575 before calling BIOS.
2576
39fbb79a
VS
25772010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2578
2579 * include/grub/i18n.h: Always enable grub_gettext.
2580
228cfa97
VS
25812010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2582
2583 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
2584 partition naming style.
2585
21717c8f
CW
25862010-05-21 Colin Watson <cjwatson@ubuntu.com>
2587
2588 * util/grub-mkconfig.in: Fix handling of -o so that it works when
2589 not the first option.
2590
c0f48e65
CW
25912010-05-20 Colin Watson <cjwatson@ubuntu.com>
2592
2593 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
2594
96779aec
CW
25952010-05-20 Colin Watson <cjwatson@ubuntu.com>
2596
2597 * util/misc.c: Move inclusion of <limits.h> to ...
2598 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
2599
fa9d256e
GS
26002010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
2601
2602 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
2603 Fix merge error in NetBSD code.
2604 (find_partition_start) [__NetBSD__]: Likewise.
2605
123b7a85
BC
26062010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
2607
2608 Fix grub-mkrescue usage unit testing.
2609
2610 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
2611
74276c0d
CF
26122010-05-18 Christian Franke <franke@computer.org>
2613
2614 * util/grub.d/10_windows.in: Use path names instead of
2615 drive letters to prevent warning from Cygwin 1.7.
2616 Add drivemap command to menuentry if needed.
2617
c4f7b523
ST
26182010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
2619
2620 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
2621 gnumach and gnumach.gz.
2622
95b97950
VS
26232010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2624
2625 * include/grub/i18n.h (gettext): Inline instead of using #define.
2626 (grub_gettext): Likewise.
2627 (_): Likewise.
2628
01b8d2d7
VS
26292010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
2632 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
2633 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
2634 (main): Add a slash after pkglibdirroot.
2635
654e1d1e
VS
26362010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2637
2638 * util/grub-install.in: Add missing "in" keyword.
2639
26966aeb
VS
26402010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2641
2642 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
2643 Reported by: Seth Goldberg.
2644
75006747
VS
26452010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2646
2647 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
2648
74cbf5bd
CW
26492010-05-18 Colin Watson <cjwatson@ubuntu.com>
2650
2651 * configure.ac: Check for Linux device-mapper support.
2652
2653 * util/hostdisk.c (device_is_mapped): New function.
2654 (find_partition_start): New function, partly broken out from
2655 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
2656 device-mapper support added.
2657 (linux_find_partition): Use find_partition_start.
2658 (convert_system_partition_to_system_disk): Add `st' argument.
2659 Support Linux /dev/mapper/* devices if device-mapper support is
2660 available; only DM-RAID devices are understood at present.
2661 (find_system_device): Add `st' argument. Pass it to
2662 convert_system_partition_to_system_disk.
2663 (grub_util_biosdisk_get_grub_dev): Pass stat result to
2664 find_system_device and convert_system_partition_to_system_disk. Use
2665 find_partition_start.
2666
2667 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
2668 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
2669 * util/deviceiter.c [__linux__]: Define MINOR.
2670 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
2671 * util/mkdevicemap.c (grub_putchar): New function.
2672 (grub_getkey): New function.
2673 (grub_refresh): New function.
2674 (main): Set debug=all if -v -v is used.
2675
355b51e9
CW
26762010-05-18 Colin Watson <cjwatson@ubuntu.com>
2677
2678 Fix build with non-GNU libcs.
2679
2680 * util/misc.c (canonicalize_file_name): Move to ...
2681 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
2682 grub_make_system_path_relative_to_its_root.
2683
7fb5c25f
CW
26842010-05-18 Colin Watson <cjwatson@ubuntu.com>
2685
2686 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
2687 we handle finding grub-mkimage. Default to finding grub-mkimage in
2688 ${bindir} with program_transform_name applied, and provide a
2689 --grub-mkimage option to override this.
2690
1d3293d6
VS
26912010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2692
2693 Remove grub-mkisofs.
2694
2695 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
2696 (grub_mkisofs_SOURCES): Removed.
2697 (grub_mkisofs_CFLAGS): Removed.
2698 * util/mkisofs/defaults.h: Removed.
2699 * util/mkisofs/eltorito.c: Likewise.
2700 * util/mkisofs/exclude.h: Likewise.
2701 * util/mkisofs/hash.c: Likewise.
2702 * util/mkisofs/include/: Likewise.
2703 * util/mkisofs/include/fctldefs.h: Likewise.
2704 * util/mkisofs/include/mconfig.h: Likewise.
2705 * util/mkisofs/include/prototyp.h: Likewise.
2706 * util/mkisofs/include/statdefs.h: Likewise.
2707 * util/mkisofs/iso9660.h: Likewise.
2708 * util/mkisofs/joliet.c: Likewise.
2709 * util/mkisofs/match.c: Likewise.
2710 * util/mkisofs/match.h: Likewise.
2711 * util/mkisofs/mkisofs.c: Likewise.
2712 * util/mkisofs/mkisofs.h: Likewise.
2713 * util/mkisofs/msdos_partition.h: Likewise.
2714 * util/mkisofs/multi.c: Likewise.
2715 * util/mkisofs/name.c: Likewise.
2716 * util/mkisofs/rock.c: Likewise.
2717 * util/mkisofs/tree.c: Likewise.
2718 * util/mkisofs/write.c: Likewise.
2719
5dde9afe
VS
27202010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2721
2722 Unify grub-mkimage accross platforms.
2723
2724 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
2725 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
2726 (grub_mkelfimage_SOURCES): Removed.
2727 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
2728 (util/grub-mkimage.c_DEPENDENCIES): .. this.
2729 (bin_UTILITIES): Add grub-mkimage.
2730 (grub_mkimage_SOURCES): New variable.
2731 (kernel_img_HEADERS): Remove machine/kernel.h.
2732 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
2733 (pkglib_PROGRAMS): Add kernel.img.
2734 (kernel_img_HEADERS): Add machine/kernel.h.
2735 (kernel_img_FORMAT): Removed.
2736 (bin_UTILITIES): Remove grub-mkimage.
2737 (grub_mkimage_SOURCES): Removed.
2738 (grub_mkimage_CFLAGS): Likewise.
2739 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2740 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
2741 (pkglib_PROGRAMS): Add kernel.img.
2742 (bin_UTILITIES): Remove grub-mkimage.
2743 (grub_mkimage_SOURCES): Removed.
2744 (grub_mkimage_CFLAGS): Likewise.
2745 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2746 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
2747 (pkglib_PROGRAMS): Add kernel.img.
2748 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
2749 (pkglib_PROGRAMS): Add kernel.img.
2750 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
2751 (grub_mkimage_SOURCES): Removed.
2752 (grub_mkimage_CFLAGS): Likewise.
2753 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2754 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
2755 (pkglib_PROGRAMS): Add kernel.img.
2756 (bin_UTILITIES): Remove grub-mkimage.
2757 (grub_mkimage_SOURCES): Removed.
2758 (grub_mkimage_CFLAGS): Likewise.
2759 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2760 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
2761 (grub_mkimage_SOURCES): Removed.
2762 (grub_mkimage_CFLAGS): Likewise.
2763 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2764 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
2765 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
2766 (grub_pe32_optional_header): ... this.
2767 (grub_pe64_optional_header): ... and this. All users updated.
2768 (GRUB_PE32_PE32_MAGIC): Split into ..
2769 (GRUB_PE32_PE32_MAGIC): .. this.
2770 (GRUB_PE32_PE64_MAGIC): .. and this.
2771 (GRUB_PE32_SIGNATURE_SIZE): New definition.
2772 * include/grub/elf.h (PT_GNU_STACK): New definition.
2773 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
2774 * include/grub/i386/efi/kernel.h: Likewise.
2775 * include/grub/i386/kernel.h: Likewise.
2776 * include/grub/i386/pc/kernel.h: Likewise.
2777 * include/grub/i386/qemu/boot.h: Likewise.
2778 * include/grub/mips/kernel.h: Likewise.
2779 * include/grub/mips/qemu-mips/kernel.h: Likewise.
2780 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
2781 * include/grub/powerpc/kernel.h: Likewise.
2782 * include/grub/sparc64/ieee1275/boot.h: Likewise.
2783 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
2784 * include/grub/sparc64/kernel.h: Likewise.
2785 * include/grub/x86_64/efi/kernel.h: Likewise.
2786 * include/grub/x86_64/kernel.h: Likewise.
2787 * include/grub/offsets.h: New file.
2788 * include/grub/kernel.h (grub_module_info): Split into ...
2789 (grub_module_info32): ... this.
2790 (grub_module_info64): ... and this.
2791 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
2792 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
2793 (grub_boot_blocklist): Moved from here ...
2794 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
2795 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
2796 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
2797 * include/grub/types.h (grub_target_to_host16): Removed.
2798 (grub_target_to_host32): Likewise.
2799 (grub_target_to_host64): Likewise.
2800 (grub_host_to_target16): Likewise.
2801 (grub_host_to_target32): Likewise.
2802 (grub_host_to_target64): Likewise.
2803 (grub_host_to_target_addr): Likewise.
2804
2805 Support grub-mkrescue for efi, coreboot and qemu.
2806
2807 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
2808 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
2809 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
2810 * util/grub-mkrawimage.c: Moved from here ...
2811 * util/grub-mkimage.c: ... here. All users updated.
2812 (ALIGN_ADDR): Use image_target.
2813 (TARGET_NO_FIELD): New const.
2814 (image_target_desc): New type.
2815 (image_targets): New array.
2816 (grub_target_to_host64): Use image_target.
2817 (grub_target_to_host32): Likewise.
2818 (grub_target_to_host16): Likewise.
2819 (grub_host_to_target64): Likewise.
2820 (grub_host_to_target32): Likewise.
2821 (grub_host_to_target16): Likewise.
2822 (grub_host_to_target_addr): Likewise.
2823 (generate_image): Handle multiimage.
2824 (main): Require -O parameter. All users updated.
2825 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
2826 util/efi/grub-mkimage.c
2827 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
2828 New option --rom-directory.
2829 Use xorriso.
2830 * util/i386/efi/grub-mkimage.c: Removed.
2831 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
2832 (grub_target_to_host32): Likewise.
2833 (grub_target_to_host64): Likewise.
2834 (grub_host_to_target16): Likewise.
2835 (grub_host_to_target32): Likewise.
2836 (grub_host_to_target64): Likewise.
2837 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
2838 (grub_target_to_host32): Likewise.
2839 (grub_target_to_host64): Likewise.
2840 (grub_host_to_target16): Likewise.
2841 (grub_host_to_target32): Likewise.
2842 (grub_host_to_target64): Likewise.
2843
f4fc97d0
BC
28442010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
2845
2846 Source tree is reorganized for emu build.
2847
2848 * include/grub/util/console.h: Move from here...
2849 * include/grub/emu/console.h: ...to here.
2850 * include/grub/util/getroot.h: Move from here...
2851 * include/grub/emu/getroot.h: ...to here.
2852 * include/grub/util/hostdisk.h: Move from here...
2853 * include/grub/emu/hostdisk.h: ...to here.
2854 * util/console.c: Move from here...
2855 * kern/emu/console.c: ...to here.
2856 * util/getroot.c: Move from here...
2857 * kern/emu/getroot.c: ...to here.
2858 * util/grub-emu.c: Move from here...
2859 * kern/emu/main.c: ...to here.
2860 * util/hostdisk.c: Move from here...
2861 * kern/emu/hostdisk.c: ...to here.
2862 * util/hostfs.c: Move from here...
2863 * kern/emu/hostfs.c: ...to here.
2864 * util/mm.c: Move from here...
2865 * kern/emu/mm.c: ...to here.
2866 * util/pci.c: Move from here...
2867 * bus/emu/pci.c: ...to here.
2868 * util/sdl.c: Move from here...
2869 * video/emu/sdl.c: ...to here.
2870 * util/time.c: Move from here...
2871 * kern/emu/time.c: ...to here.
2872 * util/usb.c: Move from here...
2873 * bus/usb/emu/usb.c: ...to here.
2874
2875 * include/grub/emu/misc.h: New header for grub-emu functions.
2876 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
2877
2878 * conf/any-emu.rmk: Rule updates for above renames.
2879 * conf/common.rmk: Likewise.
2880 * conf/i386-pc.rmk: Likewise.
2881 * conf/i386-qemu.rmk: Likewise.
2882 * conf/mips.rmk: Likewise.
2883 * conf/sparc64-ieee1275.rmk: Likewise.
2884 * conf/x86-efi.rmk: Likewise.
2885
2886 * disk/lvm.h: #include updates for above renames.
2887 * util/grub-mkrelpath.c: Likewise.
2888 * util/grub-probe.c: Likewise.
2889 * util/i386/pc/grub-setup.c: Likewise.
2890 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2891 * kern/emu/console.c: Likewise.
2892 * kern/emu/getroot.c: Likewise.
2893 * kern/emu/hostdisk.c: Likewise.
2894 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
2895
2896 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
2897 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
2898 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
2899 * util/misc.c: Remove grub-emu functions.
2900
cced9145
VS
29012010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2902
2903 Fix gfxmenu crash.
2904 Reported by: Thorsten Grützmacher.
2905
2906 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
2907 timeout hook.
2908 (circprog_set_property): Register and unregister timeout hook.
2909 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
2910 (label_destroy): Free template. and unregister hook.
2911 (label_set_state): New function.
2912 (label_set_property): Handle templates and hooks.
2913 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
2914 timeout hook.
2915 (progress_bar_set_property): Register and unregister timeout hook.
2916 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
2917 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
2918 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
2919 (update_timeout_visit): Removed.
2920 (update_timeouts): New function.
2921 (redraw_timeouts): Likewise.
2922 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
2923 (grub_gfxmenu_clear_timeout): Likewise.
2924 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
2925 (grub_gfxmenu_timeout_notify): Likewise.
2926 (grub_gfxmenu_timeout_notifications): New external variable.
2927 (grub_gfxmenu_timeout_register): New function.
2928 (grub_gfxmenu_timeout_unregister): Likewise.
2929
c6e5caab
VS
29302010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2931
2932 Transform (broken) vga terminal into (working) vga video driver.
2933
2934 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
2935 video/i386/pc/vga.c.
2936 * include/grub/video.h (grub_video_driver_id):
2937 Add GRUB_VIDEO_DRIVER_VGA.
2938 * term/i386/pc/vga.c: Renamed to ...
2939 * video/i386/pc/vga.c: ...this
2940 (DEBUG_VGA): Removed.
2941 (CHAR_WIDTH): Likewise.
2942 (CHAR_HEIGHT): Likewise.
2943 (TEXT_WIDTH): Likewise.
2944 (TEXT_HEIGHT): Likewise.
2945 (DEFAULT_FG_COLOR): Likewise.
2946 (DEFAULT_BG_COLOR): Likewise.
2947 (colored_char): Likewise.
2948 (xpos): Likewise.
2949 (ypos): Likewise.
2950 (cursor_state): Likewise.
2951 (fg_color): Likewise.
2952 (bg_color): Likewise.
2953 (text_buf): Likewise.
2954 (page): Likewise.
2955 (font): Likewise.
2956 (framebuffer): New variable.
2957 (set_read_map): Disabled.
2958 (setup): New variable.
2959 (is_target): Likewise.
2960 (grub_vga_mod_init): Likewise.
2961 (grub_vga_mod_fini): Likewise.
2962 (check_vga_mem): Likewise.
2963 (write_char): Likewise.
2964 (write_cursor): Likewise.
2965 (scroll_up): Likewise.
2966 (grub_vga_putchar): Likewise.
2967 (grub_vga_getcharwidth): Likewise.
2968 (grub_vga_getwh): Likewise.
2969 (grub_vga_getxy): Likewise.
2970 (grub_vga_gotoxy): Likewise.
2971 (grub_vga_cls): Likewise.
2972 (grub_vga_setcolorstate): Likewise.
2973 (grub_vga_setcursor): Likewise.
2974 (grub_video_vga_init): New function.
2975 (grub_video_vga_setup): Likewise.
2976 (grub_video_vga_fini): Likewise.
2977 (update_target): Likewise.
2978 (grub_video_vga_blit_bitmap): Likewise.
2979 (grub_video_vga_blit_render_target): Likewise.
2980 (grub_video_vga_set_active_render_target): Likewise.
2981 (grub_video_vga_get_active_render_target): Likewise.
2982 (grub_video_vga_swap_buffers): Likewise.
2983 (grub_video_vga_set_palette): Likewise.
2984 (grub_video_vga_get_info_and_fini): Likewise.
2985 (grub_vga_term): Removed.
2986 (grub_video_vga_adapter): New variable.
2987 (GRUB_MOD_INIT): Register a video driver instead of terminal.
2988 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
2989
2bf61a98
VS
29902010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 * video/readers/jpeg.c: Indented.
2993
09ddcd11
VS
29942010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2995
2996 Various jpeg cleanups.
2997
2998 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
2999 (grub_jpeg_decode_quan_table): Use sizeof.
3000 (grub_jpeg_decode_du): Use ARRAY_SIZE.
3001
e5507505
PH
30022010-05-05 Peter Hurley <No e-mail available> (tiny change)
3003
3004 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
3005 tables. Ignore non-last ac bit.
3006 (grub_jpeg_decode_quan_table): Likewise.
3007
7e720a9b
VS
30082010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3009
3010 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
3011 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
3012 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3013 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
3014 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
3015 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
3016
a7fc080b
VS
30172010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3018
3019 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
3020 error.
3021
2bf6012d
VS
30222010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3023
3024 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
3025
265d68cd
VS
30262010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
3029 condition.
3030
30312010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
3032
3033 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
3034 part.
3035
265d68cd 30362010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
3037
3038 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
3039 pointers.
3040
265d68cd 30412010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
3042
3043 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
3044
d1b61374
CF
30452010-05-01 Christian Franke <franke@computer.org>
3046
3047 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
3048 Remove broken Cygwin path conversion.
3049 * util/misc.c: [__CYGWIN__] Add include and define.
3050 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
3051 for Cygwin 1.7.
3052 (make_system_path_relative_to_its_root): Simplify loop, replace early
3053 return by break.
3054 [__CYGWIN__] Add conversion to win32 path.
3055 Include "/" case in trailing slash removal.
3056
3558c6e9
VS
30572010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 * kern/main.c (grub_load_config): Fix copy-pasted comment.
3060 Reported by: Seth Goldberg
3061
f5f3ff93
VS
30622010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 * commands/help.c (grub_cmd_help): Fix a typo.
3065 Reported by: Seth Goldberg
3066
d8b5cd40
VS
30672010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
3070 name and add N_.
3071 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
3072 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
3073 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
3074 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
3075 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
3076 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
3077 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
3078 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
3079 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
3080 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
3081 * normal/context.c (GRUB_MOD_INIT): Likewise.
3082 * normal/main.c (GRUB_MOD_INIT): Likewise.
3083 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
3084 * term/serial.c (GRUB_MOD_INIT): Likewise.
3085 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
3086
88c14915
VS
30872010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3088
3089 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
3090 extra == 0.
3091
165134bc
VS
30922010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 * commands/iorw.c: New file.
3095 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
3096 (iorw_mod_SOURCES): New variable.
3097 (iorw_mod_CFLAGS): Likewise.
3098 (iorw_mod_LDFLAGS): Likewise.
3099
c5ac9b32
VS
31002010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 Hotkey support
3103
3104 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
3105 * normal/main.c (hotkey_aliases): New variable.
3106 (grub_normal_add_menu_entry): Parse "--hotkey".
3107 * normal/menu_text.c (run_menu): Handle hotkeys.
3108
ce60689c
VS
31092010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3110
3111 * kern/i386/coreboot/init.c (grub_machine_init): Call
3112 grub_machine_mmap_init on qemu.
3113
0359d006
VS
31142010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3115
3116 * boot/i386/qemu/boot.S: Add a missing .code16.
3117
7819a456
VS
31182010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 Use LBIO on coreboot.
3121
3122 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
3123 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
3124 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
3125 New declaration.
3126 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
3127 grub_machine_mmap_init on coreboot.
3128 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
3129 GRUB_LINUXBIOS_MEMBER_LINK.
3130 (grub_machine_mmap_iterate): Fix declaration.
3131 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
3132
7210dca9
VS
31332010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 Split coreboot and multiboot ports.
3136
3137 * conf/i386-multiboot.rmk: New file.
3138 * configure.ac: Add multiboot port.
3139 * include/grub/i386/multiboot/boot.h: New file.
3140 * include/grub/i386/multiboot/console.h: Likewise.
3141 * include/grub/i386/multiboot/init.h: Likewise.
3142 * include/grub/i386/multiboot/kernel.h: Likewise.
3143 * include/grub/i386/multiboot/loader.h: Likewise.
3144 * include/grub/i386/multiboot/memory.h: Likewise.
3145 * include/grub/i386/multiboot/serial.h: Likewise.
3146 * include/grub/i386/multiboot/time.h: Likewise.
3147 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
3148 * loader/multiboot.c: Likewise.
3149 * loader/multiboot_mbi2.c: Likewise.
3150 * util/grub-mkrescue.in: Generate multiboot rescue.
3151
6f8aaf68
VS
31522010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3153
3080f7a7
VS
3154 * kern/parser.c (grub_parser_execute): Cope with read-only config.
3155
31562010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3157
3158 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
3159
3160 * commands/terminal.c (abstract_terminal): New struct.
3161 (handle_command): New function. Based on grub_cmd_terminal_input.
3162 (grub_cmd_terminal_input): Use handle_command.
3163 (grub_cmd_terminal_output): Use handle_command.
3164
a8ebb841
BC
31652010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
3166
3167 Fix comment handling.
3168
3169 * tests/grub_script_comments.in: New testcase.
3170 * conf/tests.rmk: Rules for new testcase.
3171 * script/yylex.l: Updated flex rules.
3172
bb06ba08
ST
31732010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
3174
3175 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
3176 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
3177 if argc is 1.
bb06ba08 3178
cc9d2425
VS
31792010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3180
3181 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
3182 autogen issues.
3183
460d8402
CF
31842010-04-26 Christian Franke <franke@computer.org>
3185
3186 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
3187 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
3188 (grub_get_prefix): Remove function.
3189 * util/grub-emu.c (main): Replace grub_get_prefix () call by
3190 make_system_path_relative_to_its_root ().
3191 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
3192
553c01f9
CF
31932010-04-24 Christian Franke <franke@computer.org>
3194
3195 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
3196 (kernel_img_LDFLAGS): Remove -static-libgcc.
3197
2aec1692
CF
31982010-04-24 Christian Franke <franke@computer.org>
3199
3200 * configure.ac: Do not CHECK_BSS_START_SYMBOL
3201 and CHECK_END_SYMBOL if grub-emu is built.
3202 Unset TARGET_OBJ2ELF if grub-emu is built
3203 without module support.
3204
f67dc308
JS
32052010-04-24 Jiro SEKIBA <jir@unicus.jp>
3206
3207 Nilfs2 support.
3208
3209 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
3210 (grub_fstest_SOURCES): Likewise.
3211 (pkglib_MODULES): Add nilfs2.mod.
3212 (nilfs2_mod_SOURCES): New variable.
3213 (nilfs2_mod_CFLAGS): Likewise.
3214 (nilfs2_mod_LDFLAGS): Likewise.
3215 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
3216 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
3217 * fs/nilfs2.c: New file.
3218
4ba8d354
VS
32192010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
3222 is not supported.
3223
0d2c20c6
GS
32242010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
3225
3226 Add grub-mkconfig support for NetBSD.
3227
3228 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
3229 * util/grub-mkconfig.in: export new NetBSD specific variables.
3230 * po/POTFILES-shell: added 10_netbsd.in.
3231 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
3232
bc4a2d83
BC
32332010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
3234
3235 Fix emu build with grub-emu-pci and grub-emu-modules.
3236
3237 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
3238 functions.
3239 * include/grub/libpciaccess.h: New file.
3240 * conf/any-emu.rmk: Update kernel headers for emu build.
3241
f48c87aa
VS
32422010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3243
3244 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
3245
18959385
VS
32462010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
3249
0037de3f
VS
32502010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
3253 Retrieve chosen/bootpath if bootpath isn't hardcoded.
3254 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
3255 util/ieee1275/ofpath.c.
3256 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
3257 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
3258 * include/grub/sparc64/ieee1275/boot.h
3259 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
3260 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
3261 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
3262 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
3263 const char *.
3264 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
3265 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
3266 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
3267 install.
3268
38e55e90
GS
32692010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
3270
3271 * util/grub-mkconfig.in: Corrected two == equality tests.
3272 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
3273 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
3274 expect a number appended to it.
3275 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
3276 expects a number appended to it.
3277
a9e6ff28
VS
32782010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
3281
0b830b8f
VS
32822010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3283
3284 * util/hostdisk.c (make_device_name): Change to new partition naming.
3285
0973daeb
VS
32862010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
3289
460d8402 32902010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
3291
3292 * Makefile.in: Add missing localedir setting.
3293
0b456309
CW
32942010-04-14 Colin Watson <cjwatson@ubuntu.com>
3295
3296 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
3297 mistake in r2156. Noticed by Anthony Fok.
3298
3299 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
3300 @localedir@.
3301 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
3302
08f46d62
BC
33032010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
3304
3305 Fix a spurious, uninitialized variable warning.
3306
3307 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
3308 Initialize variable, shdr.
3309 (grub_freebsd_load_elfmodule): Likewise.
3310 (grub_freebsd_load_elf_meta): Likewise.
3311
8c4a72d4
BC
33122010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
3313
3314 Fix for escaped dollar in double quoted strings.
3315
3316 * script/yylex.l: Updated flex rules.
3317 * conf/tests.rmk: Rule for new testcase.
3318 * tests/grub_script_dollar.in: New testcase.
3319
ce44826e
CPE
33202010-04-13 Carles Pina i Estany <carles@pina.cat>
33212010-04-13 Colin Watson <cjwatson@ubuntu.com>
3322
3323 Enclose all translated strings in grub.cfg in single quotes, and
3324 escape them appropriately (Ubuntu bug #552921).
3325
3326 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
3327 * util/grub.d/10_hurd.in: Use it.
3328 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
3329 * util/grub.d/10_linux.in (linux_entry): Likewise.
3330
4b0cd8f8
VS
33312010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 Fix cygwin compilation.
3334
3335 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
3336 * include/grub/misc.h (__register_frame_info)
3337 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
3338 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
3339 * kern/misc.c (__register_frame_info)
3340 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
3341 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
3342
01fcf061
VS
33432010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3344
3345 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
3346
5d04b11e
VS
33472010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3348
3349 Unify libgcc processing.
3350
3351 * Makefile.in (kernel_img_LDFLAGS): New variable.
3352 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
3353 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
3354 overwriting.
3355 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
3356 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
3357 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
3358 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
3359 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
3360 overwriting. Remove -lgcc and -static-libgcc
3361 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
3362 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
3363 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
3364 (kernel_img_LDFLAGS): Append instead of overwriting.
3365 Remove -lgcc and -static-libgcc
3366 * conf/sparc64-ieee1275.rmk: Likewise.
3367 * include/grub/powerpc/libgcc.h: Move to ...
3368 * include/grub/libgcc.h: .. this.
3369 * include/grub/libgcc.h: Don't export most of the function on x86.
3370 (__bswapsi2): New export.
3371 (__bswapdi2): Likewise.
3372 * include/grub/mips/libgcc.h: Removed.
3373 * include/grub/sparc64/libgcc.h: Likewise.
3374
b7f3ac29
VS
33752010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
3378 disk_info_msg (conflicts with gettexting into languages with cases).
3379
2c7031b1
GS
33802010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
3381
3382 Add grub-probe support for NetBSD.
3383
3384 * util/getroot.c (find_root_device): Convert block device to
3385 character device on NetBSD.
3386 * util/probe.c (probe): Require character device on NetBSD.
3387 * util/hostdisk.c: NetBSD specific headers.
3388 (configure_device_driver): new function to tune device driver
3389 parameters (currently only for NetBSD floppy driver).
3390 (grub_util_biosdisk_open): NetBSD specific code (get disk size
3391 via disklabel ioctl).
3392 (open_device): call configure_device_driver on NetBSD.
3393 (convert_system_partition_to_system_disk): NetBSD specific code.
3394 (device_is_wholedisk): Likewise.
3395 (grub_util_biosdisk_get_grub_dev): Likewise.
3396 (make_device_name): Fixed a typo in bsd_part_str.
3397 * configure.ac: check for opendisk() and getrawpartition() on
3398 NetBSD and set LIBUTIL.
3399 * Makefile.in: add LIBUTIL to LIBS.
3400
f516290c
BC
34012010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
3402
3403 Documentation fix.
3404
3405 * util/grub-script-check.c: Better help message.
3406
d8dcc0df
BC
34072010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
3408
3409 Fix FreeBSD build.
3410
3411 * configure.ac: Flex version check.
3412 * conf/common.rmk: Add -Wno-error to sh.mod.
3413 * script/yylex.l: Remove all #pragma.
3414
6734334a
VS
34152010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3416
3417 * include/grub/util/misc.h (canonicalise_file_name): Add missing
3418 prototype.
3419 Reported by: Seth Goldberg.
3420
daea6abd
VS
34212010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3422
3423 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
3424 Rename "module" to "module2".
3425 Reported by: Seth Goldberg.
3426
f2fd9d2b
VS
34272010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3428
3429 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
3430 EXPORT_FUNC.
3431 Reported by: Seth Goldberg.
3432
be124579
VS
34332010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3434
3435 * lib/posix_wrap/locale.h: Add missing file.
3436 Reported by: Seth Goldberg.
3437
ef5da797
VS
34382010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 grub-emu module load support.
3441
3442 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
3443 NO_DYNAMIC_MODULES switched to this.
3444 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
3445 (CFLAGS): Likewise.
3446 * conf/any-emu.rmk: Generate symlist.
3447 (kernel_img_HEADERS): Add util/datetime.h.
3448 (kernel_img_HEADERS) [sdl]: Add sdl.h.
3449 (kernel_img_HEADERS) [libusb]: Add libusb.h.
3450 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
3451 kern/$(target_cpu)/cache.S.
3452 * configure.ac (grub-emu-modules): New option.
3453 * genmk.rb: Handle multiple source lists.
3454 * include/grub/sdl.h: New file.
3455 * include/grub/libusb.h: Likewise.
3456 * util/grub-emu.c (main): Hanle (host) root.
3457 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
3458 GRUB_ERR_UNKNOWN_DEVICE.
3459 * util/misc.c: Move mm functions to ...
3460 * util/mm.c: ... here. All users updated.
3461
47822096
VS
34622010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3463
3464 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
3465 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
3466 missing files.
3467 (maintainer-clean): Remove libgcrypt-grub.
3468
5d7e7445
VS
34692010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3470
3471 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
3472
25f4e252
EC
34732010-04-09 EFI Coder <eficoder@hotmail.com>
3474
3475 * normal/menu_text.c (print_message): Clean up the message and show
3476 the Fn information when on EFI
3477 * term/efi/console.c (grub_console_checkkey): Add F4 support.
3478
027de555
VS
34792010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3480
3481 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
3482 All users updated.
3483 * normal/crypto.c (read_crypto_list): Likewise.
3484 * normal/dyncmd.c (read_command_list): Likewise.
3485 * normal/term.c (read_terminal_list): Likewise.
3486 * normal/main.c (read_lists): Use explicit prefix.
3487 (read_lists_hook): Use read_lists.
3488 (grub_normal_execute): Likewise.
3489
47779711
VS
34902010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3491
3492 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
3493 Reported by: Thomas Schmitt.
3494 Add -no-emul-boot to grub-mkisofs parameters.
3495
1118c32e
VS
34962010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 * font/font.c: Indented.
3499
7d652447
BC
35002010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
3501
3502 Elif support to GRUB script (by Deepak Vankadaru).
3503
3504 * tests/grub_script_if.in: New testcase.
3505 * conf/tests.rmk: Rule for new testcase.
3506 * script/parser.y: Grammar rules for elif.
3507
34bb22df
BC
35082010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
3509
3510 While and until loops support to GRUB script.
3511
3512 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
3513 (grub_script_create_cmdwhile): New function prototype.
3514 (grub_script_execute_cmdwhile): New function prototype.
3515 * script/execute.c (grub_script_execute_cmdwhile): New function.
3516 * script/parser.y (command): New commands.
3517 (whilecmd): New grammar rule.
3518 (untilcmd): New grammar rule.
3519 * script/script.c (grub_script_create_cmdwhile): New function.
3520 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
3521 function.
3522
3523 * tests/grub_script_while1.in: New testcase.
3524 * conf/tests.rmk: Rule for new testcase.
3525
e215d8e0
VS
35262010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3527
3528 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
3529 as *.jpg.
3530
d7c43ba1
MV
35312010-04-09 Mario Vazquez <mariovazq@gmail.com>
3532
3533 GRUB_BACKGROUND support.
3534
3535 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
3536 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
3537
d64795c0
VS
35382010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 3541 Idea by: Mario Vazquez
d64795c0
VS
3542
3543 * util/grub.d/00_header.in: Load pf2 and image modules.
3544
f267f83a
VS
35452010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 grub-mkconfig multiple terminal support.
3548
3549 * util/grub-mkconfig.in: Handle multiple terminals correctly.
3550 * util/grub.d/00_header.in: Likewise.
3551
b7841ceb
VS
35522010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 * Makefile.in: Specify files explicitly instead of using $< and $@ since
3555 we use cd $(srcdir).
3556
df60998c
CW
35572010-04-08 Colin Watson <cjwatson@ubuntu.com>
3558
3559 * util/grub.d/10_linux.in: Only use the first word of
3560 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
3561 spaces in GRUB_DISTRIBUTOR.
3562 * util/grub.d/10_kfreebsd.in: Likewise.
3563 * util/grub.d/10_hurd.in: Likewise.
3564
fa09c82e
BC
35652010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
3566
14e18ae3 3567 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
3568
3569 * tests/util/grub-shell.in: Remove -serial stdio option.
3570
daf892b3
BC
35712010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3572
3573 POSIX header file wrappers.
3574
3575 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
3576 equivalents.
3577 * lib/posix_wrap/ctype.h: Likewise.
3578 * lib/posix_wrap/errno.h: Likewise.
3579 * lib/posix_wrap/langinfo.h: Likewise.
3580 * lib/posix_wrap/limits.h: Likewise.
3581 * lib/posix_wrap/localcharset.h: Likewise.
3582 * lib/posix_wrap/stdint.h: Likewise.
3583 * lib/posix_wrap/stdio.h: Likewise.
3584 * lib/posix_wrap/stdlib.h: Likewise.
3585 * lib/posix_wrap/string.h: Likewise.
3586 * lib/posix_wrap/sys/types.h: Likewise.
3587 * lib/posix_wrap/unistd.h: Likewise.
3588 * lib/posix_wrap/wchar.h: Likewise.
3589 * lib/posix_wrap/wctype.h: Likewise.
3590 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
3591 (grub_script.yy.h): Likewise.
3592 * script/yylex.l: Remove POSIX emulation #defines.
3593 * Makefile.in (POSIX_CFLAGS): New variable.
3594 (GNULIB_UTIL_CFLAGS): Likewise.
3595
3596 Regexp support.
3597
3598 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
3599 (regexp_mod_SOURCES): New variable.
3600 (regexp_mod_CFLAGS): Likewise.
3601 (regexp_mod_LDFLAGS): Likewise.
3602 * commands/regexp.c: New file.
3603 * gnulib/regcomp.c: New file. Imported from gnulib.
3604 * gnulib/regex.c: Likewise.
3605 * gnulib/regex_internal.c: Likewise.
3606 * gnulib/regex_internal.h: Likewise.
3607 * gnulib/regexec.c: Likewise.
3608 * gnulib/regex.h: Likewise.
3609
974ac4f7
VS
36102010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
3613 unsupported video mode types.
3614
2622c3ff
VS
36152010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3616
3617 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
3618
064cb524
VS
36192010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3620
3621 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
3622 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
3623
a8c3b552
VS
36242010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 Remove unused grub_vga_get_font.
3627
3628 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
3629 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
3630
187bbe3d
GS
36312010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3632
3633 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
3634 * include/grub/misc.h: Likewise.
3635
b9396631
GS
36362010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3637
3638 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
3639 for which failure is fatal.
3640
50479feb
GS
36412010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3642
3643 * util/grub-install.in: Use mkdir -p to create grub directory.
3644 * util/i386/efi/grub-install.in: Likewise.
3645 * util/ieee1275/grub-install.in: Likewise.
3646
b1654fdf
GS
36472010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3648
3649 * Makefile.in (LEX): new variable.
3650
bd5a6415
GS
36512010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3652
3653 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
3654 `=' and added double quotes on operands of this equality test.
3655
3db3a82b
VS
36562010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3657
3658 * Makefile.in (uninstall): Remove a leftover debug echo.
3659 Reported by: Grégoire Sutre
3660
38023412
VS
36612010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3662
3663 MIPS multiboot2 support.
3664
3665 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
3666 (multiboot2_mod_SOURCES): New variable.
3667 (multiboot2_mod_CFLAGS): Likewise.
3668 (multiboot2_mod_LDFLAGS): Likewise.
3669 (multiboot2_mod_ASFLAGS): Likewise.
3670 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
3671 definition.
3672 (MULTIBOOT_ENTRY_REGISTER): Likewise.
3673 (MULTIBOOT_MBI_REGISTER): Likewise.
3674 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
3675 (MULTIBOOT_ELF32_MACHINE): Likewise.
3676 (MULTIBOOT_ELF64_MACHINE): Likewise.
3677 * include/grub/mips/multiboot.h: New file.
3678 * include/grub/video.h (grub_video_driver_id): New type
3679 GRUB_VIDEO_DRIVER_SM712.
3680 (grub_video_get_info_and_fini): Export.
3681 (grub_video_get_palette): Likewise.
3682 (grub_video_get_driver_id): Likewise.
3683 * include/multiboot2.h: Resynced with spec.
3684 * loader/i386/multiboot.c: Moved from here ...
3685 * loader/multiboot.c: ... here. All users updated.
3686 (grub_multiboot_boot): Use platform-specific macros.
3687 * loader/i386/multiboot_elfxx.c: Moved from here ...
3688 * loader/multiboot_elfxx.c: ... here. All users updated.
3689 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
3690 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
3691 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
3692
47674667
VS
36932010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3694
3695 Import gnulib argp module.
3696
3697 * gnulib/argp-ba.c: New file.
3698 * gnulib/argp-eexst.c: Likewise.
3699 * gnulib/argp-fmtstream.c: Likewise.
3700 * gnulib/argp-fmtstream.h: Likewise.
3701 * gnulib/argp-fs-xinl.c: Likewise.
3702 * gnulib/argp-help.c: Likewise.
3703 * gnulib/argp-namefrob.h: Likewise.
3704 * gnulib/argp-parse.c: Likewise.
3705 * gnulib/argp-pin.c: Likewise.
3706 * gnulib/argp-pv.c: Likewise.
3707 * gnulib/argp-pvh.c: Likewise.
3708 * gnulib/argp-version-etc.c: Likewise.
3709 * gnulib/argp-version-etc.h: Likewise.
3710 * gnulib/argp-xinl.c: Likewise.
3711 * gnulib/argp.h: Likewise.
3712
495442ed
VS
37132010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3714
3715 * kern/device.c (grub_device_iterate): Clear errors after failed
3716 opening device.
3717
f9fd65df
VS
37182010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3719
3720 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
3721 returned by firmware.
3722
af09641e
VS
37232010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
3726 compilation on coreboot and qemu
3727
016883a5
VS
37282010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 * include/multiboot2.h: Resync with spec.
3731
f97e1f7d
VS
37322010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3733
3734 Multiboot2 tag support
3735
3736 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
3737 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
3738 Remove loader/multiboot_loader.c.
3739 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
3740 (grub_multiboot2_real_boot): Likewise.
3741 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
3742 (grub_get_multiboot_mmap_count): New proto.
3743 (grub_fill_multiboot_mmap): Likewise.
3744 (grub_multiboot_set_video_mode): Likewise.
3745 (grub_multiboot_set_console): Likewise.
3746 (grub_multiboot_load): Likewise.
3747 (grub_multiboot_load_elf): Likewise.
3748 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
3749 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
3750 * include/multiboot.h: Resynced with specification.
3751 * include/multiboot2.h: Resynced with specification.
3752 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
3753 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
3754 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
3755 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
3756 users updated.
3757 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
3758 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
3759 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
3760 Removed.
3761 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
3762 Moved from here...
3763 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
3764 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
3765 Moved from here...
3766 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
3767 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
3768 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
3769 All users updated.
3770 * loader/i386/multiboot_mbi2.c: New file.
3771
3506b90b
VS
37722010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 Resync with gnulib.
3775
3776 * Makefile.in (GNULIB_CFLAGS): New variable.
3777 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
3778 (grub_script_check_CFLAGS): New variable.
3779 * gnulib/alloca.h: Resync with gnulib.
3780 * gnulib/error.c: Likewise.
3781 * gnulib/error.h: Likewise.
3782 * gnulib/fnmatch.c: Likewise.
3783 * gnulib/fnmatch_loop.c: Likewise.
3784 * gnulib/getdelim.c: Likewise.
3785 * gnulib/getline.c: Likewise.
3786 * gnulib/getopt.c: Likewise.
3787 * gnulib/getopt1.c: Likewise.
3788 * gnulib/getopt_int.h: Likewise.
3789 * gnulib/gettext.h: Likewise.
3790 * gnulib/progname.c: Likewise.
3791 * gnulib/progname.h: Likewise.
3792
394a3120
GS
37932010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
3794
3795 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
3796 which is the case with --disabled-nls.
3797
3798 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
3799 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
3800 * util/misc.c: Likewise.
3801 * util/mkisofs/mkisofs.c: Likewise.
3802 * util/mkisofs/mkisofs.h: Likewise.
3803
969d1c78
VS
38042010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 Simplify Apple CC support.
3807
3808 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
3809 Add 0 byte at the end not to have a symbol with empty target.
3810 * mmap/i386/pc/mmap_helper.S: Likewise.
3811 * genmk.rb: Ignore errors 2030 and 2050.
3812 * kern/i386/pc/startup.S: Use LOCAL when possible.
3813
8d2977bb
BC
38142010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
3815
3816 Testcase and the fix for final semicolon on cmdline.
3817
3818 * tests/grub_script_final_semicolon.in: New testcase.
3819 * conf/tests.rmk: Rules for the new testcase.
3820 * script/parser.y: Grammar fix.
3821
a7bd6915
BC
38222010-03-26 BVK Chaitanya <bvk@localhost>
3823
3824 Blank lines testcase for GRUB script.
3825
3826 * tests/grub_script_blanklines.in: New testcase.
3827 * conf/tests.rmk: Rules for the new testcase.
3828
e4ff6628
VS
38292010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3830
3831 Don't use __FILE__.
3832
3833 * genmk.rb: Add -DGRUB_FILE to all C targets.
3834 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
3835 * include/grub/list.h: Likewise.
3836 * include/grub/misc.h: Likewise.
3837 * include/grub/mm.h: Likewise.
3838 * include/grub/test.h: Likewise.
3839 * kern/mm.c: Likewise.
3840 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
3841
6a5cf6b6
VS
38422010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3843
3844 Sunpc partitions support.
3845
3846 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
3847 (grub_fstest_SOURCES): Likewise.
3848 (pkglib_MODULES): Add part_sunpc.mod.
3849 (part_sunpc_mod_SOURCES): New variable.
3850 (part_sunpc_mod_CFLAGS): Likewise.
3851 (part_sunpc_mod_LDFLAGS): Likewise.
3852 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
3853 * partmap/sunpc.c: New file.
3854
746d9045
BC
38552010-03-26 BVK Chaitanya <bvk@localhost>
3856
3857 For loop support to GRUB script.
3858
3859 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
3860 (grub_script_create_cmdfor): New function prototype.
3861 (grub_script_execute_cmdfor): New function prototype.
3862 * script/execute.c (grub_script_execute_cmdfor): New function.
3863 * script/parser.y (command): New for command.
3864 (forcmd): New grammar rule.
3865 * script/script.c (grub_script_create_cmdfor): New function.
3866 * util/grub-script-check.c (grub_script_execute_cmdfor): New
3867 function.
3868 * tests/grub_script_for1.in: New testcase.
3869 * conf/tests.rmk: Rules for new testcase.
3870
18486b18
VS
38712010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3872
3873 Nested partitions
3874
3875 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
3876 'partition' is NULL, grub_partition_get_start already does that.
3877 * commands/loadenv.c (check_blocklists): Likewise.
3878 (write_blocklists): Likewise.
3879 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
3880 (grub_fstest_SOURCES): Likewise.
3881 (pkglib_MODULES): Add part_bsd.mod.
3882 (part_bsd_mod_SOURCES): New variable.
3883 (part_bsd_mod_CFLAGS): Likewise.
3884 (part_bsd_mod_LDFLAGS): Likewise.
3885 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
3886 (grub_emu_SOURCES): Likewise.
3887 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3888 * include/grub/bsdlabel.h: New file.
3889 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
3890 'get_name'.
3891 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
3892 (grub_partition_map_list): New variable.
3893 (grub_partition_map_register): Inline.
3894 (grub_partition_map_unregister): Likewise.
3895 (FOR_PARTITION_MAPS): New macro.
3896 (grub_partition_map_iterate): Removed.
3897 (grub_partition_get_start): Handle nested partitions.
3898 * include/grub/msdos_partition.h: Remove bsd-related entries.
3899 (grub_pc_partition): Remove.
3900 * kern/disk.c (grub_disk_close): Free partition data.
3901 (grub_disk_adjust_range): Handle nested partitions.
3902 * kern/partition.c (grub_partition_map_probe): New function.
3903 (grub_partition_probe): Parse name to number, handle subpartitions.
3904 (get_partmap): New function.
3905 (grub_partition_iterate): Handle subpartitions.
3906 (grub_partition_get_name): Likewise.
3907 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
3908 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
3909 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
3910 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
3911 Set 'number'.
3912 (acorn_partition_map_probe): Remove.
3913 (acorn_partition_map_get_name): Likewise.
3914 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
3915 Set 'number'.
3916 Set 'index' to 0 since there can be only one partition entry per sector.
3917 (amiga_partition_map_probe): Remove.
3918 (amiga_partition_map_get_name): Likewise.
3919 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
3920 Set 'number'.
3921 Set 'offset' and 'index' to real positions of partitions.
3922 (apple_partition_map_probe): Remove.
3923 (apple_partition_map_get_name): Likewise.
3924 * partmap/bsdlabel.c: New file.
3925 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
3926 Set 'number'.
3927 Allocate 'data' so it can be correctly freed.
3928 Set 'index' to offset inside sector.
3929 (gpt_partition_map_probe): Remove.
3930 (gpt_partition_map_get_name): Likewise.
3931 * partmap/msdos.c (grub_partition_parse): Remove.
3932 (pc_partition_map_iterate): Don't force raw access.
3933 Set 'number'.
3934 Make 'ext_offset' a local variable.
3935 (pc_partition_map_probe): Remove.
3936 (pc_partition_map_get_name): Remove.
3937 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
3938 Set 'number'.
3939 (sun_partition_map_probe): Remove.
3940 (sun_partition_map_get_name): Likewise.
3941 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
3942 (grub_pcpart_type): Likewise.
3943 * util/hostdisk.c (open_device): Handle new numbering scheme.
3944 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
3945 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
3946 * util/grub-probe.c (probe_partmap): Handle nested paritions.
3947 * util/grub-install.in: Insert all subpartition modules.
3948 * util/ieee1275/grub-install.in: Likewise.
3949
a3940f88
AG
39502010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
3951
3952 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
3953 grammar.
3954
21b99926 39552010-03-24 Colin Watson <cjwatson@ubuntu.com>
3956
3957 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
3958
bed1d352
CW
39592010-03-21 Colin Watson <cjwatson@ubuntu.com>
3960
3961 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
3962 match where 'make install' puts them.
3963 * util/i386/efi/grub-install.in: Likewise.
3964
c9f58427
CW
39652010-03-19 Colin Watson <cjwatson@ubuntu.com>
3966
3967 * .bzrignore: Add gentrigtables, grub-script-check,
3968 grub_script_check_init.c, grub_script_check_init.h, and
3969 trigtables.c.
3970
f84afb27
VS
39712010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
3972
3973 * kern/parser.c: Indented.
3974
ed0e3d30
VS
39752010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3976
3977 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
3978
0ea81d98
VS
39792010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3980
3981 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
3982 alpha_mask_size == 0 case.
3983
0cdc2a09
BC
39842010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
3985
3986 GRUB shell lexer and parser improvements.
3987
3988 * conf/any-emu.rmk: Build rule updates.
3989 * conf/common.rmk: Likewise.
3990 * conf/i386-coreboot.rmk: Likewise.
3991 * conf/i386-efi.rmk: Likewise.
3992 * conf/i386-ieee1275.rmk: Likewise.
3993 * conf/i386-pc.rmk: Likewise.
3994 * conf/powerpc-ieee1275.rmk: Likewise.
3995 * conf/x86_64-efi.rmk: Likewise.
3996
3997 * configure.ac: Configure check for flex.
3998
3999 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
4000 types.
4001 (grub_lexer_param): Struct member updates.
4002 (grub_parser_param): Likewise.
4003 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
4004 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
4005 (grub_script_lexer_init): Prototype update.
4006 (grub_script_lexer_record_start): Likewise.
4007 (grub_script_lexer_record_stop): Likewise.
4008 (grub_script_lexer_yywrap): New function prototype.
4009 (grub_script_lexer_fini): Likewise.
4010 (grub_script_execute_argument_to_string): Removed by...
4011 (grub_script_execute_argument_to_argv): ...better version.
4012
4013 * script/execute.c (ROUND_UPTO): New macro.
4014 (grub_script_execute_cmdline): Out of memory fixes.
4015 (grub_script_execute_menuentry): Likewise.
4016 (grub_script_execute_argument_to_string): Removed. Update all
4017 users by...
4018 (grub_script_execute_argument_to_argv): ...better version.
4019 * script/function.c (grub_script_function_create): Use
4020 grub_script_execute_argument_to_argv instead of
4021 grub_script_execute_argument_to_string.
4022
4023 * script/lexer.c (check_varstate): Removed.
4024 (check_textstate): Removed.
4025 (grub_script_lexer_record_start): Likewise.
4026 (grub_script_lexer_record_stop): Likewise.
4027 (recordchar): Replaced with...
4028 (grub_script_lexer_record): ...new function.
4029 (nextchar): Removed.
4030 (grub_script_lexer_init): Rewritten.
4031 (grub_script_yylex): Rewritten.
4032 (append_newline): New function.
4033 (grub_script_lexer_yywrap): New function.
4034 (grub_script_lexer_fini): New function.
4035 (grub_script_yyerror): Sets error flag.
4036
4037 * script/yylex.l: New file.
4038 (grub_lexer_yyfree): Wrapper for flex yyffre.
4039 (grub_lexer_yyalloc): Likewise.
4040 (grub_lexer_yyrealloc): Likewise.
4041 * script/parser.y: Refactored.
4042
4043 * script/script.c (grub_script_arg_add): Out of memory fixes.
4044 (grub_script_add_arglist): Likewise.
4045 (grub_script_create_cmdline): Likewise.
4046 (grub_script_create_cmdmenu): Likewise.
4047 (grub_script_add_cmd): Likewise.
4048 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
4049 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
4050 unnecessary code.
4051
4052 * tests/grub_script_echo1.in: New testcase.
4053 * tests/grub_script_vars1.in: New testcase.
4054 * tests/grub_script_echo_keywords.in: New testcase.
4055
1d63a066
VS
40562010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4057
4058 Remove some redundancy in build system.
4059
4060 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
4061 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
4062 (TARGET_LDFLAGS): Add -nostdlib.
4063 (TARGET_IMG_LDFLAGS): Likewise.
4064 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
4065 anything since mmap isn't available.
4066 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
4067 Add util/time.c.
4068 (pkglib_MODULES): Remove reboot.mod.
4069 (reboot_mod_SOURCES): Removed.
4070 (reboot_mod_CFLAGS): Likewise.
4071 (reboot_mod_LDFLAGS): Likewise.
4072 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
4073 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
4074 (DEFSYMFILES): Add kernel_syms.lst.
4075 (kernel_img_HEADERS): Add common headers.
4076 (symlist.c): New target.
4077 (kernel_syms.lst): Likewise.
4078 (pkglib_MODULES): Add memdisk.mod.
4079 (memdisk_mod_SOURCES): New variable.
4080 (memdisk_mod_CFLAGS): Likewise.
4081 (memdisk_mod_LDFLAGS): Likewise.
4082 (pkglib_MODULES): Add reboot.mod.
4083 (reboot_mod_SOURCES): New variable.
4084 (reboot_mod_CFLAGS): Likewise.
4085 (reboot_mod_LDFLAGS): Likewise.
4086 (pkglib_MODULES): Add date.mod.
4087 (date_mod_SOURCES): New variable.
4088 (date_mod_CFLAGS): Likewise.
4089 (date_mod_LDFLAGS): Likewise.
4090 (pkglib_MODULES): Add datehook.mod.
4091 (datehook_mod_SOURCES): New variable.
4092 (datehook_mod_CFLAGS): Likewise.
4093 (datehook_mod_LDFLAGS): Likewise.
4094 (pkglib_MODULES): Add lsmmap.mod.
4095 (lsmmap_mod_SOURCES): New variable.
4096 (lsmmap_mod_CFLAGS): Likewise.
4097 (lsmmap_mod_LDFLAGS): Likewise.
4098 (pkglib_MODULES): Add boot.mod.
4099 (boot_mod_SOURCES): New variable.
4100 (boot_mod_CFLAGS): Likewise.
4101 (boot_mod_LDFLAGS): Likewise.
4102 * conf/i386-coreboot.rmk: Removed redundant parts.
4103 * conf/i386-ieee1275.rmk: Likewise.
4104 * conf/i386-pc.rmk: Likewise.
4105 * conf/mips-yeeloong.rmk: Likewise.
4106 * conf/mips.rmk: Likewise.
4107 * conf/powerpc-ieee1275.rmk: Likewise.
4108 * conf/sparc64-ieee1275.rmk: Likewise.
4109 * conf/x86_64-efi.rmk: Likewise.
4110 * conf/i386-coreboot.rmk: Moved qemu parts ..
4111 * conf/i386-qemu.rmk: ... here
4112 * conf/i386-efi.rmk: Moved common parts to...
4113 * conf/x86-efi.rmk: ... here.
4114 * conf/i386.rmk: Added modules common to all x86 variants.
4115 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
4116 * disk/memdisk.c: Remove grub/machine/kernel.h.
4117 * gensymlist.sh.in: Include symbol.h.
4118 * hook/datehook.c: Correct module name.
4119 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
4120 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
4121 * include/grub/i386/efi/serial.h: New file.
4122 * include/grub/x86_64/efi/serial.h: Likewise.
4123 * util/time.c: Likewise.
4124 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
4125
463ac55f
CK
41262010-03-14 Colin King <colin.king@ubuntu.com>
41272010-03-14 Colin Watson <cjwatson@ubuntu.com>
4128
4129 Shrink the pre-partition-table part of boot.img by eight bytes.
4130
4131 * boot/i386/pc/boot.S (ERR): New macro.
4132 (chs_mode): Use ERR.
4133 (geometry_error): Likewise.
4134 (hd_probe_error): Remove. This is only used once, so we wrwite
4135 it inline instead.
4136 (read_error): Instead of printing read_error_string, just set up
4137 %si and fall through to ...
4138 (error_message): ... this new function, also used by ERR.
4139
08e46ede
CW
41402010-03-14 Colin Watson <cjwatson@ubuntu.com>
4141
4142 Speed up consecutive hostdisk operations on the same device.
4143
4144 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
4145 (grub_util_biosdisk_open): Initialise disk->data.
4146 (struct linux_partition_cache): New structure.
4147 (linux_find_partition): Cache partition start positions; these are
4148 expensive to compute on every read and write.
4149 (open_device): Cache open file descriptor in disk->data, so that we
4150 don't have to reopen it and flush the buffer cache for consecutive
4151 operations on the same device.
4152 (grub_util_biosdisk_close): New function.
4153 (grub_util_biosdisk_dev): Set `close' member.
4154
4155 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
4156 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
4157 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
4158 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
4159 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
4160
4a6d2d06
VS
41612010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 Compile parts of grub-emu as modules.
4164
4165 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
4166 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
4167 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
4168 (all-local): Add $(GRUB_EMU).
4169 (install-local): Install $(GRUB_EMU).
4170 (uninstall): Uninstall $(GRUB_EMU).
4171 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
4172 * kern/dl.c: Likewise.
4173 * commands/sleep.c: Not include machine/time.h.
4174 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
4175 (COMMON_CFLAGS): Likewise.
4176 (sbin_UTILITIES): Remove grub-emu.
4177 (grub_emu_SOURCES): Removed.
4178 (kernel_img_RELOCATABLE): New variable.
4179 (pkglib_PROGRAMS): Add kernel.img.
4180 (kernel_img_SOURCES): New variable
4181 (kernel_img_CFLAGS): Likewise.
4182 (kernel_img_LDFLAGS): Likewise.
4183 (TARGET_NO_STRIP): Likewise.
4184 (TARGET_NO_DYNAMIC_MODULES): Likewise.
4185 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
4186 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
4187 (grub-emu): New target.
4188 (GRUB_EMU): New variable.
4189 * configure.ac: Whitelist -emu as possible x86_64 architecture.
4190 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
4191 * loader/xnu.c: Likewise.
4192 * include/grub/pci.h: Likewise.
4193 * genemuinit.sh: New file.
4194 * genemuinitheader.sh: Likewise.
4195 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
4196 Support TARGET_NO_DYNAMIC_MODULES.
4197 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
4198 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
4199 * disk/loopback.c: Likewise.
4200 * font/font_cmd.c: Likewise.
4201 * partmap/acorn.c: Likewise.
4202 * partmap/amiga.c: Likewise.
4203 * partmap/apple.c: Likewise.
4204 * partmap/gpt.c: Likewise.
4205 * partmap/msdos.c: Likewise.
4206 * partmap/sun.c: Likewise.
4207 * parttool/msdospart.c: Likewise.
4208 * term/gfxterm.c: Likewise.
4209 * video/bitmap.c: Likewise.
4210 * video/readers/jpeg.c: Likewise.
4211 * video/readers/png.c: Likewise.
4212 * video/readers/tga.c: Likewise.
4213 * video/video.c: Likewise.
4214 * util/grub-emu.c (read_command_list): Removed.
4215 (main): Don't call util_init_nls.
4216 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
4217 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
4218
91fdd2ed
VS
42192010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
4222 date.mod, datehook.mod.
4223 (datetime_mod_SOURCES): New variable.
4224 (datetime_mod_CFLAGS): Likewise.
4225 (datetime_mod_LDFLAGS): Likewise.
4226 (date_mod_SOURCES): Likewise.
4227 (date_mod_CFLAGS): Likewise.
4228 (date_mod_LDFLAGS): Likewise.
4229 (datehook_mod_SOURCES): Likewise.
4230 (datehook_mod_CFLAGS): Likewise.
4231 (datehook_mod_LDFLAGS): Likewise.
4232 * conf/sparc64-ieee1275.rmk: Likewise.
4233 * lib/ieee1275/datetime.c: New file.
4234
873ccae6
VS
42352010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4236
4237 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
4238 (ieee1275_fb_mod_SOURCES): New variable.
4239 (ieee1275_fb_mod_CFLAGS): Likewise.
4240 (ieee1275_fb_mod_LDFLAGS): Likewise.
4241 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
4242 New proto.
4243 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
4244 (HEAP_MAX_ADDR): Likewise.
4245 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
4246 type.
4247 Correct stop condition.
4248 (grub_ieee1275_devices_iterate): New function.
4249 * video/ieee1275.c: New file.
4250
601c97c0
VS
42512010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4252
4253 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
4254
4255 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
4256 as scratch.
4257 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
4258 SCRATCH_PAD_DISKBOOT as scratch.
4259 (bootit): Pass Openfirmware pointer in %o4.
4260 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
4261 of 0x200000.
4262 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
4263 with util/grub-mkrawimage.c.
4264 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
4265 * include/grub/aout.h (AOUT_MID_SUN): New definition.
4266 (grub_aout_get_type) [GRUB_UTIL]: Removed.
4267 (grub_aout_load) [GRUB_UTIL]: Likewise.
4268 * include/grub/kernel.h (grub_modules_get_end): New proto.
4269 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
4270 (SCRATCH_PAD_BOOT): New definition.
4271 (SCRATCH_PAD_DISKBOOT): Likewise.
4272 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
4273 * include/grub/sparc64/ieee1275/ieee1275.h
4274 (grub_ieee1275_original_stack): New variable
4275 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
4276 New definition
4277 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
4278 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
4279 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
4280 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
4281 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
4282 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
4283 (grub_platform_image_format_t): New type.
4284 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
4285 * kern/main.c (grub_modules_get_end)
4286 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
4287 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
4288 (codestart): Switch stacks.
4289 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
4290 variable.
4291 (grub_heap_init): Use grub_modules_get_end.
4292 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
4293 stack.
4294 * util/grub-mkrawimage.c (generate_image): Support sparc64.
4295 (main): Likewise.
4296 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
4297
d68b491e
TG
42982010-03-14 Thorsten Glaser <tg@mirbsd.org>
4299
4300 * util/grub-mkrescue.in: Base ISO UUID on UTC.
4301
4e02ed50
MK
43022010-03-08 Matt Kraai <kraai@ftbfs.org>
4303
4304 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
4305 bug #559005).
4306
1f15fc1e
VS
43072010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
4308
4309 * genmoddep.awk: Output all missing symbols and not only first.
4310
fce5d8ff
VS
43112010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4312
4313 * NEWS: Put the date of 1.98 release.
4314
d1e8a02f
VS
43152010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
4318 ft2build.h.
4319
696fd607
VS
43202010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4321
4322 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
4323 completition in the middle of string.
4324
33e2e6f3
VS
43252010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4326
4327 * util/grub-mkrescue.in: Use mktemp with explicit template.
4328
b1f6d291
VS
43292010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4330
4331 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
4332
2ac227c7
VS
43332010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4334
4335 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
4336 right pointer.
4337
8f9a632b
VS
43382010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4339
4340 Fix FreeBSD compilation.
4341
4342 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
4343 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
4344
60b03859
VS
43452010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
4348
48a5a769
VS
43492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
4352
3ab4bd77
VS
43532010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4354
4355 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
4356
d116e0d8
RM
43572010-03-04 Robert Millan <rmh.grub@aybabtu.com>
4358
4359 Support relative image path in theme file.
4360
4361 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
4362 (image_set_property): Handle theme_dir and relative path.
4363
c7ef54aa
VS
43642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4365
4366 * configure.ac: Alias amd64 to x86_64.
4367
fcee14ed
VS
43682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4369
4370 * NEWS: mention multiboot on EFI.
4371
d0780363
VS
43722010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * kern/main.c (grub_load_modules): Handle errors from init functions of
4375 embeded modules.
4376
41168ea4
VS
43772010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 * normal/autofs.c (autoload_fs_module): Handle errors.
4380
b54d93ac
VS
43812010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4382
4383 Disable linux.mod on qemu-mips since it's not functional and leads
4384 to compilation failure.
4385
4386 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
4387 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
4388 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
4389 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
4390 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
4391 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
4392 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
4393 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
4394 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
4395 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
4396 Reported by: BVK Chaitanya
4397
fc8345da
JU
43982010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
4399
4400 * INSTALL: Add gettext as a dependency and add qemu to a new section
4401 "Prerequisites for make-check".
4402
4760f979
CF
44032010-03-04 Christian Franke <franke@computer.org>
4404
4405 * util/grub-pe2elf.c: Add missing include "progname.h".
4406
f209b5b2
VS
44072010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4408
4409 * normal/crypto.c (read_crypto_list): Fix a typo.
4410 Reported by: Seth Goldberg.
4411
b4b7be98
VS
44122010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4413
4414 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 4415 Reported by: Seth Goldberg.
b4b7be98 4416
c0ee0385
VS
44172010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
4420 ascii.bitmaps.
4421
a8efbf64
VS
44222010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4423
4424 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 4425 Reported by: Seth Goldberg.
a8efbf64 4426
08dcd913
VS
44272010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4428
4429 * util/i386/efi/grub-install.in: Copy gettext files.
4430
c4d0b332
VS
44312010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4432
4433 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
4434
c6f2fe52
VS
44352010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4436
4437 Wait for user entry basing on presence of output rather than on errors.
4438
4439 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
4440 (grub_install_newline_hook): Likewise.
4441 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
4442 * normal/menu.c (show_menu): Check line_counter to determine presence
4443 of output.
4444 * normal/term.c (grub_normal_line_counter): New variable.
4445 (grub_normal_get_line_counter): New function.
4446 (grub_install_newline_hook): Likewise.
4447
5382b1e4
VS
44482010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
4451
5519963b
VS
44522010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4453
4454 * configure.ac: Update version to 1.98.
4455
72b28631
VS
44562010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 * util/grub.d/10_linux.in (linux_entry): Don't default to
4459 gfxpayload=keep if Linux doesn't support video handover.
4460
c140a180
VS
44612010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 Don't compile video modules on yeeloong since video subsystem is part
4464 of kernel.
4465
4466 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
4467 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
4468 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
4469 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
4470 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
4471 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
4472 * include/grub/bitmap_scale.h: Likewise.
4473 * include/grub/bufio.h: Likewise.
4474 * include/grub/font.h: Likewise.
4475 * include/grub/gfxterm.h: Likewise.
4476 * include/grub/video.h: Likewise.
4477 * include/grub/vbe.h: Don't include video_fb.h.
4478 * video/i386/pc/vbe.c: Include video_fb.h.
4479 * commands/i386/pc/vbetest.c: Include video.h.
4480
a0ca21c2
CW
44812010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
4482
4483 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
4484 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
4485 default entry if GRUB_SAVEDEFAULT=true. This allows using
4486 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
4487 saving a new default on every boot.
4488
4a8a763c
VS
44892010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4490
4491 * normal/crypto.c (read_crypto_list): Fix a memory leak.
4492 * normal/term.c (read_terminal_list): Likewise.
4493 * normal/main.c (grub_normal_init_page): Likewise.
4494 (grub_normal_read_line_real): Likewise.
4495
607ffde2
VS
44962010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
4499 memory leak.
4500 Reported by: Seth Goldberg.
4501
2b8fa975
CW
45022010-02-24 Joey Korkames <joey+lists@kidfixit.com>
4503
4504 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
4505 duplicate declaration of `start'.
4506
618307dd
VS
45072010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
4510 filename.
4511 Reported by: Georgy Buranov
4512
7dd05b96 45132010-02-20 Carles Pina i Estany <carles@pina.cat>
4514
4515 * util/grub-mkrawimage.c (usage): Change string formatting to
4516 improve gettext.
4517
d1484a42
MRA
45182010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
4519
4520 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
4521 backspace keys.
4522
42b1d186
VS
45232010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
4524
4525 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
4526 Reported by: Michael Suchanek.
4527
45282010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
4529
4530 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
4531 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
4532
d9f31a41
VS
45332010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
4534
4535 Remove any reference to non-free fonts.
4536
4537 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
4538 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
4539 uses non-free components.
4540 * font/font.c (grub_font_get_name): Remove example name.
4541 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
4542 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
4543 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
4544 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
4545
2793c71e
GB
45462010-02-16 Georgy Buranov <gburanov@gmail.com>
4547
4548 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
4549
402e3779
VS
45502010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
4551
4552 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
4553 Double divisor.
4554 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
4555 features.
4556 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
4557
0dd1e0dd
VS
45582010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
4559
4560 * gensymlist.sh.in: Use TARGET_CC instead of CC.
4561
6fa7cfce
ST
45622010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4563
4564 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
4565 * docs/grub.texi (Command-line and menu entry commands): Document play
4566 command.
4567
37c8483b
ST
45682010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4569
4570 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
4571 parse arguments as inline tempo and notes. Move code for playing notes
4572 to...
4573 (play): ... new function.
4574
14da0fb7
ST
45752010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4576
4577 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
4578 grub_uint16_t instead of short.
4579 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
4580 disk from little endian to cpu endianness.
4581
04459e70
ST
45822010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
4583
4584 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
4585 GRUB_TICKS_PER_SECOND instead of 120.
4586
a0876943
VS
45872010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4588
4589 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
4590 escape sequence after \e.
4591
e29f95dc
VS
45922010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4593
4594 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
4595 non-ASCII characters.
4596
d27859b2
VS
45972010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4598
4599 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
4600 set root in single quotes to prevent \, from being unescaped.
4601
bc028f2f
VS
46022010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4603
4604 Prevent unknown commands from stopping menuentry execution.
4605
4606 * script/execute.c (grub_script_execute_cmdline): Print error after
4607 unknown command.
4608
095f5f82
VS
46092010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4610
4611 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
4612 Reported by: Pavel Pisa.
4613
8c717950
VS
46142010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4615
4616 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
4617
904935c3
VS
46182010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4619
4620 Merge grub_ieee1275_map_physical into grub_map and rename to
4621 grub_ieee1275_map
4622
4623 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
4624 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
4625 Remove.
4626 * kern/ieee1275/openfw.c (grub_map): Rename to ...
4627 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
4628 necessary.
4629 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
4630
5b59a4e3
VS
46312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4632
4633 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
4634 opening and not after.
4635
69e137e8
VS
46362010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4637
4638 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
4639 constants.
4640
2c0fcc36
VS
46412010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
4644 (alloc_phys): Use ALIGN_UP instead of align_addr.
4645
8c6052ce
VS
46462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4647
4648 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
4649
17cec782
VS
46502010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4651
4652 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
4653
e0128bbd
VS
46542010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4655
4656 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
4657 verbose dprintf.
4658
ca62070b
VS
46592010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4660
4661 Fix over-4GiB seek on sparc64.
4662
4663 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
4664 Replace pos_i and pos_lo with pos. All users updated.
4665 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
4666 New constant.
4667 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
4668 Likewise.
4669 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
4670 and pos_lo.
4671
bdca2607
VS
46722010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 * util/grub-mkrawimage.c (main): Call set_program_name.
4675
da278c4d
VS
46762010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4677
4678 Properly align 64-bit targets.
4679
4680 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
4681 (generate_image): Use ALIGN_ADDR.
4682
b274d734
VS
46832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4684
4685 Properly create cross-endian images.
4686
4687 * include/grub/types.h (grub_host_to_target_addr): New macro
4688 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
4689
82da2062
VS
46902010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
4693
7cae4377
VS
46942010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4695
4696 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
4697
4698 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
4699 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
4700 (grub_linux_boot): Divide by 64K when on VESA.
4701
65a533e7
VS
47022010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4703
4704 Support GRUB_GFXPAYLOAD_LINUX.
4705
4706 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
4707 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
4708
dd01d397
VS
47092010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4710
4711 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
4712 to show messages instead of discarding them.
4713 Process errors after executing command and not before. Keep old method
4714 too as precaution.
4715
660960d6
VS
47162010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 * configure.ac: Check for ft2build.h.
4719
62509f04
VS
47202010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4721
4722 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
4723
473df63d
VS
47242010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4725
4726 * genkernsyms.sh.in: Use TARGET_CC.
4727
c98d2a13
CW
47282010-02-07 Colin Watson <cjwatson@ubuntu.com>
4729
4730 * NEWS: Update.
4731
6e14234c
VS
47322010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
4735 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
4736 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 4737
b255e9cf
YB
47382010-02-07 Yves Blusseau <blusseau@zetam.org>
4739
6e14234c 4740 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 4741
98e6959d
VS
47422010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4743
4744 Fix warnings in grub-emu when compiling with maximum warning options.
4745
4746 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
4747 (grub_arch_modules_addr): Return 0 and not NULL.
4748 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 4749 (xstrdup): Use newstr instead of dup.
f88d801b
VS
4750 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
4751 of disk to dsk to avoid shadowing.
74e4934e
VS
4752 (find_free_slot): Fix prototype.
4753 * util/getroot.c (grub_util_is_dmraid): Make static.
4754 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
4755 Add missing prototype.
4756 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 4757
74e31b5c
VS
47582010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 * loader/i386/linux.c (grub_linux_setup_video): Handle error
4761 appropriately.
4762
6b2ad14b
VS
47632010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4764
4765 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
4766 code out.
4767
8f891adc
VS
47682010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4769
4770 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
4771 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
4772 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
4773 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
4774 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
4775 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
4776
74b45184
VS
47772010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 * include/grub/err.h (grub_err_printf): Don't export.
4780
a4bced77
VS
47812010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4782
4783 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
4784
007d0695
VS
47852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4786
4787 * include/grub/i18n.h (grub_gettext_dummy): Removed.
4788 * kern/misc.c (grub_gettext_dummy): Make static.
4789
b6c0d9c2
VS
47902010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4791
4792 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
4793 by non-valid ones.
4794 * kern/term.c (grub_putchar): Likewise.
4795
f51a90d0
VS
47962010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4797
4798 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
4799 buggy hook call and memory leak.
4800
6846cec5
VS
48012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4802
4803 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
4804
468d69fe
VS
48052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4806
4807 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
4808
51906b8c
VS
48092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4810
4811 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
4812 modevar.
4813 Return grub_errno on allocation error.
4814
09706ce5
VS
48152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
4818
911df80c
YB
48192010-02-06 Yves Blusseau <blusseau@zetam.org>
4820
4821 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
4822 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
4823
3746a6bc
VS
48242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
4827 non-pxe disk.
4828 (grub_pxefs_open): Likewise.
4829
09706ce5
VS
48302010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4831
4832 * util/grub.d/10_hurd.in: Add --class information to menuentries.
4833 * util/grub.d/10_kfreebsd.in: Likewise.
4834 * util/grub.d/10_linux.in: Likewise.
4835
7cc192d9
VS
48362010-02-06 Colin D Bennett <colin@gibibit.com>
4837
4838 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
4839 (gfxmenu_mod_SOURCES): New variable.
4840 (gfxmenu_mod_CFLAGS): Likewise.
4841 (gfxmenu_mod_LDFLAGS): Likewise.
4842 * include/grub/term.h (grub_term_set_current_output): Declare
4843 argument as const.
4844 * docs/gfxmenu-theme-example.txt: New file.
4845 * gfxmenu/gfxmenu.c: Likewise.
4846 * gfxmenu/gui_box.c: Likewise.
4847 * gfxmenu/gui_canvas.c: Likewise.
4848 * gfxmenu/gui_circular_progress.c: Likewise.
4849 * gfxmenu/gui_image.c: Likewise.
4850 * gfxmenu/gui_label.c: Likewise.
4851 * gfxmenu/gui_list.c: Likewise.
4852 * gfxmenu/gui_progress_bar.c: Likewise.
4853 * gfxmenu/gui_string_util.c: Likewise.
4854 * gfxmenu/gui_util.c: Likewise.
4855 * gfxmenu/icon_manager.c: Likewise.
4856 * gfxmenu/model.c: Likewise.
4857 * gfxmenu/named_colors.c: Likewise.
4858 * gfxmenu/theme_loader.c: Likewise.
4859 * gfxmenu/view.c: Likewise.
4860 * gfxmenu/widget-box.c: Likewise.
4861 * include/grub/gfxmenu_model.h: Likewise.
4862 * include/grub/gfxmenu_view.h: Likewise.
4863 * include/grub/gfxwidgets.h: Likewise.
4864 * include/grub/gui.h: Likewise.
4865 * include/grub/gui_string_util.h: Likewise.
4866 * include/grub/icon_manager.h: Likewise.
4867
48682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 Agglomerate scrolling in gfxterm.
4871
4872 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
4873 (grub_virtual_screen_setup): Initialise 'total_screen'.
4874 (write_char): Split to ...
4875 (paint_char): ... this ...
4876 (write_char): ... and this.
4877 (paint_char): Handle delayed scrolling.
4878 (draw_cursor): Likewise.
4879 (scroll_up): Split to ...
4880 (real_scroll): ... this ...
4881 (scroll_up): ... and this.
4882 (real_scroll): Handle multi-line scroll and draw below-the-bottom
4883 characters.
4884 (grub_gfxterm_refresh): Call real_scroll.
4885
48862010-02-06 Colin D Bennett <colin@gibibit.com>
4887
4888 * include/grub/misc.h (grub_iscntrl): New inline function.
4889 (grub_isalnum): Likewise.
4890 (grub_strtol): Likewise.
4891
48922010-02-06 Colin D Bennett <colin@gibibit.com>
4893
4894 * normal/menu_text.c (get_entry_number): Move from here ...
4895 * normal/menu.c (get_entry_number): ... moved here.
4896 * include/grub/menu.h (grub_menu_get_default_entry_index):
4897 New prototype.
4898 * normal/menu.c (grub_menu_get_default_entry_index): New function.
4899 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
4900 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
4901 (grub_menu_viewer_should_return): Likewise.
4902 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
4903 * normal/menu_text.c (run_menu): Enable menu switching.
4904 * normal/menu_viewer.c (should_return): New variable.
4905 (menu_viewer_changed): Likewise.
4906 (grub_menu_viewer_show_menu): Handle menu viewer changes.
4907 (grub_menu_viewer_should_return): New function.
4908 (menuviewer_write_hook): Likewise.
4909 (grub_menu_viewer_init): Likewise.
4910
49112010-02-06 Colin D Bennet <colin@gibibit.com>
49122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 Support for gfxterm in a window.
4915
4916 * include/grub/gfxterm.h: New file.
4917 * include/grub/video.h (struct grub_video_rect): New declaration.
4918 (grub_video_rect_t): Likewise.
4919 * term/gfxterm.c (struct grub_gfxterm_window): New type.
4920 (refcount): New variable.
4921 (render_target): Likewise.
4922 (window): Likewise.
4923 (repaint_callback): Likewise.
4924 (grub_virtual_screen_setup): Use 'render_target'.
4925 (init_window): New function.
4926 (grub_gfxterm_init_window): Likewise.
4927 (grub_gfxterm_init): Check reference counter.
4928 Use init_window.
4929 (destroy_window): New function.
4930 (grub_gfxterm_destroy_window): Likewise.
4931 (grub_gfxterm_fini): Check reference counter.
4932 Use destroy_window.
4933 (redraw_screen_rect): Restore viewport.
4934 Use 'render_target' and 'window'.
4935 Call 'repaint_callback'.
4936 (write_char): Use 'render_target'.
4937 (draw_cursor): Likewise.
4938 (scroll_up): Restore viewport.
4939 Use 'render_target' and 'window'.
4940 Call 'repaint_callback'.
4941 (grub_gfxterm_cls): Likewise.
4942 (grub_gfxterm_refresh): Use 'window'.
4943 (grub_gfxterm_set_repaint_callback): New function.
4944 (grub_gfxterm_background_image_cmd): Use 'window'.
4945 (grub_gfxterm_get_term): New function.
4946 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
4947
49482010-02-06 Colin D Bennett <colin@gibibit.com>
4949
4950 Bitmap scaling support.
4951
4952 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
4953 (bitmap_scale_mod_SOURCES): New variable.
4954 (bitmap_scale_mod_CFLAGS): Likewise.
4955 (bitmap_scale_mod_LDFLAGS): Likewise.
4956 * include/grub/bitmap_scale.h: New file.
4957 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
4958 (background_image_cmd_options): New variable.
4959 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
4960 (cmd): Rename and change type to ...
4961 (background_image_cmd_handle): ... this. All users updated.
4962 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
4963 * video/bitmap_scale.c: New file.
4964
49652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4966
4967 SDL support.
4968
4969 * Makefile.in (LIBSDL): New variable.
4970 (enable_grub_emu_sdl): Likewise.
4971 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
4972 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
4973 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
4974 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
4975 * util/sdl.c: New file.
4976
49772010-02-06 Colin D Bennett <colin@gibibit.com>
49782010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4979
4980 Double buffering support.
4981
4982 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
4983 * include/grub/video.h: Update comment.
4984 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
4985 New type.
4986 (grub_video_fb_doublebuf_blit_init): New prototype.
4987 * term/gfxterm.c (scroll_up): Support double buffering.
4988 (grub_gfxterm_refresh): Likewise.
4989 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
4990 (grub_video_fb_doublebuf_blit_init): Likewise.
4991 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
4992 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
4993 'displayed_page', 'render_page' and 'update_screen'.
4994 (grub_video_vbe_fini): Free offscreen buffer.
4995 (doublebuf_pageflipping_commit): New function.
4996 (doublebuf_pageflipping_update_screen): Likewise.
4997 (doublebuf_pageflipping_init): Likewise.
4998 (double_buffering_init): Likewise.
4999 (grub_video_vbe_setup): Enable doublebuffering.
5000 (grub_video_vbe_swap_buffers): Implement.
5001 (grub_video_vbe_set_active_render_target): Handle double buffering.
5002 (grub_video_vbe_get_active_render_target): Likewise.
5003 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
5004 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
5005 (grub_video_vbe_enable_double_buffering): Likewise.
5006 (grub_video_vbe_swap_buffers): Use update_screen.
5007 (grub_video_set_mode): Use double buffering.
5008
50092010-02-06 Robert Millan <rmh.grub@aybabtu.com>
5010
5011 * maintainance/gentrigtables.py: Remove.
5012 * lib/trig.c: Likewise.
5013
5014 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
5015
5016 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
5017 `trigtables.c'.
5018 (trigtables.c): New rule.
5019 (gentrigtables): Likewise.
5020 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
5021
50222010-02-06 Robert Millan <rmh.grub@aybabtu.com>
5023
5024 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
5025 integer constants.
5026
50272010-02-06 Colin D Bennet <colin@gibibit.com>
5028
5029 Trigonometry support.
5030
5031 * include/grub/trig.h: New file.
5032 * lib/trig.c: Likewise.
5033 * maintainance/gentrigtables.py: Likewise.
5034 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
5035 (trig_mod_SOURCES): New variable.
5036 (trig_mod_CFLAGS): Likewise.
5037 (trig_mod_LDFLAGS): Likewise.
5038
5562834e
VS
50392010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5040
5041 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
5042 disk devices.
5043
4f8528fc
VS
50442010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5045
5046 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
5047 error.
5048
2b4068e9
VS
50492010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5050
5051 * util/hostdisk.c (open_device): Don't use partition device when reading
5052 before the partition.
5053 (grub_util_biosdisk_read): Don't read from partition and before the
5054 partition in single operation.
5055 (grub_util_biosdisk_write): Don't write to partition and before the
5056 partition in single operation.
5057
399f6e4d
TL
50582010-02-03 Torsten Landschoff <torsten@debian.org>
5059
5060 * kern/disk.c (grub_disk_read): Fix offset computation when reading
5061 last sectors.
5062
996649b0
VS
50632010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5064
5065 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
5066 CDROM reads.
5067 (grub_biosdisk_write): Refuse to write to CDROM.
5068
3b205d4d
VS
50692010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
5072
61e89d9d
VS
50732010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5074
5075 * font/font.c (find_glyph): Check that bmp_idx is available before
5076 using it.
5077 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
5078 with (font == NULL).
5079
bf7fcba2
CS
50802010-01-28 Christian Schmitt <chris@ilovelinux.de>
5081
5082 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
5083
f45d2663
BC
50842010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
5085
5086 * include/grub/script_sh.h (sourcecode): Add const qualifier.
5087 * util/grub-script-check.c (getline): Fix empty lines case.
5088
ec1444e6
RM
50892010-01-28 Robert Millan <rmh.grub@aybabtu.com>
5090
5091 * Makefile.in (check): Exit with fail status when one of the tests
5092 fails.
5093 * tests/example_functional_test.c (example_test): Fix reversed assert.
5094 * tests/example_unit_test.c (example_test): Likewise.
5095
2e1cb9bb
CW
50962010-01-28 Colin Watson <cjwatson@ubuntu.com>
5097
5098 * util/grub.d/10_linux.in: This script does not use any of the
5099 contents of gettext.sh, only the external command `gettext', so stop
5100 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
5101 the same prefix as GRUB.)
5102 * util/grub.d/10_kfreebsd.in: Likewise.
5103
63533ab0
VS
51042010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
5107 of the line.
5108
989e1f93
VS
51092010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5110
5111 * kern/disk.c (grub_disk_read): Fix offset computation when reading
5112 last sectors.
5113
e709ebe2
VS
51142010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5115
5116 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
5117 having a 4KiB and not 32KiB buffer size.
5118
27dea7ed
RM
51192010-01-27 Robert Millan <rmh.grub@aybabtu.com>
5120
5121 * util/hostfs.c: Include `<errno.h>'.
5122 (grub_hostfs_read): Handle errors from fseeko() and fread().
5123
67667b9c
RM
51242010-01-27 Robert Millan <rmh.grub@aybabtu.com>
5125
5126 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
5127 loop when using read hooks on files whose size isn't sector-aligned.
5128
c294d9d8
RM
51292010-01-27 Robert Millan <rmh.grub@aybabtu.com>
5130
5131 Remove unused parameter.
5132
5133 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
5134 (grub_iso9660_open): Remove initialization of `data->length'.
5135
af75a9f1
RM
51362010-01-27 Robert Millan <rmh.grub@aybabtu.com>
5137
5138 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
5139 memleak conditions.
5140
254e2ce5 51412010-01-27 Carles Pina i Estany <carles@pina.cat>
5142
5143 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
5144 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
5145
b510928c 51462010-01-26 Carles Pina i Estany <carles@pina.cat>
5147
5148 * util/bin2h.c (usage): Fix warning (space after backslash).
5149
aa2f9dd2 51502010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 5151
5152 * font/font.c: Include `grub/fontformat.h.
5153 Remove font file format constants.
5154 (grub_font_load): Use the new macros.
5155 * include/grub/fontformat.h: New file.
5156 * util/grub-mkfont.c: Include `grub/fontformat.c'.
5157 (write_font_pf2): Use the new macros.
5158
94e7e712
RM
51592010-01-26 Robert Millan <rmh.grub@aybabtu.com>
5160
5161 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
5162 does.
5163
3973a59a
RM
51642010-01-26 Robert Millan <rmh.grub@aybabtu.com>
5165
5166 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
5167
5168 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
5169 (_start): Macroify `0x7F'.
5170
5171 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
5172 (make_install_device): Use "(pxe)" as fallback prefix when booting
5173 via PXE.
5174
42e0cba3
GS
51752010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
5176
5177 * configure.ac: Reset LIBS after check for libgcc symbols.
5178
847effd8
CW
51792010-01-25 Colin Watson <cjwatson@ubuntu.com>
5180
5181 * util/hostdisk.c (open_device): Add trailing newline to debug
5182 message.
5183
ea4a7e35
GS
51842010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
5185
5186 * configure.ac: Check for `limits.h'.
5187 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
5188
67951a53
RM
51892010-01-24 Robert Millan <rmh.grub@aybabtu.com>
5190
5191 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
5192 capitalize error strings.
5193
c273d4ce
ST
51942010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
5195
5196 * util/grub.d/10_hurd.in: Add a recovery mode.
5197
69be5b74
VS
51982010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
5199
5200 * configure.ac: Check for libgcc symbols with -nostdlib.
5201
fc9e5810
BC
52022010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
5203
5204 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
5205
4b358c0a
VS
52062010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5207
5208 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
5209 stack since heap may be unavailable at that point.
5210 (grub_ofconsole_gotoxy): Likewise.
5211
454fcd1c
VS
52122010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 * configure.ac: Check for _restgpr_14_x.
5215 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
5216 and _savegpr_* prototypes.
5217
566863ca
RM
52182010-01-22 Robert Millan <rmh.grub@aybabtu.com>
5219
5220 Use generic grub_reboot() for i386-efi.
5221
5222 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
5223 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
5224 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
5225
bf86e59a
VS
52262010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5227
5228 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
5229 presence of "prefix" variable as it breaks when normal.mod is
5230 embedded.
5231
d645e0f8
VS
52322010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
5235 stack since heap is unavailable at that point.
5236
f9ab2e25
VS
52372010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
5240 (grub_freebsd_bootinfo): Rewritten.
5241 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
5242
01fc7054
VS
52432010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5244
5245 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
5246
caab4fd6
RM
52472010-01-21 Robert Millan <rmh.grub@aybabtu.com>
5248
5249 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
5250 domain now.
5251
67eb1427
FZ
52522010-01-20 Felix Zielcke <fzielcke@z-51.de>
5253
5254 * util/misc.c (make_system_path_relative_to_its_root): Change the work
5255 around for handling "/" to the correct fix. Fix a memory leak. Use
5256 xstrdup instead of strdup.
5257
a9ed4ff3
VS
52582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5259
5260 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
5261
52622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
5263
5264 Optimise glyph lookup by Basic Multilingual Plane lookup array.
5265
5266 * font/font.c (struct grub_font): New member 'bmp_idx'.
5267 (font_init): Initialise 'bmp_idx'.
5268 (load_font_index): Fill 'bmp_idx'.
5269 (find_glyph): Make inline. Use bmp_idx for BMP characters.
5270
48209f4f
VS
52712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5272
5273 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
5274 unnecessary calls.
5275
9f0a4bb7
VS
52762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5277
5278 Move context handling out of the kernel.
5279
5280 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
5281 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
5282 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
5283 * conf/i386-efi.rmk: Likewise.
5284 * conf/i386-ieee1275.rmk: Likewise.
5285 * conf/i386-pc.rmk: Likewise.
5286 * conf/powerpc-ieee1275.rmk: Likewise.
5287 * conf/sparc64-ieee1275.rmk: Likewise.
5288 * conf/x86_64-efi.rmk: Likewise.
5289 * include/grub/env.h: Include grub/menu.h.
5290 (grub_env_var_type): Removed.
5291 (grub_env_var): Replaced field 'type' with 'global'.
5292 (grub_env_find): New prototype.
5293 (grub_env_context_open): Remove EXPORT_FUNC.
5294 (grub_env_context_close): Likewise.
5295 (grub_env_export): Likewise.
5296 (grub_env_set_data_slot): Removed.
5297 (grub_env_get_data_slot): Likewise.
5298 (grub_env_unset_data_slot): Likewise.
5299 (grub_env_unset_menu): New prototype.
5300 (grub_env_set_menu): Likewise.
5301 (grub_env_get_menu): Likewise.
5302 * include/grub/env_private.h: New file.
5303 * include/grub/normal.h (grub_context_init): New prototype.
5304 (grub_context_fini): Likewise.
5305 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
5306 * normal/context.c (grub_cmd_export): ... to here.
5307 * kern/env.c: Include env_private.h.
5308 (HASHSZ): Moved to include/grub/env_private.h.
5309 (grub_env_context): Likewise.
5310 (grub_env_sorted_var): Likewise.
5311 (current_context): Renamed from this ...
5312 (grub_current_context): ...to this. 'static' removed. All users updated.
5313 (grub_env_find): Removed 'static'.
5314 (grub_env_context_open): Moved to normal/context.c.
5315 (grub_env_context_close): Likewise.
5316 (grub_env_export): Likewise.
5317 (mangle_data_slot_name): Removed.
5318 (grub_env_set_data_slot): Likewise.
5319 (grub_env_get_data_slot): Likewise.
5320 (grub_env_unset_data_slot): Likewise.
5321 * kern/main.c (grub_set_root_dev): Don't export root.
5322 It will be done later.
5323 (grub_main): Don't export prefix.
5324 It will be done later.
5325 * normal/context.c: New file.
5326 * normal/main.c (free_menu): Use grub_env_unset_menu.
5327 (grub_normal_add_menu_entry): Use grub_env_get_menu.
5328 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
5329 (GRUB_MOD_INIT(normal)): Call grub_context_init.
5330 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
5331
8dd35b8c
VS
53322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 setpci support.
5335
5336 * commands/setpci.c: New file.
5337 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
5338 (setpci_mod_SOURCES): New variable.
5339 (setpci_mod_CFLAGS): Likewise.
5340 (setpci_mod_LDFLAGS): Likewise.
5341
449193d5
VS
53422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 Byte-addressable PCI configuration space.
5345
5346 * bus/pci.c (grub_pci_make_address): Use byte address instead of
5347 dword address.
5348 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
5349 GRUB_PCI_REG_CACHELINE.
5350 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
5351 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
5352 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
5353 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
5354 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
5355 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
5356 grub_pci_make_address.
5357 (lock_rom_area): Likewise.
5358 * commands/lspci.c (grub_lspci_iter): Use macroses
5359 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
5360 of grub_pci_make_address.
5361 * disk/ata.c (grub_ata_pciinit): Likewise.
5362 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
5363 (GRUB_PCI_REG_VENDOR): Likewise.
5364 (GRUB_PCI_REG_DEVICE): Likewise.
5365 (GRUB_PCI_REG_COMMAND): Likewise.
5366 (GRUB_PCI_REG_STATUS): Likewise.
5367 (GRUB_PCI_REG_REVISION): Likewise.
5368 (GRUB_PCI_REG_CLASS): Likewise.
5369 (GRUB_PCI_REG_CACHELINE): Likewise.
5370 (GRUB_PCI_REG_LAT_TIMER): Likewise.
5371 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
5372 (GRUB_PCI_REG_BIST): Likewise.
5373 (GRUB_PCI_REG_ADDRESSES): Likewise.
5374 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5375 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5376 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5377 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5378 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5379 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5380 (GRUB_PCI_REG_CIS_POINTER): Likewise.
5381 (GRUB_PCI_REG_SUBVENDOR): Likewise.
5382 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
5383 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
5384 (GRUB_PCI_REG_CAP_POINTER): Likewise.
5385 (GRUB_PCI_REG_IRQ_LINE): Likewise.
5386 (GRUB_PCI_REG_IRQ_PIN): Likewise.
5387 (GRUB_PCI_REG_MIN_GNT): Likewise.
5388 (GRUB_PCI_REG_MAX_LAT): Likewise.
5389 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
5390 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
5391 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 5392 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
5393 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
5394 space.
5395
96d73208
RM
53962010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5397
5398 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
5399 can be reliably determined to be supported.
5400
d4484482
RM
54012010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5402
5403 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
5404 that VESA is supported.
5405 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
5406 supported.
5407
00308ecf
VS
54082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5409
5410 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
5411
f66924a4
RM
54122010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5413
5414 * util/misc.c (make_system_path_relative_to_its_root): Work around
5415 special-casing of "/", as previous incarnation of this routine did.
5416
cbca0ada
VS
54172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5418
5419 Fix any-emu compilation.
5420
5421 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
5422 * grub_bin2h_SOURCES: New variable.
5423
34a66d99
RM
54242010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5425
5426 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
5427
94fabf58
RM
54282010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5429
5430 * util/grub.d/00_header.in: Fix handling of locale_dir.
5431
02cf98ca
VS
54322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5433
5434 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
5435 as possible unifont location (Gentoo).
5436 Reported by: Alexander Brüning
5437
327dbcd7
VS
54382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5439
5440 Don't try to generate lists for kernel.img.
5441
5442 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
5443 (pkglib_MODULES): Remove kernel.img.
5444 (kernel_img_EXPORTS): Removed.
5445 (kernel_img_RELOCATABLE): New variable.
5446 * conf/x86_64-efi.rmk: Likewise.
5447 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
5448
ca467290
VS
54492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5450
5451 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
5452 grub_xasprintf or grub_snprintf.
5453 (grub_vsprintf): Likewise.
5454 (grub_snprintf): New proto.
5455 (grub_vsnprintf): Likewise.
5456 (grub_xasprintf): Likewise.
5457 (grub_xvasprintf): Likewise.
5458 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
5459 (grub_sprintf): Removed.
5460 (grub_vsnprintf): New function.
5461 (grub_snprintf): Likewise.
5462 (grub_xvasprintf): Likewise.
5463 (grub_xasprintf): Likewise.
5464 (grub_vsprintf): Renamed to ...
5465 (grub_vsnprintf_real): ...this. New argument max_len.
5466
aca655fd
BC
54672010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
5468
5469 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
5470 fix grub-script-check warning.
5471
7ee92c32
VS
54722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5473
5474 * include/grub/font.h (grub_font_load): Fix prototype.
5475
f80927ca
VS
54762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5477
5478 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
5479
119c50ea
VS
54802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5481
5482 * include/grub/x86_64/at_keyboard.h: New file.
5483
47d5f3c1
VS
54842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5485
5486 * loader/mips/linux.c: Include missing grub/i18n.h.
5487
55ff5266
RM
54882009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5489
5490 * normal/menu.c (notify_execution_failure): Clarify error message.
5491
c893cc87
RM
54922009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5493
5494 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
5495 return value (and revert all return statements). Update users.
5496
917dd370
CW
54972010-01-20 Dan Merillat <debian@dan.merillat.org>
5498
5499 * kern/device.c (grub_device_iterate): Allocate new part_ent
5500 structure based on sizeof (*p) rather than sizeof (p->next), to
5501 account for structure padding.
5502
5503 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
5504 disk is NULL, which might happen for LVM physical volumes with no
5505 LVM signature.
5506
d4a4ee57
RM
55072009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5508
5509 * loader/mips/linux.c (grub_cmd_initrd)
5510 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
5511
55122009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5513
5514 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
5515 (grub_video_video_init, grub_video_bitmap_init)
5516 (grub_font_manager_init, grub_term_gfxterm_init)
5517 (grub_at_keyboard_init): New extern declarations.
5518 (grub_machine_init): Initialize gfxterm and at_keyboard.
5519
5520 * kern/main.c (grub_main): Revert grub_printf delay kludge.
5521
5522 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
5523 `gfxterm.mod' into core image.
5524
5525 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5526 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5527 (kernel_img_FORMAT): Copy to ...
5528
5529 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5530 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5531 (kernel_img_FORMAT): ... here, and ...
5532
5533 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5534 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5535 (kernel_img_FORMAT): ... here.
5536
5537 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
5538 and input (at_keyboard) terminals in kernel.
5539 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
5540
5541 (pkglib_MODULES): Remove `pci.mod'.
5542 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
5543 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
5544 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
5545 (at_keyboard_mod_LDFLAGS): Remove variables.
5546
55472010-01-11 Felix Zielcke <fzielcke@z-51.de>
5548
5549 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
5550
55512009-12-10 Robert Millan <rmh.grub@aybabtu.com>
5552
5553 * include/grub/mips/libgcc.h: Only export symbols for functions
5554 that libgcc provides.
5555
55562009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
5557
5558 MIPS support.
5559
5560 * bus/bonito.c: New file.
5561 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
5562 GRUB_PCI_NUM_DEVICES.
5563 * term/i386/pc/serial.c: Move to ...
5564 * term/serial.c: ... here. All users updated.
5565 * util/i386/pc/grub-mkimage.c: Move to ...
5566 * util/grub-mkrawimage.c: ... here. All users updated.
5567 * term/i386/pc/at_keyboard.c: Move to ...
5568 * term/at_keyboard.c: ... here. All users updated.
5569 * conf/mips-qemu-mips.rmk: New file.
5570 * conf/mips-yeeloong.rmk: Likewise.
5571 * conf/mips.rmk: Likewise.
5572 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
5573 mipsel-qemu-mips.
5574 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
5575 to port addresses.
5576 (grub_ata_pciinit): Support CS5536.
5577 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
5578 * font/font_cmd.c (loadfont_command): Open file before passing it to
5579 grub_font_load.
5580 (pseudo_file_read): New function.
5581 (pseudo_file_close): Likewise.
5582 (pseudo_fs): New structure.
5583 (load_font_module): New function.
5584 (GRUB_MOD_INIT(font_manager)): Load embedded font.
5585 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
5586 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
5587 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
5588 * include/grub/i386/at_keyboard.h: Split into ...
5589 * include/grub/at_keyboard.h: ... this ...
5590 * include/grub/i386/at_keyboard.h: ... and this.
5591 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
5592 New prototype.
5593 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
5594 updated.
5595 (grub_elf64_size): Likewise.
5596 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
5597 filename.
5598 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
5599 * include/grub/i386/coreboot/serial.h: Rewritten.
5600 * include/grub/i386/ieee1275/serial.h: Include
5601 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
5602 * include/grub/i386/pc/serial.h: Moved from here ...
5603 * include/grub/serial.h: ... to here. All users updated.
5604 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
5605 (GRUB_PCI_NUM_BUS): Likewise.
5606 (GRUB_PCI_NUM_DEVICES): Likewise.
5607 (grub_pci_device_map_range): Add missing volatile keyword.
5608 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
5609 * include/grub/mips/at_keyboard.h: New file.
5610 * include/grub/mips/cache.h: Likewise.
5611 * include/grub/mips/io.h: Likewise.
5612 * include/grub/mips/kernel.h: Likewise.
5613 * include/grub/mips/libgcc.h: Likewise.
5614 * include/grub/mips/pci.h: Likewise.
5615 * include/grub/mips/qemu-mips/boot.h: Likewise.
5616 * include/grub/mips/qemu-mips/kernel.h: Likewise.
5617 * include/grub/mips/qemu-mips/loader.h: Likewise.
5618 * include/grub/mips/qemu-mips/memory.h: Likewise.
5619 * include/grub/mips/qemu-mips/serial.h: Likewise.
5620 * include/grub/mips/qemu-mips/time.h: Likewise.
5621 * include/grub/mips/relocator.h: Likewise.
5622 * include/grub/mips/time.h: Likewise.
5623 * include/grub/mips/types.h: Likewise.
5624 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
5625 * include/grub/mips/yeeloong/boot.h: Likewise.
5626 * include/grub/mips/yeeloong/kernel.h: Likewise.
5627 * include/grub/mips/yeeloong/loader.h: Likewise.
5628 * include/grub/mips/yeeloong/memory.h: Likewise.
5629 * include/grub/mips/yeeloong/pci.h: Likewise.
5630 * include/grub/mips/yeeloong/serial.h: Likewise.
5631 * include/grub/mips/yeeloong/time.h: Likewise.
5632 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
5633 * kern/elf.c (grub_elf32_size): New parameter. All users
5634 updated.
5635 (grub_elf64_size): Likewise.
5636 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
5637 Load modules before saying "Welcome to GRUB!".
5638 Call grub_refresh after saying "Welcome to GRUB!".
5639 * kern/mips/cache.S: New file.
5640 * kern/mips/cache_flush.S: Likewise.
5641 * kern/mips/dl.c: Likewise.
5642 * kern/mips/init.c: Likewise.
5643 * kern/mips/qemu-mips/init.c: Likewise.
5644 * kern/mips/startup.S: Likewise.
5645 * kern/mips/yeeloong/init.c: Likewise.
5646 * kern/term.c (grub_putcode): Handle NULL terminal.
5647 (grub_getcharwidth): Likewise.
5648 (grub_getkey): Likewise.
5649 (grub_checkkey): Likewise.
5650 (grub_getkeystatus): Likewise.
5651 (grub_getxy): Likewise.
5652 (grub_getwh): Likewise.
5653 (grub_gotoxy): Likewise.
5654 (grub_cls): Likewise.
5655 (grub_setcolorstate): Likewise.
5656 (grub_setcolor): Likewise.
5657 (grub_getcolor): Likewise.
5658 (grub_refresh): Likewise.
5659 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
5660 (write_jump): Add hatch nop.
5661 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
5662 * lib/mips/setjmp.S: New file.
5663 * loader/mips/linux.c: Likewise.
5664 * term/i386/pc/at_keyboard.c: Move from here ...
5665 * term/at_keyboard.c: ... to here.
5666 * term/i386/pc/serial.c: Moved from here ...
5667 * term/serial.c: ... to here. All users updated.
5668 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
5669 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
5670 (serial_translate_key_sequence): Avoid deadlock.
5671 (grub_serial_getkey): Handle backspace.
5672 (grub_serial_putchar): Fix newline handling.
5673 * util/i386/pc/grub-mkimage.c: Move from here ...
5674 * util/grub-mkrawimage.c: ... to here. All users updated.
5675 (generate_image): New parameters 'font_path' and 'format'.
5676 Support embedding font.
5677 Use grub_host_to_target* instead of grub_cpu_to_le*.
5678 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
5679 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
5680 (options): New option "--font".
5681 (usage): Likewise.
5682 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
5683 (main): Handle "--font".
5684 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
5685 (grub_virtual_screen_setup): Set bg_color_display.
5686 (redraw_screen_rect): Use bg_color_display instead of incorrect
5687 bg_color.
5688 (grub_gfxterm_cls): Likewise.
5689 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
5690 Support embedding config file.
5691 (add_segments): Likewise.
5692 (options): New option "--config".
5693 (main): Handle "--config".
5694 * video/sm712.c: New file.
5695
25c2b5b3
RM
56962010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5697
5698 Fix parallel builds.
5699
5700 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
5701 font.c depend on ascii.h).
5702
57032010-01-12 Carles Pina i Estany <carles@pina.cat>
5704
5705 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
5706
57072010-01-11 Carles Pina i Estany <carles@pina.cat>
5708
5709 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
5710 By default: disabled.
5711 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
5712 parameter.
5713
57142010-01-10 Carles Pina i Estany <carles@pina.cat>
5715
5716 * font/font.c: Update copyright years.
5717 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
5718
57192010-01-10 Carles Pina i Estany <carles@pina.cat>
5720
5721 * font/font.c: Include `ascii.h'.
5722 (ASCII_BITMAP_SIZE): New macro.
5723 (ascii_font_glyph): Define.
5724 (ascii_glyph_lookup): New function.
5725 (grub_font_get_string_width): Change comment. If glyph not found, use
5726 ascii_glyph_lookup.
5727 (grub_font_get_glyph_with_fallback): If glyph not available returns
5728 ascii_glyph_lookup.
5729 * util/grub-mkfont.c (file_formats): New enum.
5730 (options): Add `ascii-bitmaps' new option.
5731 (usage): Add `asii-bitmaps' new option.
5732 (write_font_ascii_bitmap): New function.
5733 (write_font): Rename to ...
5734 (write_font_p2): ... this. Remove print_glyphs call.
5735 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
5736 used. Call print_glyphs.
5737 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
5738
57392010-01-14 Robert Millan <rmh.grub@aybabtu.com>
5740
5741 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
5742 (grub_bin2h_SOURCES): New variable.
5743 * util/bin2h.c: New file.
5744
915fc1b8
VS
57452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5746
5747 * include/multiboot.h: Resynced with spec.
5748 * include/multiboot2.h: Likewise.
5749 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
5750 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
5751
9444b678
RM
57522010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5753
5754 * include/grub/term.h (grub_term_register_input,
5755 grub_term_register_output): Check return of terminal init()
5756 routines, and abort if errors are raised.
5757
5758 * commands/terminal.c: Update copyright year.
5759
cba98e8d
RM
57602010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5761
5762 * commands/terminal.c (grub_cmd_terminal_input)
5763 (grub_cmd_terminal_output): Check return of terminal init()
5764 routines, and abort if errors are raised.
5765
6f7db5d6
VS
57662010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 * include/grub/i386/bsd.h: Fix include pathes.
5769
262bff8d
VS
57702010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5771
5772 Add missing *BSD copyright headers.
5773
5774 * include/grub/aout.h: Add BSD licence.
5775 * include/grub/i386/bsd.h: Parts under different licences moved to ...
5776 * include/grub/i386/freebsd_linker.h: ... here,
5777 * include/grub/i386/freebsd_reboot.h: ... here,
5778 * include/grub/i386/netbsd_bootinfo.h: ... here,
5779 * include/grub/i386/netbsd_reboot.h: ... here,
5780 * include/grub/i386/openbsd_bootarg.h: ... here,
5781 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
5782 licence to each file.
5783
b2cab848
RM
57842010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5785
5786 * acinclude.m4: Remove `nop' assembly instruction; it's not
5787 implemented by all architectures.
5788
2cb6be4b
RM
57892010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5790
5791 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
5792 ELILO. This is no longer necessary.
5793
a2eaee15
BC
57942010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
5795
5796 Added new tool, grub-scrit-check to verify grub.cfg syntax.
5797
5798 * util/grub-script-check.c: grub-script-check tool.
5799 * conf/common.rmk: Make rules for grub-script-check.
5800
88d17012
RM
58012010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5802
5803 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
5804 spotting it back in 2008. Shame on me for forgetting he did.
5805
5806 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
5807
8040619d
RM
58082010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5809
5810 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
5811 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
5812 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
5813 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
5814 (GRUB_VIDEO_TYPE_EFI): Rename to ...
5815 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
5816
a0c2a0f6
RM
58172010-01-17 Robert Millan <rmh.grub@aybabtu.com>
5818
5819 * include/grub/test.h: Add license header.
5820 * tests/example_functional_test.c: Likewise.
5821 * tests/example_unit_test.c: Likewise.
5822 * tests/lib/functional_test.c: Likewise.
5823 * tests/lib/test.c: Likewise.
5824 * tests/lib/unit_test.c: Likewise.
5825
b0b13907
VS
58262010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5827
5828 Use flag-based instead of hook-based video mode selection and "auto"
5829 keyword.
5830
5831 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
5832 (grub_video_set_mode): Changed prototype. All users updated.
5833 (grub_video_check_mode_flag): New inline function.
5834 * video/video.c (parse_modespec): New function.
5835 (grub_video_set_mode): Parse flags and keywords.
5836
ea379330 58372010-01-17 Carles Pina i Estany <carles@pina.cat>
5838
5839 * util/misc.c (grub_util_info): Fix the order of the parameters in a
5840 fprintf call.
5841
e15c215e
FZ
58422010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
5843
5844 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
5845
409ae1c9 58462010-01-16 Carles Pina i Estany <carles@pina.cat>
5847
5848 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
5849 string.
5850 * util/grub-emu.c (usage): Likewise.
5851 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
5852 * util/i386/efi/grub-mkimage.c (usage): Likewise.
5853 * util/i386/pc/grub-mkimage.c (usage): Likewise.
5854 * util/i386/pc/grub-setup.c (usage): Likewise.
5855
70a14d3d 58562010-01-16 Carles Pina i Estany <carles@pina.cat>
5857
5858 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
5859 the message.
5860 (grub_util_info): Likewise.
5861 (grub_util_error): Likewise.
5862 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
5863 and/or new lines in `grub_util_warna', `grub_util_info',
5864 `grub_util_error' calls.
5865 * util/getroot.c: Likewise.
5866 * util/grub-editenv.c: Likewise.
5867 * util/grub-emu.c: Likewise.
5868 * util/grub-fstest.c: Likewise.
5869 * util/grub-mkdevicemap.c: Likewise.
5870 * util/grub-mkfont.c: Likewise.
5871 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5872 * util/grub-mkrelpath.c: Likewise.
5873 * util/grub-pe2elf.c: Likewise.
5874 * util/grub-probe.c: Likewise.
5875 * util/hostdisk.c: Likewise.
5876 * util/i386/efi/grub-mkimage.c: Likewise.
5877 * util/i386/pc/grub-mkimage.c: Likewise.
5878 * util/i386/pc/grub-setup.c: Likewise.
5879 * util/ieee1275/ofpath.c: Likewise.
5880 * util/mkisofs/eltorito.c: Likewise.
5881 * util/mkisofs/rock.c: Likewise.
5882 * util/mkisofs/write.c: Likewise.
5883 * util/raid.c: Likewise.
5884 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
5885 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5886
a0b766fc
VS
58872010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5888
5889 Enable multiboot on non-pc.
5890
5891 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
5892 multiboot.mod and multiboot2.mod to ...
5893 * conf/i386.rmk (pkglib_MODULES): ... here.
5894 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
5895 Moved to ...
5896 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
5897 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
5898 Moved to ...
5899 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
5900 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
5901 Moved to ...
5902 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
5903 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
5904 Moved to ...
5905 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
5906 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
5907 relocator.mod.
5908 (ata_mod_SOURCES): Removed.
5909 (ata_mod_CFLAGS): Likewise.
5910 (ata_mod_LDFLAGS): Likewise.
5911 (relocator_mod_SOURCES): Removed.
5912 (relocator_mod_CFLAGS): Likewise.
5913 (relocator_mod_ASFLAGS): Likewise.
5914 (relocator_mod_LDFLAGS): Likewise.
5915 Include i386.mk.
5916 * include/grub/x86_64/multiboot.h: New file.
5917 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
5918 Terminate EFI.
5919
884ade56
VS
59202010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5921
5922 Video multiboot support.
5923
5924 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
5925 New prototype.
5926 * include/multiboot.h: Resynced with multiboot specification.
5927 * include/multiboot2.h: Likewise.
5928 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
5929 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
5930 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
5931 (HAS_VGA_TEXT): Likewise.
5932 (accepts_video): New variable.
5933 (grub_multiboot_set_accepts_video): New function.
5934 (grub_multiboot_get_mbi_size): Account for video structures.
5935 (set_video_mode): New function.
5936 (retrieve_video_parameters): Likewise.
5937 (grub_multiboot_make_mbi): Fill video fields.
5938
0d90e8a6
VS
59392010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5940
5941 Video driver ids.
5942
5943 * include/grub/video.h (grub_video_driver_id): New type.
5944 (grub_video_adapter): New member 'id'. All users updated.
5945 (grub_video_get_driver_id): New proto.
5946 * video/video.c (grub_video_get_driver_id): New function.
5947
5c71db1b 59482010-01-14 Carles Pina i Estany <carles@pina.cat>
5949
5950 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
5951 `var=val'.
5952
cca15b52 59532010-01-14 Carles Pina i Estany <carles@pina.cat>
5954
5955 * normal/cmdline.c (print_completion): Gettextizze.
5956
c586fbb2 59572001-01-14 Carles Pina i Estany <carles@pina.cat>
5958
5959 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
5960
ba2f6848 59612010-01-14 Carles Pina i Estany <carles@pina.cat>
5962
5963 * gettext/gettext.c (grub_gettext_translate): Push and pop
5964 grub_errno.
5965 (grub_gettext_delete_list): Change comment style.
5966 * kern/err.c (grub_error): Gettextizze.
5967 (grub_fatal): Gettextizze.
5968
0a46429a
RM
59692010-01-14 Robert Millan <rmh.grub@aybabtu.com>
5970
5971 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
5972 (grub_linux16_real_boot): ... this.
5973 * kern/i386/loader.S: Likewise.
5974 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
5975 (grub_linux16_boot): New function. Switches to text mode and calls
5976 grub_linux16_real_boot().
5977
5978 * loader/i386/bsd.c: Include `<grub/video.h>'.
5979 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
5980 text mode before calling grub_unix_real_boot().
5981
5982 * loader/i386/multiboot.c: Include `<grub/video.h>'.
5983 (grub_multiboot_boot): Switch to text mode before calling
5984 grub_relocator32_boot().
5985
5986 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
5987 (grub_chainloader_boot): Switch to text mode before calling
5988 grub_chainloader_real_boot().
5989
d6f93a66
RM
59902010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
59912010-01-05 Colin Watson <cjwatson@ubuntu.com>
5992
5993 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
5994 non-empty value.
5995
59962010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
59972010-01-05 Colin Watson <cjwatson@ubuntu.com>
5998
5999 * util/grub.d/00_header.in: Define a "savedefault" function for use
6000 in menu entries.
6001 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
6002
60032010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
60042010-01-05 Colin Watson <cjwatson@ubuntu.com>
6005
6006 * util/grub-mkconfig_lib.in (save_default_entry): Only set
6007 saved_entry if boot_once is unset.
6008 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
6009 previous saved entry (i.e. grub-reboot).
6010
60112009-12-08 Colin Watson <cjwatson@ubuntu.com>
6012
6013 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
6014
60152009-12-08 Colin Watson <cjwatson@ubuntu.com>
6016
6017 * util/grub.d/00_header.in: Use `set var=val' rather than plain
6018 `var=val'.
6019 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
6020
60212009-12-08 Colin Watson <cjwatson@ubuntu.com>
6022
6023 * util/grub-reboot.in: Fix --version output.
6024 * util/grub-set-default.in: Likewise.
6025
60262009-12-08 Colin Watson <cjwatson@ubuntu.com>
6027
6028 * util/grub.d/00_header.in: Silently ignore zero-sized environment
6029 blocks.
6030
60312009-12-08 Colin Watson <cjwatson@ubuntu.com>
6032
6033 * util/grub.d/00_header.in: Quote the value assigned to `default',
6034 in case it contains spaces.
6035
60362009-12-08 Colin Watson <cjwatson@ubuntu.com>
6037
6038 * util/grub.d/30_os-prober.in: Fix merge error that moved a
6039 `save_default_entry' call from the macosx case to the linux case.
6040
60412009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
60422009-10-25 Colin Watson <cjwatson@ubuntu.com>
6043
6044 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
6045 in `chosen' environment variable.
6046 * normal/menu_text.c (get_entry_number): Check if the variable
6047 matches the title of a menu entry.
6048 (run_menu): Pass menu to get_entry_number.
6049
6050 * util/grub-reboot.in: New file.
6051 * util/grub-set-default.in: New file.
6052 * conf/common.rmk (grub-reboot): New utility.
6053 (grub-set-default): New utility.
6054
6055 * util/grub-mkconfig_lib.in (save_default_entry): New function.
6056 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
6057 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
6058 move it to `saved_entry' for the next boot. Load environment on
6059 initialisation.
6060 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
6061 * util/grub.d/10_hurd.in: Likewise.
6062 * util/grub.d/10_linux.in (linux_entry): Likewise.
6063 * util/grub.d/10_windows.in: Likewise.
6064 * util/grub.d/30_os-prober.in: Likewise.
6065
6066 * util/grub-install.in: Create environment block.
6067 * util/i386/efi/grub-install.in: Likewise.
6068 * util/ieee1275/grub-install.in: Likewise.
6069 * util/sparc64/ieee1275/grub-install.in: Likewise.
6070
0934d184
BC
60712010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
6072
6073 Unit testing framework for GRUB.
6074
6075 * Makefile.in: Test framework build rules for 'make check'.
6076 * conf/tests.rmk: Build rules for individual tests and framework.
6077
6078 * include/grub/test.h: Header file for whitebox tests.
6079 * tests/lib/functional_test.c: Framework support for whitebox
6080 functional tests.
6081 * tests/lib/test.c: Common whitebox testing code for unit and
6082 functional tests.
6083 * tests/lib/unit_test.c: Framework support for whitebox unit
6084 tests.
6085
6086 * tests/util/grub-shell-tester.in: Support utility for grub-script
6087 tests.
6088 * tests/util/grub-shell.in: Utility to execute grub-script
6089 commands in a Qemu instance.
6090
6091 * tests/example_functional_test.c: Example whitebox functional
6092 test.
6093 * tests/example_grub_script_test.in: Example grub-script test.
6094 * tests/example_scripted_test.in: Example scripted test.
6095 * tests/example_unit_test.c: Example whitebox unit test.
6096
9c4ffeeb
VS
60972010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6098
6099 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
6100 Add loader/i386/multiboot_mbi.c.
6101 (multiboot2_mod_SOURCES): Likewise.
6102 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
6103 (multiboot2_mod_SOURCES): Likewise.
6104 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
6105 (grub_multiboot_make_mbi): Likewise.
6106 (grub_multiboot_free_mbi): Likewise.
6107 (grub_multiboot_init_mbi): Likewise.
6108 (grub_multiboot_add_module): Likewise.
6109 (grub_multiboot_set_bootdev): Likewise.
6110 * loader/i386/multiboot.c (mbi): Removed.
6111 (mbi_dest): Likewise.
6112 (alloc_mbi): New variable.
6113 (grub_multiboot_payload_size): Removed. All users updated.
6114 (grub_multiboot_pure_size): New variable.
6115 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
6116 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
6117 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
6118 (grub_fill_multiboot_mmap): Likewise.
6119 (grub_multiboot_get_bootdev): Likewise.
6120 (grub_multiboot): Use multiboot_mbi functions.
6121 * loader/i386/multiboot_mbi.c: New file.
6122
17383dfe
VS
61232010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6124
6125 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
6126 it would result in module crash.
6127
c1f28820
VS
61282010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6129
6130 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
6131 (grub_ofconsole_getwh): Split to ...
6132 (grub_ofconsole_getwh): ... this.
6133 (grub_ofconsole_dimensions): ...and this.
6134 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
6135
58655a16
RM
61362010-01-13 Robert Millan <rmh.grub@aybabtu.com>
6137
6138 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
6139
10891398
VS
61402010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6141
6142 * loader/i386/pc/multiboot2.c: Removed stalled file.
6143
0b8a223c
VS
61442010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6145
6146 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
6147 Reported by: Grégoire Sutre
6148
92ab12b0
RM
61492010-01-11 Robert Millan <rmh.grub@aybabtu.com>
6150
6151 * util/misc.c (canonicalize_file_name): New function.
6152 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
6153 instead of realpath().
6154
a788afb6
CW
61552010-01-11 Colin Watson <cjwatson@ubuntu.com>
6156
6157 * util/grub-install.in (usage): Clarify meaning of --root-directory,
6158 and make it clearer that it's optional. Based on confusion
6159 witnessed on IRC.
6160
ffa8e3d2
VS
61612010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6162
6163 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
6164 in premature implicit newline.
6165
e9060a9d
VS
61662010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
6169 which resulted in garbled command line at the end of screen.
6170
f0d0c0b7
RM
61712010-01-10 Robert Millan <rmh.grub@aybabtu.com>
6172
6173 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
6174 initialization with similar approach as with other Linux loaders.
6175
0e60bae7
RM
61762010-01-10 Robert Millan <rmh.grub@aybabtu.com>
6177
6178 Fix i386-ieee1275 build.
6179
6180 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
6181 and grub_term_height() for video_{width,height} initialization.
6182
61832010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
6184
6185 Fix grub-emu build.
6186
6187 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
6188
cdb3f378
RM
61892010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
61902010-01-09 Robert Millan <rmh.grub@aybabtu.com>
6191
6192 Support for multiple terminals.
6193
6194 * Makefile.in (pkglib_DATA): terminal.lst.
6195 (terminal.lst): New target.
6196 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
6197 (GRUB_MOD_INIT(handler)): Likewise.
6198 (GRUB_MOD_FINI(handler)): Likewise.
6199 * commands/help.c (grub_cmd_help): Handle multiple terminals.
6200 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
6201 * commands/sleep.c (do_print): Use grub_term_restore_pos.
6202 (grub_cmd_sleep): Use grub_term_save_pos.
6203 * commands/terminal.c: New file.
6204 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
6205 commands/terminal.c and lib/charset.c.
6206 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
6207 (pkglib_MODULES): Add terminal.mod.
6208 (terminal_mod_SOURCES): New variable.
6209 (terminal_mod_CFLAGS): Likewise.
6210 (terminal_mod_LDFLAGS): Likewise.
6211 * genhandlerlist.sh: Don't handle terminals.
6212 * genmk.rb: Generate terminal-*.lst.
6213 * genterminallist.sh: New file.
6214 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
6215 (grub_is_valid_utf8): Likewise.
6216 (grub_utf8_to_ucs4_alloc): Likewise.
6217 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
6218 (grub_menu_register_viewer): Changed argument.
6219 (grub_menu_try_text): New proto.
6220 (grub_gfxmenu_try_hook): New declaration.
6221 * include/grub/normal.h (grub_normal_exit_level): New declaration.
6222 (grub_menu_init_page): Additional argument term.
6223 (grub_normal_init_page): Likewise.
6224 (grub_cmdline_get): Arguments simplified.
6225 (grub_utf8_to_ucs4_alloc): Removed.
6226 (grub_print_ucs4): Additional argument term.
6227 (grub_getstringwidth): Likewise.
6228 (grub_print_message_indented): Likewise.
6229 (grub_menu_text_register_instances): New proto.
6230 (grub_show_menu): Likewise.
6231 (read_terminal_list): Likewise.
6232 (grub_set_more): Likewise.
6233 * include/grub/parser.h: Include handler.h.
6234 * include/grub/reader.h: Rewritten.
6235 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
6236 (GRUB_TERM_WIDTH): Changed to function.
6237 (GRUB_TERM_HEIGHT): Likewise.
6238 (GRUB_TERM_BORDER_WIDTH): Likewise.
6239 (GRUB_TERM_BORDER_HEIGHT): Likewise.
6240 (GRUB_TERM_NUM_ENTRIES): Likewise.
6241 (GRUB_TERM_ENTRY_WIDTH): Likewise.
6242 (GRUB_TERM_CURSOR_X): Likewise.
6243 (grub_term_input_class): Likewise.
6244 (grub_term_output_class): Likewise.
6245 (grub_term_outputs_disabled): New declaration.
6246 (grub_term_inputs_disabled): Likewise.
6247 (grub_term_outputs): Likewise.
6248 (grub_term_inputs): Likewise.
6249 (grub_term_register_input): Rewritten.
6250 (grub_term_register_output): Likewise.
6251 (grub_term_unregister_input): Likewise.
6252 (grub_term_unregister_output): Likewise.
6253 (FOR_ACTIVE_TERM_INPUTS): New macro.
6254 (FOR_DISABLED_TERM_INPUTS): Likewise.
6255 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
6256 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
6257 * include/grub/terminfo.h: Add oterm argument to all protypes.
6258 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
6259 Use grub_rescue_run.
6260 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
6261 All users updated.
6262 * kern/reader.c: Removed. All users updated.
6263 * kern/rescue_reader.c (grub_rescue_init): Removed.
6264 (grub_rescue_reader): Likewise.
6265 (grub_register_rescue_reader): Likewise.
6266 (grub_rescue_run): New function based on kern/reader.c.
6267 * kern/term.c: Adapted for multiterm.
6268 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
6269 (grub_is_valid_utf8): Likewise.
6270 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
6271 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
6272 right terminal.
6273 * loader/i386/linux.c (grub_linux_boot): Likewise.
6274 * normal/auth.c (grub_username_get): New function.
6275 (grub_auth_check_authentication): Use grub_username_get.
6276 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
6277 * normal/color.c: Adapt for multiterm.
6278 * normal/main.c (read_config_file): Don't use grub_reader_loop.
6279 (grub_normal_init_page): Additional argument term.
6280 (read_lists): Call read_terminal_lists.
6281 (grub_enter_normal_mode): Call grub_cmdline_run.
6282 Handle grub_normal_exit_level.
6283 (grub_cmd_normal): Make reentrant.
6284 (grub_cmd_normal_exit): New function.
6285 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
6286 * normal/menu.c: Adapt for multiterm.
6287 * normal/menu_entry.c: Likewise.
6288 * normal/menu_text.c: Likewise.
6289 * normal/menu_viewer.c: Removed. All users updated.
6290 * normal/term.c: New file.
6291 * util/console.c: Change order of includes to workaround a bug in
6292 ncurses headers.
6293 * term/terminfo.c: New argument oterm on all exported functions.
6294 All users updated.
6295 * util/grub-editenv.c (grub_term_input_class): Removed.
6296 (grub_term_output_class): Likewise.
6297
1a064917
RM
62982010-01-09 Robert Millan <rmh.grub@aybabtu.com>
6299
6300 Make loader output a bit more user-friendly.
6301
6302 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
6303 is being loaded. Likewise for the Hurd.
6304
6305 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
6306 that kernel of FreeBSD ${version} is being loaded.
6307
6308 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
6309 grub_dprintf().
6310 (grub_cmd_initrd): Likewise.
6311 * util/grub.d/10_linux.in (linux_entry): Print message indicating
6312 that Linux ${version} is being loaded. Likewise for initrd.
6313
5ce0a83a 63142010-01-09 Carles Pina i Estany <carles@pina.cat>
6315
6316 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
6317
809bbfeb 63182010-01-08 Carles Pina i Estany <carles@pina.cat>
6319
6320 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
6321 (GRUB_MOD_INIT): Gettextizze.
6322 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
6323 (GRUB_MOD_INIT): Gettextizze.
6324 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
6325 (grub_cmd_linux): Capitalise Linux.
6326 (GRUB_MOD_INIT): Gettextizze.
6327 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
6328 (grub_cmd_linux): Capitalise Linux.
6329 (GRUB_MOD_INIT): Gettextizze.
6330 * loader/i386/linux.c: Include `<grub/i18n.h>'.
6331 (grub_cmd_linux): Capitalise Linux.
6332 (GRUB_MOD_INIT): Gettextizze.
6333 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
6334 (GRUB_MOD_INIT): Gettextizze.
6335 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
6336 (grub_cmd_linux): Capitalise Linux.
6337 (GRUB_MOD_INIT): Gettextizze.
6338 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
6339 (grub_cpu_xnu_init): Gettextizze.
6340 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
6341 (GRUB_MOD_INIT): Gettextizze.
6342 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
6343 (GRUB_MOD_INIT): Gettextizze.
6344 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
6345 (grub_linux_load64): Capitalise Linux.
6346 (GRUB_MOD_INIT): Gettextizze.
6347 * loader/xnu.c: Include `<grub/i18n.h>'.
6348 (GRUB_MOD_INIT): Gettextizze.
6349 * po/POTFILES: Add `loader/efi/appleloader.c',
6350 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
6351 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
6352 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
6353 `loader/i386/xnu.c', `loader/multiboot_loader.c',
6354 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
6355 and `loader/xnu.c'.
6356
b394b2ca
RM
63572010-01-08 Robert Millan <rmh.grub@aybabtu.com>
6358
6359 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
6360
63612010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
6362
6363 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
6364 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
6365 * util/mkisofs/mkisofs.c (main): Readjust --version output.
6366
bc8b32b3
RM
63672010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6368
6369 Reset Multiboot 2 support. New loader implements the draft in
6370 /branches/multiboot2 and shares as much code as possible with the
6371 production Multiboot 1 implementation.
6372
6373 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
6374 * loader/multiboot2.c: Likewise.
6375 * loader/i386/multiboot_helper.S: Likewise.
6376 * include/multiboot2.h: Replace with latest version from the draft
6377 in /branches/multiboot2.
6378
6379 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
6380 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
6381 and `loader/multiboot2.c'.
6382 (pkglib_MODULES): Add `multiboot2.mod'.
6383 (multiboot2_mod_SOURCES): New variable.
6384 (multiboot2_mod_LDFLAGS): Likewise.
6385 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
6386
6387 * conf/i386-pc.rmk: Likewise.
6388
6389 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
6390 (multiboot_mod_SOURCES): Remove variable.
6391 (multiboot_mod_LDFLAGS): Likewise.
6392 (multiboot_mod_CFLAGS): Likewise.
6393
6394 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
6395 `<multiboot2.h>' instead of `<multiboot.h>'.
6396 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
6397 (MULTIBOOT_HEADER_MAGIC): New macros.
6398
6399 * loader/multiboot_loader.c (module_version_status): Remove variable.
6400 (find_multi_boot2_header): Remove function.
6401 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
6402 logic. Always check for the Multiboot version we're compiling for.
6403 (grub_cmd_module_loader): Likewise.
6404 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
6405 command instead of `multiboot'.
6406
5d2c52b8
RM
64072010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6408
6409 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
6410 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
6411 all users.
6412
53108d92
RM
64132010-01-07 Robert Millan <rmh.grub@aybabtu.com>
64142010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6415
6416 Fix breakage introduced with previous commit.
6417
6418 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
6419 commands.
6420 * normal/handler.c (read_handler_list): Revert part of previous commit
6421 affecting this file.
6422 * normal/main.c (read_lists): Move read_handler_list() call back to ...
6423 (grub_normal_execute): ... here.
6424
e2e936b2
RM
64252010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6426
6427 Merge prefix-redefinition-fix branch.
6428
6429 * normal/autofs.c (read_fs_list): Make function capable of being
6430 run multiple times, gracefuly replacing the previous data
6431 structures.
6432 * normal/dyncmd.c (read_command_list): Likewise.
6433 * normal/handler.c (read_handler_list): Likewise.
6434 * normal/main.c (read_lists): New function. Calls all the
6435 list reading functions.
6436 (grub_normal_execute): Use read_lists() instead of calling all
6437 list reading functions explicitly. Register read_lists() as a
6438 variable hook attached to ${prefix}.
6439
607a3701
VS
64402010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6441
6442 Merge crypto branch.
6443
6444 * Makefile.in (pkglib_DATA): Add crypto.lst.
6445 (crypto.lst): New target.
6446 * commands/hashsum.c: New file.
6447 * commands/password.c (check_password): Use grub_crypto_memcmp.
6448 * commands/password_pbkdf2.c: New file.
6449 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
6450 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
6451 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
6452 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
6453 -I$(srcdir)/lib/libgcrypt_wrap.
6454 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
6455 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
6456 password_pbkdf2.mod.
6457 (crypto_mod_SOURCES): New variable.
6458 (crypto_mod_CFLAGS): Likewise.
6459 (crypto_mod_LDFLAGS): Likewise.
6460 (hashsum_mod_SOURCES): New variable.
6461 (hashsum_mod_CFLAGS): Likewise.
6462 (hashsum_mod_LDFLAGS): Likewise.
6463 (pbkdf2_mod_SOURCES): New variable.
6464 (pbkdf2_mod_CFLAGS): Likewise.
6465 (pbkdf2_mod_LDFLAGS): Likewise.
6466 (password_pbkdf2_mod_SOURCES): New variable.
6467 (password_pbkdf2_mod_CFLAGS): Likewise.
6468 (password_pbkdf2_mod_LDFLAGS): Likewise.
6469 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
6470 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
6471 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
6472 Include conf/gcry.rmk.
6473 * include/grub/auth.h: Rewritten.
6474 * include/grub/crypto.h: New file.
6475 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
6476 * include/grub/normal.h (read_crypto_list): New prototype.
6477 * lib/crypto.c: New file.
6478 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
6479 * lib/pbkdf2.c: Likewise.
6480 * normal/auth.c (grub_auth_strcmp): Removed.
6481 (grub_iswordseparator): Likewise.
6482 (grub_auth_strword): Likewise.
6483 (is_authenticated): Use grub_strword.
6484 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
6485 and grub_strword. Pass entered password to authentication callback.
6486 * normal/crypto.c: New file.
6487 * normal/main.c: Call read_crypto_list.
6488 * util/grub-mkpasswd-pbkdf2.c: New file.
6489 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
6490
42841caa
VS
64912010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
6492
6493 Fix descent and ascent calculation.
6494
6495 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
6496 (options): New option "asce".
6497 (usage): Likewise.
6498 (add_char): Ignore invalid glyphs for descent calculation.
6499 Calculate ascent from actual content.
6500 (print_glyphs): Use 'asce'.
6501 (write_font): Likewise. Allow ascent override.
6502 (main): Handle "asce" option.
6503
e7730de7 65042010-01-06 Carles Pina i Estany <carles@pina.cat>
6505
6506 * kern/err.c: Include `<grub/i18n.h>'.
6507 (grub_print_error): Add full stop. Gettextizze.
6508 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
6509 (grub_bsd_load_elf): Capitalise ELF.
6510 (grub_cmd_freebsd_loadenv): Add `s' in error string.
6511 (grub_cmd_freebsd_module): Likewise.
6512 (grub_cmd_freebsd_module_elf): Likewise.
6513 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
6514
40e3a41f 65152010-01-06 Carles Pina i Estany <carles@pina.cat>
6516
6517 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
6518 * commands/search_file.c (HELP_MESSAGE): New macro.
6519 * commands/search_label.c (HELP_MESSAGE): Likewise.
6520 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
6521 * po/POTFILES: Add `commands/search_file.c',
6522 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
6523 `commands/search.c'.
6524
83507e68
RM
65252010-01-05 Robert Millan <rmh.grub@aybabtu.com>
6526
6527 * config.rpath: Update from Gnulib.
6528
465c787b
YB
65292010-01-05 Yves Blusseau <blusseau@zetam.org>
6530
6531 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
6532
6581dd3a
YB
65332010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
6534
6535 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
6536
3bff18c5
CW
65372010-01-05 Colin Watson <cjwatson@ubuntu.com>
6538
6539 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
6540 arguments to fread so that we get a return value in bytes, rather
6541 than something that will normally be rounded down to 0.
6542 Adjust error handling to avoid producing garbage when size_t is not
6543 the same size as long long.
6544
a1368118
CW
65452010-01-05 Colin Watson <cjwatson@ubuntu.com>
6546
6547 * util/mkisofs/write.c (padblock_write): Check return value of
6548 fread.
6549
7c302978
RM
65502010-01-05 Robert Millan <rmh.grub@aybabtu.com>
6551
6552 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
6553 floppy images now.
6554
6555 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
6556
e33ace06
RM
65572010-01-04 Robert Millan <rmh.grub@aybabtu.com>
6558
6559 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
6560 instead of manual alignment.
6561 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
6562 verbose). Avoid attempts to read past end of the device
6563 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
6564 but GRUB_DISK_CACHE_SIZE may exceed that).
6565
4b856776
RM
65662010-01-04 Robert Millan <rmh.grub@aybabtu.com>
6567
6568 * commands/crc.c (grub_cmd_crc): Abort on read errors.
6569 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
6570 it to upper layer.
6571
52c2d97f
VS
65722010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6573
6574 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
6575 New constant.
6576 (grub_efi_piwg_device_path): New structure
6577 (grub_efi_piwg_device_path_t): New type.
6578 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
6579 (devpath_1): Transform to a structure. All users updated.
6580 (devpath_2): Likewise.
6581 (devpath_3): Likewise.
6582 (devpath_4): Likewise.
6583 (devpath_5): Likewise.
6584
98ff6a54
VS
65852010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6586
6587 * loader/efi/appleloader.c: Restored. Update all users.
6588
3a73dcb6
RM
65892010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6590
6591 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
6592
6593 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
6594 (struct boot_blocklist): Move from here ...
6595 * include/grub/i386/pc/boot.h [ASM_FILE]
6596 (struct grub_boot_blocklist): ... to here. Update all users.
6597 (setup): Only initialize `start' member of `first_block'
6598 structure. Add assert() calls to verify the other members.
6599
6600 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
6601 (generate_image): Fix broken blocklist length initialization.
6602 Add assert() call to verify blocklist `segment' field.
6603
ab0eeb0c
RM
66042010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6605
6606 * loader/efi/appleloader.c: Remove. Update all users.
6607
58bc8bd5
RM
66082010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6609
6610 * boot/i386/pc/boot.S: Update copyright year.
6611 * boot/i386/pc/cdboot.S: Likewise.
6612 * boot/i386/pc/diskboot.S: Likewise.
6613 * boot/i386/pc/lnxboot.S: Likewise.
6614 * boot/i386/pc/pxeboot.S: Likewise.
6615 * bus/pci.c: Likewise.
6616 * commands/cmp.c: Likewise.
6617 * commands/help.c: Likewise.
6618 * commands/hexdump.c: Likewise.
6619 * commands/i386/pc/halt.c: Likewise.
6620 * commands/i386/pc/play.c: Likewise.
6621 * commands/i386/pc/vbeinfo.c: Likewise.
6622 * commands/ls.c: Likewise.
6623 * commands/test.c: Likewise.
6624 * disk/dmraid_nvidia.c: Likewise.
6625 * disk/i386/pc/biosdisk.c: Likewise.
6626 * disk/ieee1275/nand.c: Likewise.
6627 * disk/ieee1275/ofdisk.c: Likewise.
6628 * disk/lvm.c: Likewise.
6629 * disk/raid.c: Likewise.
6630 * disk/raid6_recover.c: Likewise.
6631 * disk/scsi.c: Likewise.
6632 * fs/affs.c: Likewise.
6633 * fs/cpio.c: Likewise.
6634 * fs/ext2.c: Likewise.
6635 * fs/hfs.c: Likewise.
6636 * fs/iso9660.c: Likewise.
6637 * fs/ntfs.c: Likewise.
6638 * fs/sfs.c: Likewise.
6639 * fs/udf.c: Likewise.
6640 * fs/ufs.c: Likewise.
6641 * fs/xfs.c: Likewise.
6642 * gencmdlist.sh: Likewise.
6643 * genmk.rb: Likewise.
6644 * include/grub/disk.h: Likewise.
6645 * include/grub/efi/api.h: Likewise.
6646 * include/grub/efi/efi.h: Likewise.
6647 * include/grub/efi/pe32.h: Likewise.
6648 * include/grub/elf.h: Likewise.
6649 * include/grub/fs.h: Likewise.
6650 * include/grub/i386/at_keyboard.h: Likewise.
6651 * include/grub/i386/pc/memory.h: Likewise.
6652 * include/grub/i386/pc/vbe.h: Likewise.
6653 * include/grub/i386/pci.h: Likewise.
6654 * include/grub/i386/tsc.h: Likewise.
6655 * include/grub/ieee1275/ieee1275.h: Likewise.
6656 * include/grub/ntfs.h: Likewise.
6657 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
6658 * include/grub/sparc64/libgcc.h: Likewise.
6659 * include/grub/symbol.h: Likewise.
6660 * include/grub/types.h: Likewise.
6661 * include/multiboot2.h: Likewise.
6662 * io/gzio.c: Likewise.
6663 * kern/device.c: Likewise.
6664 * kern/disk.c: Likewise.
6665 * kern/efi/efi.c: Likewise.
6666 * kern/efi/mm.c: Likewise.
6667 * kern/elf.c: Likewise.
6668 * kern/file.c: Likewise.
6669 * kern/i386/dl.c: Likewise.
6670 * kern/i386/pc/init.c: Likewise.
6671 * kern/i386/pc/startup.S: Likewise.
6672 * kern/ieee1275/ieee1275.c: Likewise.
6673 * kern/ieee1275/init.c: Likewise.
6674 * kern/main.c: Likewise.
6675 * kern/mm.c: Likewise.
6676 * kern/powerpc/dl.c: Likewise.
6677 * kern/sparc64/dl.c: Likewise.
6678 * kern/x86_64/dl.c: Likewise.
6679 * lib/hexdump.c: Likewise.
6680 * loader/efi/appleloader.c: Likewise.
6681 * loader/i386/ieee1275/linux.c: Likewise.
6682 * loader/i386/pc/chainloader.c: Likewise.
6683 * loader/i386/pc/linux.c: Likewise.
6684 * loader/i386/pc/multiboot2.c: Likewise.
6685 * loader/ieee1275/multiboot2.c: Likewise.
6686 * loader/multiboot2.c: Likewise.
6687 * loader/multiboot_loader.c: Likewise.
6688 * loader/powerpc/ieee1275/linux.c: Likewise.
6689 * normal/completion.c: Likewise.
6690 * normal/menu_entry.c: Likewise.
6691 * partmap/apple.c: Likewise.
6692 * util/grub.d/10_hurd.in: Likewise.
6693 * util/hostfs.c: Likewise.
6694 * video/readers/png.c: Likewise.
6695
e2d70b5c
CW
66962010-01-03 Colin Watson <cjwatson@ubuntu.com>
6697
6698 * include/grub/misc.h (GNUC_PREREQ): New macro.
6699 (ATTRIBUTE_ERROR): New macro.
6700 * include/grub/list.h (grub_bad_type_cast_real): Use
6701 ATTRIBUTE_ERROR.
6702
a173283f 67032010-01-03 Carles Pina i Estany <carles@pina.cat>
6704
6705 * normal/menu_text.c (print_message): Change messages.
6706
7fa7ff74 67072010-01-03 Carles Pina i Estany <carles@pina.cat>
6708
6709 * normal/menu_entry.c (store_completion): Gettextizze.
6710
136d24f6 67112010-01-03 Carles Pina i Estany <carles@pina.cat>
6712
6713 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
6714
f936862e 67152010-01-03 Carles Pina i Estany <carles@pina.cat>
6716
6717 * po/POTFILES: Sort correctly.
6718
29c44ad1 67192010-01-03 Carles Pina i Estany <carles@pina.cat>
6720
6721 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
6722 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
6723 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
6724 full stop.
6725 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
6726 summary. Gettextizze the strings.
6727 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
6728 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
6729 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
6730 full stop.
6731 (GRUB_MOD_INIT): Remove command name from summary.
6732 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
6733 summary.
6734 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
6735 * term/i386/pc/serial.c (options): Add full stops.
6736 (GRUB_MOD_INIT): Remove command name from the summary.
6737
77a79592 67382010-01-03 Carles Pina i Estany <carles@pina.cat>
6739
6740 * commands/acpi.c: Gettextizze help strings and/or options. Include
6741 `grub/i18n.h' if needed.
6742 * commands/blocklist.c: Likewise.
6743 * commands/boot.c: Likewise.
6744 * commands/cat.c: Likewise.
6745 * commands/cmp.c: Likewise.
6746 * commands/configfile.c: Likewise.
6747 * commands/crc.c: Likewise.
6748 * commands/date.c: Likewise.
6749 * commands/echo.c: Likewise.
6750 * commands/efi/fixvideo.c: Likewise.
6751 * commands/efi/loadbios.c: Likewise.
6752 * commands/gptsync.c: Likewise.
6753 * commands/halt.c: Likewise.
6754 * commands/handler.c: Likewise.
6755 * commands/hdparm.c: Likewise.
6756 * commands/hexdump.c: Likewise.
6757 * commands/i386/cpuid.c: Likewise.
6758 * commands/i386/pc/drivemap.c: Likewise.
6759 * commands/i386/pc/halt.c: Likewise.
6760 * commands/i386/pc/pxecmd.c: Likewise.
6761 * commands/i386/pc/vbeinfo.c: Likewise.
6762 * commands/i386/pc/vbetest.c: Likewise.
6763 * commands/ieee1275/suspend.c: Likewise.
6764 * commands/keystatus.c: Likewise.
6765 * commands/loadenv.c: Likewise.
6766 * commands/ls.c: Likewise.
6767 * commands/lsmmap.c: Likewise.
6768 * commands/lspci.c: Likewise.
6769 * commands/memrw.c: Likewise.
6770 * commands/minicmd.c: Likewise.
6771 * commands/parttool.c: Likewise.
6772 * commands/password.c: Likewise.
6773 * commands/probe.c: Likewise.
6774 * commands/read.c: Likewise.
6775 * commands/reboot.c: Likewise.
6776 * commands/search.c: Likewise.
6777 * commands/sleep.c: Likewise.
6778 * commands/test.c: Likewise.
6779 * commands/true.c: Likewise.
6780 * commands/usbtest.c: Likewise.
6781 * commands/videotest.c: Likewise.
6782 * commands/xnu_uuid.c: Likewise.
6783 * disk/loopback.c: Likewise.
6784 * hello/hello.c: Likewise.
6785 * loader/i386/bsd.c: Likewise.
6786 * term/i386/pc/serial.c: Likewise.
6787 * po/POTFILES: Add new files.
6788
da8d5c53
CW
67892010-01-02 Colin Watson <cjwatson@ubuntu.com>
6790
6791 * term/i386/pc/at_keyboard.c
6792 (keyboard_controller_wait_untill_ready): Rename to ...
6793 (keyboard_controller_wait_until_ready): ... this. Update all users.
6794
33937904 67952010-01-01 Carles Pina i Estany <carles@pina.cat>
6796
6797 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
6798 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
6799 string using string width.
6800 * normal/menu_text.c (grub_print_message_indented): Use
6801 grub_print_spaces and not print_spaces.
6802 (print_timeout): Likewise.
6803 (print_spaces): Move to...
6804 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
6805
3fd3b8d8
RM
68062010-01-01 Robert Millan <rmh.grub@aybabtu.com>
6807
6808 Import from Gnulib.
6809
6810 * gnulib/getdelim.c: New file.
6811 * gnulib/getline.c: Likewise.
6812
33433555
VS
68132009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
6814
6815 * include/grub/list.h (grub_assert_fail): Removed.
6816 (grub_bad_type_cast_real): New function.
6817 (grub_bad_type_cast): New macro.
6818 (GRUB_AS_LIST): Use grub_bad_type_cast.
6819 (GRUB_AS_LIST_P): Likewise.
e44721e8 6820 (GRUB_AS_NAMED_LIST): Likewise.
33433555 6821 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 6822 (GRUB_AS_PRIO_LIST): Likewise.
33433555 6823 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 6824 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 6825
f5a51306
VS
68262009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
6827
6828 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
6829 Fix syntax error.
6830
90d1e879
RM
68312009-12-29 Robert Millan <rmh.grub@aybabtu.com>
6832
6833 * configure.ac: Check for TARGET_CFLAGS initialization before we
6834 initialize it ourselves (sigh).
6835 Move a few modifications to TARGET_CFLAGS to be unconditional
6836 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
6837 eh_frame)
6838
6839 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
6840 * term/i386/pc/at_keyboard.c
6841 (keyboard_controller_wait_untill_ready): Likewise.
6842 (keyboard_controller_led): Rename `led_status' paramter to avoid
6843 name conflict.
6844
465b5a81 68452009-12-28 Carles Pina i Estany <carles@pina.cat>
6846
6847 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
6848 quotes.
6849
c181849b
VS
68502009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6851
6852 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
6853
9c8739a4
VS
68542009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6855
6856 * normal/menu_text.c (grub_print_message_indented): Prevent
6857 past-the-end-of-array dereference.
6858
3e74249c
VS
68592009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6860
6861 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
6862 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
6863
64fd18ed 68642009-12-27 Carles Pina i Estany <carles@pina.cat>
6865
6866 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
6867 * normal/main.c (grub_normal_read_line): Remove a space from the
6868 default prompt.
6869
714af9b9 68702009-12-27 Carles Pina i Estany <carles@pina.cat>
6871
6872 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
6873 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6874 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
6875 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
6876 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6877 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6878 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6879
82f3e412 68802009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 6881
6882 * video/readers/jpeg.c (cmd): Declare.
6883 (grub_cmd_jpegtest): Use `grub_command_t' type.
6884 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6885 Assign to `cmd'.
6886 (GRUB_MOD_FINI): Use `cmd' to unregister.
6887 * video/readers/png.c (cmd): Declare.
6888 (grub_cmd_pngtest): Use `grub_command_t' type.
6889 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6890 Assign to `cmd'.
6891 (GRUB_MOD_FINI): Use `cmd' to unregister.
6892 * video/readers/tga.c (cmd): Declare.
6893 (grub_cmd_tgatest): Use `grub_command_t' type.
6894 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6895 Assign to `cmd'.
6896 (GRUB_MOD_FINI): Use `cmd' to unregister.
6897
82f3e412 68982009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 6899
6900 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
6901 stops.
6902 * kern/corecmd.c (grub_register_core_commands): Likewise.
6903 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
6904 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
6905 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
6906 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6907 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
6908 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
6909 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
6910 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
6911 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6912 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6913 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6914 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6915 * normal/handler.c (insert_handler): Likewise.
6916 * normal/main.c (GRUB_MOD_INIT): Likewise.
6917 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
6918
fdcdbb66 69192009-12-26 Carles Pina i Estany <carles@pina.cat>
6920
6921 * commands/help.c (grub_cmd_help): Print the command name before the
6922 summary.
6923 (GRUB_MOD_INIT): Remove command name from the summary.
6924 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 6925 string as summary.
fdcdbb66 6926 * lib/arg.c (find_long): Print the command name before the summary.
6927 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
6928 summary.
6929 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
6930 * commands/cat.c (GRUB_MOD_INIT): Likewise.
6931 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
6932 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
6933 * commands/crc.c (GRUB_MOD_INIT): Likewise.
6934 * commands/date.c (GRUB_MOD_INIT): Likewise.
6935 * commands/echo.c (GRUB_MOD_INIT): Likewise.
6936 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
6937 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
6938 * commands/handler.c (GRUB_MOD_INIT): Likewise.
6939 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
6940 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
6941 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
6942 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
6943 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
6944 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
6945 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
6946 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
6947 * commands/ls.c (GRUB_MOD_INIT): Likewise.
6948 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
6949 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
6950 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
6951 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
6952 * commands/password.c (GRUB_MOD_INIT): Likewise.
6953 * commands/probe.c (GRUB_MOD_INIT): Likewise.
6954 * commands/read.c (GRUB_MOD_INIT): Likewise.
6955 * commands/search.c (GRUB_MOD_INIT): Likewise.
6956 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
6957 * commands/test.c (GRUB_MOD_INIT): Likewise.
6958 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
6959 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
6960 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
6961 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
6962 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
6963 * lib/arg.c (GRUB_MOD_INIT): Likewise.
6964 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
6965 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
6966 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6967 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6968 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
6969 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
6970 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
6971 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
6972
9c288be2
VS
69732009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6974
6975 Use search command for preliminar UUID search.
6976
6977 * commands/search.c: Split into ...
6978 * commands/search_wrap.c: ...this
6979 * commands/search.c: ...and this.
6980 * commands/search_file.c: New file.
6981 * commands/search_label.c: New file.
6982 * commands/search_uuid.c: New file.
6983 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
6984 Add commands/search_wrap.c, commands/search_file.c,
6985 commands/search_label.c and commands/search_uuid.c.
6986 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
6987 (search_mod_SOURCES): Set to commands/search_wrap.c.
6988 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
6989 search_label.mod.
6990 (search_fs_file_mod_SOURCES): New variable.
6991 (search_fs_file_mod_CFLAGS): Likewise.
6992 (search_fs_file_mod_LDFLAGS): Likewise.
6993 (search_label_mod_SOURCES): Likewise.
6994 (search_label_mod_CFLAGS): Likewise.
6995 (search_label_mod_LDFLAGS): Likewise.
6996 (search_fs_uuid_mod_SOURCES): New variable.
6997 (search_fs_uuid_mod_CFLAGS): Likewise.
6998 (search_fs_uuid_mod_LDFLAGS): Likewise.
6999 (fs_file_mod_SOURCES): Removed.
7000 (fs_file_mod_CFLAGS): Likewise.
7001 (fs_file_mod_LDFLAGS): Likewise.
7002 (fs_uuid_mod_SOURCES): Removed.
7003 (fs_uuid_mod_CFLAGS): Likewise.
7004 (fs_uuid_mod_LDFLAGS): Likewise.
7005 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
7006 Set to util/grub-install.in.
7007 * disk/fs_file.c: Removed.
7008 * disk/fs_uuid.c: Likewise.
7009 * include/grub/search.h: New file.
7010 * util/grub-install.in: Handle sparc64.
7011 Create and use load.cfg.
7012 * util/sparc64/ieee1275/grub-install.in: Removed.
7013
db943399
VS
70142009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7015
7016 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
7017 Ignore return status if CF is cleared.
7018 (grub_biosdisk_get_diskinfo_standard): Likewise.
7019
3fdae612
RM
70202009-12-25 Robert Millan <rmh.grub@aybabtu.com>
7021
7022 * term/i386/pc/at_keyboard.c
7023 (keyboard_controller_wait_untill_ready): New function.
7024 (grub_keyboard_controller_write, grub_keyboard_controller_read)
7025 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
7026 for keyboard polling, rather than duplicate the same loop. This
7027 saves a few bytes in code size.
7028
7ebaa2b4
VS
70292009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7030
7031 Support for (pxe[:server[:gateway]]) syntax and
7032 use environment variable for PXE.
7033
7034 * commands/i386/pc/pxecmd.c (options): Removed.
7035 (print_ip): Removed.
7036 (grub_cmd_pxe): Removed
7037 (grub_cmd_pxe_unload): New function.
7038 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
7039 (grub_pxe_your_ip): Made static.
7040 (grub_pxe_default_server_ip): Likewise.
7041 (grub_pxe_default_gateway_ip): Likewise.
7042 (grub_pxe_blksize): Likewise.
7043 (parse_ip): New function.
7044 (grub_pxe_open): Support server and gateway specification.
7045 (grub_pxe_close): Free disk->data.
7046 (grub_pxefs_open): Use disk->data.
7047 (grub_pxefs_read): Likewise.
7048 (grub_env_write_readonly): New function.
7049 (set_mac_env): Likewise.
7050 (set_env_limn_ro): Likewise.
7051 (parse_dhcp_vendor): Likewise.
7052 (grub_pxe_detect): Set the environment variables.
7053 (set_ip_env): New function.
7054 (write_ip_env): Likewise.
7055 (grub_env_write_pxe_default_server): Likewise.
7056 (grub_env_write_pxe_default_gateway): Likewise.
7057 (grub_env_write_pxe_blocksize): Likewise.
7058 (GRUB_MOD_INIT(pxe)): Set environment variables.
7059 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
7060 (grub_pxe_mac_addr_t): ... this. All users updated.
7061 (grub_pxe_your_ip): Removed.
7062 (grub_pxe_server_ip): Likewise.
7063 (grub_pxe_gateway_ip): Likewise.
7064 (grub_pxe_blksize): Likewise.
7065
ec5f98ab 70662009-12-25 Carles Pina i Estany <carles@pina.cat>
7067
7068 * commands/help.c: Include `<grub/i18n.h>'.
7069 (grub_cmd_help): Gettextizze.
7070 (GRUB_MOD_INIT): Likewise.
7071 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
7072 (GRUB_MOD_INIT): Gettextizze.
7073 * commands/search.c: Include `<grub/i18n.h>'.
7074 (options): Gettextizze.
7075 (GRUB_MOD_INIT): Gettextizze.
7076 * lib/arg.c: Include `<grub/i18n.h>'.
7077 (help_options): Gettextizze.
7078 (find_long): Likewise.
7079 (grub_arg_show_help): Likewise.
7080 * normal/dyncmd.c: Include `<grub/i18n.h>'.
7081 (read_command_list): Gettextizze.
7082 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 7083 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 7084
22815526
RM
70852009-12-25 Robert Millan <rmh.grub@aybabtu.com>
7086
7087 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
7088 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
7089 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
7090 (led_status): New variable.
7091 (keyboard_controller_led): New function.
7092 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
7093 update led status for caps lock, num lock and scroll lock.
7094
0ad46fd7
FZ
70952009-12-25 Felix Zielcke <fzielcke@z-51.de>
7096
7097 * util/hostdisk.c (open_device): Fix a comment.
7098
d0e158c2
RM
70992009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7100
7101 * util/grub-install.in (host_os): New variable.
7102 * util/i386/efi/grub-install.in (host_os): Likewise.
7103
401c0ad6
RM
71042009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7105
7106 * util/mkisofs/write.c (padblock_write): Abort when given an
7107 excedingly large embed image, instead of silently truncating it.
7108
d14d3370
RM
71092009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7110
7111 * include/multiboot.h: Indentation fixes.
7112
eeed10b4
RM
71132009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7114
7115 * include/multiboot.h (struct multiboot_aout_symbol_table)
7116 (struct multiboot_elf_section_header_table): New structure
7117 declarations (stolen from GRUB Legacy).
7118 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
7119 table information.
7120
7121 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
7122 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
7123 type aliases.
7124
681c70ab
RM
71252009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7126
7127 * include/multiboot.h: Make comments src2texi-friendly.
7128
e4d47d8d
RM
71292009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7130
7131 For consistency with [multiboot]/docs/boot.S.
7132
7133 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
7134 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
7135 (MULTIBOOT_MAGIC2): Rename from this ...
7136 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
7137
a0b70bda
RM
71382009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7139
7140 * include/multiboot.h: Remove `<grub/types.h>'.
7141 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
7142 types. Update all users.
7143
61ba42be 71442009-12-25 Carles Pina i Estany <carles@pina.cat>
7145
7146 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
7147 `couldn't' and `can not' by `cannot'.
7148 * commands/i386/pc/drivemap.c: Likewise.
7149 * disk/ata.c: Likewise.
7150 * disk/ieee1275/nand.c: Likewise.
7151 * fs/affs.c: Likewise.
7152 * fs/fat.c: Likewise.
7153 * fs/hfs.c: Likewise.
7154 * fs/hfsplus.c: Likewise.
7155 * fs/iso9660.c: Likewise.
7156 * fs/jfs.c: Likewise.
7157 * fs/minix.c: Likewise.
7158 * fs/reiserfs.c: Likewise.
7159 * fs/sfs.c: Likewise.
7160 * fs/udf.c: Likewise.
7161 * fs/ufs.c: Likewise.
7162 * fs/xfs.c: Likewise.
7163 * loader/powerpc/ieee1275/linux.c: Likewise.
7164 * loader/sparc64/ieee1275/linux.c: Likewise.
7165 * util/grub-probe.c: Likewise.
7166 * util/misc.c: Likewise.
7167
7fd0baee 71682009-12-24 Carles Pina i Estany <carles@pina.cat>
7169
7170 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
7171 grub_errno calls.
7172 * commands/acpi.c: Likewise.
7173 * commands/blocklist.c: Likewise.
7174 * commands/efi/loadbios.c: Likewise.
7175 * commands/i386/pc/drivemap.c: Likewise.
7176 * commands/loadenv.c: Likewise.
7177 * commands/memrw.c: Likewise.
7178 * commands/password.c: Likewise.
7179 * commands/videotest.c: Likewise.
7180 * disk/ata.c: Likewise.
7181 * disk/ata_pthru.c: Likewise.
7182 * disk/dmraid_nvidia.c: Likewise.
7183 * disk/ieee1275/nand.c: Likewise.
7184 * disk/ieee1275/ofdisk.c: Likewise.
7185 * disk/loopback.c: Likewise.
7186 * disk/lvm.c: Likewise.
7187 * disk/mdraid_linux.c: Likewise.
7188 * disk/raid.c: Likewise.
7189 * disk/raid6_recover.c: Likewise.
7190 * disk/scsi.c: Likewise.
7191 * efiemu/main.c: Likewise.
7192 * efiemu/mm.c: Likewise.
7193 * efiemu/pnvram.c: Likewise.
7194 * efiemu/symbols.c: Likewise.
7195 * font/font.c: Likewise.
7196 * fs/cpio.c: Likewise.
7197 * fs/hfsplus.c: Likewise.
7198 * fs/iso9660.c: Likewise.
7199 * fs/jfs.c: Likewise.
7200 * fs/minix.c: Likewise.
7201 * fs/ntfs.c: Likewise.
7202 * fs/ntfscomp.c: Likewise.
7203 * fs/reiserfs.c: Likewise.
7204 * fs/ufs.c: Likewise.
7205 * fs/xfs.c: Likewise.
7206 * gettext/gettext.c: Likewise.
7207 * include/grub/auth.h: Likewise.
7208 * kern/elf.c: Likewise.
7209 * kern/file.c: Likewise.
7210 * kern/ieee1275/init.c: Likewise.
7211 * kern/ieee1275/mmap.c: Likewise.
7212 * kern/ieee1275/openfw.c: Likewise.
7213 * kern/powerpc/dl.c: Likewise.
7214 * kern/sparc64/dl.c: Likewise.
7215 * lib/arg.c: Likewise.
7216 * loader/i386/bsd.c: Likewise.
7217 * loader/i386/bsdXX.c: Likewise.
7218 * loader/i386/efi/linux.c: Likewise.
7219 * loader/i386/efi/xnu.c: Likewise.
7220 * loader/i386/ieee1275/linux.c: Likewise.
7221 * loader/i386/linux.c: Likewise.
7222 * loader/i386/multiboot.c: Likewise.
7223 * loader/i386/pc/linux.c: Likewise.
7224 * loader/i386/pc/multiboot2.c: Likewise.
7225 * loader/i386/xnu.c: Likewise.
7226 * loader/ieee1275/multiboot2.c: Likewise.
7227 * loader/macho.c: Likewise.
7228 * loader/machoXX.c: Likewise.
7229 * loader/multiboot2.c: Likewise.
7230 * loader/multiboot_loader.c: Likewise.
7231 * loader/powerpc/ieee1275/linux.c: Likewise.
7232 * loader/sparc64/ieee1275/linux.c: Likewise.
7233 * loader/xnu.c: Likewise.
7234 * loader/xnu_resume.c: Likewise.
7235 * mmap/i386/pc/mmap.c: Likewise.
7236 * normal/menu_viewer.c: Likewise.
7237 * partmap/acorn.c: Likewise.
7238 * partmap/amiga.c: Likewise.
7239 * partmap/apple.c: Likewise.
7240 * script/lexer.c: Likewise.
7241 * term/gfxterm.c: Likewise.
7242 * term/i386/pc/serial.c: Likewise.
7243 * term/i386/pc/vga.c: Likewise.
7244 * term/ieee1275/ofconsole.c: Likewise.
7245 * term/terminfo.c: Likewise.
7246 * video/bitmap.c: Likewise.
7247 * video/efi_gop.c: Likewise.
7248 * video/efi_uga.c: Likewise.
7249 * video/fb/video_fb.c: Likewise.
7250 * video/i386/pc/vbe.c: Likewise.
7251 * video/readers/tga.c: Likewise.
7252 * video/video.c: Likewise.
7253
0ad46fd7 72542009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
7255
7256 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
7257 * commands/lspci.c: Likewise.
7258 * commands/probe.c: Likewise.
7259 * commands/xnu_uuid.c: Likewise.
7260 * conf/i386-coreboot.rmk: Likewise.
7261 * conf/i386-efi.rmk: Likewise.
7262 * conf/i386-ieee1275.rmk: Likewise.
7263 * conf/i386-pc.rmk: Likewise.
7264 * conf/powerpc-ieee1275.rmk: Likewise.
7265 * conf/sparc64-ieee1275.rmk: Likewise.
7266 * conf/x86_64-efi.rmk: Likewise.
7267 * fs/i386/pc/pxe.c: Likewise.
7268 * gettext/gettext.c: Likewise.
7269 * include/grub/efi/graphics_output.h: Likewise.
7270 * include/grub/i386/pc/memory.h: Likewise.
7271 * kern/env.c: Likewise.
7272 * kern/i386/qemu/startup.S: Likewise.
7273 * lib/i386/pc/biosnum.c: Likewise.
7274 * lib/i386/relocator.c: Likewise.
7275 * lib/i386/relocator_asm.S: Likewise.
7276 * lib/relocator.c: Likewise.
7277 * loader/i386/bsd.c: Likewise.
7278 * loader/i386/multiboot.c: Likewise.
7279 * loader/i386/pc/chainloader.c: Likewise.
7280 * loader/i386/xnu.c: Likewise.
7281 * loader/xnu.c: Likewise.
7282 * normal/main.c: Likewise.
7283 * normal/menu_text.c: Likewise.
7284 * util/getroot.c: Likewise.
7285 * util/grub-mkconfig_lib.in: Likewise.
7286 * util/grub.d/00_header.in: Likewise.
7287 * util/i386/pc/grub-mkimage.c: Likewise.
7288 * util/mkisofs/eltorito.c: Likewise.
7289 * util/mkisofs/exclude.h: Likewise.
7290 * util/mkisofs/hash.c: Likewise.
7291 * util/mkisofs/iso9660.h: Likewise.
7292 * util/mkisofs/joliet.c: Likewise.
7293 * util/mkisofs/mkisofs.c: Likewise.
7294 * util/mkisofs/mkisofs.h: Likewise.
7295 * util/mkisofs/multi.c: Likewise.
7296 * util/mkisofs/name.c: Likewise.
7297 * util/mkisofs/rock.c: Likewise.
7298 * util/mkisofs/tree.c: Likewise.
7299 * util/mkisofs/write.c: Likewise.
7300 * video/efi_gop.c: Likewise.
7301
009ec743
VS
73022009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7303
7304 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
7305 size counting.
7306
0ad46fd7 73072009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
7308
7309 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
7310 * genmk.rb (class SCRIPT): Modify the target file instead of source.
7311
d3d30ea0
VS
73122009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7313
7314 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
7315 (GRUB_MOD_INIT(memrw)): Update help line.
7316
a34f5c70
VS
73172009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7318
7319 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
7320 Use grub_extcmd_t. All users updated.
7321 (options): New variable.
7322 (grub_cmd_read): Restructure for readability. Support "-v" option.
7323 (grub_cmd_write): Restructure for readability.
7324
0ad46fd7 73252009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
7326
7327 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
7328
0ad46fd7 73292009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
7330
7331 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
7332 with the actual contents of the correspondending make variable.
7333 * util/grub-mkrescue.in (pkglib_DATA): New variable.
7334 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
7335 specifying `*.lst' and `efiemu??.o'
7336
0ad46fd7 73372009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
7338
7339 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
7340 after function name.
7341 Noticed by Rene Engelhard <rene@debian.org>.
7342
dc77a799
VS
73432009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7344
7345 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
7346 (options): New variable.
7347 (iospace): Likewise.
7348 (grub_lspci_iter): List IO spaces if "-i" was given.
7349 (grub_cmd_lspci): Parse options.
7350 (GRUB_MOD_INIT(lspci)): Use extcmd.
7351 (GRUB_MOD_FINI(lspci)): Likewise.
7352
0ad46fd7 73532009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
7354
7355 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
7356 `function' keyword.
7357 Patch by Tony Mancill <tmancill@debian.org>.
7358
b5d5993b
VS
73592009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7360
7361 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
7362 (grub_uhci_portstatus): Likewise.
7363 (grub_uhci_portstatus): Add necessary delay.
11d18281 7364 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 7365
941903f2 73662009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 7367
941903f2 7368 * commands/acpi.c (options): Fix capitalizations and/or full stops.
7369 (GRUB_MOD_INIT): Likewise.
7370 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 7371 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
7372 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 7373 * commands/efi/loadbios.c (enable_rom_area): Likewise.
7374 (enable_rom_area): Likewise.
7375 (GRUB_MOD_INIT): Likewise.
7376 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
7377 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
7378 * commands/handler.c (GRUB_MOD_INIT): Likewise.
7379 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
7380 * commands/hexdump.c (options): Likewise.
7381 * commands/i386/cpuid.c (options): Likewise.
7382 (GRUB_MOD_INIT): Likewise.
7383 * commands/i386/pc/drivemap.c (options): Likewise.
7384 (GRUB_MOD_INIT): Likewise.
7385 * commands/i386/pc/halt (options): Likewise.
7386 (GRUB_MOD_INIT): Likewise.
7387 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
7388 * commands/i386/pc/pxecmd.c (options): Likewise.
7389 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
7390 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
7391 * commands/keystatus.c (options): Likewise.
7392 (GRUB_MOD_INIT): Likewise.
7393 * commands/loadenv.c (options): Likewise.
7394 * commands/ls.c (options): Likewise.
7395 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
7396 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
7397 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
7398 * commands/parttool.c (helpmsg): Likewise.
7399 * commands/probe.c (options): Likewise.
7400 * commands/read.c (GRUB_MOD_INIT): Likewise.
7401 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
7402 * commands/search.c (options): Likewise.
7403 * commands/sleep.c (options): Likewise.
7404 * commands/test.c (GRUB_MOD_INIT): Likewise.
7405 * commands/true.c (GRUB_MOD_INIT): Likewise.
7406 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
7407 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
7408 * lib/arg.c (help_options): Likewise.
e9bbb4e7 7409 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
7410 `$(XGETTEXT)'.
98a50553 7411 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 7412
0ad46fd7 74132009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 7414
ef3c2c3a 7415 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
7416 instead of specifying them explicit.
7417
7922f68b
RM
74182009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7419
7420 * NEWS: Add grub-probe support for GNU/Hurd.
7421
537ce47f
RM
74222009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7423
7424 * NEWS: gettext was added after 1.97.
7425
9b214e3a
RM
74262009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7427
7428 * util/mkisofs/msdos_partition.h: New file (based on
7429 include/grub/msdos_partition.h).
7430 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
7431 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
7432 (ld_options, main): Recognize --protective-msdos-label.
7433 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
7434 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
7435 (padblock_write): If `use_protective_msdos_label' is set, patch a
7436 protective DOS-style label in the output image.
7437
7438 * util/grub-mkrescue.in: Use --protective-msdos-label.
7439
e9309813
RM
74402009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7441
7442 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
7443 boot.
7444
0ae56929
RM
74452009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7446
7447 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
7448 variables.
7449 (ld_options, main): Recognize `--embedded-boot'.
7450 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
7451 declarations.
7452 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
7453 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
7454 (padblock_write): Likewise. Rewrite to support embedded boot image.
7455
7456 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
7457 for BIOS-based disk boot instead of only ElTorito.
7458
b15937b1
RM
74592009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7460
7461 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
7462 build (not needed for bootstrap).
7463
52cc3ce0
RM
74642009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7465
7466 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
7467 from i386-pc build (not needed for bootstrap).
7468 Rewrite a pair of strings.
7469
36f5ff04
RM
74702009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7471
7472 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
7473
973c6c85 74742009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
7475
7476 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
7477
05d21547
AB
74782009-12-21 Andreas Born <futur.andy@googlemail.com>
7479
7480 * kern/env.c (grub_env_context_open): Mark exported variable for
7481 reexport.
7482
0175d51f
AB
74832009-12-21 Andreas Born <futur.andy@googlemail.com>
7484
7485 * kern/env.c (grub_env_export): Create nonexistent variables before
7486 exporting.
7487
7f39d92f 74882009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 7489
7f39d92f 7490 * include/grub/auth.h: Include `<grub/i18n.h>'.
7491 (GRUB_GET_PASSWORD): Gettextizze string.
7492 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
7493 menu_text.c.
7494 (grub_utf8_to_ucs4_alloc): Fix indentation.
7495 (grub_print_ucs4): Likewise.
7496 (grub_getstringwidth): Likewise.
7497 (print_message_indented): New declaration.
7498 * normal/auth.c: Include `<grub/i18n.h>'.
7499 (grub_auth_check_authentication): Gettexttize string.
7500 * normal/cmdline.c: Include `<grub/i18n.h>'.
7501 (grub_cmdline_get): Gettextizze.
7502 * normal/color.c: Include `<grub/i18n.h>'.
7503 (grub_parse_color_name_pair): Gettexttize strings.
7504 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
7505 string (use `print_message_indented').
7506 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
7507 `include/grub/normal.h'.
7508 (print_message_indented): Renamed to ...
7509 (grub_print_message_indented): ... this. Remove `static' qualifer (now
7510 used in normal/main.c).
7511 (print_message): Use `grub_print_message_indented' instead of
7512 `print_message_indented'.
7513 (print_timeout): Likewise.
7514 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
7515 (grub_normal_print_device_info): Gettexttize strings.
7516 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
7517
3041d898
VS
75182009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7519
7520 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
7521 of arguments. Return number of tokens and not arguments. All users
7522 updated.
7523
de15bf8e
VS
75242009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7525
7526 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
7527 non-MSDOS paritions.
7528
e0a6ca52
VS
75292009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7530
7531 * include/grub/types.h (UNUSED): Removed since it conflicts with
7532 NetBSD headers. All users changed to direct __attribute__ ((unused)).
7533 Reported by Grégoire Sutre.
7534
b99518d1 75352009-12-19 Carles Pina i Estany <carles@pina.cat>
7536
7537 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
7538 (grub_print_ucs4_alloc): Likewise.
7539 (grub_getstringwidth): Likewise.
7540 * normal/main.c (grub_normal_init_page): Gettextize version string.
7541 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
7542 (getstringwidth): Renamed to ...
7543 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
7544 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
7545 (grub_print_ucs4): Remove `static' qualifer (now used in
7546 normal/main.c).
7547 * po/POTFILES: Add normal/main.c.
7548
bfd5e52b 75492009-12-19 Carles Pina i Estany <carles@pina.cat>
7550
7551 * normal/menu_text.c (STANDARD_MARGIN): New macro.
7552 (print_message_indented): Add `margin_left' and `margin_right'
7553 parameters.
7554 (print_message): Update `print_message_indented' calls. Adds '\n' to the
7555 strings.
7556 (print_timeout): Use `print_message_indented' to print the message.
7557 Deletes `second_stage' parameter.
7558 (run_menu): Update `print_timeout' calls.
7559
5a1ad2b9
VS
75602009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 Fix console palette on OpenFirmware.
7563
7564 * term/ieee1275/ofconsole.c (MAX): Removed.
7565 (colors): Redone based on VGA palette.
7566 (grub_ofconsole_setcolor): Discard brightness bit since only 8
7567 colors are supported.
7568 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
7569
b045f00a
VS
75702009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7571
7572 Fix potential EfiEmu double prepare.
7573
7574 * efiemu/main.c (prepared): New variable
7575 (grub_efiemu_unload): Set prepare to '0'.
7576 (grub_efiemu_prepare): Return if already prepared. Set prepared.
7577
7578 set_virtual_address_map support.
7579
7580 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
7581 prototype.
7582 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
7583 prototype.
7584 (grub_efiemu_crc32): Likewise.
7585 (grub_efiemu_crc64): Likewise.
7586 (grub_efiemu_set_virtual_address_map): Likewise.
7587 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
7588 New definition.
7589 (grub_autoefi_set_virtual_address_map): Likewise.
7590 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
7591 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
7592 Restructure flow to accomodate it.
7593 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
7594 (grub_efiemu_crc): Recompute CRC32.
7595 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
7596 (efiemu_ptv_relocated): ... this. Made global. All users updated.
7597 * efiemu/symbols.c (relocated_handle): New variable.
7598 (grub_efiemu_free_syms): Free relocated_handle.
7599 (grub_efiemu_alloc_syms): Allocate relocated_handle.
7600 (grub_efiemu_write_sym_markers): New function.
7601 (grub_efiemu_set_virtual_address_map): Likewise.
7602
7603 Newer XNU parameters.
7604
7605 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
7606 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
7607 (grub_xnu_fill_devicetree): New prototype.
7608 (grub_xnu_heap_real_start): New variable.
7609 * loader/xnu.c (get_name_ptr): New function.
7610 (grub_xnu_load_driver): Fill namelen and name.
7611
7612 64-bit xnu support.
7613
7614 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
7615 and 'loader/macho64.c'.
7616 * conf/i386-pc.rmk: Likewise.
7617 * conf/x86_64-efi.rmk: Likewise.
7618 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
7619 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
7620 * include/grub/macho.h (grub_macho_segment64): New structure.
7621 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
7622 (grub_macho_size32): ... to this.
7623 (grub_macho32_get_entry_point): Renamed from ...
7624 (grub_macho_get_entry_point32): ... to this.
7625 (grub_macho_contains_macho64): New prototype.
7626 (grub_macho_size64): Likewise.
7627 (grub_macho_get_entry_point64): Likewise.
7628 (grub_macho32_load): Renamed from ...
7629 (grub_macho_load32): ... to this.
7630 (grub_macho32_filesize): Renamed from ...
7631 (grub_macho_filesize32): ... to this.
7632 (grub_macho32_readfile): Renamed from ...
7633 (grub_macho_readfile32): ... to this.
7634 (grub_macho_filesize64): New prototype.
7635 (grub_macho_readfile64): Likewise.
7636 (grub_macho_parse32): Likewise.
7637 (grub_macho_parse64): Likewise.
7638 * loader/macho.c: Split into ...
7639 * loader/machoXX.c: ... and this. Replace 32 with XX.
7640 * loader/macho32.c: New file.
7641 * loader/macho64.c: Likewise.
7642 * loader/xnu.c (grub_xnu_is_64bit): New variable.
7643 (grub_cmd_xnu_kernel): Make 32-bit only.
7644 (grub_cmd_xnu_kernel64): New function.
7645 (grub_xnu_load_driver): Support Mach-O 64.
7646 (grub_cmd_xnu_mkext): Likewise.
7647 * util/grub.d/30_os-prober.in (osx_entry): New function.
7648 Generate entries for 64-bit boot too.
7649
7650 Eliminate ad-hoc tree format in XNU and EfiEmu.
7651
7652 * efiemu/main.c (grub_efiemu_prepare): Update comment.
7653 * efiemu/pnvram.c: Rewritten to use environment variables.
7654 All users updated.
7655
7656 Inline utf16_to_utf8.
7657
7658 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
7659 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
7660 All users updated.
7661 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
7662
7663 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
7664 * commands/usbtest.c (grub_usb_get_string): ... move here.
7665 (usb_print_str): Fix error handling.
7666 * include/grub/usb.h (grub_usb_get_string): Remove.
7667
7668 UTF-8 to UTF-16 transformation.
7669
7670 * conf/common.rmk (pkglib_MODULES): Add charset.mod
7671 (charset_mod_SOURCES): New variable.
7672 (charset_mod_CFLAGS): Likewise.
7673 (charset_mod_LDFLAGS): Likewise.
7674 * include/grub/utf.h: New file.
7675 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
7676
7677 Support for device properties.
7678
7679 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
7680 (grub_xnu_devprop_device_header): Likewise.
7681 (grub_xnu_devprop_device_descriptor): Likewise.
7682 (grub_xnu_devprop_add_device): New prototype.
7683 (grub_xnu_devprop_remove_device): Likewise.
7684 (grub_xnu_devprop_remove_property): Likewise.
7685 (grub_xnu_devprop_add_property_utf8): Likewise.
7686 (grub_xnu_devprop_add_property_utf16): Likewise.
7687 (grub_cpu_xnu_init): Likewise.
7688 (grub_cpu_xnu_fini): Likewise.
7689 (grub_cpu_xnu_unload): Likewise.
7690 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
7691 (property_descriptor): Likewise.
7692 (devices): New variable.
7693 (grub_xnu_devprop_remove_property): New function.
7694 (grub_xnu_devprop_add_device): Likewise.
7695 (grub_xnu_devprop_remove_device): Likewise.
7696 (grub_xnu_devprop_add_property): Likewise.
7697 (grub_xnu_devprop_add_property_utf8): Likewise.
7698 (grub_xnu_devprop_add_property_utf16): Likewise.
7699 (hextoval): Likewise.
7700 (grub_cpu_xnu_fill_devprop): Likewise.
7701 (grub_cmd_devprop_load): Likewise.
7702 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
7703 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
7704 (cmd_devprop_load): New variable.
7705 (grub_cpu_xnu_init): New function.
7706 (grub_cpu_xnu_fini): Likewise.
7707 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
7708 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
7709 (grub_cmd_xnu_devtree): Likewise.
7710 (hextoval): New function.
7711 (unescape): Likewise.
7712 (grub_xnu_fill_devicetree): Likewise.
7713
7714 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
7715 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
7716
0945f181
VS
77172009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 Workaround for broken ATI VBE.
7720
7721 * video/i386/pc/vbe.c (last_set_mode): New variable.
7722 (grub_vbe_set_video_mode): Set 'last_set_mode'.
7723 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
7724 (grub_video_vbe_setup): Don't check for reserved flag.
7725
0ad46fd7 77262009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
7727
7728 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
7729 the `find' command.
7730
c179ebe4
VS
77312009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7732
7733 UUID support for HFS.
7734
7735 * fs/hfs.c (grub_hfs_uuid): New function.
7736 (grub_hfs_fs): New value .uuid.
7737 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
7738
0ad46fd7 77392009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
7740
7741 Fix a segfault with parsing unknown long options.
7742
7743 * util/grub-mkrelpath.c (options): Zero terminate it.
7744
c4a3e41a
CPE
77452009-12-13 Carles Pina i Estany <carles@pina.cat>
7746
7747 * include/grub/misc.h (grub_puts): New declaration.
7748 (grub_puts_): Likewise.
a22008a6 7749 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
7750 (grub_puts_): Likewise.
7751
2e8a7602
RM
77522009-12-13 Robert Millan <rmh.grub@aybabtu.com>
7753
7754 * util/grub-probe.c (probe): Improve error message.
7755
b50b77b9
RM
77562009-12-13 Robert Millan <rmh.grub@aybabtu.com>
7757
7758 * loader/i386/multiboot_elfxx.c
7759 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
7760 initialization.
7761
77622009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7763
7764 Relocator framework
7765
7766 * loader/i386/xnu_helper.S: Removed. All users updated.
7767 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
7768 (relocator_mod_SOURCES): New variable.
7769 (relocator_mod_CFLAGS): Likewise.
7770 (relocator_mod_LDFLAGS): Likewise.
7771 (relocator_mod_ASFLAGS): Likewise.
7772 * conf/x86_64.rmk: Likewise.
7773 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
7774 (grub_multiboot_payload_entry_offset): Likewise.
7775 (grub_multiboot_forward_relocator): Likewise.
7776 (grub_multiboot_forward_relocator_end): Likewise.
7777 (grub_multiboot_backward_relocator): Likewise.
7778 (grub_multiboot_backward_relocator_end): Likewise.
7779 (grub_multiboot_payload_eip): New variable.
7780 (grub_multiboot_payload_orig): Likewise.
7781 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
7782 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
7783 * include/grub/i386/memory.h
7784 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
7785 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
7786 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
7787 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
7788 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
7789 * include/grub/i386/relocator.h: New file.
7790 * include/grub/x86_64/relocator.h: Likewise.
7791 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
7792 (XNU_RELOCATOR): New macro.
7793 (grub_xnu_launcher_start): Remove.
7794 (grub_xnu_launcher_end): Likewise.
7795 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
7796 (grub_xnu_heap_real_start): Remove.
7797 (grub_xnu_heap_start): Change to void *. All users updated.
7798 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
7799 * lib/i386/relocator.c: New file.
7800 * lib/i386/relocator_asm.S: Likewise.
7801 * lib/i386/relocator_backward.S: Likewise.
7802 * lib/mips/relocator.c: Likewise.
7803 * lib/mips/relocator_asm.S: Likewise.
7804 * lib/relocator.c: Likewise.
7805 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
7806 (entry): Removed.
7807 (playground): Likewise.
7808 (grub_multiboot_payload_orig): New variable.
7809 (grub_multiboot_payload_dest): Likewise.
7810 (grub_multiboot_payload_size): Likewise.
7811 (grub_multiboot_payload_eip): Likewise.
7812 (grub_multiboot_payload_esp): Likewise.
7813 (grub_multiboot_boot): Use grub_relocator32_boot.
7814 (grub_multiboot_unload): Free relocators.
7815 (grub_multiboot): Setup stack. Use relocators.
7816 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
7817 (grub_multiboot_load_elfXX): Use relocators.
7818 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
7819 (grub_multiboot_payload_size): Likewise.
7820 (grub_multiboot_payload_dest): Likewise.
7821 (grub_multiboot_payload_entry_offset): Likewise.
7822 (grub_multiboot_forward_relocator): Likewise.
7823 (grub_multiboot_backward_relocator): Likewise.
7824 (grub_multiboot_real_boot): Likewise.
7825 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
7826 (grub_xnu_entry_point): Likewise.
7827 (grub_xnu_arg1): Likewise.
7828 (grub_xnu_stack): Likewise.
7829 (grub_xnu_launch): Removed.
7830 (grub_xnu_boot_resume): New function.
7831 (grub_xnu_boot): Use relocators.
7832 * loader/i386/xnu_helper.S: Removed.
7833 * loader/xnu.c (grub_xnu_heap_start): New variable.
7834 (grub_xnu_heap_size): Likewise.
7835 (grub_xnu_heap_malloc): Use relocators.
7836 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
7837
29eb90c6
VS
78382009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7839
7840 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
7841 anything.
7842
31027430
CPE
78432009-12-13 Carles Pina i Estany <carles@pina.cat>
7844
7845 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
7846 GRUB_ERR_NONE before calling grub_env_set.
7847
dc0c71d9
RM
78482009-12-12 Robert Millan <rmh@aybabtu.com>
7849
7850 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
7851 * genmk.rb (video): New variable.
7852 (CLEANFILES, VIDEOFILES): Add #{video}.
7853 (#{video}): New target rule.
7854 * genvideolist.sh: New file.
7855 * Makefile.in (pkglib_DATA): Add video.lst.
7856 (video.lst): New target rule.
7857 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
7858 `video.lst'.
7859 * util/grub.d/30_os-prober.in: Replace `vbe' with
7860 ${GRUB_VIDEO_BACKEND}.
7861
2a4bfcf0
RM
78622009-12-11 Robert Millan <rmh.grub@aybabtu.com>
7863
7864 * THANKS: Add David Miller.
7865
2a3aa4d5
RM
78662009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
7867
7868 libpciaccess support.
7869
7870 * Makefile.in (LIBPCIACCESS): New variable.
7871 (enable_grub_emu_pci): Likewise.
7872 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
7873 util/pci.c and commands/lspci.c.
7874 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
7875 * configure.ac (grub-emu-pci): New option.
7876 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
7877 (grub_pci_device_unmap_range): Likewise.
7878 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
7879 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
7880 (grub_pci_address_t) [!GRUB_UTIL]: New type.
7881 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
7882 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
7883 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
7884 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
7885 * include/grub/pciutils.h: New file.
7886 * util/pci.c: Likewise.
7887
0ad46fd7 78882009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
7889
7890 * util/misc.c: Don't include <errno.h> twice.
7891
0ad46fd7 78922009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
7893
7894 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
7895 name in an error message.
7896 (grub_biosdisk_rw): Likewise.
7897
2e59983c
VS
78982009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7899
7900 Eliminate NTFS 4Gib barrier.
7901
7902 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
7903 (read_run_data): Likewise.
7904 (grub_ntfs_read_run_list): Likewise.
7905 (grub_ntfs_read_block): Likewise.
7906 (grub_ntfs_iterate_dir): Likewise.
7907 (read_mft): Likewise.
7908 (read_data): Likewise.
7909 Use COM_LOG_LEN.
7910 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
7911 to avoid 64-bit division
7912 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
7913 (grub_ntfs_rlst): Use grub_disk_addr_t.
7914
71ee178a
VS
79152009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7916
7917 Eliminate grub-fstest 4Gib barrier.
7918
7919 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
7920 (read_file): Fix error reporting.
7921
2520d4b8
VS
79222009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7923
7924 Eliminate hexdump 4Gib barrier.
7925
7926 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
7927 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
7928
e1f27065
VS
79292009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7930
7931 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
7932 Fixes amarsh bug.
7933
1a0f7f45
RM
79342009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
7935
7936 Remove miscellaneous files in distclean target.
7937
7938 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
7939
c631d9fb
CW
79402009-12-09 Colin Watson <cjwatson@ubuntu.com>
7941
7942 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
7943 if they're already set. This resolves the conflict between my
7944 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
7945 fixing the --grub-probe option again.
7946 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
7947 change on 2009-10-06, so that we now once again source
7948 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
7949
7c7b6106
RM
79502009-12-08 Robert Millan <rmh.grub@aybabtu.com>
7951
7952 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
7953 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
7954 `util/devicemap.c'.
7955
e3069ec1
CPE
79562009-12-08 Carles Pina i Estany <carles@pina.cat>
7957
7958 * include/grub/misc.h (grub_printf_): New declaration.
7959 * kern/misc.c (grub_printf_): New definition.
7960 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
7961 instead of `grub_printf' and `_'.
7962 * normal/menu_entry.c (store_completion): Likewise.
7963 (run): Likewise.
7964 (grub_menu_entry_run): Likewise.
7965 * normal/menu_text.c (grub_wait_after_message): Likewise.
7966 (notify_booting): Likewise.
7967 (notify_fallback): Likewise.
7968 (notify_execution_failure): Likewise.
7969
d6ceebf1
CW
79702009-12-07 Colin Watson <cjwatson@ubuntu.com>
7971
7972 * configure.ac: Check for vasprintf.
7973 * util/misc.c (asprintf): Move allocation from here ...
7974 (vasprintf): ... to here. New function.
7975 (xasprintf): New function.
7976 * include/grub/util/misc.h (vasprintf, xasprintf): Add
7977 prototypes.
7978 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
7979 * util/grub-mkfont.c (write_font): Likewise.
7980 * util/grub-probe.c (probe): Likewise.
7981 * util/hostdisk.c (make_device_name): Likewise.
7982
de6daa8b
DM
79832009-12-06 David S. Miller <davem@sunset.davemloft.net>
7984
7985 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
7986 anything even prefixed with 'cdrom' as a cdrom.
7987
0ad46fd7 79882009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
7989
7990 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
7991 mount points.
7992
98d3dc02
CPE
79932009-12-05 Carles Pina i Estany <carles@pina.cat>
7994
7995 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
7996 grub_gettext_msg_list.
7997 (grub_gettext_gettranslation_from_position): Return const char *
7998 and not char *.
a2c1332b 7999 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
8000 returns from the list if existing there.
8001 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
8002 (grub_gettext_delete_list): Delete the list.
8003 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
8004 lang environment variable is changed.
8005 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
8006
b283f108
VS
80072009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
8008
8009 Rename kernel.mod to kernel.img.
8010
8011 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
8012 (kernel_mod_EXPORTS): Rename to ...
8013 (kernel_img_EXPORTS): ... this.
8014 (kernel_mod_SOURCES): Rename to ...
8015 (kernel_img_SOURCES): ... this.
8016 (kernel_mod_HEADERS): Rename to ...
8017 (kernel_img_HEADERS): ... this. All users updated.
8018 (kernel_mod_CFLAGS): Rename to ...
8019 (kernel_img_CFLAGS): ... this.
8020 (kernel_mod_ASFLAGS): Rename to ...
8021 (kernel_img_ASFLAGS): ... this.
8022 (kernel_mod_LDFLAGS): Rename to ...
8023 (kernel_img_LDFLAGS): ... this.
8024 * conf/x86_64-efi.rmk: Likewise.
8025 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
8026 (read_kernel_image): ... this. All users updated.
8027 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
8028
69055f8a
CPE
80292009-12-05 Carles Pina i Estany <carles@pina.cat>
8030
8031 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
8032 (print_spaces): New function.
8033 (grub_print_ucs4): New function.
8034 (getstringwidth): New function.
8035 (print_message_indented): New function.
8036 (print_message): Gettexttize strings using print_message_indented.
8037 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
8038 width.
8039 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 8040 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
8041 Gettextize.
8042 * normal/menu_entry.c (store_completion): Cleanup the gettextized
8043 string.
8044 (run): Likewise.
8045 (grub_menu_entry_run): Likewise.
8046 * PO/POTFILES: Add normal/menu_entry.c.
8047
f616f51c
VS
80482009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
8049
8050 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
8051
57bbe3be
CPE
80522009-12-05 Carles Pina i Estany <carles@pina.cat>
8053
8054 * util/grub-install.in: Install gettext .mo files.
8055 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
8056
013d67a1
CPE
80572009-12-05 Carles Pina i Estany <carles@pina.cat>
8058
8059 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
8060 grub_dprintf.
8061
fb954db0
RM
80622009-12-05 Robert Millan <rmh.grub@aybabtu.com>
8063
8064 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
8065 non-firmware-dependant one in realmode.S takes precedence.
8066
6b8474f8
RM
80672009-12-04 Robert Millan <rmh.grub@aybabtu.com>
8068
8069 * commands/halt.c: Replace misc arch-specific headers with
8070 `<grub/misc.h>'.
8071 * commands/reboot.c: Likewise.
8072 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
8073 `<grub/misc.h>'.
8074 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
8075 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
8076 (kernel_img_SOURCES): ... to here.
8077
8078 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
8079 * include/grub/i386/pc/init.h: Likewise.
8080 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
8081 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
8082
8083 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
8084
8085 * include/grub/i386/halt.h: Remove.
8086 * include/grub/i386/reboot.h: Likewise.
8087
8088 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
8089
4b2e6ca2
DM
80902009-12-03 David S. Miller <davem@sunset.davemloft.net>
8091
8092 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
8093 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
8094 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
8095 "progname.h"
8096 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
8097 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8098 (usage): Add missing comma in printf.
8099
5239348f
RM
81002009-12-02 Robert Millan <rmh.grub@aybabtu.com>
8101
8102 Use the same reboot approach on i386 coreboot and qemu as we do on
8103 BIOS.
8104
8105 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
8106 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
8107 * kern/i386/reboot.c: Remove.
8108 * include/grub/i386/reboot.h (grub_reboot): Export function.
8109 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
8110 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
8111 0xf000:0xfff0 instead of 0xffff:0x0000.
8112 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
8113 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
8114
ef34cbd4
RM
81152009-11-30 Robert Millan <rmh.grub@aybabtu.com>
8116
8117 Fix $srcdir != $objdir build.
8118
8119 * Makefile.in (po/%.po): Rewrite as ...
8120 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
8121
dc9837ea
ST
81222009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
8123
8124 Fix GNU/Hurd grub-install crash.
8125 * util/grub-probe.c (probe): Try to access `path' only when it is not
8126 NULL.
8127
2f857f98
VS
81282009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
8129
8130 Correct module naming.
8131
8132 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
8133 (GRUB_MOD_INIT(efi_uga)): ... to this
8134 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
8135 (GRUB_MOD_FINI(efi_uga)): ... to this
8136 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
8137 (GRUB_MOD_INIT(efi_gop)): ... to this
8138 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
8139 (GRUB_MOD_FINI(efi_gop)): ... to this
8140
c5448046
RM
81412009-11-28 Robert Millan <rmh.grub@aybabtu.com>
8142
8143 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
8144 translatable.
8145 (usage): Translate `arg' strings using gettext().
8146 Thanks to Jordi Mallach for the suggestion.
8147
c85184ad
VS
81482009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 GOP support. Based on patch from Bean
8151 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
8152
8153 * video/efi_gop.c: New file.
8154 * include/grub/efi/graphics_output.h: Likewise.
8155 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
8156 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
8157 variables.
8158 * conf/x86_64-efi.rmk: Likewise.
8159
8a4c48d8
VS
81602009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
8161
8162 Rename efi_fb to efi_uga.
8163
8164 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
8165 'efi_uga.mod'.
8166 (efi_fb_mod_SOURCES): Rename this ...
8167 (efi_uga_mod_SOURCES): ... to this.
8168 (efi_fb_mod_CFLAGS): Rename this ...
8169 (efi_uga_mod_CFLAGS): ... to this.
8170 (efi_fb_mod_LDFLAGS): Rename this ...
8171 (efi_uga_mod_LDFLAGS): ... to this.
8172 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
8173 'efi_uga.mod'.
8174 (efi_fb_mod_SOURCES): Rename this ...
8175 (efi_uga_mod_SOURCES): ... to this.
8176 (efi_fb_mod_CFLAGS): Rename this ...
8177 (efi_uga_mod_CFLAGS): ... to this.
8178 (efi_fb_mod_LDFLAGS): Rename this ...
8179 (efi_uga_mod_LDFLAGS): ... to this.
8180 * video/efi_fb.c: Move this ...
8181 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
8182
fb6c1a7b
RM
81832009-11-27 Robert Millan <rmh.grub@aybabtu.com>
8184
8185 * po/README: New file. Explain our PO file workflow.
8186
3bc7896c
RM
81872009-11-27 Robert Millan <rmh.grub@aybabtu.com>
8188
8189 * po/ChangeLog: Remove. Move relevant entries back to ...
8190 * ChangeLog: ... here.
8191 * po/ca.po: Remove (now handled by TLP).
8192 * po/id.po: Likewise.
8193 * po/zh_CN.po: Likewise.
8194 * Makefile.in (LINGUAS): Initialize in a way that supports
8195 empty set.
8196
9ed4841d
RM
81972009-11-27 Robert Millan <rmh.grub@aybabtu.com>
8198
8199 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
8200 reliing on po/LINGUAS.
8201 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
8202 (po/%.po): ... this.
8203
0ad46fd7 82042009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
8205
8206 * util/i386/efi/grub-mkimage.c: Include "progname.h".
8207 (main): Use `program_name' instead of nonexistent `progname'.
8208
e30dd392
FZ
82092009-11-26 Felix Zielcke <fzielcke@z-51.de>
8210
8211 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
8212 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
8213
7656de4f
RM
82142009-11-26 Robert Millan <rmh.grub@aybabtu.com>
8215
8216 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
8217 commit.
8218 * conf/i386-efi.rmk: Likewise.
8219 * conf/i386-ieee1275.rmk: Likewise.
8220 * conf/powerpc-ieee1275.rmk: Likewise.
8221 * conf/sparc64-ieee1275.rmk: Likewise.
8222 * conf/x86_64-efi.rmk: Likewise.
8223
db77c4d4
FZ
82242009-11-26 Felix Zielcke <fzielcke@z-51.de>
8225
8226 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
8227
a755bb04
FZ
82282009-11-26 Felix Zielcke <fzielcke@z-51.de>
8229
8230 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
8231
8a4c07fd
RM
82322009-11-26 Robert Millan <rmh.grub@aybabtu.com>
8233
8234 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
8235 (grub_mkdevicemap_SOURCES): New variable.
8236 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
8237 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
8238 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
8239 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
8240 (grub_mkdevicemap_SOURCES): Remove.
8241 * conf/i386-efi.rmk: Likewise.
8242 * conf/i386-ieee1275.rmk: Likewise.
8243 * conf/i386-pc.rmk: Likewise.
8244 * conf/powerpc-ieee1275.rmk: Likewise.
8245 * conf/sparc64-ieee1275.rmk: Likewise.
8246 * conf/x86_64-efi.rmk: Likewise.
8247 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
8248 (usage): Fix strings to use `program_name'.
8249 (main): Initialize gettext.
8250 * util/grub-editenv.c: Likewise.
8251 * util/grub-emu.c: Likewise.
8252 * util/grub-fstest.c: Likewise.
8253 * util/grub-mkdevicemap.c: Likewise.
8254 * util/grub-mkfont.c: Likewise.
8255 * util/grub-mkrelpath.c: Likewise.
8256 * util/grub-pe2elf.c: Likewise.
8257 * util/grub-probe.c: Likewise.
8258 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
8259 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
8260 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8261
8262 * util/misc.c: Include `"progname.h"'.
8263 (progname): Remove variable.
8264 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
8265
6f61ed55
FZ
82662009-11-25 Felix Zielcke <fzielcke@z-51.de>
8267
8268 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
8269 printf and print a newline after the menuentry header line.
8270 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
8271
f022876b
FZ
82722009-11-25 Felix Zielcke <fzielcke@z-51.de>
8273
8274 autoconf >= 2.60 support $(localedir).
8275
8276 * INSTALL: Note that autoconf 2.60 is required.
8277 * configure.ac (AC_PREREQ): Bump to 2.60.
8278 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
8279 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
8280
6717926e
YB
82812009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
8282
8283 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
8284 aclocal is run.
8285
08806a54
RM
82862009-11-25 Robert Millan <rmh.grub@aybabtu.com>
8287
8288 * normal/main.c (grub_normal_read_line): Fix off-by-one
8289 buffer overflow.
8290
13b33fba
RM
82912009-11-25 Robert Millan <rmh.grub@aybabtu.com>
8292
8293 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
8294 "parser.grub" in grub_command_execute() call.
8295
4a8572e9
CPE
82962009-11-24 Carles Pina i Estany <carles@pina.cat>
8297
8298 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
8299 * conf/i386-efi.rmk: Likewise.
8300 * conf/i386-ieee1275.rmk: Likewise.
8301 * conf/i386-pc.rmk: Likewise.
8302 * conf/powerpc-ieee1275.rmk: Likewise.
8303 * conf/sparc64-ieee1275.rmk: Likewise.
8304 * conf/x86_64-efi.rmk: Likewise.
8305 * gettext/gettex.c: Include <grub/i18n.h>.
8306 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
8307 here ...
8308 * include/grub/i18n.h: ... to here
8309 * include/grub/i18n.h: ... to here.
8310 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 8311 (grub_gettext_dummy): Move above user.
4a8572e9 8312
bee48093
FZ
83132009-11-24 Felix Zielcke <fzielcke@z-51.de>
8314
8315 * util/Makefile.in (install-local): Convert a `for' into a normal
8316 shell expansion.
8317
a031e91c
RM
83182009-11-24 Robert Millan <rmh.grub@aybabtu.com>
8319
8320 * autogen.sh: Add automake call.
8321 * config.guess: Remove.
8322 * config.sub: Likewise.
8323 * install-sh: Likewise.
8324
26bec39d
FZ
83252009-11-24 Felix Zielcke <fzielcke@z-51.de>
8326
8327 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
8328
8e2532fd
FZ
83292009-11-24 Felix Zielcke <fzielcke@z-51.de>
8330
8331 * util/Makefile.in (install-local): Convert a make `$(foreach)'
8332 function to a normal shell `for'.
8333
fefa1b7d
FZ
83342009-11-24 Felix Zielcke <fzielcke@z-51.de>
8335
8336 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
8337
4501250b
FZ
83382009-11-24 Felix Zielcke <fzielcke@z-51.de>
8339
8340 * util/grub-mkrelpath.c: New file.
8341 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
8342 (grub_mkrelpath_SOURCES): New variable.
8343 * include/grub/util/misc.h: New function prototype.
8344 * util/misc.c (make_system_path_relative_to_its_root): New function.
8345
8346 * util/grub-mkconfig_lib.in (bindir): New variable.
8347 (grub_mkrelpath): Likewise.
8348 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
8349
8350 * util/probe.c (probe): Make the file path relative to its root.
8351 Change a info message to use the GRUB path. Enable again the
8352 check if we can read the file with GRUB facilities.
8353
8354 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
8355 to its root.
8356
11d9778b
FZ
83572009-11-24 Felix Zielcke <fzielcke@z-51.de>
8358
8359 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
8360 platform.
8361
4465287d
FZ
83622009-11-24 Felix Zielcke <fzielcke@z-51.de>
8363
8364 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
8365 strncmp().
8366
62b47f22
FZ
83672009-11-24 Felix Zielcke <fzielcke@z-51.de>
8368
8369 * util/getroot.c (grub_util_is_dmraid): New function.
8370 (grub_util_get_dev_abstraction): Treat dmraid and multipath
8371 devices as normal ones, not as LVM.
8372
1eafb9b9 83732009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
8374
8375 * conf/common.rmk: Add grub-gettext_lib target and updates
8376 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
8377 LDFLAGS.
8378 * gettext/gettext.c: New file. (Reads mo files).
8379 * include/grub/file.h (grub_file_pread): New prototype.
8380 * include/grub/i18n.h (_): New prototype.
8381 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
8382 prototypes.
8383 * kern/misc.c (grub_gettext_dummy): New function.
8384 * normal/menu_text.c: Include <grub/i18n.h>.
8385 * normal/menu_text.c (print_timeout): Gettexttize string.
8386 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
8387 * po/POTFILES: Add `normal/menu_text.c'.
8388 * po/ca.po: Add new translations.
c3ea6bd4
CPE
8389 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
8390 gettext module and defines locale_dir and lang in grub.cfg.
8391 * NEWS: Add gettext support.
8392
0fdb2568
RM
83932009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8394
8395 * util/hostdisk.c: Include `<grub/i18n.h>'.
8396 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
8397 (make_device_name): Rewrite using asprintf.
8398 (convert_system_partition_to_system_disk): Replace 0 with NULL.
8399 (find_system_device): If a device is not found, generate one just
8400 by reusing the OS path name.
8401 (read_device_map): Make it permissible for device.map not to exist.
8402
f515aa62
RM
84032009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8404
8405 * script/sh/execute.c: Move from here ...
8406 * script/execute.c: ... to here. Update all users.
8407 * script/sh/function.c: Move from here ...
8408 * script/function.c: ... to here. Update all users.
8409 * script/sh/lexer.c: Move from here ...
8410 * script/lexer.c: ... to here. Update all users.
8411 * script/sh/main.c: Move from here ...
8412 * script/main.c: ... to here. Update all users.
8413 * script/sh/parser.y: Move from here ...
8414 * script/parser.y: ... to here. Update all users.
8415 * script/sh/script.c: Move from here ...
8416 * script/script.c: ... to here. Update all users.
8417
f84b481b
RM
84182009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8419
8420 * configure.ac: Detect all `emu' platforms. Define
8421 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
8422 --enable-grub-emu logic. Disable include/grub/machine
8423 symlink on `emu' platforms.
8424
8425 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
8426 * gensymlist.sh.in: Likewise.
8427
8428 * include/grub/i386/coreboot/machine.h: Remove file.
8429 * include/grub/i386/efi/machine.h: Likewise.
8430 * include/grub/i386/ieee1275/machine.h: Likewise.
8431 * include/grub/i386/pc/machine.h: Likewise.
8432 * include/grub/i386/qemu/machine.h: Likewise.
8433 * include/grub/powerpc/ieee1275/machine.h: Likewise.
8434 * include/grub/sparc64/ieee1275/machine.h: Likewise.
8435 * include/grub/x86_64/efi/machine.h: Likewise.
8436
8437 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
8438 * commands/halt.c: Likewise.
8439 * commands/reboot.c: Likewise.
8440 * include/grub/autoefi.h: Likewise.
8441 * include/grub/i386/at_keyboard.h: Likewise.
8442 * include/grub/i386/kernel.h: Likewise.
8443 * include/grub/i386/loader.h: Likewise.
8444 * include/grub/i386/pc/memory.h: Likewise.
8445 * kern/dl.c: Likewise.
8446 * kern/i386/coreboot/init.c: Likewise.
8447 * loader/i386/bsd.c: Likewise.
8448 * loader/i386/linux.c: Likewise.
8449 * loader/multiboot_loader.c: Likewise.
8450 * term/i386/pc/serial.c: Likewise.
8451 * term/usb_keyboard.c: Likewise.
8452
8453 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
8454 `<grub/machine/machine.h>'
8455 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
8456 * util/misc.c: Remove `<grub/machine/machine.h>' and
8457 `<grub/machine/time.h>'.
8458
8459 * Makefile.in (enable_grub_emu): Remove variable.
8460 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
8461
8462 * conf/any-emu.rmk: New file.
8463 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
8464 (grub_emu_init.c): Move from here ...
8465 * conf/any-emu.rmk: ... to here.
8466
8467 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
8468 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
8469 * conf/any-emu.rmk: ... to here.
8470
4efeab03
RM
84712009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8472
8473 * include/grub/parser.h (grub_parser_register): Document need
8474 of `name' parameter.
8475 * normal/main.c (grub_normal_read_line): Simplify prompt string.
8476 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
8477 "sh" to "grub".
8478
ea1dd8bf
RM
84792009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8480
8481 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
8482 `$(XGETTEXT)'.
8483 * include/grub/i18n.h (N_): New macro.
8484 * util/mkisofs/mkisofs.h: Likewise.
8485 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
8486 around N_().
8487 (usage): Use gettext() to translate help strings when printing them.
8488
0c140626
RM
84892009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8490
8491 Based on patch from Bean
8492 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
8493
8494 * video/efi_fb.c: New file.
8495 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
8496 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
8497 variables.
8498 * conf/x86_64-efi.rmk: Likewise.
8499
87d58298
RM
85002009-11-22 Robert Millan <rmh.grub@aybabtu.com>
8501
8502 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
8503 * util/i386/pc/grub-setup.c: Likewise.
8504
994cc3a3
ST
85052009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
8506
8507 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
8508 <hurd/fs.h>
8509 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
8510 file_get_storage_info to implement grub_guess_root_device.
8511
26a61d6a
FZ
85122009-11-21 Felix Zielcke <fzielcke@z-51.de>
8513
8514 * Makefile.in (target): Use make's builtin $(shell) function
8515 instead of calling directly $(SHELL) to create the locale directories,
8516 inside the $(foreach) function.
8517
74ff1dd5
FZ
85182009-11-21 Felix Zielcke <fzielcke@z-51.de>
8519
8520 * util/grub-mkrescue.in: Print an error and usage if output option
8521 has not been given.
8522
0b787d0e
FZ
85232009-11-21 Felix Zielcke <fzielcke@z-51.de>
8524
8525 Patch from Loïc Minier <loic.minier@ubuntu.com>.
8526 * util/grub.d/30_os-prober.in: Cope with Linux entries where
8527 root and /boot are on different devices.
8528
1164b270
RM
85292009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8530
8531 Fix build for srcdir != objdir.
8532
8533 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
8534 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
8535 $(srcdir).
8536 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
8537 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
8538 reference for input.
8539
13774a2f
RM
85402009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8541
8542 * util/grub-mkrescue.in: Use source directory direcly (without copiing
8543 or hardlinking it). Remove -J option, Joliet is not compatible with
8544 multiple source directories.
8545
efda854e
RM
85462009-11-21 Carles Pina i Estany <carles@pina.cat>
85472009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8548
8549 * util/grub-mkrescue.in: Recognize `--override-directory' option.
8550 (process_input_dir): New function. Process an arbitrary input
8551 directory.
8552 Misc adjustments to support both "override mode" and system-wide mode.
8553
6c09890c
FZ
85542009-11-20 Felix Zielcke <fzielcke@z-51.de>
8555
8556 * configure.ac (UNIFONT_BDF): Rename to ...
8557 (FONT_SOURCE): ... this. Update all users.
8558
a797824f
FZ
85592009-11-20 Felix Zielcke <fzielcke@z-51.de>
8560
8561 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
8562 to the list of unifont files to look for.
8563
cd4f42b0
RM
85642009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8565
8566 Patch from Joe Auricchio <jauricchio@gmail.com>
8567 * commands/minicmd.c (grub_mini_cmd_clear): New function.
8568 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
8569 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
8570
393c783d
FZ
85712009-11-19 Felix Zielcke <fzielcke@z-51.de>
8572
8573 * Makefile.in (install-local): Add a missing backslash.
8574
b2f1e327
FZ
85752009-11-19 Felix Zielcke <fzielcke@z-51.de>
8576
8577 * include/grub/x86_64/io.h: New file.
8578
f577f7a0
RM
85792009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8580
8581 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
8582 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
8583 Include `"progname.h"'.
8584 (main): Initialize gettext.
8585 * util/i386/pc/grub-setup.c: Gettexttize.
8586 * util/i386/pc/grub-mkimage.c: Likewise.
8587
8588 * Makefile.in (po/*.po): Redefine as ...
8589 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
8590
3bc7896c
RM
8591 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
8592
c37943b6
RM
85932009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8594
8595 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
8596 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
8597 (program_name): Remove.
8598 (main): Initialize gettext support.
6323f705
RM
8599 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
8600 Include `<libintl.h>'.
8601 (_): New macro.
c37943b6
RM
8602
8603 * util/mkisofs/eltorito.c: Gettexttize.
8604 * util/mkisofs/joliet.c: Likewise.
8605 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
8606 * util/mkisofs/multi.c: Likewise.
8607 * util/mkisofs/rock.c: Likewise.
8608 * util/mkisofs/tree.c: Likewise.
8609 * util/mkisofs/write.c: Likewise.
8610
3bc7896c
RM
8611 * po/POTFILES: Update with new files.
8612
5ce77c6e
RM
86132009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8614
8615 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
8616 * util/mkisofs/iso9660.h: Likewise.
8617 * util/mkisofs/joliet.c: Likewise.
8618 * util/mkisofs/mkisofs.c: Likewise.
8619 * util/mkisofs/mkisofs.h: Likewise.
8620 * util/mkisofs/rock.c: Likewise.
8621 * util/mkisofs/tree.c: Likewise.
8622 * util/mkisofs/write.c: Likewise.
8623
8624 * util/mkisofs/eltorito.c (rcsid): Remove.
8625 * util/mkisofs/hash.c: Likewise.
8626 * util/mkisofs/joliet.c: Likewise.
8627 * util/mkisofs/name.c: Likewise.
8628 * util/mkisofs/rock.c: Likewise.
8629 * util/mkisofs/tree.c: Likewise.
8630 * util/mkisofs/write.c: Likewise.
8631
1dabbc77
RM
86322009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8633
8634 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
8635 instead of static allocation.
8636 * util/mkisofs/match.h: Likewise.
8637
633877cb
RM
86382009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8639
3bc7896c
RM
8640 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
8641 and `util/grub.d/10_linux.in'.
633877cb
RM
8642 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
8643 translatable Shell files.
8644
af1c0c85
RM
86452009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8646
8647 * Makefile.in ($(srcdir)/aclocal.m4): New target.
8648
769ae37b
RM
86492009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8650
8651 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 8652 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
8653 * util/grub.d/10_kfreebsd.in (bindir): New variable.
8654 Add gettext initialization.
8655 (kfreebsd_entry): Make menuentry output translatable.
8656
86572009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8658
8659 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
8660 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
8661 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
8662 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
8663 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 8664 * po/LINGUAS: New file.
769ae37b
RM
8665
86662009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8667
8668 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
8669 other things).
8670 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
8671 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
8672 bindtextdomain() calls for gettext initialization.
8673
86742009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8675
8676 * gnulib/progname.c: New file (imported from Gnulib).
8677 * gnulib/progname.h: Likewise.
8678 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
8679 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
8680 (usage): Replace `progname' with `program_name'.
8681 (main): Use set_program_name() for program name initialization.
8682
86832009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8684
8685 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
8686 from here ...
8687 * Makefile.in (CPPFLAGS): ... to here.
8688
86892009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8690
8691 * aclocal.m4: Move from here ...
8692 * acinclude.m4: ... to here.
8693 * autogen.sh: Add call to `aclocal'.
8694 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
8695
86962009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8697
8698 * Makefile.in (CLEANFILES): Add `po/*.mo'.
8699 (LINGUAS): New variable.
8700 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
8701 (install-local): Install MO files.
8702 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
8703 * include/grub/i18n.h: New file.
3bc7896c
RM
8704 * po/POTFILES: New file.
8705 * po/ca.po: New file.
769ae37b
RM
8706 * util/grub.d/10_linux.in (bindir): New variable.
8707 Add gettext initialization.
8708 (linux_entry): Make menuentry output translatable.
8709 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
8710 (usage): Make --help output translatable.
8711 (main): Initialize gettext.
8712
02c0a6ad
RM
87132009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8714
8715 * import_gcry.py: New file (written by Vladimir with minor
8716 adjustments).
8717 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
8718 ciphers.
8719 * INSTALL: Document that Python is required for bootstrap.
8720
87212009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8722
8723 Import ciphers from libgcrypt 1.4.4.
8724
8725 * lib/libgcrypt/cipher/ChangeLog
8726 * lib/libgcrypt/cipher/ac.c
8727 * lib/libgcrypt/cipher/arcfour.c
8728 * lib/libgcrypt/cipher/bithelp.h
8729 * lib/libgcrypt/cipher/blowfish.c
8730 * lib/libgcrypt/cipher/camellia-glue.c
8731 * lib/libgcrypt/cipher/camellia.c
8732 * lib/libgcrypt/cipher/camellia.h
8733 * lib/libgcrypt/cipher/cast5.c
8734 * lib/libgcrypt/cipher/cipher.c
8735 * lib/libgcrypt/cipher/crc.c
8736 * lib/libgcrypt/cipher/des.c
8737 * lib/libgcrypt/cipher/dsa.c
8738 * lib/libgcrypt/cipher/ecc.c
8739 * lib/libgcrypt/cipher/elgamal.c
8740 * lib/libgcrypt/cipher/hash-common.c
8741 * lib/libgcrypt/cipher/hash-common.h
8742 * lib/libgcrypt/cipher/hmac-tests.c
8743 * lib/libgcrypt/cipher/md.c
8744 * lib/libgcrypt/cipher/md4.c
8745 * lib/libgcrypt/cipher/md5.c
8746 * lib/libgcrypt/cipher/primegen.c
8747 * lib/libgcrypt/cipher/pubkey.c
8748 * lib/libgcrypt/cipher/rfc2268.c
8749 * lib/libgcrypt/cipher/rijndael-tables.h
8750 * lib/libgcrypt/cipher/rijndael.c
8751 * lib/libgcrypt/cipher/rmd.h
8752 * lib/libgcrypt/cipher/rmd160.c
8753 * lib/libgcrypt/cipher/rsa.c
8754 * lib/libgcrypt/cipher/seed.c
8755 * lib/libgcrypt/cipher/serpent.c
8756 * lib/libgcrypt/cipher/sha1.c
8757 * lib/libgcrypt/cipher/sha256.c
8758 * lib/libgcrypt/cipher/sha512.c
8759 * lib/libgcrypt/cipher/tiger.c
8760 * lib/libgcrypt/cipher/twofish.c
8761 * lib/libgcrypt/cipher/whirlpool.c
8762
af2f93ac
RM
87632009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8764
8765 Fix build for systems without error().
8766
8767 * gnulib/error.c: New file (imported from Gnulib).
8768 * gnulib/error.h: Likewise.
8769 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
8770 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
8771 (this variable is now used by error()).
8772
73fb3dd5
FZ
87732009-11-16 Felix Zielcke <fzielcke@z-51.de>
8774
814f5e96
FZ
8775 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
8776 instead of relying that char is signed.
73fb3dd5 8777
a691ca33
VS
87782009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
8781 blocksize different from specified.
8782 (grub_pxefs_read): Likewise.
8783
2af8f0f4
FZ
87842009-11-16 Felix Zielcke <fzielcke@z-51.de>
8785
8786 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
8787
8788 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
8789 (grub_ata_readwrite): Likewise. Update 2 format strings.
8790 (grub_atapi_read): Likewise.
8791
8792 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
8793 * conf/i386.rmk (pkglib_MODULES): ... to here ...
8794 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
8795 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
8796 (ata_mod_LDFLAGS): Move from here ...
8797 * conf/i386.rmk: ... to here ...
8798 * conf/x86_64-efi.rmk: ... and here.
8799 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
8800 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
8801
83bdecaf
RM
88022009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8803
8804 Relicense multiboot.h, with RMS' blessing.
8805
8806 * include/multiboot.h: Change to X11 license.
8807
fd6fd3d7
RM
88082009-11-15 Robert Millan <rmh.grub@aybabtu.com>
8809
8810 Support --version in grub-mkisofs.
8811
8812 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
8813 (OPTION_VERSION): New macro.
8814 (ld_options): Recognize --version.
8815 (usage): Move `program_name' from here ...
8816 (program_name): ... to here. Add `static' qualifier.
8817 (main): Recognize `OPTION_VERSION'.
8818
16a88c49
FZ
88192009-11-15 Felix Zielcke <fzielcke@z-51.de>
8820
8821 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
8822 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
8823
a4158476
RM
88242009-11-14 Robert Millan <rmh.grub@aybabtu.com>
8825
8826 Fix help2man generation for mkisofs.
8827
8828 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
8829 (usage): Send output to stdout (rather than stderr).
8830
fc2208b0
RM
88312009-11-14 Robert Millan <rmh.grub@aybabtu.com>
8832
8833 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
8834 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
8835 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
8836 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
8837 (bin_SCRIPTS): Add `grub-mkfloppy'.
8838 (grub_mkfloppy_SOURCES): New variable.
8839
8840 * util/grub-mkrescue.in: New file.
8841 * util/i386/pc/grub-mkfloppy.in: New file.
8842
8843 * util/i386/coreboot/grub-mkrescue.in: Remove.
8844 * util/i386/pc/grub-mkrescue.in: Remove.
8845
8d0edf4a
RM
88462009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8847
8848 * include/grub/multiboot.h (struct grub_multiboot_header): Move
8849 from here ...
8850 * include/multiboot.h (struct multiboot_header): ... to here. Update
8851 all users.
8852 * include/grub/multiboot.h (struct grub_multiboot_info): Move
8853 from here ...
8854 * include/multiboot.h (struct multiboot_info): ... to here. Update
8855 all users.
8856 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
8857 from here ...
8858 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
8859 Update all users.
8860 * include/grub/multiboot.h (struct grub_mod_list): Move
8861 from here ...
8862 * include/multiboot.h (struct multiboot_mod_list): ... to here.
8863 Update all users.
8864
a73f5969
RM
88652009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8866
8867 * include/multiboot2.h (multiboot_word): Rename from this ...
8868 (multiboot2_word): ... to this. Update all users.
8869 (multiboot_header): Rename from this ...
8870 (multiboot2_header): ... to this. Update all users.
8871 (multiboot_tag_header): Rename from this ...
8872 (multiboot2_tag_header): ... to this. Update all users.
8873 (multiboot_tag_start): Rename from this ...
8874 (multiboot2_tag_start): ... to this. Update all users.
8875 (multiboot_tag_name): Rename from this ...
8876 (multiboot2_tag_name): ... to this. Update all users.
8877 (multiboot_tag_module): Rename from this ...
8878 (multiboot2_tag_module): ... to this. Update all users.
8879 (multiboot_tag_memory): Rename from this ...
8880 (multiboot2_tag_memory): ... to this. Update all users.
8881 (multiboot_tag_unused): Rename from this ...
8882 (multiboot2_tag_unused): ... to this. Update all users.
8883 (multiboot_tag_end): Rename from this ...
8884 (multiboot2_tag_end): ... to this. Update all users.
8885
1c8927f0
RM
88862009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8887
8888 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
8889 this platform we should support Multiboot1 first.
8890
8891 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
8892 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
8893 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
8894
6e1e0d89
RM
88952009-11-12 Robert Millan <rmh.grub@aybabtu.com>
8896
8897 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
8898 of write calls (converting them to fwrite() if they aren't already).
8899 (get_torito_desc): Likewise.
8900 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
8901
7f2b34d8
RM
89022009-11-12 Robert Millan <rmh.grub@aybabtu.com>
8903
8904 * util/i386/pc/grub-install.in: Move from here ...
8905 * util/grub-install.in: ... to here. Update all users.
8906
c0ef3311
CW
89072009-11-11 Colin Watson <cjwatson@ubuntu.com>
8908
8909 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
8910
e1f240ff
RM
89112009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8912
8913 Support for El Torito without floppy emulation.
8914
8915 * util/mkisofs/eltorito.c: Include `<errno.h>'.
8916 (init_boot_catalog): Improve error handling.
8917 (get_torito_desc): Don't use floppy emulation unless requested by
8918 user. Patch boot information table when requested via
8919 `-boot-info-table'.
8920 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
8921 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
8922 (use_boot_info_table): New variables.
8923 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
8924 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
8925 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
8926 `--eltorito-emul-floppy'.
8927 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
8928 and `OPTION_ELTORITO_EMUL_FLOPPY'.
8929 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
8930 (use_boot_info_table, get_731): New prototypes.
8931 * util/mkisofs/write.c (get_731): New function.
8932
af7d4de5
FZ
89332009-11-11 Felix Zielcke <fzielcke@z-51.de>
8934
8935 Fix the generation of the man page.
8936
8937 * util/pc/i386/grub-install.in: Source
8938 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
8939
2c55dbc0
RM
89402009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8941
8942 Large file support for grub-mkisofs.
8943
8944 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
8945 * util/mkisofs/mkisofs.c (next_extent, last_extent)
8946 (session_start): Upgrade type to `uint64_t'. Update all users.
8947 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
8948 (struct directory_entry): Upgrade type of `starting_block' and
8949 `size' to `uint64_t'. Update all users.
8950 (struct deferred): Remove unused structure.
8951 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
8952 Update all users.
8953 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
8954 file is larger than `UINT32_MAX'.
8955 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
8956 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
8957 return value.
8958 (struct deferred_write): Upgrade type of `extent' and `size' to
8959 `uint64_t'. Update all users.
8960 (last_extent_written): Upgrade type to `uint64_t'. Update all
8961 users.
8962 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
8963 Update all users. Upgrade type of `remain' to `int64_t' and
8964 `use' to `size_t'. Use error() to handle fread() errors.
8965 (write_files): Rely on write_one_file() rather than calling
8966 xfwrite() directly.
8967
6a9cead5
FZ
89682009-11-09 Felix Zielcke <fzielcke@z-51.de>
8969
8970 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
8971
4825d790
RM
89722009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8973
8974 * util/mkisofs/fnmatch.c: Remove.
8975 * util/mkisofs/getopt1.c: Likewise.
8976 * util/mkisofs/getopt.c: Likewise.
8977 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
8978 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
8979 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
8980 `gnulib/getopt1.c' and `gnulib/getopt.c'.
8981 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
8982
8983 * configure.ac: Detect `mingw32msvc' host_os.
8984 Check for lstat(), getuid() and getgid().
8985
8986 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
8987 instances of `u_char' with `uint8_t'.
8988
8989 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
8990 [!HAVE_GETUID] (getuid): New function (stub).
8991 [!HAVE_GETGID] (getgid): Likewise.
8992 [!HAVE_LSTAT] (lstat): Likewise.
8993 [!S_IROTH] (S_IROTH): New macro (dummy).
8994 [!S_IRGRP] (S_IRGRP): Likewise.
8995
84b860d8
RM
89962009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8997
8998 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
8999 conditional expression).
9000
66e9b712
RM
90012009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9002
9003 Import from Gnulib.
9004
9005 * gnulib/fnmatch.c: New file.
9006 * gnulib/fnmatch.h: Likewise.
9007 * gnulib/fnmatch_loop.c: Likewise.
9008 * gnulib/getopt.c: Likewise.
9009 * gnulib/getopt.h: Likewise.
9010 * gnulib/getopt1.c: Likewise.
9011 * gnulib/getopt_int.h: Likewise.
9012 * gnulib/gettext.h: Likewise.
9013
34f4a5b0
RM
90142009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9015
9016 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
9017 * normal/handler.c (read_handler_list): Likewise.
9018
ac451143
RM
90192009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9020
9021 Misc cleanup.
9022
9023 * kern/command.c (grub_register_command_prio): Use
9024 grub_zalloc() instead of explicitly zeroing data.
9025 * kern/list.c: Include `<grub/mm.h>'.
9026 (grub_named_list_find): Replace `0' with `NULL'.
9027 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
9028 (fs_module_list): Change type to `grub_named_list_t'. Update all
9029 users.
9030 * normal/dyncmd.c (read_command_list): Add space between function
9031 call and parenthesis.
9032 * normal/handler.c (read_handler_list): Likewise.
9033
4089b167
RM
90342009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9035
9036 * normal/auth.c (punishment_delay): Moved from here ...
9037 (grub_auth_strcmp): ... to here (inside function).
9038
325f5037
RM
90392009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9040
9041 * include/grub/list.h (struct grub_named_list): Remove `const'
9042 qualifier from `name'.
9043 (struct grub_prio_list): Likewise.
9044
7aea29a3
RM
90452009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9046
9047 * normal/auth.c: Include `<grub/time.h>'.
9048 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
9049
3fd6f044
RM
90502009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9051
9052 * normal/auth.c (punishment_delay): New variable.
9053 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
9054 (grub_auth_check_authentication): Punish failed login attempts with
9055 an incremental (2^N) delay.
9056
a4cd68e4
RM
90572009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9058
9059 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
9060 path with $(srcdir).
9061
7ad12f43
VS
90622009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9063
9064 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
9065
c1129f03
RM
90662009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9067
9068 * util/i386/coreboot/grub-mkrescue.in: New file.
9069 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
9070 variables.
9071
9072 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
9073 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
9074 * configure.ac: Add header and function checks to satisfy grub-mkisofs
9075 requirements.
9076 * util/mkisofs/defaults.h: New file.
9077 * util/mkisofs/eltorito.c: Likewise.
9078 * util/mkisofs/exclude.h: Likewise.
9079 * util/mkisofs/fnmatch.c: Likewise.
9080 * util/mkisofs/getopt.c: Likewise.
9081 * util/mkisofs/getopt1.c: Likewise.
9082 * util/mkisofs/hash.c: Likewise.
9083 * util/mkisofs/include/fctldefs.h: Likewise.
9084 * util/mkisofs/include/mconfig.h: Likewise.
9085 * util/mkisofs/include/prototyp.h: Likewise.
9086 * util/mkisofs/include/statdefs.h: Likewise.
9087 * util/mkisofs/iso9660.h: Likewise.
9088 * util/mkisofs/joliet.c: Likewise.
9089 * util/mkisofs/match.c: Likewise.
9090 * util/mkisofs/match.h: Likewise.
9091 * util/mkisofs/mkisofs.c: Likewise.
9092 * util/mkisofs/mkisofs.h: Likewise.
9093 * util/mkisofs/multi.c: Likewise.
9094 * util/mkisofs/name.c: Likewise.
9095 * util/mkisofs/rock.c: Likewise.
9096 * util/mkisofs/tree.c: Likewise.
9097 * util/mkisofs/write.c: Likewise.
9098
ec8bb77d
VS
90992009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
9102 being insecure.
9103
3716b12c
RM
91042009-11-08 Robert Millan <rmh.grub@aybabtu.com>
9105
9106 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
9107 `grub-mkimage' (and use $0 when possible).
9108
b97b7b91
RM
91092009-11-08 Robert Millan <rmh.grub@aybabtu.com>
9110
9111 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
9112 error message for excessively large memory map.
9113
04114812
RM
91142009-11-08 Robert Millan <rmh.grub@aybabtu.com>
9115
9116 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
9117 executable bit.
9118
e4eb2373
RM
91192009-11-08 Robert Millan <rmh.grub@aybabtu.com>
9120
9121 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
9122 message for coreboot users.
9123
c926e1d5 91242009-11-07 Robert Millan <rmh.grub@aybabtu.com>
9125
9126 Fix build with GNU gold.
9127
9128 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
9129 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
9130 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
9131 link addresses.
9132 * aclocal.m4: Likewise.
9133
86e5b1db 91342009-11-04 Felix Zielcke <fzielcke@z-51.de>
9135
9136 * configure.ac (AC_PREREQ): Bump to 2.59d.
9137 * INSTALL: Make it more clear when Autoconf and Ruby are
9138 needed and when to run `./autogen.sh'.
9139
246cd78f 91402009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
9141
9142 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
9143 OSes.
9144
4f9dfb37 91452009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
9146
9147 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
9148
b82bd5e1 91492009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
9150
9151 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
9152 giving it to GNU Mach.
9153
ff1a9bca 91542009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
9155
9156 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
9157 GNU partition number to get internal GRUB partition number.
9158
61697d9c 91592009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
9160
9161 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
9162 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
9163
a50569e1 91642009-11-01 Robert Millan <rmh.grub@aybabtu.com>
9165
9166 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
9167 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
9168 case.
9169
5b153867 91702009-11-01 Felix Zielcke <fzielcke@z-51.de>
9171
9172 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
9173
d9e2cd70 91742009-10-30 Robert Millan <rmh.grub@aybabtu.com>
9175
9176 Fix build problem.
9177
9178 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
9179 `-isystem=$(srcdir)/include'.
9180
805111a4 91812009-10-30 Robert Millan <rmh.grub@aybabtu.com>
9182
9183 * util/i386/pc/grub-install.in: Remove hint that device.map should be
9184 checked (grub-install doesn't currently rely on it).
9185
fa6e945f 91862009-10-29 Robert Millan <rmh.grub@aybabtu.com>
9187
9188 Revert SVN r2660.
9189
9190 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
9191 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
9192 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
9193 * conf/i386-ieee1275.rmk: Likewise.
9194 * conf/i386-pc.rmk: Likewise.
9195 * conf/powerpc-ieee1275.rmk: Likewise.
9196 * conf/sparc64-ieee1275.rmk: Likewise.
9197 * conf/x86_64-efi.rmk: Likewise.
9198
cee15086 91992009-10-28 Robert Millan <rmh.grub@aybabtu.com>
9200
9201 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
9202
95b9239e 92032009-10-28 Robert Millan <rmh.grub@aybabtu.com>
9204
9205 * include/grub/misc.h: Stop checking for APPLE_CC.
9206
2ed19dfd 92072009-10-28 Robert Millan <rmh.grub@aybabtu.com>
9208
9209 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
9210 doesn't cause an infinite call loop.
9211
fdcdde19 92122009-10-28 Felix Zielcke <fzielcke@z-51.de>
9213
9214 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
9215 strings.
9216
cefabfe1 92172009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9218
9219 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
9220 variable.
9221 * Makefile.in: Likewise.
9222
ed96ab6d 92232009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9224
9225 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
9226
0579b753 92272009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9228
9229 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
9230
478df409 92312009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9232
9233 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
9234
083d1679 92352009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9236
9237 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
9238 from here ...
9239 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
9240
5947ae32 92412009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9242
9243 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
9244 in $(MAKEINFO) invocation. This makes it clear in output that
9245 errors are being ignored.
9246
94180ff6 92472009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9248
9249 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
9250 from here ...
9251 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
9252 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
9253 * conf/i386-ieee1275.rmk: Likewise.
9254 * conf/i386-pc.rmk: Likewise.
9255 * conf/powerpc-ieee1275.rmk: Likewise.
9256 * conf/sparc64-ieee1275.rmk: Likewise.
9257 * conf/x86_64-efi.rmk: Likewise.
9258
9031b03a 92592009-10-26 Colin Watson <cjwatson@ubuntu.com>
9260
9261 * util/grub-editenv.c (main): If only a command is given, use
9262 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
9263 (usage): FILENAME is now optional and has a default.
9264
e4f6809b 92652009-10-26 Colin Watson <cjwatson@ubuntu.com>
9266
9267 Improve grub-mkconfig performance when there are several menu
9268 entries on a single filesystem.
9269
9270 * util/grub.d/10_linux.in (linux_entry): Cache the output of
9271 prepare_grub_to_access_device.
9272 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
9273 * util/grub.d/30_os-prober.in: Likewise.
9274
67937d4d 92752009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9276
9277 * util/grub.d/10_freebsd.in: Remove.
9278 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
9279 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
9280
ee3756cc 92812009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9282
5c35048e 9283 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 9284
4dea1c6f 92852009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9286
9287 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
9288 grub_util_error() call.
9289
042484d7 92902009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9291
9292 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
9293 `reserved_first_sector' member.
9294 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
9295 `reserved_first_sector' to 1.
9296 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
9297 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
9298 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
9299 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
9300 filesystems which begin at first sector.
9301 (options): New option --skip-fs-probe.
9302 (main): Handle --skip-fs-probe and pass it to setup().
9303
d64448a7 93042009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9305
9306 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
9307 (memset): Fix function prototype.
9308
508d42ec 93092009-10-25 Robert Millan <rmh.grub@aybabtu.com>
93102009-10-25 Vasily Averin <vvs@parallels.com>
9311
9312 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
9313 `dirent.direntlen == 0'.
9314
b240e30c 93152009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9316
9317 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
9318 `cpio'.
9319 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
9320
346e7fbe 93212009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9322
9323 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
9324 `__trampoline_setup' and `__ucmpdi2'.
9325 * include/grub/powerpc/libgcc.h: Only export symbols for functions
9326 that libgcc provides.
9327
cdb308b0 93282009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9329
9330 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
9331 * include/grub/sparc64/libgcc.h (memset): Likewise.
9332 * include/grub/misc.h (memset, memcmp): New function prototypes.
9333
fb26abc2 93342009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9335
9336 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
9337 `cpio'.
9338 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
9339
f6693890 93402009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9341
9342 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
9343 * docs/grub.cfg: Compensate for recent change in multiboot
9344 loader (since 2009-08-14 it won't pass filename to payload).
9345 * util/grub.d/10_hurd.in: Likewise.
9346
0933cdc0 93472009-10-21 Felix Zielcke <fzielcke@z-51.de>
9348
9349 * config.guess: Update to latest version from config git
9350 repository.
9351 * config.sub: Likewise.
9352
3b2fe8c2 93532009-10-20 Robert Millan <rmh.grub@aybabtu.com>
9354
9355 Fix build on sparc64.
9356
9357 * configure.ac: Perform checks for libgcc symbols before
9358 adding `-nostdlib' to LDFLAGS.
9359
46695a62 93602009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9361
9362 Let user specify OpenBSD root device.
9363
9364 * loader/i386/bsd.c (openbsd_root): New variable.
9365 (openbsd_opts): New option 'root'.
9366 (OPENBSD_ROOT_ARG): New macro.
9367 (grub_openbsd_boot): Use 'openbsd_root'.
9368 (grub_cmd_openbsd): Fill 'openbsd_root'.
9369
d2b6b7fc 93702009-10-16 Robert Millan <rmh.grub@aybabtu.com>
9371
9372 * NEWS: Misc adjustments.
9373
421bd7ac 93742009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
9377
f1d29d87 93782009-10-16 Robert Millan <rmh.grub@aybabtu.com>
9379
9380 * configure.ac: Bump version to 1.97.
9381
6f3cd880 93822009-10-16 Colin Watson <cjwatson@ubuntu.com>
9383
9384 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
9385 -mno-3dnow on x86 architectures. Some toolchains enable these
9386 features by default, but they rely on registers that aren't enabled
9387 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
9388
035f7122 93892009-10-15 Robert Millan <rmh.grub@aybabtu.com>
9390
9391 Make entry text a bit more readable.
9392
9393 * util/grub.d/10_linux.in: Add `with' before `Linux'.
9394
44998e58 93952009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
9398
cd2851b3 93992009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9400
9401 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
9402 operations.
9403
c6f3b249 94042009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9405
9406 * configure.ac: Add missing dollar.
9407
6b5886ba 94082009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9409
9410 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
9411
9412 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
9413 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
9414 exports.
9415 * include/grub/sparc64/libgcc.h: Likewise. Use
9416 preprocessor conditionals.
9417
e9d66f6d 94182009-10-14 Robert Millan <rmh.grub@aybabtu.com>
9419
9420 * conf/common.rmk (grub-dumpbios): Remove rule.
9421 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
9422 * util/grub-dumpbios.in: Remove file.
9423
9155bc17 94242009-10-14 Robert Millan <rmh.grub@aybabtu.com>
9425
9426 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
9427 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
9428
9429 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
9430 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
9431 users.
9432
9433 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
9434 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
9435 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
9436 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
9437 users.
9438
bf7f7a18 94392009-10-12 Robert Millan <rmh.grub@aybabtu.com>
9440
9441 * term/tparm.c: Switch to GPLv3.
9442
86564c26 94432009-10-09 Robert Millan <rmh.grub@aybabtu.com>
9444
9445 * include/grub/i386/cpuid.h: Add header protection.
9446
5c936493 94472009-10-09 Robert Millan <rmh.grub@aybabtu.com>
9448
9449 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
9450
9451 * include/grub/i386/cpuid.h: New file.
9452 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
9453 (has_longmode): Rename to ...
9454 (grub_cpuid_has_longmode): ... this. Update all users. Remove
9455 `static' attribute.
9456 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
9457 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
9458 on a CPU that doesn't implement AMD64 instruction set.
9459
186e7cf2 94602009-10-06 Colin Watson <cjwatson@ubuntu.com>
9461
9462 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
9463 that version.texi is rebuilt on version number changes.
9464
83b65c4a 94652009-10-06 Colin Watson <cjwatson@ubuntu.com>
9466
9467 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
9468 Fixes bug #27602.
9469
d244281c 94702009-10-06 Colin Watson <cjwatson@ubuntu.com>
9471
9472 * util/i386/pc/grub-install.in: Source
9473 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
9474 that the --grub-probe option will work.
9475 * util/sparc64/ieee1275/grub-install.in: Likewise.
9476
da25306d 94772009-10-05 Robert Millan <rmh.grub@aybabtu.com>
9478
9479 * configure.ac: Bump version to 1.97~beta4.
9480
e8ee83c0 94812009-10-03 Robert Millan <rmh.grub@aybabtu.com>
9482
9483 Resync grub-mkdevicemap in x86_64-efi.
9484
9485 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
9486 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
9487 `util/devicemap.c'.
9488
50dcabcf 94892009-10-01 Colin Watson <cjwatson@ubuntu.com>
9490
9491 * util/grub-editenv.c (create_envblk_file): Write new block with a
9492 .new suffix and then rename it into place, to ensure atomic
9493 creation.
9494
0e51c3a7 94952009-09-28 Robert Millan <rmh.grub@aybabtu.com>
9496
9497 Do not automatically install headers.
9498
9499 * Makefile.in (include_DATA): Remove. Update all users.
9500
31299a95 95012009-09-26 Robert Millan <rmh.grub@aybabtu.com>
9502
9503 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
9504 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
9505
9506 * util/osdetect.lua: Remove.
9507 * script/lua/lauxlib.c: Likewise.
9508 * script/lua/ldebug.c: Likewise.
9509 * script/lua/grub_main.c: Likewise.
9510 * script/lua/lauxlib.h: Likewise.
9511 * script/lua/ldebug.h: Likewise.
9512 * script/lua/ltablib.c: Likewise.
9513 * script/lua/liolib.c: Likewise.
9514 * script/lua/lstrlib.c: Likewise.
9515 * script/lua/lualib.h: Likewise.
9516 * script/lua/ldo.c: Likewise.
9517 * script/lua/ldump.c: Likewise.
9518 * script/lua/ldo.h: Likewise.
9519 * script/lua/loslib.c: Likewise.
9520 * script/lua/lundump.c: Likewise.
9521 * script/lua/grub_lib.c: Likewise.
9522 * script/lua/ldblib.c: Likewise.
9523 * script/lua/lundump.h: Likewise.
9524 * script/lua/lmem.c: Likewise.
9525 * script/lua/grub_lib.h: Likewise.
9526 * script/lua/lmathlib.c: Likewise.
9527 * script/lua/lstate.c: Likewise.
9528 * script/lua/ltm.c: Likewise.
9529 * script/lua/lvm.c: Likewise.
9530 * script/lua/lmem.h: Likewise.
9531 * script/lua/lstate.h: Likewise.
9532 * script/lua/ltm.h: Likewise.
9533 * script/lua/ltable.c: Likewise.
9534 * script/lua/lvm.h: Likewise.
9535 * script/lua/llex.c: Likewise.
9536 * script/lua/lgc.c: Likewise.
9537 * script/lua/grub_lua.h: Likewise.
9538 * script/lua/loadlib.c: Likewise.
9539 * script/lua/lfunc.c: Likewise.
9540 * script/lua/lopcodes.c: Likewise.
9541 * script/lua/lparser.c: Likewise.
9542 * script/lua/ltable.h: Likewise.
9543 * script/lua/llex.h: Likewise.
9544 * script/lua/lgc.h: Likewise.
9545 * script/lua/lfunc.h: Likewise.
9546 * script/lua/lbaselib.c: Likewise.
9547 * script/lua/lopcodes.h: Likewise.
9548 * script/lua/lparser.h: Likewise.
9549 * script/lua/lzio.c: Likewise.
9550 * script/lua/linit.c: Likewise.
9551 * script/lua/lobject.c: Likewise.
9552 * script/lua/llimits.h: Likewise.
9553 * script/lua/lstring.c: Likewise.
9554 * script/lua/lzio.h: Likewise.
9555 * script/lua/lapi.c: Likewise.
9556 * script/lua/lcode.c: Likewise.
9557 * script/lua/lua.h: Likewise.
9558 * script/lua/lobject.h: Likewise.
9559 * script/lua/lstring.h: Likewise.
9560 * script/lua/lapi.h: Likewise.
9561 * script/lua/lcode.h: Likewise.
9562 * script/lua/luaconf.h: Likewise.
9563
cb8a2c38 95642009-09-26 Colin Watson <cjwatson@ubuntu.com>
9565
9566 * docs/grub.texi (Command-line and menu entry commands): Document
9567 date and echo commands.
9568
6b9b6276 95692009-09-24 Pavel Roskin <proski@gnu.org>
9570
9571 * include/grub/kernel.h (struct grub_module_header): Remove
9572 `grub_module_header_types'. Make `type' unsigned. Make `size'
9573 32-bit on all platforms.
9574 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
9575 8-bit field. Use grub_host_to_target32() for `size'.
9576 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
9577 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
9578 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
9579
4e5a02a7 95802009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9581
9582 Fix "lost keypress" bug in at_keyboard.
9583
9584 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
9585 Checks for readyness of input buffer (without flushing it).
9586 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
9587 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
9588
c6dcedf6 95892009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9590
9591 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
9592 size check within GRUB_MACHINE_PCBIOS section.
9593
74c958b1 95942009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9595
9596 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
9597 return value.
9598 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
9599 KEYBOARD_ISREADY check.
9600 (grub_at_keyboard_checkkey): Rename to ...
9601 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
9602 Remove gratuitous cast.
9603
ff420223 96042009-09-23 Colin Watson <cjwatson@ubuntu.com>
9605
9606 * configure.ac: Call AC_PROG_MKDIR_P.
9607 * Makefile.in (docs/stamp-vti): Create docs directory. Create
9608 version.texi in $(builddir) rather than $(srcdir).
9609 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
9610 to makeinfo's @include search path.
9611
d96875df 96122009-09-23 Felix Zielcke <fzielcke@z-51.de>
9613
9614 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
9615
9b3f8365 96162009-09-23 Felix Zielcke <fzielcke@z-51.de>
9617
9618 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
9619 for `*.dpkg-new'.
9620
c44c90db 96212009-09-21 Colin Watson <cjwatson@ubuntu.com>
9622
9623 Build info documentation. Some code borrowed from Automake.
9624
9625 * configure.ac: Check for makeinfo.
9626 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
9627 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
9628 docs/version.texi.
9629 (MOSTLYCLEANFILES): Add vti.tmp.
9630 (docs/version.texi, docs/stamp-vti): Update automatically.
9631 (docs/grub.info): Build info documentation. Use --force and ignore
9632 errors for now.
9633 (all-local): Add $(INFOS).
9634 (install-local): Install info files.
9635 (uninstall): Uninstall info files.
9636 * docs/version.texi: Remove from revision control. This file is
9637 automatically generated on build now.
9638 * gendistlist.sh: Add `*.info'.
9639
e0b37bb5 96402009-09-21 Felix Zielcke <fzielcke@z-51.de>
9641
9642 * kern/term.c: Fix indentation.
9643
5a78865b 96442009-09-21 Felix Zielcke <fzielcke@z-51.de>
9645
9646 * util/hostdisk.c: Fix a comment.
9647
dace7e8a 96482009-09-20 Robert Millan <rmh.grub@aybabtu.com>
9649
9650 Fix regression introduced in r2539.
9651
9652 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
9653 to 0xA1.
9654
a83d079b 96552009-09-19 Colin Watson <cjwatson@ubuntu.com>
9656
9657 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 9658 os-prober. Under normal operation, it does not print anything to
9659 stderr; if it does, we need to debug it, and throwing away stderr
9660 makes that excessively difficult.
a83d079b 9661
be94a509 96622009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
9663
9664 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
9665
63f745e8 96662009-09-16 Robert Millan <rmh.grub@aybabtu.com>
9667
9668 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
9669 AC_LANG_PROGRAM from autoconf.
9670 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
9671 prototypes (fixes warning).
9672
9673 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
9674 `--disable-werror' was used.
9675
bbb2a70f 96762009-09-16 Robert Millan <rmh.grub@aybabtu.com>
9677
9678 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
9679 uninitialized `lastaddr'.
9680
77c24f1d 96812009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9682
0f0b8c87 9683 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 9684
07197f23 96852009-09-14 Colin Watson <cjwatson@ubuntu.com>
9686
9687 * commands/test.c (get_fileinfo): Return immediately if
9688 grub_fs_probe fails.
9689
dabf1798 96902009-09-14 José Martínez <xosemp@gmail.com>
9691
9692 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
9693
d52109a7 96942009-09-14 Colin Watson <cjwatson@ubuntu.com>
9695
9696 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
9697 output.
9698
56532179 96992009-09-13 Robert Millan <rmh.grub@aybabtu.com>
9700
9701 * configure.ac: Remove --enable-grub-pe2elf. Only build
9702 grub-pe2elf when needed by the build system itself.
9703 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
9704
8ef070f5 97052009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9706
9707 * configure.ac: Bump version to 1.97~beta3.
9708 * docs/version.texi: Likewise.
9709
61229557 97102009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9711
9712 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
9713 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
9714 from here ...
9715 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
9716 (grub_linux_setup_video): ... to here (with some adjustments).
9717
5c9f8d84 97182009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9719
9720 Fix memory corruption issue (spotted by Colin Watson).
9721
9722 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
9723 causing returned size to be stored in an incorrect memory location.
9724 Fix use of uninitialized value when storing the returned size.
9725
e8f5d6e9 97262009-09-12 Yves Blusseau <blusseau@zetam.org>
9727
9728 Change clean rules to properly remove files
9729
9730 * genmk.rb: add new clean rules
9731 * Makefile.in (clean): add the new targets
9732 (mostlyclean): likewise
9733
cda2a409 97342009-09-11 Colin Watson <cjwatson@ubuntu.com>
9735
9736 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
9737 to grub_uint64_t.
9738 * fs/ntfs.c (init_file): Understand 64-bit sizes for
9739 non-resident files.
9740
86695375 97412009-09-11 Colin Watson <cjwatson@ubuntu.com>
9742
9743 * configure.ac: Don't look for help2man when cross-compiling. Fixes
9744 part of bug #27349.
9745
8aa1541a 97462009-09-10 Felix Zielcke <fzielcke@z-51.de>
9747
9748 * util/grub-mkconfig.in: Make the created config mode 400 and
9749 print a warning if it fails.
9750
48d9bb0a 97512009-09-10 Robert Millan <rmh.grub@aybabtu.com>
9752
9753 * util/grub.d/40_custom.in: Ask user to type custom entries below
9754 comment, rather than below 'exec tail' line.
9755
3b0521be 97562009-09-10 Colin Watson <cjwatson@ubuntu.com>
9757
9758 * util/grub.d/40_custom.in: Make sure that the explanatory text is
9759 visible in grub.cfg.
9760
50051d55 97612009-09-10 Colin Watson <cjwatson@ubuntu.com>
9762
9763 * util/grub.d/40_custom.in: Make it a little clearer how to use this
9764 file.
9765
c0d34387 97662009-09-10 Felix Zielcke <fzielcke@z-51.de>
9767
9768 * docs/grub.cfg: Add an example menu entry for memtest86+.
9769
80a608f3 97702009-09-09 Felix Zielcke <fzielcke@z-51.de>
9771
a2094832 9772 * config.guess: Update to latest version from config git.
80a608f3 9773 * config.sub: Likewise.
9774
99423078 97752009-09-08 Colin Watson <cjwatson@ubuntu.com>
9776
9777 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
9778 unknown-command case. Fixes bug #27320.
9779
44454e4c 97802009-09-08 Felix Zielcke <fzielcke@z-51.de>
9781
9782 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
9783 `help' if the command exists.
9784
e30d87ad 97852009-09-06 Robert Millan <rmh.grub@aybabtu.com>
9786
9787 * INSTALL: Require GCC 4.1.3 or later.
9788
9a86f1ec 97892009-09-06 Yves Blusseau <blusseau@zetam.org>
9790
9791 * Makefile.in (RMKFILES): add i386-qemu.rmk
9792 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
9793 $(srcdir)/stamp-h.in
9794
7f26d466 97952009-09-05 Robert Millan <rmh.grub@aybabtu.com>
9796
9797 * util/grub-probe.c (probe): Comment out buggy codepath, which
9798 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
9799 should be re-enabled after 1.97.
9800
3a613259 98012009-09-05 Felix Zielcke <fzielcke@z-51.de>
9802
9803 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
9804 find searches for.
9805
197f76c7 98062009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
9807
9808 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
9809 unnecessary calls to grub_error.
9810
70ba68ce 98112009-09-04 Colin Watson <cjwatson@ubuntu.com>
9812
9813 * NEWS: Mention `keystatus' and Unicode fonts.
9814
4ff0d7a4 98152009-09-04 Robert Millan <rmh.grub@aybabtu.com>
9816
9817 * configure.ac: Bump version to 1.97~beta2.
9818 * docs/version.texi: Likewise.
9819
77c55a87 98202009-09-03 Colin Watson <cjwatson@ubuntu.com>
9821
9822 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
9823 containing unwind information in some cases where it previously did
9824 not. Use -fno-dwarf2-cfi-asm if available to restore the old
9825 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
9826 discussion.
9827
f79572cd 98282009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
9829
9830 Embedding loadenv module into grub-emu
9831
9832 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
9833 commands/loadenv.c
9834 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
9835 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
9836 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
9837 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
9838 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
9839 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
9840
93a81088 98412009-09-03 Magnus Granberg <zorry@ume.nu>
9842
9843 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
9844 include -fPIE in the default specs.
9845 * configure.ac: Check if pie_possible is yes and add -fno-PIE
9846 to TARGET_CFLAGS.
9847
160034b2 98482009-09-03 Felix Zielcke <fzielcke@z-51.de>
9849
9850 * INSTALL: Note that GNU Bison 2.3 or later is required.
9851
087c07c4 98522009-09-03 Colin Watson <cjwatson@ubuntu.com>
9853
9854 * kern/i386/pc/startup.S: Fix typo.
9855
cbf978c0 98562009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9857
9858 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
9859 according to GCS.
9860
98612009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 9862
9863 * docs/grub.texi (Naming convention): Describe one-based partition
9864 numbering.
9865 (Device syntax): Likewise.
9866 (File name syntax): Likewise.
9867 (Block list syntax): Likewise.
9868 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
9869 menu.lst.
9870 (File name syntax): Likewise.
9871 (Command-line and menu entry commands): Document acpi, blocklist,
9872 crc, export, insmod, keystatus, ls, set, and unset commands.
9873
f3e8cdfd 98742009-09-02 Colin Watson <cjwatson@ubuntu.com>
9875
9876 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
9877 to avoid implying that only one of --shift, --ctrl, or --alt may be
9878 used.
9879
c0bc232b 98802009-09-02 Colin Watson <cjwatson@ubuntu.com>
9881
9882 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
9883 rather than comparing against S_IFREG, which will almost never work.
9884
aa0f752d 98852009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
9886
9887 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
9888 (write_blocklists): Likewise.
9889
ecb3166a 98902009-09-01 Colin Watson <cjwatson@ubuntu.com>
9891
9892 * script/lua/grub_lua.h (fputs): Supply a format string as the first
9893 argument to grub_printf.
9894
c403a125 98952009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 9896
9897 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 9898 non GNU test.
31aba781 9899
b5e7312c 99002009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9901
9902 * kern/file.c (grub_file_read): Spelling fix
9903
fe00f472 99042009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9905
9906 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
9907 loading of headers in some cases.
9908
cc55302e 99092009-08-30 Robert Millan <rmh.grub@aybabtu.com>
9910
9911 * configure.ac: Bump version to 1.97~beta1.
9912 * docs/version.texi: Likewise.
9913
5c90cdd2 99142009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 9915
9916 * include/grub/i386/xnu.h: Add license header.
9917 include grub/err.h explicitly.
9918
c90edae4 99192009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9920
9921 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
9922 to `ufs' in the vfs.root.mountfrom kernel parameter.
9923
d8888b5c 99242009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9925
9926 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
9927
9928 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
9929 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
9930
9931 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
9932 `ARRAY_SIZE' macro.
9933
6f07b921 99342009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9935
9936 * kern/file.c (grub_file_read): Check offset.
9937 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
9938 * fs/jfs.c (grub_jfs_read_file): Likewise.
9939 * fs/ntfs.c (grub_ntfs_read): Likewise.
9940 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
9941 * fs/minix.c (grub_minix_read_file): Correct offset check.
9942 * fs/ufs.c (grub_ufs_read_file): Likewise.
9943
b4f34077 99442009-08-28 Colin Watson <cjwatson@ubuntu.com>
9945
9946 * term/i386/pc/console.c (bios_data_area): Cast
9947 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
9948
e7c69859 99492009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9950
9951 1-bit optimised blitters.
9952
9953 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
9954 prototype.
9955 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9956 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9957 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9958 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9959 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9960 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9961 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
9962 function.
9963 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9964 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9965 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9966 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9967 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9968 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9969 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
9970 when possible.
9971 * video/video.c (grub_video_get_blit_format): Return
9972 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
9973
a57da43f 99742009-08-28 Colin Watson <cjwatson@ubuntu.com>
9975
9976 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
9977 the first argument to grub_printf.
9978
4cbe67e5 99792009-08-28 Colin Watson <cjwatson@ubuntu.com>
99802009-08-28 Robert Millan <rmh.grub@aybabtu.com>
9981
9982 Add `getkeystatus' terminal method. Add a new `keystatus' command
9983 to query it.
9984
9985 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
9986 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
9987 modifier key bitmasks.
9988 (struct grub_term_input): Add `getkeystatus' member.
9989 (grub_getkeystatus): Add prototype.
9990 * kern/term.c (grub_getkeystatus): New function.
9991
9992 * include/grub/i386/pc/memory.h
9993 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
9994 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
9995 Data Area layout.
9996 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
9997 (grub_console_term_input): Set `getkeystatus' member.
9998 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
9999 constants.
10000 (grub_usb_keyboard_getreport): Likewise.
10001 (grub_usb_keyboard_checkkey): Likewise.
10002 (grub_usb_keyboard_getkeystatus): New function.
10003 (grub_usb_keyboard_term): Set `getkeystatus' member.
10004
10005 * commands/keystatus.c: New file.
10006 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
10007 (keystatus_mod_SOURCES): New variable.
10008 (keystatus_mod_CFLAGS): Likewise.
10009 (keystatus_mod_LDFLAGS): Likewise.
10010 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
10011 commands/keystatus.c.
10012 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10013 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10014 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10015 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10016 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10017 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 10018
6e2a9085 100192009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10020
10021 Split befs.mod and afs.mod into *_be.mod and *.mod
10022
10023 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
10024 (grub_fstest_SOURCES): Likewise.
10025 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
10026 (afs_be_mod_SOURCES): New variable.
10027 (afs_be_mod_CFLAGS): Likewise.
10028 (afs_be_mod_LDFLAGS): Likewise.
10029 (befs_be_mod_SOURCES): Likewise.
10030 (befs_be_mod_CFLAGS): Likewise.
10031 (befs_be_mod_LDFLAGS): Likewise.
10032 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
10033 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10034 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10035 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
10036 (grub_emu_SOURCES): Likewise.
10037 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10038 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10039 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10040 * fs/afs_be.c: New file.
10041 * fs/befs_be.c: New file.
10042 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
10043 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
10044 (U16): Replaced with ...
10045 (grub_afs_to_cpu16): ...this. All users updated.
10046 (U32): Replaced with ...
10047 (grub_afs_to_cpu32): ...this. All users updated.
10048 (U64): Replaced with ...
10049 (grub_afs_to_cpu64): ...this. All users updated.
10050 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
10051 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 10052 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 10053 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
10054 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
10055 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
10056 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
10057 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
10058 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
10059 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
10060 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
10061
32a71655 100622009-08-26 Bean <bean123ch@gmail.com>
10063
10064 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
10065 64-bit number.
10066 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
10067 (grub_xfs_inode_block): Change return type to grub_uint64_t.
10068 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
10069
552bf6c5 100702009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10071
10072 NetBSD memory map support.
10073
10074 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
10075 (grub_netbsd_btinfo_mmap_header): New structure.
10076 (grub_netbsd_btinfo_mmap_entry): Likewise.
10077 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
10078
1ae2078c 100792009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10080
10081 Enable bsd.mod on coreboot.
10082
10083 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
10084 (bsd_mod_SOURCES): New variable.
10085 (bsd_mod_CFLAGS): Likewise.
10086 (bsd_mod_LDFLAGS): Likewise.
10087 (bsd_mod_ASFLAGS): Likewise.
10088 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
10089 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
10090
beefc598 100912009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10092
10093 Cleanup NetBSD root support.
10094
10095 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
10096 grub_bsd_get_device.
10097 Fix typo.
10098
3b76e68b 100992009-08-25 Felix Zielcke <fzielcke@z-51.de>
10100
10101 * util/grub.d/00_header.in: Move check for the video backend of
10102 gfxterm from here ...
10103 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
10104 a suitable video backend.
10105
aea664ea 101062009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10107
10108 Fix breakage in grub-setup.
10109
10110 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
10111 "msdos_partition_map".
10112
ff747d50 101132009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10114
10115 Fix breakage in normal/auth.c.
10116
10117 * normal/auth.c (grub_iswordseparator): New function.
10118
e7e1f93f 101192009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10120
10121 Authentication support.
10122
10123 * commands/password.c: New file.
10124 * conf/common.rmk (pkglib_MODULES): Add password.mod.
10125 (password_mod_SOURCES): New variable.
10126 (password_mod_CFLAGS): Likewise.
10127 (password_mod_LDFLAGS): Likewise.
10128 (normal_mod_SOURCES): Add normal/auth.c.
10129 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
10130 normal/auth.c.
10131 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10132 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10133 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10134 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10135 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10136 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10137 * include/grub/auth.h: New file.
10138 * include/grub/err.h (grub_err_t): New enum value
10139 GRUB_ERR_ACCESS_DENIED.
10140 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
10141 'users'.
10142 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
10143 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
10144 users updated.
10145 * normal/auth.c: New file.
10146 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
10147 (grub_cmdline_run): Don't allow to go to command line without
10148 authentication.
10149 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
10150 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
10151 menuentry without superuser rights.
10152 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
10153 user isn't a superuser.
10154
70f1161d 101552009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10156
10157 Save space by inlining misc.c functions.
10158
10159 * kern/misc.c (grub_iswordseparator): Made static.
10160 * kern/misc.c (grub_strcat): Moved from here ...
10161 * include/grub/misc.h (grub_strcat): ... here. Inlined.
10162 * kern/misc.c (grub_strncat): Moved from here ...
10163 * include/grub/misc.h (grub_strncat): ... here. Inlined.
10164 * kern/misc.c (grub_strcasecmp): Moved from here ...
10165 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
10166 * kern/misc.c (grub_strncasecmp): Moved from here ...
10167 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
10168 * kern/misc.c (grub_isalpha): Moved from here ...
10169 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
10170 * kern/misc.c (grub_isdigit): Moved from here ...
10171 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
10172 * kern/misc.c (grub_isgraph): Moved from here ...
10173 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
10174 * kern/misc.c (grub_tolower): Moved from here ...
10175 * include/grub/misc.h (grub_tolower): ... here. Inlined.
10176
48e40bff 101772009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10178
10179 * script/sh/function.c (grub_script_function_find): Cut error message
10180 not to flood terminal.
10181 * script/sh/lexer.c (grub_script_yylex): Remove command line length
10182 limit.
10183 * script/sh/script.c (grub_script_arg_add): Duplicate string.
10184
c385bfc3 101852009-08-24 Colin Watson <cjwatson@ubuntu.com>
10186
10187 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
10188 `report' grub_uint8_t *.
10189 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
10190 Use a 50-millisecond timeout rather than just repeating
10191 grub_usb_keyboard_getreport 50 times.
10192 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
10193
2d21e3e8 101942009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10195
10196 Rename *_partition_map to part_*
10197
10198 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
10199 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
10200 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
10201 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
10202 All users updated.
10203 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
10204 All users updated.
10205 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
10206 * util/grub-probe.c (probe_partmap): Don't transform partition name
10207 to get module name.
10208
dd103c4e 102092009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10210
10211 Fix OpenBSD and NetBSD support.
10212
10213 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
10214 memory address conflict.
10215 (OPENBSD_MMAP_ACPI): New definition.
10216 (OPENBSD_MMAP_NVS): Likewise.
10217 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
10218 and OPENBSD_MMAP_NVS.
10219 Add memory map terminator
10220 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 10221 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 10222
16c84d74 102232009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10224
10225 Let user specify NetBSD root device.
10226
10227 * loader/i386/bsd.c (netbsd_root): New variable.
10228 (netbsd_opts): New option 'root'.
10229 (NETBSD_ROOT_ARG): New macro.
10230 (grub_netbsd_boot): Use 'netbsd_root'.
10231 (grub_bsd_unload): Free 'netbsd_root'.
10232 (grub_cmd_netbsd): Fill 'netbsd_root'.
10233
adb29902 102342009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10235
10236 Support for 64-bit NetBSD.
10237
10238 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
10239 point when booting non-FreeBSD.
10240
f5ae9f74 102412009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10242
10243 Support --no-smp and --no-acpi for NetBSD.
10244
10245 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
10246 (NETBSD_AB_NOACPI): Likewise.
10247 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
10248 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
10249
de74f136 102502009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10251
10252 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
10253 errors.
10254 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
10255 errors. Call grub_error when needed.
10256
e9a925da 102572009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10258
10259 * commands/search.c (search_fs): Try searching without autoload first.
10260 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
10261 filesystem module explicitly for faster booting.
10262
5174302b 102632009-08-23 Colin Watson <cjwatson@ubuntu.com>
10264
10265 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
10266
c8c80635 102672009-08-23 Colin Watson <cjwatson@ubuntu.com>
10268
10269 * util/grub.d/30_os-prober.in: Disable os-prober if
10270 `GRUB_DISABLE_OS_PROBER' was set to true.
10271
71acf5e5 102722009-08-23 Robert Millan <rmh.grub@aybabtu.com>
10273
10274 * partmap/pc.c: Rename to ...
10275 * partmap/msdos.c: ... this. Update all users.
10276 (grub_pc_partition_map): Rename to ...
10277 (grub_msdos_partition_map): ... this. Update all users.
10278
10279 * parttool/pcpart.c: Rename to ...
10280 * parttool/msdospart.c: ... this. Update all users.
10281
10282 * include/grub/pc_partition.h: Rename to ...
10283 * include/grub/msdos_partition.h: ... this. Update all users.
10284 (grub_pc_partition_bsd_entry): Rename to ...
10285 (grub_msdos_partition_bsd_entry): ... this. Update all users.
10286 (grub_pc_partition_disk_label): Rename to ...
10287 (grub_msdos_partition_disk_label): ... this. Update all users.
10288 (grub_pc_partition_entry): Rename to ...
10289 (grub_msdos_partition_entry): ... this. Update all users.
10290 (grub_pc_partition_mbr): Rename to ...
10291 (grub_msdos_partition_mbr): ... this. Update all users.
10292 (grub_pc_partition): Rename to ...
10293 (grub_msdos_partition): ... this. Update all users.
10294 (grub_pc_partition_is_empty): Rename to ...
10295 (grub_msdos_partition_is_empty): ... this. Update all users.
10296 (grub_pc_partition_is_extended): Rename to ...
10297 (grub_msdos_partition_is_extended): ... this. Update all users.
10298 (grub_pc_partition_is_bsd): Rename to ...
10299 (grub_msdos_partition_is_bsd): ... this. Update all users.
10300
10301 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
10302 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
10303 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
10304 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
10305 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
10306 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
10307 (gpt_mod_LDFLAGS): Rename to ...
10308 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
10309 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
10310 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
10311 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
10312 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
10313 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
10314 (part_gpt_mod_LDFLAGS): ... this.
10315 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
10316 `pcpart.mod' to `msdospart.mod'.
10317 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
10318 to ...
10319 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
10320 (msdospart_mod_LDFLAGS): ... this.
10321
c11fded5 103222009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10323
10324 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
10325 (openbsd_opts): Likewise.
10326 (netbsd_opts): Likewise.
10327 (freebsd_flags): Added 0 terminator.
10328 (openbsd_flags): Likewise.
10329 (netbsd_flags): Likewise.
10330 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
10331 (grub_cmd_freebsd): Transformed into extended command.
10332 (grub_cmd_openbsd): Likewise.
10333 (grub_cmd_netbsd): Likewise.
10334 (cmd_freebsd): Changed type to grub_extcmd_t.
10335 (cmd_openbsd): Likewise.
10336 (cmd_netbsd): Likewise.
10337 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
10338 grub_cmd_openbsd as extended commands.
10339 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
10340 cmd_netbsd and cmd_openbsd
10341
11d1c769 103422009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
10343
10344 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
10345
7a9094e5 103462009-08-21 Pavel Roskin <proski@gnu.org>
10347
5496c37e 10348 * Makefile.in (install-local): When checking if a file is in the
10349 build directory, use "test -e" to detect symlinks.
10350
7a9094e5 10351 * Makefile.in (install-local): Remove all files in
10352 $(DESTDIR)$(pkglibdir) before installing new files there.
10353
e53cea11 103542009-08-18 Felix Zielcke <fzielcke@z-51.de>
10355
10356 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
10357 grub-mkelfimage.
10358
9aced544 103592009-08-18 Felix Zielcke <fzielcke@z-51.de>
10360
10361 * util/grub-mkconfig.in: Don't use gfxterm by default if not
10362 explicitly specified by the user.
10363
b7da6bab 103642009-08-18 Pavel Roskin <proski@gnu.org>
10365
10366 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
10367 grub_uint8_t pointer for data.
10368 * include/grub/fbutil.h (struct grub_video_fbblit_info):
10369 Likewise.
10370 * video/fb/fbutil.c: Remove unnecessary casts.
10371
19f1b335 103722009-08-17 Michal Suchanek <hramrach@centrum.cz>
10373
10374 VBE cleanup.
10375
10376 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
10377 (grub_vbe_set_video_mode): Save active mode info
10378 only after setting the mode.
10379 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
10380 second argument.
10381
2f467aa9 103822009-08-17 Michal Suchanek <hramrach@centrum.cz>
10383
10384 Rename variables for clarity.
10385
10386 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
10387 (active_vbe_mode_info): ... this. All users updated.
10388 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
10389 All users updated.
10390 (initial_mode): Rename to ...
10391 (initial_vbe_mode): ... this. All users updated.
10392 (mode_in_use): Rename to ..
10393 (vbe_mode_in_use): ... this. All users updated.
10394 (mode_list): Rename to ..
10395 (vbe_mode_list): ... this. All users updated.
10396 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
10397 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
10398 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
10399 'mode_list_size' to 'vbe_mode_list_size'.
10400 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
10401 'best_mode_info' to 'best_vbe_mode_info' and
10402 'best_mode' to 'best_vbe_mode'
10403
6025fcd7 104042009-08-17 Michal Suchanek <hramrach@centrum.cz>
10405
10406 Remove duplicate grub_video_fb_get_video_ptr.
10407
10408 * include/grub/fbutil.h (get_data_ptr): Rename to ...
10409 (grub_video_fb_get_video_ptr): ... this.
10410 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
10411 * video/fb/fbutil.c: Add comment about addressing.
10412 (get_data_ptr): Rename to ...
10413 (grub_video_fb_get_video_ptr): ... this. All users updated.
10414 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
10415
cc8c6faf 104162009-08-17 Robert Millan <rmh.grub@aybabtu.com>
10417
10418 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
10419 grub_dprintf() that was just added.
10420
08aa61f0 104212009-08-17 Robert Millan <rmh.grub@aybabtu.com>
10422
10423 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
10424 (DEFAULT_VIDEO_MODE): Remove macros.
10425 (grub_linux_boot): Remove assumption that Linux has FB support,
10426 and use "text" as default video mode.
10427
7cef4f75 104282009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
10429
10430 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
10431 grub_dprintf.
10432 * fs/fat.c (grub_fat_read_data): Likewise.
10433
e1f39873 104342009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10435
10436 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
10437 payload.
10438 (grub_module): Likewise.
10439
c166d79e 104402009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10441
10442 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
10443 mbi->cmdline but free playground.
10444
c60cee8e 104452009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10446
10447 Handle group offset on UFS1.
10448
10449 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
10450 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
10451
c0d8b5d4 104522009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10453
10454 Split ufs.mod into ufs1.mod and ufs2.mod.
10455
10456 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
10457 (grub_fstest_SOURCES): Likewise.
10458 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
10459 (ufs_mod_SOURCES): Remove.
10460 (ufs_mod_CFLAGS): Likewise.
10461 (ufs_mod_LDFLAGS): Likewise.
10462 (ufs1_mod_SOURCES): New variable.
10463 (ufs1_mod_CFLAGS): Likewise.
10464 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 10465 (ufs2_mod_SOURCES): New variable.
10466 (ufs2_mod_CFLAGS): Likewise.
10467 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 10468 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
10469 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
10470 Likewise.
10471 (grub_emu_SOURCES): Likewise.
10472 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10473 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10474 (grub_setup_SOURCES): Likewise.
10475 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10476 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
10477 (grub_setup_SOURCES): Likewise.
10478 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
10479 Likewise.
10480 * fs/ufs2.c: New file.
10481 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
10482
d3539132 104832009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10484
10485 Framebuffer split.
10486
10487 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
10488 subsystem at the end.
10489 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
10490 (video_fb_mod_SOURCES): New variable.
10491 (video_fb_mod_CFLAGS): Likewise.
10492 (video_fb_mod_LDFLAGS): Likewise.
10493 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
10494 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
10495 * video/i386/pc/vbeblit.c: Moved from here ...
10496 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
10497 * video/i386/pc/vbefill.c: Moved from here ...
10498 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
10499 * video/i386/pc/vbeutil.c: Moved from here ...
10500 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
10501 * include/grub/i386/pc/vbeblit.h: Moved from here ...
10502 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
10503 * include/grub/i386/pc/vbefill.h: Moved from here ...
10504 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
10505 * include/grub/i386/pc/vbeutil.h: Moved from here ...
10506 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
10507 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
10508 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
10509 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
10510 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
10511 (grub_video_adapter): Added 'get_info_and_fini'.
10512 (grub_video_get_info_and_fini): New prototype.
10513 (grub_video_set_mode): make modestring const char *.
10514 * loader/i386/linux.c (grub_linux_setup_video): Use
10515 grub_video_get_info_and_fini.
10516 (grub_linux_boot): Move modesetting just before booting.
10517 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
10518 grub_video_get_info_and_fini.
10519 * video/i386/pc/vbe.c: Moved framebuffer part ...
10520 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
10521 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
10522 grub_video_fbstd_colors and grub_video_fb_set_palette.
10523 (grub_video_vbe_init): Clear 'framebuffer' variable and use
10524 grub_video_fb_init.
10525 (grub_video_vbe_fini): Use grub_video_fb_fini.
10526 (grub_video_vbe_setup): Use framebuffer.render_target instead of
10527 render_target and use grub_video_fb_set_active_render_target and
10528 grub_video_fb_set_palette.
10529 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
10530 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
10531 (grub_video_vbe_adapter): Use framebuffer.
10532 * video/video.c (grub_video_get_info_and_fini): New function.
10533 (grub_video_set_mode): Make modestring const char *.
10534 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
10535 values are already initialised.
10536
d404ee56 105372009-08-14 Pavel Roskin <proski@gnu.org>
10538
10539 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
10540 ABS and APPLE_CC.
10541 * boot/i386/pc/diskboot.S: Likewise.
10542 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
10543 sectors allow compilation on MacOSX.
10544 * conf/i386-pc.rmk: Enable unconditional compilation of
10545 lnxboot.img.
10546
9a10df16 105472009-08-13 Colin Watson <cjwatson@ubuntu.com>
10548
10549 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
10550 * util/grub.d/00_header.in: Enter interruptible sleep if
10551 GRUB_HIDDEN_TIMEOUT is set.
10552
be3c9ca7 105532009-08-13 Yves Blusseau <blusseau@zetam.org>
10554
10555 * include/grub/symbol.h: Add the LOCAL macro.
10556 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
10557 starting with "L_".
10558
1f9e557e 105592009-08-13 Pavel Roskin <proski@gnu.org>
10560
9ca62843 10561 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
10562 any modern compilers we support.
10563
1f9e557e 10564 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
10565 Use local labels starting with "L_" so that Apple assembler
10566 knows they are local.
10567
81623db6 105682009-08-10 Robert Millan <rmh.grub@aybabtu.com>
10569
10570 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
10571 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
10572 (bsd_kernel_types): ... this enum.
10573
10574 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
10575 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
10576 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
10577
10578 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
10579 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
10580 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
10581 messages.
10582
f5d35e7a 105832009-08-08 Robert Millan <rmh.grub@aybabtu.com>
10584
10585 * util/grub-dumpdevtree: Moved from here ...
10586 * util/i386/efi/grub-dumpdevtree: ... to here.
10587 (hexify): New function. Converts a string to its hex version.
10588 Generate hex versions of "efi" and "device-properties" by calling
10589 hexify() on the ASCII strings rather than by hardcoding numbers.
10590
d1e1d527 105912009-08-08 Robert Millan <rmh.grub@aybabtu.com>
10592
10593 * fs/jfs.c: Update copyright year.
10594
1ebbe064 105952009-08-08 Felix Zielcke <fzielcke@z-51.de>
10596
10597 * util/grub.d/00_header.in: Fix a comment.
10598 * util/grub.d/10_linux.in: Likewise.
10599 * util/grub.d/10_windows.in: Likewise.
10600 * util/grub.d/10_hurd.in: Likewise.
10601
a78c8d24 106022009-08-08 Felix Zielcke <fzielcke@z-51.de>
10603
10604 * util/grub-mkconfig.in: Allow the user to specify the used font
10605 with GRUB_FONT.
10606
29a6b9e8 106072009-08-08 Pavel Roskin <proski@gnu.org>
10608
b5f16cc4 10609 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
10610 available, xfs.mod needs it now.
10611
2f5cb827 10612 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
10613 the "g" modifier in sed when the intention is to strip something
10614 once. This fixes comparison of kernels with multiple dashes.
10615
29a6b9e8 10616 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
10617 on it. Add missing space before closing bracket. Fix
10618 misleading formatting.
10619
892a3d98 106202009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10621
10622 * docs/grub.texi: Major overhaul. Remove all sections that are
10623 specific to GRUB Legacy, or mostly composed of Legacy-specific
10624 information.
10625
ed94253f 106262009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10627
10628 * docs/version.texi: New file. Provides version information for
10629 grub.texi.
10630
126d6628 106312009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10632
10633 * docs/grub.texi: Update CVS information to SVN.
10634 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
10635
998b5aa9 106362009-08-07 Felix Zielcke <fzielcke@z-51.de>
10637
10638 * util/grub-mkconfig.in: Remove a wrong `fi'.
10639
818e094a 106402009-08-07 Felix Zielcke <fzielcke@z-51.de>
10641
10642 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
10643 (grub_jfs_uuid): New function.
10644 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
10645
b969c52f 106462009-08-07 Felix Zielcke <fzielcke@z-51.de>
10647
10648 * util/grub-mkconfig_lib.in (font_path): Move the functionality
10649 of it to ...
10650 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
10651 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
10652
7a4894cc 106532009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10654
10655 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
10656 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
10657 Update all users.
10658
10659 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
10660 not just "vmlinu[zx]".
10661 Moved from here ...
10662 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
10663 all users.
10664
10665 * util/grub.d/10_linux.in (find_latest): Moved from here ...
10666 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
10667 all users.
10668
4e2171f8 106692009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10670
10671 * util/grub.d/10_freebsd.in: Use an absolute device path for
10672 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
10673
6dcfcb32 106742009-08-06 Felix Zielcke <fzielcke@z-51.de>
10675
10676 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
10677 handling of multiple abstraction modules.
10678
f56a8756 106792009-08-04 Robert Millan <rmh.grub@aybabtu.com>
10680
10681 Fix a bug resulting in black screen when loading Linux using a
10682 packed video mode.
10683
10684 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
10685 function.
10686
10687 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
10688 (grub_vbe_bios_getset_dac_palette_width): New function.
10689 (grub_vbe_bios_get_dac_palette_width)
10690 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
10691 grub_vbe_bios_getset_dac_palette_width()).
10692
10693 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
10694 check for return status.
10695 (grub_vbe_get_video_mode_info): When getting information for a packed
10696 mode (<= 8 bpp), obtain DAC palette width using
10697 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
10698 {red,green,blue}_mark_size.
10699
222671b2 107002009-08-04 Felix Zielcke <fzielcke@z-51.de>
10701
ecb1a6d9 10702 * commands/search.c (options): Fix help output to match actual code.
222671b2 10703
f84114f5 107042009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
10705
10706 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
10707 of homegrown code.
10708
bd288a20 107092009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 10710
10711 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
10712 on XFS or ReiserFS.
10713
8aab5e25 107142009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10715
10716 Support Apple partition map with sector size different from 512 bytes.
10717
10718 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
10719 (apple_partition_map_iterate): Respect 'aheader.blocksize'
10720 and 'apart.partmap_size'.
10721
6ad6258a 107222009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
107232009-08-01 Robert Millan <rmh.grub@aybabtu.com>
10724
10725 Fix cpuid command.
10726
10727 * commands/i386/cpuid.c (options): New variable.
10728 (grub_cmd_cpuid): Return real error.
10729 (GRUB_MOD_INIT(cpuid)): Declare options.
10730
67459bc6 107312009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
10732
10733 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
10734 valid.
10735
fbc6ab54 107362009-07-31 Bean <bean123ch@gmail.com>
10737
10738 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
10739 log2_inode.
10740 (grub_fshelp_node): Move inode field to the end.
10741 (grub_xfs_data): Remove inode field.
10742 (grub_xfs_inode_block): Calculate inode size using sblock.
10743 (grub_xfs_inode_offset): Likewise.
10744 (grub_xfs_read_inode): Calculate inode size using sblock.
10745 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
10746 (grub_xfs_iterate_dir): Calculate inode size using sblock.
10747 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
10748 to match inode size.
10749 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
10750 not accessible when data is null.
10751 (grub_xfs_open): Likewise.
10752
f45d6cfc 107532009-07-31 Bean <bean123ch@gmail.com>
10754
10755 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
10756 Don't change pv->disk if it's already set.
10757
10758 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
10759 (grub_raid_register): ... here.
10760 (grub_raid_rescan): Removed.
10761
10762 * include/grub/raid.h (grub_raid_rescan): Removed.
10763
10764 * util/grub-fstest.c: Remove include file <grub/raid.h>.
10765 (fstest): Replace grub_raid_rescan with module fini function followed
10766 by init function.
10767
10768 * util/grub-probe.c: Add include file <grub/raid.h>.
10769 (probe_raid_level): New function.
10770 (probe): Detect abstraction by walking the disk device, support two
10771 level of abstraction (LVM on RAID) when detecting partition map.
10772
24443b5a 107732009-07-31 Pavel Roskin <proski@gnu.org>
10774
10775 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
10776 to grub_zalloc(), it was erroneous.
10777 Reported by Bean <bean123ch@gmail.com>
10778
a275d9e7 107792009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
10780
10781 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 10782 embedding zone, not only the first one.
a275d9e7 10783
56c5a47f 107842009-07-29 Joe Auricchio <jauricchio@gmail.com>
10785
10786 * term/gfxterm.c (clear_char): New function.
10787 (grub_virtual_screen_setup): Use clear_char.
10788 (scroll_up): Likewise.
10789 (grub_virtual_screen_cls): Likewise.
10790
67bb323a 107912009-07-29 Felix Zielcke <fzielcke@z-51.de>
10792
10793 * util/deviceiter.c (get_acceleraid_disk_name): New static
10794 function.
10795 (grub_util_iterate_devices): Handle Accelraid devices.
10796 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
10797
388a7c75 107982009-07-28 Robert Millan <rmh.grub@aybabtu.com>
10799
10800 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
10801 separator for the suggested gfxpayload string (';' collides with the
10802 parser and needs escaping).
10803
3bb7abcf 108042009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
10805
10806 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
10807 Clear direction flag before jumping to OS.
10808 (grub_multiboot2_real_boot): Likewise.
10809
2ddd36d7 108102009-07-28 Felix Zielcke <fzielcke@z-51.de>
10811
10812 * util/i386/pc/grub-install: Fix parsing of --disk-module
10813 option.
10814
c521b62b 108152009-07-28 Felix Zielcke <fzielcke@z-51.de>
10816
10817 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
10818 when embedding.
10819
880e0a0c 108202009-07-26 Felix Zielcke <fzielcke@z-51.de>
10821
10822 * util/grub-mkconfig.in (package_version): New variable.
10823 Use it do display the version.
10824
2366e356 108252009-07-25 Felix Zielcke <fzielcke@z-51.de>
10826
10827 * kern/file.c (grub_file_open): Revert to previous check with
10828 grub_errno.
10829
7ad8c80e 108302009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10831
10832 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
10833 from help line. It's out of sync with code.
10834
72b9658b 108352009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10836
10837 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
10838 entries on failed boot.
10839
77435277 108402009-07-25 Felix Zielcke <fzielcke@z-51.de>
10841
10842 * kern/file.c (grub_file_open): Fix an error check.
10843
fcaa8b21 108442009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
10845
35d16c74 10846 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
10847 partition map couldn't be identified.
fcaa8b21 10848
48904cd1 108492009-07-23 Pavel Roskin <proski@gnu.org>
10850
ef3c317f 10851 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
10852 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
10853 case of little endian words becomes just an optimization.
10854 Respect const modifier.
ad8ea1f4 10855 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 10856
48904cd1 10857 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
10858 to avoid loss of upper bits if align is unsigned and shorter
10859 than addr.
10860
260c9a89 108612009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
10862
10863 UUID support for UFS
10864
10865 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
10866 (grub_ufs_uuid): New function.
10867 (grub_ufs_fs): add .uuid
10868
f76ce889 108692009-07-21 Pavel Roskin <proski@gnu.org>
10870
10871 * kern/dl.c (grub_dl_check_header): Make static.
10872
6a6cbcaf 108732009-07-21 Felix Zielcke <fzielcke@z-51.de>
10874
10875 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
10876 add drivemap for Vista. It breaks Windows 7.
10877
cffcddb2 108782009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
10879
10880 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
10881 128 bytes
10882
1ef44b80 108832009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10884
10885 Add BFS support
10886
10887 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
10888 (grub_fstest_SOURCES): Likewise.
10889 (pkglib_MODULES): Add befs.mod.
10890 (befs_mod_SOURCES): New variable.
10891 (befs_mod_CFLAGS): Likewise.
10892 (befs_mod_LDFLAGS): Likewise.
10893 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10894 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10895 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10896 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10897 (grub_setup_SOURCES): Likewise.
10898 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10899 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10900 (grub_setup_SOURCES): Likewise.
10901 * fs/befs.c: New file.
10902 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
10903 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
10904 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
10905 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
10906 (B_KEY_INDEX_ALIGN): New declaration.
10907 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
10908 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
10909 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
10910 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
10911 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
10912 (grub_afs_mount) [MODE_BFS]: Likewise.
10913 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
10914 (grub_afs_fs): Use GRUB_AFS_FSNAME
10915 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
10916 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
10917 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
10918 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
10919
4f253044 109202009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
10921
10922 * util/getroot.c (find_root_device): Add support for MacOSX.
10923 * util/hostdisk.c: Likewise.
10924
57a55913 109252009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10926
10927 * font/font.c (find_glyph): Check whether a font is present to avoid
10928 segmentation fault.
75421ca9 10929
109302009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 10931
10932 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
10933
e98cd0c2 109342009-07-20 Pavel Roskin <proski@gnu.org>
10935
10936 * configure.ac: Trim excessively wordy excuses.
10937
1d2d169a 109382009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10939
10940 Add symlink, mtime and label support to AtheFS.
10941
10942 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
10943 (grub_afs_iterate_dir): Handle symlinks.
10944 (grub_afs_open): Use grub_afs_read_symlink.
10945 (grub_afs_dir): Likewise.
10946 Pass mtime.
10947 (grub_afs_label): New function.
10948 (grub_afs_fs): Add grub_afs_label.
10949 (grub_afs_read_symlink): New function.
10950
186f3189 109512009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10952
10953 Fix AtheFS support.
10954
10955 * fs/afs.c: Fix comments style.
10956 (grub_afs_blockrun): Declare as packed.
10957 (grub_afs_datastream): Likewise.
10958 (grub_afs_bnode): Likewise.
10959 (grub_afs_btree): Likewise.
10960 (grub_afs_sblock): Likewise.
10961 Declare `name' as char.
10962 (grub_afs_inode): Declare as packed.
10963 Change void *vnode to grub_uint32_t unused.
10964 (grub_afs_iterate_dir): Check that key_size is positive.
10965 (grub_afs_mount): Don't read superblock twice.
75421ca9 10966 (grub_afs_dir): Don't free node in case of error,
186f3189 10967 grub_fshelp_find_file already handles this.
10968 (grub_afs_open): Likewise.
10969
5680109e 109702009-07-19 Pavel Roskin <proski@gnu.org>
10971
10972 * Makefile.in: Remove LIBLZO and enable_lzo.
10973 * conf/i386-pc.rmk: Remove lzo support.
10974 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
10975 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
10976 support.
10977 * kern/i386/pc/lzo1x.S: Remove.
10978 * kern/i386/pc/startup.S: Remove lzo support.
10979 * util/i386/pc/grub-mkimage.c: Likewise.
10980
ac70fa32 109812009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
10982
10983 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
10984 * fs/xfs.c (grub_xfs_dir): Likewise.
10985 * fs/afs.c (grub_afs_dir): Likewise.
10986 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
10987 (grub_iso9660_open): Likewise.
10988 * fs/jfs.c (grub_jfs_open): Likewise.
10989 * fs/ext2.c (grub_ext2_dir): Likewise.
10990 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
10991 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 10992
eab58da2 109932009-07-16 Pavel Roskin <proski@gnu.org>
10994
d2838156 10995 * configure.ac: Never add "-c" to CFLAGS.
10996
55c70904 10997 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
10998
43e6200c 10999 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
11000 grub_cv_cc_efiemu should be used.
11001
ce7a733d 11002 * configure.ac: Typo fixes.
11003
eab58da2 11004 * kern/mm.c (grub_zalloc): New function.
11005 (grub_debug_zalloc): Likewise.
11006 * include/grub/mm.h: Declare grub_zalloc() and
11007 grub_debug_zalloc().
11008 * util/misc.c (grub_zalloc): New function.
11009 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
11010 instead of grub_malloc(), remove unneeded initializations.
11011 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
11012 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
11013 * commands/parttool.c (grub_cmd_parttool): Likewise.
11014 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
11015 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
11016 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
11017 * disk/usbms.c (grub_usbms_finddevs): Likewise.
11018 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
11019 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
11020 (grub_cmd_efiemu_pnvram): Likewise.
11021 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
11022 * fs/iso9660.c (grub_iso9660_mount): Likewise.
11023 (grub_iso9660_iterate_dir): Likewise.
11024 * fs/jfs.c (grub_jfs_opendir): Likewise.
11025 * fs/ntfs.c (list_file): Likewise.
11026 (grub_ntfs_mount): Likewise.
11027 * kern/disk.c (grub_disk_open): Likewise.
11028 * kern/dl.c (grub_dl_load_core): Likewise.
11029 * kern/elf.c (grub_elf_file): Likewise.
11030 * kern/env.c (grub_env_context_open): Likewise.
11031 (grub_env_set): Likewise.
11032 (grub_env_set_data_slot): Likewise.
11033 * kern/file.c (grub_file_open): Likewise.
11034 * kern/fs.c (grub_fs_blocklist_open): Likewise.
11035 * loader/i386/multiboot.c (grub_module): Likewise.
11036 * loader/xnu.c (grub_xnu_create_key): Likewise.
11037 (grub_xnu_create_value): Likewise.
11038 * normal/main.c (grub_normal_add_menu_entry): Likewise.
11039 (read_config_file): Likewise.
11040 * normal/menu_entry.c (make_screen): Likewise.
11041 * partmap/sun.c (sun_partition_map_iterate): Likewise.
11042 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
11043 * script/sh/script.c (grub_script_parse): Likewise.
11044 * video/bitmap.c (grub_video_bitmap_create): Likewise.
11045 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
11046 * video/readers/png.c (grub_png_output_byte): Likewise.
11047 (grub_video_reader_png): Likewise.
11048
830afef7 110492009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 11050
11051 Enable all targets that can be built by default
11052
830afef7 11053 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 11054 grub-mkfont and grub-fstest if they can be built
11055
ee293aee 110562009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
11057
11058 Fix hang and segmentation fault in grub-emu-usb
11059
11060 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
11061 * util/usb.c (grub_libusb_devices): likewise
11062 (grub_libusb_init): rename to ...
11063 (GRUB_MOD_INIT (libusb)):...this
11064 (grub_libusb_fini): rename to ..
11065 (GRUB_MOD_FINI (libusb)):...this
11066 * disk/usbms.c (grub_usbms_transfer): fix retry logic
11067 * include/grub/disk.h (grub_raid_init): removed, it's useless
11068 (grub_raid_fini): likewise
11069 (grub_lvm_init): likewise
11070 (grub_lvm_fini): likewise
11071 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
11072 by grub_init_all
11073
94414221 110742009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
11075
11076 Fix libusb
11077
11078 * Makefile.in (LIBUSB): new macro
11079 * genmk.rb (Utility/print_tail): new method
11080 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
11081 (top level): call util.print_tail at the end.
11082
59ade63d 110832009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
11084
11085 Make FreeBSD accept zpool.cache
11086
11087 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
11088 type is /boot/zfs/zpool.cache
11089
a58da8c7 110902009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
11091
11092 Fix 64-bit efiemu
11093
11094 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
11095 correct wrong typedef
11096 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
11097
20591577 110982009-07-15 Pavel Roskin <proski@gnu.org>
11099
560ca572 11100 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
11101 * kern/disk.c (struct grub_disk_cache): Likewise.
11102
e8e8e4fd 11103 * commands/probe.c (options): Typo fix.
11104
fde24e10 11105 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
11106 Increase to 0x5a to accommodate FAT32. Adjust other offsets
11107 accordingly.
11108 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
11109
379c54c1 11110 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
11111 the end of "Error" to make the message more readable.
11112
7bd8f5bf 11113 * boot/i386/pc/boot.S (kernel_segment): Remove.
11114 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
11115 for destination.
11116
40b132c5 11117 * boot/i386/pc/boot.S (boot_version): Remove.
11118 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
11119 Remove.
11120
20591577 11121 * include/grub/i386/pc/boot.h: Sort all offsets.
11122 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
11123 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
11124 * boot/i386/pc/boot.S: Assert location of every offset listed in
11125 include/grub/i386/pc/boot.h.
11126
2df32b2c 111272009-07-13 Pavel Roskin <proski@gnu.org>
11128
44b5d879 11129 * include/grub/i386/coreboot/machine.h: Rename
11130 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
11131 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
11132 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
11133
17dc3751 11134 * kern/dl.c: Force native word size to suppress warnings when
11135 compiling grub-emu.
11136
2df32b2c 11137 * kern/device.c (grub_device_iterate): Change struct part_ent to
11138 hold the name, not a pointer to it. Use one grub_malloc() per
11139 partition, not two. Free partition_name if grub_malloc() fails.
11140 Set ents to NULL only before grub_partition_iterate() is called.
11141
75c59f59 111422009-07-11 Bean <bean123ch@gmail.com>
11143
11144 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
11145 childname.
11146
0ae1bf88 111472009-07-10 Bean <bean123ch@gmail.com>
111482009-07-10 Robert Millan <rmh.grub@aybabtu.com>
11149
11150 * kern/ieee1275/openfw.c (grub_children_iterate)
11151 (grub_devalias_iterate): Fix size evaluation for property or path
11152 strings, which was broken since r2132.
11153
8279cade 111542009-07-07 Pavel Roskin <proski@gnu.org>
11155
7d8a52d3 11156 * commands/search.c (search_file): Merge into ...
11157 (search_fs): ... this. Accept search type as argument.
11158 (grub_cmd_search): Pass search type to search_fs().
11159
25f9a05a 11160 * include/grub/util/console.h: New file.
11161 * util/console.c: Use it instead of grub/machine/console.h.
11162 * util/grub-emu.c: Likewise.
11163
8279cade 11164 * lib/arg.c (find_long_option): Remove.
11165 (find_long): Add `len' argument, make `s' const char *.
11166 (grub_arg_parse): Parse long options in place, not in a
11167 temporary buffer.
11168
4a11b60f 111692009-07-06 Pavel Roskin <proski@gnu.org>
11170
99f68041 11171 * commands/search.c (search_fs): Fix potential NULL pointer
11172 dereference.
11173
4a11b60f 11174 * commands/search.c (search_fs): Replace QUID macro with quid_fn
11175 function pointer.
11176
e110f4de 111772009-07-06 Daniel Mierswa <impulze@impulze.org>
11178
11179 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
11180 comparison.
11181
46eeb6a2 111822009-07-05 Pavel Roskin <proski@gnu.org>
11183
bab74958 11184 * include/grub/i386/linux.h (struct linux_kernel_params):
11185 Restore padding3, it's still needed.
11186
46eeb6a2 11187 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
11188 FreeBSD.
11189 * util/osdetect.lua: Likewise.
11190
b4a1dc79 111912009-07-05 Bean <bean123ch@gmail.com>
11192
11193 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
11194
11195 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
11196 (grub_lua_getenv): Likewise.
11197 (grub_lua_setenv): Likewise.
11198 (save_errno): New function.
11199 (push_result): Likewise.
11200 (grub_lua_enum_device): Likewise.
11201 (grub_lua_enum_file): Likewise.
11202 (grub_lua_file_open): Likewise.
11203 (grub_lua_file_close): Likewise.
11204 (grub_lua_file_seek): Likewise.
11205 (grub_lua_file_read): Likewise.
11206 (grub_lua_file_getline): Likewise.
11207 (grub_lua_file_getsize): Likewise.
11208 (grub_lua_file_getpos): Likewise.
11209 (grub_lua_file_eof): Likewise.
11210 (grub_lua_file_exist): Likewise.
11211 (grub_lua_add_menu): Likewise.
11212
11213 * script/lua/grub_lua.h (isupper): New inline function.
11214 (islower): Likewise.
11215 (ispunct): Likewise.
11216 (isxdigit): Likewise.
11217 (strcspn): Change to normal function.
11218 (strpbkr): New function declaration.
11219 (memchr): Likewise.
11220
11221 * script/lua/grub_main.c (scan_str): New function.
11222 (strcspn): Likewise.
11223 (strpbrk): Likewise.
11224 (memchr): Likewise.
11225
11226 * script/lua/linit.c (lualibs): Enable the string library.
11227
11228 * util/osdetect.lua: New file.
11229
2da92295 112302009-07-04 Robert Millan <rmh.grub@aybabtu.com>
11231
11232 * include/grub/i386/linux.h (struct linux_kernel_params): Add
11233 `capabilities' member.
11234
b2582ec9 112352009-07-02 Pavel Roskin <proski@gnu.org>
11236
11237 * genparttoollist.sh: Add missing newline at the end.
11238
32622956 112392009-07-01 Pavel Roskin <proski@gnu.org>
11240
87a7339e 11241 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
11242
d23af54e 11243 * util/hostdisk.c (open_device): Remove `const' from
11244 `sysctl_size', as sysctlbyname() can change it (in this case it
11245 doesn't actually happen).
11246
c94b18a9 11247 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
11248 using signed long int constants.
11249
c6cd3ef0 11250 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
11251 constant to avoid a warning on FreeBSD.
11252
0df63420 11253 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
11254 where it's needed.
11255
999577f1 11256 * Makefile.in: Install include/grub/machine symlink.
11257
6f41557f 11258 * Makefile.in: When installing symlinks, use "cp -fR", which
11259 works on FreeBSD and MacOSX.
11260 From Yves Blusseau <cl7m42e02@sneakemail.com>
11261
c8d22988 11262 * kern/dl.c (grub_dl_resolve_symbol): Make static.
11263 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
11264
1b96e952 11265 * util/misc.c: Move grub_reboot() and grub_halt() ...
11266 * util/grub-emu.c: ... here. Make main_env static.
11267 * include/grub/util/misc.h: Remove main_env.
11268
2ef0084d 11269 * kern/mm.c: Use correct format to print size_t.
11270
32622956 11271 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
11272 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
11273 * kern/powerpc/dl.c: Likewise.
11274 * kern/sparc64/dl.c: Likewise.
11275 * kern/x86_64/dl.c: Likewise.
11276
3f7f0cd0 112772009-07-01 Robert Millan <rmh.grub@aybabtu.com>
11278
11279 Fix grub-emu build on sparc64-ieee1275.
11280
75421ca9 11281 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 11282 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
11283
211d06b5 112842009-07-01 Robert Millan <rmh.grub@aybabtu.com>
11285
11286 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
11287 (grub_reboot, grub_halt): New functions.
11288
11289 * util/i386/pc/misc.c: Delete. Update all users.
11290 * util/sparc64/ieee1275/misc.c: Likewise.
11291 * util/powerpc/ieee1275/misc.c: Likewise.
11292
aaf53e3c 112932009-07-01 Robert Millan <rmh.grub@aybabtu.com>
11294
11295 * conf/i386.rmk (setjmp_mod_SOURCES)
11296 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
11297 * conf/common.rmk (setjmp_mod_SOURCES)
11298 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
11299 to use $(target_cpu).
11300 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
11301 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
11302 * conf/powerpc-ieee1275.rmk: Likewise.
11303 * conf/sparc64-ieee1275.rmk: Likewise.
11304
11305 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
11306 $(target_cpu) for kern/$(target_cpu)/dl.c.
11307 * conf/i386-efi.rmk: Likewise.
11308 * conf/i386-ieee1275.rmk: Likewise.
11309 * conf/x86_64-efi.rmk: Likewise.
11310 * conf/i386-coreboot.rmk: Likewise.
11311 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
11312 $(target_cpu) for kern/$(target_cpu)/dl.c and for
11313 kern/$(target_cpu)/cache.S.
11314 * conf/sparc64-ieee1275.rmk: Likewise.
11315
a337130b 113162009-07-01 Robert Millan <rmh.grub@aybabtu.com>
11317
11318 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
11319 type to `grub_uint8_t', and adjust `padding9' accordingly.
11320
c6fe4d53 113212009-06-29 Robert Millan <rmh.grub@aybabtu.com>
11322
b09db61d 11323 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
11324
c6fe4d53 11325 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
11326 assembly in final jump, using register constraints.
11327
b09db61d 11328 (grub_linux_boot): For text mode, initialize `have_vga' using
11329 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
11330
11331 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
11332 right before the final jump.
11333
11334 Set `video_mode' to 0x3.
11335
11336 Document initialization of `video_page', `video_mode' and
11337 `video_ega_bx'.
11338
28333ad0 113392009-06-29 Robert Millan <rmh.grub@aybabtu.com>
11340
11341 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
11342 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 11343 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 11344
02164e1b 113452009-06-29 Robert Millan <rmh.grub@aybabtu.com>
11346
11347 Fix build on Debian / sparc.
11348
11349 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
11350
18b6c557 113512009-06-28 Pavel Roskin <proski@gnu.org>
11352
85f2aab6 11353 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
11354 fix a warning.
11355
18b6c557 11356 * util/grub.d/10_linux.in: Match SUSE style initrd names.
11357
ad760f81 113582009-06-27 Robert Millan <rmh.grub@aybabtu.com>
11359
11360 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
11361 `err'.
11362
87a4623b 113632009-06-27 Robert Millan <rmh.grub@aybabtu.com>
11364
11365 Revert r2338.
11366
11367 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
11368 file can't be opened. grub_file_open() is already supposed to set
75421ca9 11369 grub_errno / grub_errmsg appropriately.
87a4623b 11370 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11371
8231fb77 113722009-06-27 Pavel Roskin <proski@gnu.org>
113732009-06-27 Robert Millan <rmh.grub@aybabtu.com>
11374
11375 * include/grub/dl.h: Include grub/elf.h.
11376 (struct grub_dl): Add symtab field.
11377 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
11378 GRUB_MODULES_MACHINE_READONLY.
11379 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
11380 of the header for read-only modules.
11381 (grub_dl_unload): Free mod->symtab for read-only modules.
11382 * kern/i386/dl.c: Use mod->symtab.
11383 * kern/powerpc/dl.c: Likewise.
11384 * kern/sparc64/dl.c: Likewise.
11385 * kern/x86_64/dl.c: Likewise.
11386
11387 * conf/i386-qemu.rmk: New file.
11388 * kern/i386/qemu/startup.S: Likewise.
11389 * kern/i386/qemu/mmap.c: Likewise.
11390 * boot/i386/qemu/boot.S: Likewise.
11391 * include/grub/i386/qemu/time.h: Likewise.
11392 * include/grub/i386/qemu/serial.h: Likewise.
11393 * include/grub/i386/qemu/kernel.h: Likewise.
11394 * include/grub/i386/qemu/console.h: Likewise.
11395 * include/grub/i386/qemu/boot.h: Likewise.
11396 * include/grub/i386/qemu/init.h: Likewise.
11397 * include/grub/i386/qemu/machine.h: Likewise.
11398 * include/grub/i386/qemu/loader.h: Likewise.
11399 * include/grub/i386/qemu/memory.h: Likewise.
11400
11401 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
11402 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
11403 [qemu] (pkglib_IMAGES): Add `boot.img'.
11404 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
11405 [qemu] (boot_img_FORMAT): New variables.
11406 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
11407 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
11408 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
11409 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11410 [qemu] (kernel_img_FORMAT): New variables.
11411
11412 * configure.ac: Recognise `i386-qemu'.
11413
11414 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
11415 (for no compression).
11416 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
11417 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
11418 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
11419 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
11420 ifdefs).
11421
97fe384e 114222009-06-27 Pavel Roskin <proski@gnu.org>
11423
11424 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
11425 read.
11426 * efiemu/prepare32.c: Likewise.
11427 * efiemu/prepare64.c: Likewise.
11428
c402ab17 114292009-06-26 Pavel Roskin <proski@gnu.org>
11430
11431 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
11432 * include/grub/elf.h: Define symbols without "32" or "64" based
11433 on GRUB_TARGET_WORDSIZE.
11434 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
11435 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
11436 ELF definitions.
11437 * efiemu/loadcore64.c: Likewise.
11438 * loader/i386/bsd32.c: Likewise.
11439 * loader/i386/bsd64.c: Likewise.
11440 * kern/dl.c: Remove own ELF definitions.
11441 * util/i386/efi/grub-mkimage.c: Likewise.
11442
9bbdfd4d 114432009-06-23 Robert Millan <rmh.grub@aybabtu.com>
11444
11445 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
11446 segment 0x0 unconditionally, because the reference generated by
11447 GAS is an absolute address.
11448
a42ce6e9 114492009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11450
11451 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
11452 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
11453
c952cf92 114542009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11455
11456 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
11457 indexes. Check for -f explicitly.
cc3752ad 11458 (search_file): Improve error message.
11459 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 11460
132a0a59 114612009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11462
11463 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
11464 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
11465
387a140c 114662009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11467
11468 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
11469 * conf/i386-ieee1275.rmk: Likewise.
11470 * conf/i386-coreboot.rmk: Likewise.
11471
11472 * kern/i386/pc/startup.S (grub_stop): Remove function.
11473 * kern/i386/ieee1275/startup.S: Likewise.
11474 * kern/i386/coreboot/startup.S: Likewise.
11475 * kern/i386/misc.S (grub_stop): New function.
11476
41da9665 114772009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11478
11479 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
11480 * kern/i386/realmode.S (real_to_prot): ... to here.
11481
bf337234 114822009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11483
11484 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
11485 with `kernel.img'.
11486 (kernel_elf_SOURCES): Rename to ...
11487 (kernel_img_SOURCES): ... this.
11488 (kernel_elf_HEADERS): Rename to ...
11489 (kernel_img_HEADERS): ... this. Update all users.
11490 (kernel_elf_ASFLAGS): Rename to ...
11491 (kernel_img_ASFLAGS): ... this.
11492 (kernel_elf_CFLAGS): Rename to ...
11493 (kernel_img_CFLAGS): ... this.
11494 (kernel_elf_LDFLAGS): Rename to ...
11495 (kernel_img_LDFLAGS): ... this.
11496 * conf/i386-coreboot.rmk: Likewise.
11497 * conf/powerpc-ieee1275.rmk: Likewise.
11498
11499 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
11500 with "kernel.img".
11501
f52196ff 115022009-06-21 Pavel Roskin <proski@gnu.org>
11503
c3cee413 11504 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
11505 to match nested functions.
11506 * loader/sparc64/ieee1275/linux.c: Likewise.
11507
f52196ff 11508 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
11509
58750afc 115102009-06-21 Robert Millan <rmh.grub@aybabtu.com>
11511
11512 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
11513 all i386 platforms.
11514
15355c7d 115152009-06-21 Robert Millan <rmh.grub@aybabtu.com>
11516
11517 Fix asm file handling on ELF, and remove workarounds.
11518
11519 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 11520 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 11521 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
11522 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
11523
3f3ec72b 115242009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
11525
11526 Load BSD ELF modules
11527
11528 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
11529 and loader/i386/bsd64.c
11530 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
11531 (FREEBSD_MODTYPE_ELF_MODULE): New definition
11532 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
11533 (grub_freebsd_load_elfmodule32): New declaration
11534 (grub_freebsd_load_elfmoduleobj64): Likewise
11535 (grub_freebsd_load_elf_meta32): Likewise
11536 (grub_freebsd_load_elf_meta64): Likewise
11537 (grub_freebsd_add_meta): Likewise
11538 (grub_freebsd_add_meta_module): Likewise
11539 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
11540 (grub_freebsd_add_meta_module): Likewise and move module-specific
11541 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
11542 (grub_cmd_freebsd): Add elf-kernel specific parts
11543 based on grub_freebsd_add_meta_module
11544 (grub_cmd_freebsd_module): Add type parsing moved from
11545 grub_freebsd_add_meta_module
11546 (grub_cmd_freebsd_module_elf): New function
11547 (cmd_freebsd_module_elf): New variable
11548 (GRUB_MOD_INIT): Register freebsd_module_elf
11549 * loader/i386/bsd32.c: New file
11550 * loader/i386/bsd64.c: Likewise
11551 * loader/i386/bsdXX.c: Likewise
11552 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
11553 (grub_elf64_load): Likewise
11554 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
11555 All users updated
11556 (grub_elf64_load_hook_t): Likewise
11557
0db15301 115582009-06-21 Colin Watson <cjwatson@ubuntu.com>
11559
11560 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
11561 variable.
11562 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
11563 don't write a menu entry for recovery mode.
11564
546796c1 115652009-06-20 Robert Millan <rmh.grub@aybabtu.com>
11566
11567 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
11568 after it's no longer needed.
11569
cd7310d5 115702009-06-20 Robert Millan <rmh.grub@aybabtu.com>
11571
11572 * include/grub/i386/loader.h (grub_linux_prot_size)
11573 (grub_linux_tmp_addr, grub_linux_real_addr)
11574 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
11575 GRUB_MACHINE_PCBIOS.
11576 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
11577 common grub_util_info() call to ...
11578 (generate_image): ... here.
11579 Fix use of uninitialized memory, comparison of signed with
11580 unsigned integers and memory leak.
11581 Remove bogus module address message.
11582
ab32d3b5 115832009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11584
11585 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
11586 grub_raid_register
11587 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
11588
024ef597 115892009-06-19 Pavel Roskin <proski@gnu.org>
11590
11591 * configure.ac: Remove stray AC_MSG_CHECKING.
11592
3ac72b51 115932009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
11594
11595 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 11596
e14cd814 115972009-06-18 Pavel Roskin <proski@gnu.org>
11598
11599 * conf/common.rmk: Add fs_file.mod.
11600 * disk/fs_file.c: New file.
11601 * include/grub/disk.h (enum grub_disk_dev_id): Add
11602 GRUB_DISK_DEVICE_FILE_ID.
11603
26586d98 116042009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11605
11606 Fix build with Apple's toolchain. Part 2
11607
11608 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
11609 a fake start
11610
26de2bcd 116112009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11612
11613 Fix build with Apple's toolchain. Part 1
11614
11615 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
11616 for long calls
11617 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 11618 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 11619 Apple's toolchain
11620
09b3490b 116212009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11622
11623 Fix warnings
11624
11625 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
11626 (decomp_block): initialize ch
11627 use grub_memcpy instead of memcpy
11628
c22a006a 116292009-06-17 Pavel Roskin <proski@gnu.org>
11630
d3638678 11631 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
11632 version, use declarations needed to use vga_text as the startup
11633 console.
11634
c22a006a 11635 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
11636 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
11637 the kernel.
11638 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
11639 and grub_at_keyboard_fini(), it's done on module load and
11640 unload.
11641
05b129e0 116422009-06-17 Felix Zielcke <fzielcke@z-51.de>
11643
11644 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
11645 file can't be found.
11646 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11647
cf24ed9e 116482009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
11649
11650 Fix newline handling
11651
11652 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 11653 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 11654 (grub_script_yylex): don't segfault on unterminated script
11655 newline terminates command and variable
11656
74aa8e4b 116572009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
11658
11659 avoid double grub_adjust_range call. Bug reported by David Simner
11660
11661 * kern/disk.c (grub_disk_write): change to raw disk access before
11662 calling disk_read
11663
1bd265f3 116642009-06-17 Colin Watson <cjwatson@ubuntu.com>
11665
11666 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
11667 spaces, for the benefit of help2man.
11668 * util/i386/efi/grub-mkimage.c (usage): Likewise.
11669
a2d08c06 116702009-06-16 Pavel Roskin <proski@gnu.org>
11671
11672 * kern/i386/halt.c: Include grub/machine/init.h.
11673 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
11674
b97bcb19 116752009-06-16 Felix Zielcke <fzielcke@z-51.de>
11676
11677 * util/grub.d/30_os-prober.in: Use ${root} in the generated
11678 drivemap menuentry.
11679
0644f96c 116802009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
11681
11682 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
11683 `echo' command.
11684
3ef17a2e 116852009-06-16 Pavel Roskin <proski@gnu.org>
11686
11687 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
11688 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
11689 save %dx, we only need %dl and we never change it.
11690 * boot/i386/pc/cdboot.S: Don't set the root drive.
11691 * boot/i386/pc/pxeboot.S: Likewise.
11692 * include/grub/i386/pc/boot.h: Remove
11693 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
11694 GRUB_BOOT_MACHINE_DRIVE_CHECK.
11695 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
11696 * kern/i386/pc/init.c (make_install_device): Remove references
11697 to grub_root_drive.
11698 * kern/i386/pc/startup.S: Likewise.
11699 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
11700
693fe637 117012009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
11702
11703 xnu_uuid command
11704
11705 * commands/xnu_uuid.c: new file
11706 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
11707 (xnu_uuid_mod_SOURCES): new variable
11708 (xnu_uuid_mod_CFLAGS): likewise
11709 (xnu_uuid_mod_LDFLAGS): likewise
11710 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
11711 * conf/i386-ieee1275.rmk: likewise
11712 * conf/i386-pc.rmk: likewise
11713 * conf/powerpc-ieee1275.rmk: likewise
11714 * conf/sparc64-ieee1275.rmk: likewise
11715 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
11716
c9da87d0 117172009-06-16 Pavel Roskin <proski@gnu.org>
11718
11719 * configure.ac: Avoid '==' in test command, it's not portable.
11720
9c6f4596 117212009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
11722
11723 Probe command
11724
11725 * commands/probe.c: new file
11726 * conf/common.rmk (pkglib_MODULES): add probe.mod
11727 (probe_mod_SOURCES): new variable
11728 (probe_mod_CFLAGS): likewise
11729 (probe_mod_LDFLAGS): likewise
11730 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
11731 * conf/i386-ieee1275.rmk: likewise
11732 * conf/i386-pc.rmk: likewise
11733 * conf/powerpc-ieee1275.rmk: likewise
11734 * conf/sparc64-ieee1275.rmk: likewise
11735
70b7f9fd 117362009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
11737
11738 Fix handling of string like \"hello\" and "a
11739 b"
11740
11741 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
11742 (grub_script_yylex): fix parsing of quoting, escaping and newline
11743
71c79a6b 117442009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
11745
dd74360c 11746 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 11747 handling
dd74360c 11748
0644f96c 117492009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 11750
11751 * util/grub-mkconfig.in: Fix parsing of --output option.
11752
e40893c3 117532009-06-12 Pavel Roskin <proski@gnu.org>
11754
11755 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
11756 genmk.rb don't need to be generated or installed.
11757
3a1acfe2 117582009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11759
11760 * commands/i386/pc/drivemap_int13h.S: add more comments
11761
3a4575d4 117622009-06-11 Pavel Roskin <proski@gnu.org>
11763
0658e928 11764 * Makefile.in (uninstall): Uninstall manuals.
11765
ca0388f0 11766 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
11767 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
11768 and update-grub_lib in two places.
11769 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
11770
e3b27c39 11771 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
11772 a compiler warning.
11773
3a4575d4 11774 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
11775 `entry_lo' to fix variable shadowing.
11776
af1f4f55 117772009-06-11 Christian Franke <franke@computer.org>
11778
11779 * kern/misc.c (__enable_execute_stack): Add missing return type
11780 to prevent gcc warning.
11781
5225e649 117822009-06-11 Felix Zielcke <fzielcke@z-51.de>
11783
11784 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
11785
7d83bd47 117862009-06-11 Pavel Roskin <proski@gnu.org>
11787
c1cb63ba 11788 * Makefile.in: Don't rely on any scripts being executable.
11789 Always use $(SHELL) to run shell scripts.
11790
7d83bd47 11791 * configure.ac: Always define ___main if using -nostdlib. This
11792 fixes tests on Cygwin.
11793
948f48e7 117942009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
11795
11796 UDF fix
11797
7d83bd47 11798 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 11799 is in bytes and not in blocks
7d83bd47 11800
8ada9bc1 118012009-06-11 Pavel Roskin <proski@gnu.org>
11802
11803 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
11804 warning.
11805
25ad2323 118062009-06-11 Felix Zielcke <fzielcke@z-51.de>
11807
11808 * util/grub.d/30_os-prober.in: Fix a comment. Source
11809 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
11810 to set the root device. Place drivemap command in the generated
11811 chain entry.
11812
e65acb0c 118132009-06-11 Pavel Roskin <proski@gnu.org>
11814
11815 * configure.ac: Remove host_m32. Issues with 64-bit utilities
11816 have long been resolved.
11817
f285fe2d 118182009-06-11 Colin Watson <cjwatson@ubuntu.com>
11819
bd47b0b5 11820 * util/grub.d/10_linux.in: Capitalise "Linux".
11821
f285fe2d 11822 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
11823
a0c62e4e 118242009-06-11 Pavel Roskin <proski@gnu.org>
11825
b6783cb2 11826 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
11827 fix a gcc warning and ensure that the function won't ever exit.
11828
dde032e8 11829 * kern/i386/ieee1275/init.c: Add missing prototype for
11830 grub_stop_floppy().
11831
22cd079d 11832 * loader/ieee1275/multiboot2.c [__i386__]: Include
11833 grub/cpu/multiboot.h.
11834
a0c62e4e 11835 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
11836 casts to short - they are not portable and cause warnings. Fix
11837 use of uninitialized values in input_buf. Use ARRAY_SIZE.
11838
63963d17 118392009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
11840
11841 Drivemap fixes
11842
11843 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
11844 new function
11845 (grub_get_root_biosnumber_saved): new variable
11846 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
11847 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 11848 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 11849 %dx after the call if necessary
11850 * conf/common.rmk (pkglib_MODULES): remove boot.mod
11851 (boot_mod_SOURCES): remove
11852 (boot_mod_CFLAGS): remove
11853 (boot_mod_LDFLAGS): remove
11854 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
11855 (boot_mod_SOURCES): new variable
11856 (boot_mod_CFLAGS): likewise
11857 (boot_mod_LDFLAGS): likewise
11858 * conf/i386-efi.rmk: likewise
11859 * conf/i386-ieee1275.rmk: likewise
11860 * conf/i386-pc.rmk: likewise
11861 * conf/powerpc-ieee1275.rmk: likewise
11862 * conf/sparc64-ieee1275.rmk: likewise
11863 * conf/x86_64-efi.rmk: likewise
11864 * include/grub/i386/pc/biosnum.h: new file
11865 * lib/i386/pc/biosnum.c: likewise
11866 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
11867 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
11868 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 11869
33abf7ae 118702009-06-10 Pavel Roskin <proski@gnu.org>
11871
5ac35b35 11872 * io/gzio.c (test_header): Don't reuse one buffer for all data.
11873 Use separate variables. Read only the file size at the end, but
11874 not the checksum that we don't use.
11875
5c5215d5 11876 * kern/file.c (grub_file_read): Use void pointer for the buffer.
11877 Adjust all callers.
11878
27d5fef7 11879 * kern/ieee1275/openfw.c: Remove libc includes.
11880 * kern/ieee1275/cmain.c: Likewise.
11881 * include/grub/ieee1275/ieee1275.h: Likewise.
11882
33abf7ae 11883 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
11884 compiler warnings.
11885
19d50c2b 118862009-06-10 Felix Zielcke <fzielcke@z-51.de>
11887
11888 * Makefile.in: Remove all trailing whitespace.
11889 * conf/i386-pc.rmk: Likewise.
11890 * conf/powerpc-ieee1275.rmk: Likewise.
11891 * conf/sparc64-ieee1275.rmk: Likewise.
11892 * docs/grub.texi: Likewise.
11893 * docs/texinfo.tex: Likewise.
11894 * disk/fs_uuid.c: Likewise.
11895 * disk/lvm.c: Likewise.
11896 * disk/scsi.c: Likewise.
11897 * disk/ata.c: Likewise.
11898 * disk/ieee1275/ofdisk.c: Likewise.
11899 * disk/i386/pc/biosdisk.c: Likewise.
11900 * disk/host.c: Likewise.
11901 * disk/raid.c: Likewise.
11902 * disk/efi/efidisk.c: Likewise.
11903 * disk/usbms.c: Likewise.
11904 * disk/memdisk.c: Likewise.
11905 * disk/loopback.c: Likewise.
11906 * kern/powerpc/dl.c: Likewise.
11907 * kern/device.c: Likewise.
11908 * kern/dl.c: Likewise.
11909 * kern/sparc64/dl.c: Likewise.
11910 * kern/ieee1275/ieee1275.c: Likewise.
11911 * kern/term.c: Likewise.
11912 * kern/fs.c: Likewise.
11913 * kern/i386/dl.c: Likewise.
11914 * kern/i386/pc/startup.S: Likewise.
11915 * kern/i386/pc/init.c: Likewise.
11916 * kern/i386/pc/mmap.c: Likewise.
11917 * kern/i386/pc/lzo1x.S: Likewise.
11918 * kern/i386/ieee1275/init.c: Likewise.
11919 * kern/i386/realmode.S: Likewise.
11920 * kern/i386/tsc.c: Likewise.
11921 * kern/partition.c: Likewise.
11922 * kern/corecmd.c: Likewise.
11923 * kern/file.c: Likewise.
11924 * kern/efi/efi.c: Likewise.
11925 * kern/efi/init.c: Likewise.
11926 * kern/efi/mm.c: Likewise.
11927 * kern/main.c: Likewise.
11928 * kern/err.c: Likewise.
11929 * kern/env.c: Likewise.
11930 * kern/disk.c: Likewise.
11931 * kern/generic/millisleep.c: Likewise.
11932 * kern/generic/rtc_get_time_ms.c: Likewise.
11933 * kern/misc.c: Likewise.
11934 * kern/parser.c: Likewise.
11935 * genmk.rb: Likewise.
11936 * configure.ac: Likewise.
11937 * boot/i386/pc/diskboot.S: Likewise.
11938 * boot/i386/pc/pxeboot.S: Likewise.
11939 * boot/i386/pc/boot.S: Likewise.
11940 * boot/i386/pc/lnxboot.S: Likewise.
11941 * boot/i386/pc/cdboot.S: Likewise.
11942 * parttool/pcpart.c: Likewise.
11943 * video/readers/tga.c: Likewise.
11944 * video/video.c: Likewise.
11945 * video/bitmap.c: Likewise.
11946 * lib/envblk.c: Likewise.
11947 * lib/i386/setjmp.S: Likewise.
11948 * fs/xfs.c: Likewise.
11949 * fs/afs.c: Likewise.
11950 * fs/fat.c: Likewise.
11951 * fs/ntfs.c: Likewise.
11952 * fs/udf.c: Likewise.
11953 * fs/affs.c: Likewise.
11954 * fs/iso9660.c: Likewise.
11955 * fs/hfs.c: Likewise.
11956 * fs/fshelp.c: Likewise.
11957 * fs/ext2.c: Likewise.
11958 * fs/jfs.c: Likewise.
11959 * fs/reiserfs.c: Likewise.
11960 * fs/hfsplus.c: Likewise.
11961 * fs/minix.c: Likewise.
11962 * fs/cpio.c: Likewise.
11963 * fs/sfs.c: Likewise.
11964 * fs/ufs.c: Likewise.
11965 * efiemu/prepare.c: Likewise.
11966 * efiemu/loadcore_common.c: Likewise.
11967 * efiemu/runtime/efiemu.sh: Likewise.
11968 * efiemu/runtime/efiemu.S: Likewise.
11969 * efiemu/runtime/efiemu.c: Likewise.
11970 * efiemu/pnvram.c: Likewise.
11971 * efiemu/main.c: Likewise.
11972 * efiemu/i386/pc/cfgtables.c: Likewise.
11973 * efiemu/i386/loadcore64.c: Likewise.
11974 * efiemu/i386/loadcore32.c: Likewise.
11975 * efiemu/loadcore.c: Likewise.
11976 * efiemu/symbols.c: Likewise.
11977 * efiemu/mm.c: Likewise.
11978 * include/grub/autoefi.h: Likewise.
11979 * include/grub/datetime.h: Likewise.
11980 * include/grub/term.h: Likewise.
11981 * include/grub/hfs.h: Likewise.
11982 * include/grub/lvm.h: Likewise.
11983 * include/grub/i386/tsc.h: Likewise.
11984 * include/grub/i386/linux.h: Likewise.
11985 * include/grub/i386/xnu.h: Likewise.
11986 * include/grub/i386/efiemu.h: Likewise.
11987 * include/grub/i386/pc/biosdisk.h: Likewise.
11988 * include/grub/i386/pc/memory.h: Likewise.
11989 * include/grub/i386/pc/vbe.h: Likewise.
11990 * include/grub/parttool.h: Likewise.
11991 * include/grub/video.h: Likewise.
11992 * include/grub/memory.h: Likewise.
11993 * include/grub/fs.h: Likewise.
11994 * include/grub/partition.h: Likewise.
11995 * include/grub/xnu.h: Likewise.
11996 * include/grub/efi/api.h: Likewise.
11997 * include/grub/efi/pe32.h: Likewise.
11998 * include/grub/efi/memory.h: Likewise.
11999 * include/grub/multiboot.h: Likewise.
12000 * include/grub/usbdesc.h: Likewise.
12001 * include/grub/multiboot2.h: Likewise.
12002 * include/grub/acpi.h: Likewise.
12003 * include/grub/efiemu/efiemu.h: Likewise.
12004 * include/grub/disk.h: Likewise.
12005 * include/grub/ieee1275/ieee1275.h: Likewise.
12006 * include/grub/net.h: Likewise.
12007 * include/grub/machoload.h: Likewise.
12008 * include/grub/macho.h: Likewise.
12009 * include/multiboot.h: Likewise.
12010 * genmoddep.awk: Likewise.
12011 * normal/main.c: Likewise.
12012 * normal/menu_entry.c: Likewise.
12013 * normal/menu_viewer.c: Likewise.
12014 * normal/completion.c: Likewise.
12015 * normal/cmdline.c: Likewise.
12016 * normal/misc.c: Likewise.
12017 * normal/datetime.c: Likewise.
12018 * bus/usb/usbtrans.c: Likewise.
12019 * bus/usb/ohci.c: Likewise.
12020 * bus/usb/uhci.c: Likewise.
12021 * bus/usb/usb.c: Likewise.
12022 * mmap/efi/mmap.c: Likewise.
12023 * mmap/i386/pc/mmap_helper.S: Likewise.
12024 * mmap/i386/pc/mmap.c: Likewise.
12025 * mmap/i386/mmap.c: Likewise.
12026 * mmap/i386/uppermem.c: Likewise.
12027 * mmap/mmap.c: Likewise.
12028 * commands/acpi.c: Likewise.
12029 * commands/echo.c: Likewise.
12030 * commands/blocklist.c: Likewise.
12031 * commands/loadenv.c: Likewise.
12032 * commands/usbtest.c: Likewise.
12033 * commands/boot.c: Likewise.
12034 * commands/parttool.c: Likewise.
12035 * commands/search.c: Likewise.
12036 * commands/cat.c: Likewise.
12037 * commands/i386/pc/play.c: Likewise.
12038 * commands/i386/pc/drivemap.c: Likewise.
12039 * commands/i386/pc/vbeinfo.c: Likewise.
12040 * commands/i386/pc/acpi.c: Likewise.
12041 * commands/i386/pc/vbetest.c: Likewise.
12042 * commands/ls.c: Likewise.
12043 * commands/cmp.c: Likewise.
12044 * commands/test.c: Likewise.
12045 * commands/efi/acpi.c: Likewise.
12046 * commands/gptsync.c: Likewise.
12047 * commands/help.c: Likewise.
12048 * partmap/amiga.c: Likewise.
12049 * partmap/apple.c: Likewise.
12050 * partmap/acorn.c: Likewise.
12051 * partmap/pc.c: Likewise.
12052 * partmap/sun.c: Likewise.
12053 * partmap/gpt.c: Likewise.
12054 * script/sh/lexer.c: Likewise.
12055 * script/sh/function.c: Likewise.
12056 * font/font.c: Likewise.
12057 * font/font_cmd.c: Likewise.
12058 * loader/powerpc/ieee1275/linux.c: Likewise.
12059 * loader/efi/chainloader.c: Likewise.
12060 * loader/multiboot_loader.c: Likewise.
12061 * loader/macho.c: Likewise.
12062 * loader/i386/multiboot.c: Likewise.
12063 * loader/i386/linux.c: Likewise.
12064 * loader/i386/pc/linux.c: Likewise.
12065 * loader/i386/pc/multiboot2.c: Likewise.
12066 * loader/i386/pc/chainloader.c: Likewise.
12067 * loader/i386/pc/xnu.c: Likewise.
12068 * loader/i386/bsd_trampoline.S: Likewise.
12069 * loader/i386/efi/linux.c: Likewise.
12070 * loader/i386/multiboot_elfxx.c: Likewise.
12071 * loader/i386/bsd_helper.S: Likewise.
12072 * loader/i386/bsd.c: Likewise.
12073 * loader/i386/linux_trampoline.S: Likewise.
12074 * loader/i386/xnu_helper.S: Likewise.
12075 * loader/i386/xnu.c: Likewise.
12076 * loader/i386/bsd_pagetable.c: Likewise.
12077 * loader/i386/multiboot_helper.S: Likewise.
12078 * loader/xnu.c: Likewise.
12079 * loader/xnu_resume.c: Likewise.
12080 * io/gzio.c: Likewise.
12081 * term/efi/console.c: Likewise.
12082 * term/terminfo.c: Likewise.
12083 * term/ieee1275/ofconsole.c: Likewise.
12084 * term/i386/pc/serial.c: Likewise.
12085 * term/i386/pc/vesafb.c: Likewise.
12086 * term/i386/pc/vga.c: Likewise.
12087 * term/usb_keyboard.c: Likewise.
12088 * term/gfxterm.c: Likewise.
12089 * aclocal.m4: Likewise.
12090 * util/lvm.c: Likewise.
12091 * util/grub.d/30_os-prober.in: Likewise.
12092 * util/grub.d/10_hurd.in: Likewise.
12093 * util/console.c: Likewise.
12094 * util/grub-macho2img.c: Likewise.
12095 * util/grub-probe.c: Likewise.
12096 * util/hostfs.c: Likewise.
12097 * util/i386/pc/grub-mkimage.c: Likewise.
12098 * util/i386/pc/grub-setup.c: Likewise.
12099 * util/i386/efi/grub-mkimage.c: Likewise.
12100 * util/grub-mkconfig.in: Likewise.
12101 * util/raid.c: Likewise.
12102 * util/resolve.c: Likewise.
12103 * util/grub-mkdevicemap.c: Likewise.
12104 * util/grub-emu.c: Likewise.
12105 * util/getroot.c: Likewise.
12106 * util/hostdisk.c: Likewise.
12107 * util/usb.c: Likewise.
12108 * util/grub-editenv.c: Likewise.
12109 * util/misc.c: Likewise.
12110
d2d49665 121112009-06-10 Felix Zielcke <fzielcke@z-51.de>
12112
12113 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
12114 `genparttoollist.sh'.
12115 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
12116 Add `*.sh' to the list find searches for and change `mdate.sh'
12117 to `mdate-sh'.
12118
fe052e37 121192009-06-10 Pavel Roskin <proski@gnu.org>
12120
2763ac18 12121 * include/grub/multiboot2.h: Provide compatibility defines for
12122 multiboot2.h.
12123 * include/multiboot2.h: Include stdint.h only if needed, using
12124 angle brackets.
12125 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
12126 grub/multiboot2.h.
12127 * loader/ieee1275/multiboot2.c: Likewise.
12128 * loader/multiboot2.c: Likewise.
12129 * loader/multiboot_loader.c: Likewise.
12130
437e6adc 12131 * configure.ac: Use -nostdlib when probing for the target. It
12132 should not be required to have libc for the target.
12133
06a6836c 12134 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
12135 they fail without libc headers for the target.
12136 * include/grub/powerpc/libgcc.h: Use weak attribute for all
12137 exports.
12138 * include/grub/sparc64/libgcc.h: Likewise. Don't use
12139 preprocessor conditionals.
12140
fe052e37 12141 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
12142 build system doesn't need to be aware of the tar.c internals.
12143
afd22553 121442009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 12145
afd22553 12146 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 12147
6b787c4f 121482009-06-09 Robert Millan <rmh.grub@aybabtu.com>
12149
12150 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
12151 disk limit to 26 for IDE, Virtio, Xen and SCSI.
12152
121532009-06-09 Felix Zielcke <fzielcke@z-51.de>
12154
12155 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 12156 aren't available if ata.mod gets used.
6b787c4f 12157
473d1e45 121582009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 12159
473d1e45 12160 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 12161 initialising controller.
473d1e45 12162 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 12163
255a27d4 121642009-06-08 Felix Zielcke <fzielcke@z-51.de>
12165
12166 * util/i386/pc/grub-install.in: Add a parameter --disk-module
12167 to choose between ata and biosdisk module on i386-pc.
12168
473d1e45 121692009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 12170
d55842d8 12171 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
12172 Subclass and Programming Interface fields in terms of the 3 byte
12173 Class Code register.
12174 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
12175
fa5db0b1 12176 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
12177 interface is OHCI. Add grub_dprintf for symmetry with
12178 bus/usb/uhci.c.
12179 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
12180 interface is UHCI. Add interf variable for programming
12181 interface. Print interface with class/subclass.
12182
c0947beb 12183 * bus/usb/ohci.c: Set interf with correct field.
12184
69da8877 12185 * bus/usb/uhci.c: Remove unneeded doubled lines.
12186 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
12187 Remove whitespace inside comment.
12188
9e172e30 121892009-06-08 Robert Millan <rmh.grub@aybabtu.com>
12190
12191 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
12192 as fallback an equivalent option without depth.
12193
de65ee2b 121942009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
12195
12196 Not fail if unable to retrieve C/H/S on LBA disks
12197
473d1e45 12198 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 12199 if unable to retrieve C/H/S on LBA disks
12200
b57ea2c9 122012009-06-08 Pavel Roskin <proski@gnu.org>
12202
12203 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
12204 about aliasing.
12205
af361263 122062009-06-08 Felix Zielcke <fzielcke@z-51.de>
12207
12208 * Makefile.in (uninstall): Remove all $lib_DATA files.
12209
4c9ec6b3 122102009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
12211
12212 Bugfix: install on partitionless device
12213
12214 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
12215 is a whole disk
12216
e76fc924 122172009-06-08 Felix Zielcke <fzielcke@z-51.de>
12218
12219 * Makefile.in (uninstall): Remove all $include_DATA files.
12220
ba5a0d05 122212009-06-08 Felix Zielcke <fzielcke@z-51.de>
12222
12223 * commands/true.c: New file. Implement the true and false commands.
12224 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
12225 (true_mod_SOURCES): New variable.
12226 (true_mod_CFLAGS): Likewise.
12227 (true_mod_LDFLAGS): Likewise.
12228
c8048e32 122292009-06-05 Colin D Bennett <colin@gibibit.com>
12230
12231 Optimized font character lookup using binary search instead of linear
12232 search. Fonts now are required to have the character index ordered by
12233 code point.
12234
12235 * font/font.c (load_font_index): Verify that fonts have ordered
12236 character indices.
12237 (find_glyph): Use binary search instead of linear search to find a
12238 character in a font.
12239
408305be 122402009-06-05 Michael Scherer <misc@mandriva.org>
12241
12242 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
12243 uses case sensitive btree.
12244 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
12245 only for case insensitive filesystems.
12246
8ee1e0d9 122472009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
12248
12249 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
12250 * conf/common.rmk (search_mod_CFLAGS): likewise
12251
a9966eb1 122522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12253
473d1e45 12254 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 12255 compensate a compiler bug
12256
9e7100fb 122572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12258
473d1e45 12259 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 12260 instead of '\b'
473d1e45 12261
ede21d71 122622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12263
12264 Definitions for creating asm symbols with Apple's CC
12265
12266 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
12267 [APPLE_CC] (VARIABLE): likewise
12268
9dbf7653 122692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12270
12271 Disable lnxboot.img when compiled
12272 with Apple's CC
12273
12274 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
12275 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
12276 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
12277 [! APPLE_CC] (CODE_LENG): skip
12278 [! APPLE_CC] (setup_sects): likewise
12279 [! APPLE_CC]: skip filling
473d1e45 12280
e93cdc3d 122812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12282
12283 Address in trampolines based on 32-bit registers when compiled
12284 with Apple's CC
12285
473d1e45 12286 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 12287 for addresses
12288 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
12289
6c688477 122902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12291
12292 Avoid aliases when compiling with Apple's CC for PCBIOS machine
12293
12294 * kern/misc.c [APPLE_CC] (memcpy): new function
12295 [APPLE_CC] (memmove): likewise
12296 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 12297 (memcpy): define alias conditionally on !APPLE_CC
6c688477 12298 (memset): likewise
12299 (abort): likewise
12300 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
12301 APPLE_CC are defined
12302 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
12303 (grub_assert_fail): make prototype conditional
12304
e37ffc5c 123052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12306
12307 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
12308
473d1e45 12309 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
12310 grub-macho2img
e37ffc5c 12311 (CLEANFILES): add grub-macho2img
12312 (grub_macho2img_SOURCES): new variable
12313 * kern/i386/pc/startup.S (bss_start): new variable
12314 (bss_end): likewise
12315 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
12316 * util/grub-macho2img.c: new file
12317
cf00df31 123182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12319
12320 Use objconv when compiling with Apple's CC
12321
12322 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
12323 (efiemu64.o): likewise
12324 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
12325 when compiling with Apple's CC
12326 (efiemu64_s.o): likewise
12327 * configure.ac: check for objconv when compiling with Apple's CC
12328 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 12329
d119a20c 123302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12331
12332 Define segment as well as section when compiling with
12333 Apple's CC
12334
12335 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
12336 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
12337 (efiemu_convert_pointer): likewise
12338 (efiemu_set_virtual_address_map): likewise
12339 (efiemu_convert_pointer): likewise
12340 (efiemu_getcrc32): likewise
12341 (init_crc32_table): likewise
12342 (reflect): likewise
12343 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
12344 (GRUB_MOD_DEP): likewise
473d1e45 12345
c8600122 123462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12347
12348 Allow a compilation without -mcmodel=large
12349
12350 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
12351 when compiled without -mcmodel=large
473d1e45 12352 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 12353 without -mcmodel=large
473d1e45 12354 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 12355 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 12356
e8df1d4e 123572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12358
12359 Remove nested functions in efiemu core
12360
12361 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 12362
cc6c3ac1 123632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12364
12365 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
12366
12367 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
12368 temporary storage
473d1e45 12369 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
12370 using Apple's CC
cc6c3ac1 12371 (grub_cpu_is_tsc_supported): likewise
12372 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 12373
3e325901 123742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12375
12376 Absolute addressing through constant with Apple's cc
12377
12378 * kern/i386/pc/startup.S: Define necessary constants
12379 and address through it when using ABS with Apple's CC
12380 * boot/i386/pc/diskboot.S: likewise
12381 * boot/i386/pc/boot.S: likewise
12382 * boot/i386/pc/lnxboot.S: likewise
12383 * boot/i386/pc/cdboot.S: likewise
12384 * mmap/i386/pc/mmap_helper.S: likewise
12385 * commands/i386/pc/drivemap_int13h.S: likewise
12386
2b167a72 123872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12388
12389 Check if compiler is apple cc
12390
12391 * Makefile.in (ASFLAGS): new variable
12392 (TARGET_ASFLAGS): likewise
12393 (TARGET_MODULE_FORMAT): likewise
12394 (TARGET_APPLE_CC): likewise
12395 (OBJCONV): likewise
12396 (TARGET_IMG_CFLAGS): likewise
12397 (TARGET_CPPFLAGS): add includedir
12398 * configure.ac: call grub_apple_cc and grub_apple_target_cc
12399 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
12400 Check for linker script only if compiler isn't Apple's CC
12401 (TARGET_MODULE_FORMAT): set
12402 (TARGET_APPLE_CC): likewise
12403 (TARGET_ASFLAGS): likewise
12404 (ASFLAGS): likewise
12405 Check for objcopy only if compiler isn't Apple's CC
12406 Check for BSS symbol only if compiler isn't Apple's CC
12407 * genmk.rb: adapt nm options if we use Apple's utils
12408 * aclocal.m4 (grub_apple_cc): new test
12409 (grub_apple_target_cc): likewise
473d1e45 12410
fb14123e 124112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12412
12413 Simplify sed expressions and improve awk
12414
12415 * Makefile.in (install-local): simplify sed expression
12416 * gencmdlist.sh: likewise
12417 * genmoddep.awk: avoid adding module as a dependency of itself
12418
5b889789 124192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12420
12421 Add missing start symbols
12422
12423 * boot/i386/pc/boot.S: add start
fb14123e 12424 * boot/i386/pc/pxeboot.S: likewise
473d1e45 12425
fd2bf2e3 124262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12427
12428 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 12429
12430 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 12431 (relocate_addresses): consider both r_addend and value at offset
12432 (make_mods_section): zerofill modinfo and header
12433 (convert_elf): write prefix here
473d1e45 12434
5389763d 124352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12436
12437 Use .asciz instead of .string
12438
12439 * i386/pc/diskboot.S: use .asciz instead of .string
12440 * i386/pc/boot.S: likewise
12441 * include/grub/dl.h (GRUB_MOD_DEP): likewise
12442 (GRUB_MOD_NAME): likewise
473d1e45 12443
3eb5ed4e 124442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12445
12446 gfxpayload support
12447
12448 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
12449 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
12450 (grub_video_setup): remove
12451 (grub_video_set_mode): new prototype
12452 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
12453 (vid_mode): remove
12454 (linux_vesafb_res): compile only on PCBIOS
12455 (grub_linux_boot): support gfxpayload
12456 * loader/i386/pc/xnu.c (video_hook): new function
12457 (grub_xnu_set_video): support gfxpayload
12458 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
12459 (DEFAULT_VIDEO_HEIGHT): likewise
12460 (DEFAULT_VIDEO_FLAGS): likewise
12461 (DEFAULT_VIDEO_MODE): new definition
12462 (video_hook): new function
12463 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 12464 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 12465 loading xnu
12466 * video/video.c (grub_video_setup): removed
473d1e45 12467 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 12468 grub_video_setup
12469
4b0e1143 124702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12471
12472 Avoid calling biosdisk in drivemap
12473
12474 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
12475 (revparse_biosdisk): likewise
12476 (list_mappings): derive name from id directly
12477 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 12478
fda6cb98 124792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12480
12481 Script fixes
12482
12483 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
12484 (grub_lexer_param): add tokenonhold
12485 (grub_script_create_cmdline): remove cmdline. All callers updated
12486 (grub_script_function_create): make functionname
12487 grub_script_arg. All callers updated
12488 (grub_script_execute_argument_to_string): new prototype
12489 * kern/parser.c (state_transitions): reorder
12490 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 12491 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 12492 make global
12493 (grub_script_execute_cmdline): use new format
12494 * script/sh/function.c (grub_script_function_create): make functionname
12495 grub_script_arg. All callers updated
473d1e45 12496 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 12497 (grub_script_yylex): remove
12498 (grub_script_yylex2): renamed to ...
12499 (grub_script_yylex): ...renamed
12500 parse the expressions like a${b}c
12501 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
12502 (GRUB_PARSER_TOKEN_VAR): remove
12503 (GRUB_PARSER_TOKEN_NAME): likewise
12504 ("if"): declare as typeless
12505 ("while"): likewise
12506 ("function"): likewise
12507 ("else"): likewise
12508 ("then"): likewise
12509 ("fi"): likewise
12510 (text): remove
12511 (argument): likewise
12512 (script): accept empty scripts and make exit on error
12513 (arguments): use GRUB_PARSER_TOKEN_ARG
12514 (function): likewise
12515 (command): move error handling to script
12516 (menuentry): move grub_script_lexer_ref before
473d1e45 12517 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 12518 argument. All callers updated
12519
f4448a07 125202009-06-04 Robert Millan <rmh.grub@aybabtu.com>
12521
12522 Prevent GRUB from probing floppies during boot.
12523
12524 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
12525 * commands/search.c (options): Add --no-floppy.
12526 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
12527 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
12528 --no-floppy when searching for UUIDs.
12529
2bf5885a 125302009-06-04 Robert Millan <rmh.grub@aybabtu.com>
12531
12532 Simplify the code duplication in commands/search.c.
12533
12534 * commands/search.c (search_label, search_fs_uuid): Merge into ...
12535 (search_fs): ... this. Update all users.
12536
f6fd460a 125372009-06-03 Felix Zielcke <fzielcke@z-51.de>
12538
12539 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
12540
cbb3c83e 125412009-05-28 Pavel Roskin <proski@gnu.org>
12542
57788cfd 12543 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
12544 Remove the original symlink explicitly.
12545
cbb3c83e 12546 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
12547 just one slash. That's how grub_fshelp_find_file() does it.
12548
cd0d5e30 125492009-05-26 Pavel Roskin <proski@gnu.org>
12550
f0f8bbe2 12551 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
12552 to `str'.
12553
cd0d5e30 12554 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
12555 possibly unused.
12556
8c2cab51 125572009-05-25 Christian Franke <franke@computer.org>
12558
12559 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
12560 register.
12561 (grub_atapi_identify): Add wait after drive select.
12562 (grub_ata_identify): Do more strict status register check before
12563 calling grub_atapi_identify (). Suppress error message if status
12564 register is 0x00 after command failure. Add status register
12565 check after PIO read to avoid bogus identify due to stuck DRQ.
12566 Thanks to Pavel Roskin for testing.
12567 (grub_device_initialize): Remove unsafe status register check.
12568 Thanks to 'phcoder' for problem report and patch.
12569 Prevent sign extension in debug message.
12570
230c0ad6 125712009-05-23 Colin D Bennett <colin@gibibit.com>
12572
12573 Cleaned up `include/grub/normal.h'. Grouped prototypes by
12574 definition file, and functions defined in `normal/menu.c' have had
12575 their prototypes moved to `include/grub/menu.h' for consistency.
12576
12577 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
12578 from normal.h.
12579 (grub_menu_get_entry): Likewise.
12580 (grub_menu_get_timeout): Likewise.
12581 (grub_menu_set_timeout): Likewise.
12582 (grub_menu_execute_entry): Likewise.
12583 (grub_menu_execute_with_fallback): Likewise.
12584 (grub_menu_entry_run): Likewise.
12585
12586 * include/grub/normal.h: Re-ordered and grouped function
12587 prototypes by file that the function is defined in.
12588 (grub_menu_execute_callback): Removed; moved to menu.h.
12589 (grub_menu_get_entry): Likewise.
12590 (grub_menu_get_timeout): Likewise.
12591 (grub_menu_set_timeout): Likewise.
12592 (grub_menu_execute_entry): Likewise.
12593 (grub_menu_execute_with_fallback): Likewise.
12594 (grub_menu_entry_run): Likewise.
12595 (grub_menu_addentry): Renamed from this ...
12596 (grub_normal_add_menu_entry): ... to this.
12597
12598 * normal/main.c (grub_menu_addentry): Renamed from this ...
12599 (grub_normal_add_menu_entry): ... to this.
12600
12601 * script/sh/execute.c (grub_script_execute_menuentry): Update
12602 reference to renamed grub_menu_addentry function.
12603
861f03a5 126042009-05-23 Felix Zielcke <fzielcke@z-51.de>
12605
12606 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
12607
96b1619a 126082009-05-22 Pavel Roskin <proski@gnu.org>
12609
bf6a5fb2 12610 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
12611 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
12612 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
12613 compiling for the i386 targets, but not for the utilities.
12614
96b1619a 12615 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
12616 to grub_uint8_t.
12617 (grub_root_drive): Likewise.
12618 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
12619 remove alignment.
12620 (grub_root_drive): Change size to byte.
12621 (grub_start_addr): Remove.
12622 (grub_end_addr): Likewise.
12623 (grub_apm_bios_info): Likewise.
12624
b729776b 126252009-05-21 Felix Zielcke <fzielcke@z-51.de>
12626
12627 * normal/i386: Remove.
12628 * normal/powerpc: Likewise.
12629 * normal/sparc64: Likewise.
12630 * normal/x86_64: Likewise.
12631
0a15ce80 126322009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
12633
12634 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 12635 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 12636 * loader/i386/xnu_helper.S: Likewise
d6da58e6 12637
33db9015 126382009-05-18 Colin D Bennett <colin@gibibit.com>
12639
d6da58e6 12640 Display error messages when parsing a Lua statement fails.
12641 Previously, executing a syntactically invalid statement like
12642 ")foo" or "bar;" would silently fail.
33db9015 12643
12644 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 12645 (grub_lua_parse_line): Improved reporting of Lua parser and
12646 execution errors.
33db9015 12647
46422c89 126482009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12649
12650 Remove -Werror which causes build to fail on some systems
12651
12652 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
12653 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
12654 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 12655
22f53a96 126562009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12657
12658 trampoline for linux on 64-bit platform
12659
18f547ad 12660 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
12661 loader/i386/efi/linux_trampoline.S
12662 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 12663 declaration
d6da58e6 12664 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
12665 here
22f53a96 12666 * loader/i386/linux_trampoline.S: moved here
d6da58e6 12667 * loader/i386/efi/linux.c (allocate_pages): reserve space for
12668 trampoline
22f53a96 12669 (jumpvector): removed
12670 (grub_linux_trampoline_start): new declaration
12671 (grub_linux_trampoline_end): likewise
12672 (grub_linux_boot): use trampoline when on 64-bit platform
12673 * loader/i386/linux.c: likewise
12674
cb5a0f40 126752009-05-16 Pavel Roskin <proski@gnu.org>
12676
12677 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
12678 const to avoid a warning.
12679 (grub_lua_setenv): Likewise.
12680 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
12681 lmsg to fix a warning.
12682
334f2c28 126832009-05-16 Felix Zielcke <fzielcke@z-51.de>
12684
12685 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 12686 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12687 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
12688 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12689 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
12690 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12691 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
12692 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 12693
59e5d3ec 126942009-05-16 Felix Zielcke <fzielcke@z-51.de>
12695
12696 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
12697
9d87a1ba 126982009-05-16 Bean <bean123ch@gmail.com>
12699
12700 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
12701 (lua_mod_SOURCES): New variable.
12702 (lua_mod_CFLAGS): Likewise.
12703 (lua_mod_LDFLAGS): Likewise.
12704
12705 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
12706 (setjmp_mod_SOURCES): New variable.
12707 (setjmp_mod_CFLAGS): Likewise.
12708 (setjmp_LDFLAGS): Likewise.
12709
12710 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
12711 (setjmp_mod_SOURCES): New variable.
12712 (setjmp_mod_CFLAGS): Likewise.
12713 (setjmp_LDFLAGS): Likewise.
12714
12715 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
12716 (setjmp_mod_SOURCES): New variable.
12717 (setjmp_mod_CFLAGS): Likewise.
12718 (setjmp_LDFLAGS): Likewise.
12719
12720 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
12721 (setjmp_mod_SOURCES): New variable.
12722 (setjmp_mod_CFLAGS): Likewise.
12723 (setjmp_LDFLAGS): Likewise.
12724
12725 * normal/i386/setjmp.S: Moved from here ...
12726 * lib/i386/setjmp.S: ... Moved here
12727 * normal/x86_64/setjmp.S: Moved from here ...
12728 * lib/x86_64/setjmp.S: ... Moved here
12729 * normal/powerpc/setjmp.S: Moved from here ...
12730 * lib/powerpc/setjmp.S: ... Moved here
12731 * normal/sparc64/setjmp.S: Moved from here ...
12732 * lib/sparc64/setjmp.S: ... Moved here
12733
12734 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
12735 returns_twice in mingw.
12736
12737 * script/lua/grub_lib.c: New file.
12738 * script/lua/grub_lib.h: Likewise.
12739 * script/lua/grub_lua.h: Likewise.
12740 * script/lua/grub_main.c: Likewise.
12741 * script/lua/lapi.c: Likewise.
12742 * script/lua/lapi.h: Likewise.
12743 * script/lua/lauxlib.c: Likewise.
12744 * script/lua/lauxlib.h: Likewise.
12745 * script/lua/lbaselib.c: Likewise.
12746 * script/lua/lcode.c: Likewise.
12747 * script/lua/lcode.h: Likewise.
12748 * script/lua/ldblib.c: Likewise.
12749 * script/lua/ldebug.c: Likewise.
12750 * script/lua/ldebug.h: Likewise.
12751 * script/lua/ldo.c: Likewise.
12752 * script/lua/ldo.h: Likewise.
12753 * script/lua/ldump.c: Likewise.
12754 * script/lua/lfunc.c: Likewise.
12755 * script/lua/lfunc.h: Likewise.
12756 * script/lua/lgc.c: Likewise.
12757 * script/lua/lgc.h: Likewise.
12758 * script/lua/linit.c: Likewise.
12759 * script/lua/liolib.c: Likewise.
12760 * script/lua/llex.c: Likewise.
12761 * script/lua/llex.h: Likewise.
12762 * script/lua/llimits.h: Likewise.
12763 * script/lua/lmathlib.c: Likewise.
12764 * script/lua/lmem.c: Likewise.
12765 * script/lua/lmem.h: Likewise.
12766 * script/lua/loadlib.c: Likewise.
12767 * script/lua/lobject.c: Likewise.
12768 * script/lua/lobject.h: Likewise.
12769 * script/lua/lopcodes.c: Likewise.
12770 * script/lua/lopcodes.h: Likewise.
12771 * script/lua/loslib.c: Likewise.
12772 * script/lua/lparser.c: Likewise.
12773 * script/lua/lparser.h: Likewise.
12774 * script/lua/lstate.c: Likewise.
12775 * script/lua/lstate.h: Likewise.
12776 * script/lua/lstring.c: Likewise.
12777 * script/lua/lstring.h: Likewise.
12778 * script/lua/lstrlib.c: Likewise.
12779 * script/lua/ltable.c: Likewise.
12780 * script/lua/ltable.h: Likewise.
12781 * script/lua/ltablib.c: Likewise.
12782 * script/lua/ltm.c: Likewise.
12783 * script/lua/ltm.h: Likewise.
12784 * script/lua/lua.h: Likewise.
12785 * script/lua/luaconf.h: Likewise.
12786 * script/lua/lualib.h: Likewise.
12787 * script/lua/lundump.c: Likewise.
12788 * script/lua/lundump.h: Likewise.
12789 * script/lua/lvm.c: Likewise.
12790 * script/lua/lvm.h: Likewise.
12791 * script/lua/lzio.c: Likewise.
12792 * script/lua/lzio.h: Likewise.
12793
5e898c9d 127942009-05-16 Bean <bean123ch@gmail.com>
12795
12796 * include/grub/kernel.h (grub_module_header_types): Add type
12797 OBJ_TYPE_CONFIG.
12798
12799 * kern/main.c (grub_load_config): New function.
12800 (grub_main): Call grub_load_config to read boot config.
12801
12802 * grub-mkimage (generate_image): New parameter config_path.
12803 (options): New option --config.
12804 (main): Parse --config option, and pass it to generate_image.
12805
cf353a47 128062009-05-14 Christian Franke <franke@computer.org>
12807
12808 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
12809 This fixes build on Cygwin.
12810
3834887f 128112009-05-14 Pavel Roskin <proski@gnu.org>
12812
12813 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
12814 jump. This saves two bytes, so the typical case of 2 swapped
12815 drives would fit 32 bytes.
12816
8090fc01 128172009-05-13 Pavel Roskin <proski@gnu.org>
12818
ac963883 12819 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
12820 grub_uint32_t to avoid a warning.
12821
8090fc01 12822 * loader/i386/linux.c (allocate_pages): When assigning
12823 real_mode_mem, cast through grub_size_t to fix a warning. The
12824 code already makes sure that the value would fit a pointer.
12825 (grub_linux_setup_video): Cast render_target->data to
12826 grub_size_t to fix a warning.
12827
18f547ad 128282009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 12829
12830 * commands/i386/pc/drivemap.c: New file - implement drivemap
12831 command.
12832 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
12833 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
12834
6f6a8b28 128352009-05-13 Pavel Roskin <proski@gnu.org>
12836
12837 * util/i386/pc/grub-setup.c (setup): Remove unused variable
12838 embedding_area_exists.
12839
15fbf4c4 128402009-05-13 Robert Millan <rmh.grub@aybabtu.com>
12841
12842 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
12843 it easier to understand / work with.
59978c8a 12844 Improve warning messages for cases where there's no embedding area,
12845 or when it is too small (or core.img too large).
15fbf4c4 12846
238e871f 128472009-05-13 Pavel Roskin <proski@gnu.org>
12848
0ab3a9a4 12849 * loader/i386/pc/multiboot2.c: Add necessary includes for
12850 grub_multiboot2_real_boot().
12851
a2c8c5f8 12852 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
12853 PX record is always little-endian. We only need the lower 2
12854 bytes of the mode.
12855
faec96af 12856 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
12857 facilitate code reuse.
12858 (grub_cpio_mount): Use "struct head", not a char buffer. This
12859 fixes a warning reported by gcc 4.4.
12860
238e871f 12861 * kernel/disk.c (grub_disk_read): Use void pointer for the
12862 buffer.
12863 (grub_disk_write): Use const void pointer for the buffer.
12864 Adjust all callers. Remove unnecessary casts.
12865
901d2f0c 128662009-05-10 Robert Millan <rmh.grub@aybabtu.com>
12867
12868 * util/i386/pc/grub-install.in: Update copyright year.
12869
18f547ad 128702009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 12871
12872 gptsync
12873
12874 * commands/gptsync.c: new file
12875 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
12876 (gptsync_mod_SOURCES): new variable
12877 (gptsync_mod_CFLAGS): likewise
12878 (gptsync_mod_LDFLAGS): likewise
18f547ad 12879 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 12880 new definition
12881 (GRUB_PC_PARTITION_TYPE_HFS): likewise
12882 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
12883 * conf/i386-ieee1275.rmk: likewise
12884 * conf/i386-pc.rmk: likewise
12885 * conf/powerpc-ieee1275.rmk: likewise
12886
b4ba690a 128872009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12888
12889 Fixed grub-emu
12890
12891 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
12892 (grub_dl_ref): likewise
12893
317e1a44 128942009-05-08 Robert Millan <rmh.grub@aybabtu.com>
12895
12896 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
12897 split in two functions (one for msdos and one for gpt).
12898
041b8094 128992009-05-08 Pavel Roskin <proski@gnu.org>
12900
752473c2 12901 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
12902 not modified.
12903
041b8094 12904 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
12905 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
12906 Initialize them with -1. Add sanity check for bad1. Eliminate
12907 nerr variable.
12908
172800ce 129092009-05-08 David S. Miller <davem@davemloft.net>
12910
12911 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
12912
29aa5e81 129132009-05-06 Robert Millan <rmh.grub@aybabtu.com>
12914
12915 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 12916 existence.
29aa5e81 12917
96613b62 129182009-05-05 Felix Zielcke <fzielcke@z-51.de>
12919
12920 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 12921 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 12922
eef73c8a 129232009-05-05 David S. Miller <davem@davemloft.net>
12924
12925 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
12926
119494b5 129272009-05-05 Pavel Roskin <proski@gnu.org>
12928
12929 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
12930 of grub_dl_ref() and grub_dl_unref().
12931 * commands/parttool.c: Remove preprocessor conditionals around
12932 grub_dl_ref() and grub_dl_unref().
12933 * fs/affs.c: Likewise.
12934 * fs/afs.c: Likewise.
12935 * fs/cpio.c: Likewise.
12936 * fs/ext2.c: Likewise.
12937 * fs/fat.c: Likewise.
12938 * fs/hfs.c: Likewise.
12939 * fs/hfsplus.c: Likewise.
12940 * fs/iso9660.c: Likewise.
12941 * fs/jfs.c: Likewise.
12942 * fs/minix.c: Likewise.
12943 * fs/ntfs.c: Likewise.
12944 * fs/reiserfs.c: Likewise.
12945 * fs/sfs.c: Likewise.
12946 * fs/udf.c: Likewise.
12947 * fs/ufs.c: Likewise.
12948 * fs/xfs.c: Likewise.
12949 * include/grub/dl.h: Likewise.
12950 * loader/xnu.c: Likewise.
12951
de5fd76e 129522009-05-04 Pavel Roskin <proski@gnu.org>
12953
12954 * commands/acpi.c: Remove unused variable my_mod.
12955 * partmap/amiga.c: Likewise.
12956 * partmap/apple.c: Likewise.
12957 * partmap/gpt.c: Likewise.
12958 * partmap/pc.c: Likewise.
12959 * partmap/sun.c: Likewise.
12960 * term/gfxterm.c: Likewise.
12961 * term/i386/pc/vesafb.c: Likewise.
12962 * term/i386/pc/vga.c: Likewise.
12963
983598ad 129642009-05-04 David S. Miller <davem@davemloft.net>
12965
12966 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
12967 pointer args to grub_ieee1275_get_property().
12968
8aadec43 12969 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
12970
9554b15e 12971 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
12972 devices, and do not traverse down under controller nodes.
12973
67e23c90 12974 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
12975 (grub_ofdisk_open): Use it to un-escape "," characters.
12976 * kern/disk.c (find_part_sep): New.
12977 (grub_disk_open): Use it to find the first non-escaped ','
12978 character in the disk name.
12979 * util/ieee1275/devicemap.c (escape_of_path): New.
12980 (grub_util_emit_devicemap_entry): Use it.
12981 * util/sparc64/ieee1275/grub-install.in: Update script to
12982 strip partition specifiers properly by not triggering on
12983 '\' escaped ',' characters.
12984
74bfdd2f 129852009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12986
12987 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
12988 to 0x300.
12989 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
12990 resolutions.
12991 (linux_vesafb_modes): Add a lot of additional modes to the list (based
12992 on documentation from Wikipedia).
12993
4241d2b1 129942009-05-04 Pavel Roskin <proski@gnu.org>
12995
12996 * disk/ata.c: Spelling fixes.
12997 * disk/raid.c: Likewise.
12998 * disk/usbms.c: Likewise.
12999 * disk/dmraid_nvidia.c: Likewise.
13000 * kern/ieee1275/openfw.c: Likewise.
13001 * kern/ieee1275/init.c: Likewise.
13002 * kern/ieee1275/cmain.c: Likewise.
13003 * boot/i386/pc/cdboot.S: Likewise.
13004 * video/readers/png.c: Likewise.
13005 * video/i386/pc/vbe.c: Likewise.
13006 * fs/udf.c: Likewise.
13007 * fs/hfs.c: Likewise.
13008 * fs/reiserfs.c: Likewise.
13009 * efiemu/runtime/efiemu.c: Likewise.
13010 * efiemu/main.c: Likewise.
13011 * efiemu/mm.c: Likewise.
13012 * include/grub/elf.h: Likewise.
13013 * include/grub/xnu.h: Likewise.
13014 * include/grub/usbdesc.h: Likewise.
13015 * include/grub/usb.h: Likewise.
13016 * include/grub/script_sh.h: Likewise.
13017 * include/grub/lib/LzmaEnc.h: Likewise.
13018 * include/grub/efiemu/efiemu.h: Likewise.
13019 * include/grub/command.h: Likewise.
13020 * normal/menu.c: Likewise.
13021 * normal/main.c: Likewise.
13022 * normal/datetime.c: Likewise.
13023 * bus/usb/uhci.c: Likewise.
13024 * mmap/i386/uppermem.c: Likewise.
13025 * mmap/mmap.c: Likewise.
13026 * commands/acpi.c: Likewise.
13027 * commands/test.c: Likewise.
13028 * partmap/apple.c: Likewise.
13029 * font/font.c: Likewise.
13030 * loader/sparc64/ieee1275/linux.c: Likewise.
13031 * loader/macho.c: Likewise.
13032 * loader/i386/bsd_trampoline.S: Likewise.
13033 * loader/i386/bsd.c: Likewise.
13034 * loader/xnu.c: Likewise.
13035 * term/i386/pc/vesafb.c: Likewise.
13036 * term/usb_keyboard.c: Likewise.
13037 * util/resolve.c: Likewise.
13038 * util/getroot.c: Likewise.
13039
0cfc0083 130402009-05-04 Felix Zielcke <fzielcke@z-51.de>
13041
13042 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
13043
7c1d00cd 130442009-05-04 Robert Millan <rmh.grub@aybabtu.com>
13045
13046 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
13047 build error.
13048
b01f0548 130492009-05-04 Robert Millan <rmh.grub@aybabtu.com>
13050
13051 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
13052 parameter only available on BIOS.
13053
ecc3eb22 130542009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
13055
13056 Removed wrong semicolon in declaration
13057
13058 * grub/misc.h (grub_dprintf): remove semicolon
13059
112972a9 130602009-05-04 Robert Millan <rmh.grub@aybabtu.com>
13061
13062 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
13063 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
13064 is done by grub_cmd_linux() now).
13065 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
13066 restore video to text mode.
13067 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
13068 indicates lack of "vga=" parameter. "vga=0" is mapped to
13069 `GRUB_LINUX_VID_MODE_NORMAL'.
13070
afd5c115 130712009-05-04 Felix Zielcke <fzielcke@z-51.de>
13072
13073 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
13074 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
13075 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 13076 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 13077 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
13078 `grub_script.tab.c'.
13079
13080 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13081 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13082 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13083 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13084 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13085
faa517ce 13086 * Makefile.in: Remove duplicated 2008 in Copyright line.
13087
ae0c0bdc 130882009-05-04 Robert Millan <rmh.grub@aybabtu.com>
13089
473d1e45 13090 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 13091 unconditionally.
13092 * include/grub/util/misc.h (grub_util_warn): New declaration.
13093
13094 * util/i386/pc/grub-install.in: Understand --force and pass it down
13095 to grub-setup.
13096
13097 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
13098 down to setup().
13099 (setup): Improve error messages and add warnings when requested to
13100 install in odd layouts. Refuse to install using blocklists unless
13101 --force was set.
13102
18f547ad 131032009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 13104
13105 * disk/raid.c (grub_raid_scan_device): Improve debug message.
13106
6d260daa 131072009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
13108
13109 Updated copyright year
13110
13111 * fs/hfsplus.c: updated copyright year
18f547ad 13112
69f853f8 131132009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
13114
13115 HFS+ UUID
13116
18f547ad 13117 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 13118 in the space previously used by unused3
13119 (grub_hfsplus_uuid): new function
13120 (grub_hfsplus_fs): added uuid field
13121
4c402e73 131222009-05-03 Pavel Roskin <proski@gnu.org>
13123
13124 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
13125 suppress warnings. It's no longer needed.
13126 * disk/host.c: Likewise.
13127 * disk/ata_pthru.c: Likewise.
13128 * disk/loopback.c: Likewise.
13129 * hook/datehook.c: Likewise.
13130 * parttool/pcpart.c: Likewise.
13131 * fs/i386/pc/pxe.c: Likewise.
13132 * fs/ntfscomp.c: Likewise.
13133 * efiemu/main.c: Likewise.
13134 * mmap/mmap.c: Likewise.
13135 * commands/crc.c: Likewise.
13136 * commands/hexdump.c: Likewise.
13137 * commands/hdparm.c: Likewise.
13138 * commands/acpi.c: Likewise.
13139 * commands/echo.c: Likewise.
13140 * commands/minicmd.c: Likewise.
13141 * commands/blocklist.c: Likewise.
13142 * commands/memrw.c: Likewise.
13143 * commands/loadenv.c: Likewise.
13144 * commands/usbtest.c: Likewise.
13145 * commands/lsmmap.c: Likewise.
13146 * commands/boot.c: Likewise.
13147 * commands/parttool.c: Likewise.
13148 * commands/configfile.c: Likewise.
13149 * commands/search.c: Likewise.
13150 * commands/ieee1275/suspend.c: Likewise.
13151 * commands/cat.c: Likewise.
13152 * commands/i386/pc/pxecmd.c: Likewise.
13153 * commands/i386/pc/play.c: Likewise.
13154 * commands/i386/pc/halt.c: Likewise.
13155 * commands/i386/pc/vbeinfo.c: Likewise.
13156 * commands/i386/pc/vbetest.c: Likewise.
13157 * commands/lspci.c: Likewise.
13158 * commands/date.c: Likewise.
13159 * commands/handler.c: Likewise.
13160 * commands/ls.c: Likewise.
13161 * commands/test.c: Likewise.
13162 * commands/cmp.c: Likewise.
13163 * commands/efi/loadbios.c: Likewise.
13164 * commands/efi/fixvideo.c: Likewise.
13165 * commands/halt.c: Likewise.
13166 * commands/help.c: Likewise.
13167 * commands/reboot.c: Likewise.
13168 * hello/hello.c: Likewise.
13169 * script/sh/main.c: Likewise.
13170 * loader/xnu.c: Likewise.
13171 * term/terminfo.c: Likewise.
13172 * term/i386/pc/serial.c: Likewise.
13173 * term/usb_keyboard.c: Likewise.
13174
515b5079 131752009-05-03 David S. Miller <davem@davemloft.net>
13176
13177 * normal/menu.c: Include grub/parser.h
13178
dfc31a22 131792009-05-03 Pavel Roskin <proski@gnu.org>
13180
2fee74f1 13181 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
13182 not char*.
13183 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
13184 Suggested by Javier Martín <lordhabbit@gmail.com>
13185
dfc31a22 13186 * util/i386/pc/grub-mkrescue.in: Allow for the case when
13187 efiemu??.o doesn't exist.
13188 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
13189 copying.
13190
18f547ad 131912009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 13192
13193 FreeBSD 64-bit support
13194
18f547ad 13195 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 13196 and loader/i386/bsd_trampoline.S
13197 (bsd_mod_ASFLAGS): new variable
13198 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
13199 (FREEBSD_MODTYPE_KERNEL64): likewise
13200 (grub_bsd64_trampoline_start): likewise
13201 (grub_bsd64_trampoline_end): likewise
13202 (grub_bsd64_trampoline_selfjump): likewise
13203 (grub_bsd64_trampoline_gdt): likewise
13204 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
13205 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
13206 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
13207 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 13208 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 13209 of "attrib" member
13210 * loader/i386/bsd_pagetable.c: new file
13211 * loader/i386/bsd_trampoline.S: likewise
13212 * loader/i386/bsd.c (ALIGN_QWORD): new macro
13213 (ALIGN_VAR): likewise
13214 (entry_hi): new variable
13215 (kern_end_mdofs): likewise
13216 (is_64bit): likewise
13217 (grub_freebsd_add_meta): use ALIGN_VAR
13218 (grub_e820_mmap): new declaration
13219 (grub_freebsd_add_mmap): new function
13220 (grub_freebsd_add_meta_module): support 64 bit kernels
13221 (grub_freebsd_list_modules): use ALIGN_VAR
13222 (gdt_descriptor): new declaration
13223 (grub_freebsd_boot): support 64 bit kernels
13224 (grub_bsd_elf64_hook): new function
13225 (grub_bsd_load_elf): support elf64
13226
038c5720 132272009-05-03 Bean <bean123ch@gmail.com>
13228
13229 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
13230 after we get the result of if statement.
13231
fc45fb58 132322009-05-03 Bean <bean123ch@gmail.com>
13233
13234 * Makefile.in (enable_efiemu): New variable.
13235
13236 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
13237 set.
13238 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
13239 path.
13240 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
13241 path, add -mno-red-zone option.
13242 (efiemu64_s.o): Likewise.
13243 (efiemu64.o): Use macro $^ for source file.
13244
13245 * configure.ac (--enable-efiemu): New option.
13246
bbee0f2b 132472009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
13248
13249 xnu support
13250
13251 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
13252 (pkglib_MODULES): add xnu.mod
13253 (xnu_mod_SOURCES): new variable
13254 (xnu_mod_CFLAGS): likewise
13255 (xnu_mod_LDFLAGS): likewise
13256 (xnu_mod_ASFLAGS): likewise
13257 * conf/i386-pc.rmk: likewise
13258 * conf/x86_64-efi.rmk: likewise
7dd4a573 13259 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 13260 new declaration
13261 * include/grub/i386/macho.h: new file
13262 * include/grub/i386/xnu.h: likewise
13263 * include/grub/macho.h: likewise
13264 * include/grub/machoload.h: likewise
13265 * include/grub/x86_64/macho.h: likewise
13266 * include/grub/x86_64/xnu.h: likewise
13267 * include/grub/xnu.h: likewise
13268 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
13269 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
13270 * loader/i386/efi/xnu.c: new file
13271 * loader/i386/pc/xnu.c: likewise
13272 * loader/i386/xnu.c: likewise
13273 * loader/i386/xnu_helper.S: likewise
13274 * loader/macho.c: likewise
13275 * loader/xnu.c: likewise
13276 * loader/xnu_resume.c: likewise
13277 * util/grub-dumpdevtree: likewise
13278 * include/grub/i386/pit.h: include grub/err.h
13279 (grub_pit_wait): export
13280 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 13281
5caf964d 132822009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
13283
13284 Efiemu
7dd4a573 13285
5caf964d 13286 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 13287 _linux_efi, linux_efi.
13288 new files in grub-emu
5caf964d 13289 new targets efiemu32.o and efiemu64.o
13290 * loader/linux_normal_efiemu.c: likewise
13291 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 13292 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 13293 files to copy
13294 * include/grub/autoefi.h: new file
7dd4a573 13295 * include/grub/i386/efiemu.h: likewise
5caf964d 13296 * include/grub/i386/pc/efiemu.h: likewise
13297 * include/grub/efi/api.h: add LL suffix when necessary
13298 new definitions relating to tables
13299 * include/grub/efiemu/efiemu.h: new file
13300 * include/grub/efiemu/runtime.h: likewise
13301 * efiemu/prepare.c: likewise
13302 * efiemu/loadcore_common.c: likewise
13303 * efiemu/loadcore64.c: likewise
13304 * efiemu/runtime/efiemu.sh: likewise
13305 * efiemu/runtime/efiemu.S: likewise
13306 * efiemu/runtime/efiemu.c: likewise
13307 * efiemu/runtime/config.h: likewise
13308 * efiemu/prepare32.c: likewise
13309 * efiemu/main.c: likewise
13310 * efiemu/modules/pnvram.c: likewise
13311 * efiemu/modules/i386: likewise
13312 * efiemu/modules/i386/pc: likewise
13313 * efiemu/modules/acpi.c: likewise
13314 * efiemu/i386/pc/cfgtables.c: likewise
13315 * efiemu/i386/loadcore64.c: likewise
13316 * efiemu/i386/loadcore32.c: likewise
13317 * efiemu/prepare64.c: likewise
13318 * efiemu/loadcore.c: likewise
13319 * efiemu/symbols.c: likewise
13320 * efiemu/mm.c: likewise
13321 * efiemu/loadcore32.c: likewise
7dd4a573 13322
133232009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 13324
13325 ACPI spoofing
13326
13327 * commands/acpi.c: new file
13328 * commands/i386/pc/acpi.c: likewise
13329 * commands/efi/acpi.c: likewise
13330 * include/grub/acpi.h: likewise
13331 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
13332 (acpi_mod_SOURCES): new variable
13333 (acpi_mod_CFLAGS): likewise
13334 (acpi_mod_LDFLAGS): likewise
13335 * conf/i386-efi.rmk: likewise
13336 * conf/x86_64-efi.rmk: likewise
13337
7dd4a573 133382009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 13339
13340 Missing part from mmap patch
13341
13342 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
13343 (grub_mmap_unregister)
13344 (grub_mmap_free_and_unregister): use grub_mmap_register
13345
7dd4a573 133462009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 13347
13348 Mmap services
13349
13350 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
13351 * loader/i386/linux.c (find_mmap_size): likewise
13352 (allocate_pages): likewise
13353 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
13354 (grub_fill_multiboot_mmap): likewise
13355 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
13356 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
13357 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
13358 (OPENBSD_MMAP_RESERVED): likewise
13359 * include/grub/i386/pc/memory.h: include grub/memory.h
13360 (grub_lower_mem): removed
13361 (grub_upper_mem): likewise
13362 (GRUB_MACHINE_MEMORY_ACPI): new definition
13363 (GRUB_MACHINE_MEMORY_NVS): likewise
13364 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
13365 (GRUB_MACHINE_MEMORY_HOLE): likewise
13366 (grub_machine_mmap_register): likewise
13367 (grub_machine_mmap_unregister): likewise
13368 (grub_machine_get_upper): likewise
13369 (grub_machine_get_lower): likewise
13370 (grub_machine_get_post64): likewise
13371 * include/grub/i386/efi/memory.h: new file
13372 * include/grub/x86_64/efi/memory.h: likewise
13373 * include/grub/efi/memory.h: likewise
13374 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
13375 (mmap_mod_SOURCES): new variable
13376 (mmap_mod_LDFLAGS): likewise
13377 (mmap_mod_ASFLAGS): likewise
13378 * conf/i386-coreboot.rmk: likewise
13379 * conf/i386-ieee1275.rmk: likewise
13380 * conf/i386-efi.rmk: likewise
13381 * conf/x86_64-efi.rmk: likewise
13382 * include/grub/types.h (UINT_TO_PTR): new macro
13383 (PTR_TO_UINT32): likewise
13384 (PTR_TO_UINT64): likewise
13385 * include/grub/memory.h: new file
13386 * mmap/i386/pc/mmap.c: likewise
13387 * mmap/i386/pc/mmap_helper.S: likewise
13388 * mmap/i386/uppermem.c: likewise
13389 * mmap/mmap.c: likewise
13390 * mmap/efi/mmap.c: likewise
7dd4a573 13391 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 13392 grub_upper_mem
13393 * kern/i386/pc/init.c (grub_lower_mem): removed variable
13394 (grub_upper_mem): likewise
13395 (grub_machine_init): don't use grub_upper_mem,
13396 make grub_lower_mem local
13397 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
13398 grub_mmap_iterate and grub_mmap_get_upper
13399 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
13400
d558e6b5 134012009-05-02 Bean <bean123ch@gmail.com>
13402
13403 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
13404 script/sh/parser.y.
13405 (pkglib_MODULES): Add normal.mod and sh.mod.
13406 (normal_SOURCES): New variable.
13407 (normal_mod_CFLAGS): Likewise.
13408 (normal_mod_LDFLAGS): Likewise.
13409 (sh_mod_SOURCES): Likewise.
13410 (sh_mod_CFLAGS): Likewise.
13411 (sh_mod_LDFLAGS): Likewise.
13412
13413 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
13414 script/sh/lexer.c_DEPENDENCIES.
13415 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
13416 kern/rescue_reader.c and kern/rescue_parser.c.
13417 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
13418 (grub_emu_SOURCES): Change source files.
13419 (pkglib_MODULES): Remove normal.mod.
13420 (normal_SOURCES): Removed.
13421 (normal_mod_CFLAGS): Likewise.
13422 (normal_mod_LDFLAGS): Likewise.
13423 * conf/i386-coreboot.rmk: Likewise.
13424 * conf/i386-efi.rmk: Likewise.
13425 * conf/i386-ieee1276.rmk: Likewise.
13426 * conf/powerpc-ieee1275.rmk: Likewise.
13427 * conf/sparc64-ieee1275.rmk: Likewise.
13428 * conf/x86_64-efi.rmk: Likewise.
13429
13430 * include/grub/command.h (grub_command_execute): New inline function.
13431
13432 * include/grub/menu.h (grub_menu_entry): Removed commands field.
13433
13434 * include/grub/normal.h: Remove <grub/setjmp.h>.
13435 (grub_fs_module_list): Moved to normal/autofs.c.
13436 (grub_exit_env): Removed.
13437 (grub_command_execute): Likewise.
13438 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
13439 parameter script.
13440 (read_command_list): New function declaration.
13441 (read_fs_list): Likewise.
13442
13443 * include/parser.h: Include <grub/reader.h>.
13444 (grub_parser_split_cmdline): Change type of getline parameter.
13445 (grub_parser): New structure.
13446 (grub_parser_class): New variable.
13447 (grub_parser_execute): New function declaration.
13448 (grub_register_rescue_parser): Likewise.
13449 (grub_parser_register): New inline function.
13450 (grub_parser_unregister): Likewise.
13451 (grub_parser_get_current): Likewise.
13452 (grub_parser_set_current): Likewise.
13453
13454 * include/grub/reader.h: New file.
13455 * kern/reader.c: Likewise.
13456 * kern/rescue_parser.c: Likewise.
13457 * kern/rescue_reader.c: Likewise.
13458 * normal/autofs.c: Likewise.
13459 * normal/dyncmd.c: Likewise.
13460
13461 * include/grub/rescue.h: Removed.
13462 * normal/command.h: Likewise.
13463
13464 * include/grub/script.h: Moved to ...
13465 * include/grub/script_sh.h: ... Moved here.
13466 * normal/execute.c: Moved to ...
13467 * script/sh/execute.c: ... Moved here.
13468 * normal/function.c: Moved to ...
13469 * script/sh/function.c: ... Moved here.
13470 * normal/lexer.c: Moved to ...
13471 * script/sh/lexer.c: ... Moved here.
13472 * normal/parser.y: Moved to ...
13473 * script/sh/parser.y: ... Moved here.
13474 * normal/script.c: Moved to ...
13475 * script/sh/script.c: ... Moved here.
13476
13477 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
13478 <grub/reader.h>.
13479 (grub_exit_env): Removed.
13480 (fs_module_list): Moved to normal/autofs.c.
13481 (grub_file_getline): Don't handle comment here.
13482 (free_menu): Skip removed field entry->commands.
13483 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
13484 script parameter.
13485 (read_config_file): Removed nested parameter, change getline function.
13486 (grub_enter_normal_mode): Removed.
13487 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
13488 (read_command_list): Likewise.
13489 (autoload_fs_module): Moved to normal/autofs.c.
13490 (read_fs_list): Likewise.
13491 (reader_nested): New variable.
13492 (grub_normal_execute): Run parser.sh to switch to sh parser.
13493 (grub_cmd_rescue): Removed.
13494 (cmd_normal): Removed.
13495 (grub_cmd_normal): Unregister itself at the beginning. Don't register
13496 rescue command.
13497 (grub_cmdline_run): New function.
13498 (grub_normal_reader_init): Likewise.
13499 (grub_normal_read_line): Likewise.
13500 (grub_env_write_pager): Likewise.
13501 (cmdline): New variable.
13502 (grub_normal_reader): Likewise.
13503 (GRUB_MOD_INIT): Register normal reader and set as current, register
13504 pager hook, register normal command with grub_register_command_prio,
13505 so that it won't show up in command.lst.
13506 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
13507 grub_fs_autoload_hook.
13508
13509 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
13510 (grub_menu_execute_entry): Replace grub_script_execute with
13511 grub_parser_execute, change parameter to grub_command_execute.
13512
13513 * normal/menu_text.c: Remove <grub/script.h>.
13514
13515 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
13516 and <grub/parser.h>.
13517 (run): Change editor_getline to use new parser interface. Change
13518 parameter to grub_command_execute.
13519
13520 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
13521 <grub/reader.h> and <grub/parser.h>.
13522 (grub_load_normal_mode): Execute normal command.
13523 (grub_main): Call grub_register_core_commands,
13524 grub_register_rescue_parser and grub_register_rescue_reader, use
13525 grub_reader_loop to enter input loop.
13526
7dd4a573 13527 * kern/parser.c (grub_parser_split_cmdline): Change type of
13528 getline parameter.
d558e6b5 13529 (grub_parser_class): New variable.
13530 (grub_parser_execute): New function.
13531
13532 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
13533 * loader/multiboot2.c: Likewise.
13534 * loader/sparc64/ieee1275/linux.c: Likewise.
13535
13536 * util/grub-emu.c (read_command_list): New dummy function.
13537
18db813d 135382009-05-02 Robert Millan <rmh.grub@aybabtu.com>
13539
13540 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
13541 count to 16 for CCISS and IDA.
13542
6c67de15 135432009-05-02 Robert Millan <rmh.grub@aybabtu.com>
13544
13545 * normal/menu_text.c (grub_wait_after_message): Print a newline
13546 after waiting for user input.
13547
13548 * loader/i386/linux.c: Include `<grub/normal.h>'.
13549 (grub_cmd_linux): Improve the error message about `ask' mode, by
13550 waiting for user input so it's not missed (we can do this, since
13551 user requested interaction).
13552
d9dc87b0 135532009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
13554
13555 Added missing lst to grub-mkrescue
13556
13557 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
13558 and ${input_dir}/parttool.lst
13559
ac8a2baa 135602009-04-30 David S. Miller <davem@davemloft.net>
13561
ad22a610 13562 * util/hostdisk.c (device_is_wholedisk): New function.
13563 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
13564 zero only if device_is_wholedisk() returns true.
13565
6966215d 13566 * util/hostdisk.c (convert_system_partition_to_system_disk):
13567 Handle virtual disk devices named /dev/vdiskX as found on sparc
13568 and powerpc.
13569
ac8a2baa 13570 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
13571 lettered partition specifier is found, convert to numbered.
13572
979b4fb4 135732009-04-29 David S. Miller <davem@davemloft.net>
13574
e2bf39b2 13575 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
13576 * include/grub/sparc64/ieee1275/memory.h: Likewise.
13577
3c64e104 13578 * normal/command.c: Add missing newline at end of file.
13579
979b4fb4 13580 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
13581 warnings.
13582 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
13583 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
13584 grub_ofdisk_read): Likewise, and deal similarly with the fact that
13585 ihandles have a 32-bit type but need to be stored in a "void *".
13586
136d9f82 135872009-04-28 Pavel Roskin <proski@gnu.org>
13588
9459c306 13589 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
13590 not disk. Adjust all dependencies.
2e08a26a 13591 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 13592 grub_disk_close().
13593
136d9f82 13594 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
13595 parent's partition, don't copy it by reference, as it gets freed
13596 on close.
13597
7dd4a573 135982009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 13599
13600 Preboot hooks support
13601
13602 * commands/boot.c (struct grub_preboot_t): new declaration
13603 (preboots_head): new variable
13604 (preboots_tail): likewise
13605 (grub_loader_register_preboot_hook): new function
13606 (grub_loader_unregister_preboot_hook): likewise
13607 (grub_loader_set): launch preboot hooks
13608 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
13609 (grub_loader_register_preboot_hook): new declaration
13610 (grub_loader_unregister_preboot_hook): likewise
13611
5af922b5 136122009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
13613
13614 Warning fix
13615
7dd4a573 13616 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 13617 calling grub_dprintf
13618
a5562c30 136192009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
13620
13621 Bug and warning fixes
13622
7dd4a573 13623 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 13624 declaration
13625 * commands/test.c (test_parse): fixed bug with file tests and corrected
13626 declaration of find_file
13627
4006f85c 136282009-04-26 Pavel Roskin <proski@gnu.org>
13629
13630 * Makefile.in: Don't install empty manual pages if help2man is
13631 missing. Use help2man option for output, not shell redirection.
13632
5c77c3de 136332009-04-26 David S. Miller <davem@davemloft.net>
13634
13635 * util/grub-mkdevicemap.c (make_device_map): Add missing
13636 NESTED_FUNC_ATTR to process_device().
13637
033b10a8 136382009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13639
13640 Test command
13641
13642 * commands/test.c: rewritten to use bash-like test
13643
e4343593 136442009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13645
13646 Parttool autoloading and improvements
13647
7dd4a573 13648 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 13649 (parttool.lst): new target
13650 * genmk.rb: generate parttool-*
13651 (CLEANFILES): add #{parttool}
13652 (PARTTOOLFILES): new variable
13653 * genparttoollist.sh: new file
7dd4a573 13654 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 13655 (grub_pcpart_type): likewise
13656 * commands/parttool.c (helpmsg): new variable
13657 (grub_cmd_parttool): output help if not enough arguments are supplied
13658 autoload modules
13659 (GRUB_MOD_INIT(parttool)): use helpmsg
13660
0d312500 136612009-04-24 David S. Miller <davem@davemloft.net>
13662
7dd4a573 13663 Avoiding opening same device multiple times in device iterator.
0d312500 13664
13665 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 13666 and use it to build a list of partitions in iterate_disk() and
0d312500 13667 iterate_partition().
13668
ac20caff 13669 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
13670 on disk->data.
13671
0dcf7495 13672 * disk/ieee1275/nand.c (grub_nand_iterate): Return
13673 grub_devalias_iterate() result instead of unconditional 0.
13674 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
13675 Also, capture hook return value, either directly or via
13676 grub_children_iterate(), and propagate to caller.
13677 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
13678 grub_children_iterate): Return value is now 'int' instead of
13679 'grub_err_t'.
13680 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
13681 like a proper iterator, stopping when hooks return non-zero.
13682 (grub_devalias_iterate): Likewise.
13683
c8c08833 136842009-04-23 David S. Miller <davem@davemloft.net>
13685
13686 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
13687
f01005a8 136882009-04-22 David S. Miller <davem@davemloft.net>
13689
13690 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
13691 is larger than address_cells, use that value for address_cells too.
13692
4e8269da 13693 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
13694 IEEE1275_MAX_PATH_LEN): Define.
13695 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
13696 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
13697 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
13698 'devtype'. Explicitly NULL terminate devalias expansion.
13699
a1447506 13700 * util/sparc64/ieee1275/misc.c: New file.
13701 * util/sparc64/ieee1275/grub-setup.c: New file.
13702 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
13703 * util/sparc64/ieee1275/grub-mkimage.c: New file.
13704 * util/sparc64/ieee1275/grub-install.in: New file.
13705 * util/ieee1275/ofpath.c: New file.
13706 * util/ieee1275/devicemap.c: New file.
13707 * util/devicemap.c: New file.
13708 * util/deviceiter.c: New file.
13709 * kern/sparc64/ieee1275/init.c: New file.
13710 * include/grub/util/ofpath.h: New file.
13711 * include/grub/util/deviceiter.h: New file.
13712 * util/grub-mkdevicemap.c: Include deviceiter.h.
13713 Implement using grub_util_emit_devicemap_entry and
13714 grub_util_iterate_devices.
13715 * conf/i386-corebook.rmk: Build util/deviceiter.c and
13716 util/devicemap.c into grub-mkdevicemap
13717 * conf/i386-efi.rmk: Likewise.
13718 * conf/i386-ieee1275.rmk: Likewise.
13719 * conf/i386-pc.rmk: Likewise.
13720 * conf/powerpc-ieee1275.rmk: Likewise.
13721 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
13722 images and installation utilities. Build kernel as image
13723 instead of as elf binary. Use common rules as much as possible.
13724
7dd4a573 137252009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 13726
13727 Correct GPT definition
13728
7dd4a573 13729 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 13730 of "attrib" member
13731
c6c5219f 137322009-04-19 Felix Zielcke <fzielcke@z-51.de>
13733
13734 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
13735
0552ff9f 137362009-04-19 David S. Miller <davem@davemloft.net>
13737
13738 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
13739 (grub_rescue_cmd_linux): Rename to...
13740 (grub_cmd_linux): and fix prototype.
13741 (grub_rescue_cmd_initrd): Rename to...
13742 (grub_cmd_initrd): and fix prototype.
13743 (cmd_linux, cmd_initrd): New.
13744 (GRUB_MOD_INIT(linux)): Use grub_register_command().
13745 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
13746
d1a282fc 137472009-04-17 Pavel Roskin <proski@gnu.org>
13748
07c5039f 13749 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
13750 format.
13751 (grub_ohci_transfer): Likewise.
13752
b012002d 13753 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
13754
1bc09c35 13755 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
13756 return without a value. Fix inconsistent indentation.
13757
e0ff9126 13758 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
13759 match struct grub_fs.
13760
d1a282fc 13761 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
13762 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
13763 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
13764 * commands/lspci.c (grub_lspci_iter): Likewise.
13765
a96df3f2 137662009-04-16 Bean <bean123ch@gmail.com>
13767
13768 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
13769 value.
13770
41bb0fe9 137712009-04-15 Pavel Roskin <proski@gnu.org>
13772
13773 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
13774 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
13775 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
13776 definitions.
13777
596c6970 137782009-04-15 Felix Zielcke <fzielcke@z-51.de>
13779
13780 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 13781 that no multiple data or metadata areas are supported and `Unknown
596c6970 13782 metadata header'.
13783
7dd4a573 137842009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 13785
13786 Move loader out of the kernel
13787
13788 * kern/loader.c: moved to ...
13789 * commands/boot.c: ... moved here
13790 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
13791 * commands/boot.c (grub_cmd_boot): moved here. All users updated
13792 * include/grub/kernel.h (grub_machine_fini): export
13793 * include/grub/loader.h (grub_loader_is_loaded): update declaration
13794 (grub_loader_set): likewise
13795 (grub_loader_unset): likewise
13796 (grub_loader_boot): likewise
13797 * conf/common.rmk: new module boot.mod
13798 (pkglib_MODULES): add boot.mod
13799 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
13800 (grub_emu_SOURCES): likewise
13801 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
13802 (grub_emu_SOURCES): likewise
13803 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
13804 (grub_emu_SOURCES): likewise
13805 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
13806 (grub_emu_SOURCES): likewise
13807 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
13808 (grub_emu_SOURCES): likewise
7dd4a573 13809 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
13810 (grub_emu_SOURCES): likewise
0d5d5653 13811 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 13812 (grub_emu_SOURCES): likewise
0d5d5653 13813
7dd4a573 138142009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 13815
13816 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 13817
5999d619 13818 * kern/misc.c (grub_itoa): Removed function
13819 (grub_ltoa): likewise
13820 (grub_vsprintf): use grub_lltoa
13821
7dd4a573 138222009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 13823
13824 Restore grub-emu
13825
13826 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
13827 * conf/i386-coreboot.rmk: likewise
13828 * conf/i386-ieee1275.rmk: likewise
13829 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 13830
20318222 138312009-04-15 Felix Zielcke <fzielcke@z-51.de>
13832
13833 * INSTALL: Add that `./autogen.sh' needs to be run before
13834 `./configure.'.
13835
d05f0df3 138362009-04-14 Bean <bean123ch@gmail.com>
13837
13838 * Makefile.in (pkglib_DATA): Add handler.lst.
13839 (handler.lst): New rule.
13840
13841 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
13842 * conf/i386-coreboot.rmk: Likewise.
13843 * conf/i386-ieee1275.rmk: Likewise.
13844 * conf/i386-efi.rmk: Likewise.
13845 * conf/x86_64-efi.rmk: Likewise.
13846 * conf/powerpc-ieee1275.rmk: Likewise.
13847 * conf/sparc64-ieee1275.rmk: Likewise.
13848
13849 * genhandlerlist.sh: New file.
13850
13851 * genmk.rb: Add rules to generate handler.lst.
13852
13853 * include/grub/normal.h (grub_file_getline): New function definition.
13854 (read_handler_list): Likewise.
13855 (free_handler_list): Likewise.
13856
13857 * include/grub/term.h (grub_term_register_input): Add name parameter
13858 for auto generation of handler.lst.
13859 (grub_term_register_output): Likewise.
13860
13861 * normal/handler.c: New file.
13862
13863 * normal/main.c (get_line): Renamed to grub_file_getline.
13864 (read_config_file): Use the newly renamed grub_file_getline.
13865 (read_command_list): Likewise.
13866 (read_fs_list): Likewise.
13867 (grub_normal_execute): Call read_handler_list to parse handler.lst.
13868 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
13869
13870 * term/efi/console.c (grub_console_init): Add name parameter for auto
13871 generation of handler.lst.
13872 * term/gfxterm.c: Likewise.
13873 * term/i386/pc/at_keyboard.c: Likewise.
13874 * term/i386/pc/console.c: Likewise.
13875 * term/i386/pc/serial.c: Likewise.
13876 * term/i386/pc/vesafb.c: Likewise.
13877 * term/i386/pc/vga.c: Likewise.
13878 * term/i386/pc/vga_text.c: Likewise.
13879 * term/ieee1275/ofconsole.c: Likewise.
13880 * term/usb_keyboard.c: Likewise.
13881
33c846be 138822009-04-14 Bean <bean123ch@gmail.com>
13883
13884 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
13885 properly with null character.
13886
4484e01e 138872009-04-14 Felix Zielcke <fzielcke@z-51.de>
13888
13889 * configure: Remove.
13890 * config.h.in: Likewise.
f93d668e 13891 * stamp-h.in: Likewise.
4484e01e 13892 * DISTLIST: Likewise.
13893 * conf/common.mk: Likewise.
13894 * conf/i386-coreboot.mk: Likewise.
13895 * conf/i386-efi.mk: Likewise.
13896 * conf/i386-ieee1275.mk: Likewise.
13897 * conf/i386.mk: Likewise.
13898 * conf/i386-pc.mk: Likewise.
13899 * conf/powerpc-ieee1275.mk: Likewise.
13900 * conf/sparc64-ieee1275.mk: Likewise.
13901 * conf/x86_64-efi.mk: Likewise.
13902
13903 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
13904 develop on GRUB.
13905
7dd4a573 139062009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 13907 David S. Miller <davem@davemloft.net>
13908
13909 * util/hostdisk.c (make_device_name): Fix buffer length
13910 calculations.
13911
e25b5a8c 139122009-04-14 Felix Zielcke <fzielcke@z-51.de>
13913
13914 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
13915 <sys/param.h> and <sys/sysctl.h>.
13916 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
13917 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
13918 opening the device and reset them afterwards.
13919
1f1f580c 139202009-04-13 Pavel Roskin <proski@gnu.org>
13921
13922 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
13923 Reported by John Stanley <jpsinthemix@verizon.net>
13924
7ebc2d6b 139252009-04-13 Robert Millan <rmh@aybabtu.com>
13926
13927 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 13928 that name for menuentries when appropriate.
7ebc2d6b 13929
d8ba3667 139302009-04-13 Felix Zielcke <fzielcke@z-51.de>
13931
13932 * util/grub.d/10_freebsd.in: Add a missing `fi'.
13933
cba416eb 139342009-04-13 Robert Millan <rmh@aybabtu.com>
13935
13936 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
13937 to Linux, simply abort telling the user it's no longer supported.
13938
a547a745 139392009-04-13 Felix Zielcke <fzielcke@z-51.de>
13940
13941 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 13942 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 13943 `freebsd_loadenv' only when devices.hints exist.
13944
232a769c 139452009-04-13 Pavel Roskin <proski@gnu.org>
13946
13947 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
13948
c3012039 139492009-04-13 Felix Zielcke <fzielcke@z-51.de>
13950
13951 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
13952 partition number.
13953 (grub_drive): Likewise.
13954
234022fe 139552009-04-13 David S. Miller <davem@davemloft.net>
13956
13957 * kern/sparc64/ieee1275/ieee1275.c: New file.
13958 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
13959 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
13960 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
13961 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
13962 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
13963 grub_ieee1275_alloc_physmem): Declare new exported functions.
13964
d8e1836c 13965 * include/grub/sparc64/ieee1275/loader.h: New file.
13966 * include/grub/sparc64/ieee1275/memory.h: Likewise.
13967 * include/grub/sparc64/kernel.h: Likewise.
13968 * loader/sparc64/ieee1275/linux.c: Likewise.
13969
96bd81ec 13970 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
13971 (grub_fstest_SOURCES): Likewise.
13972
6a4737e5 13973 * util/hostdisk.c (make_device_name): Do not make any assumptions
13974 about the length of drive names.
13975
1d7a72fd 13976 * kern/dl.c (grub_dl_load_file): Close file immediately when
13977 we are done using it.
13978
56bc2471 139792009-04-12 David S. Miller <davem@davemloft.net>
13980
13981 * kern/misc.c (grub_ltoa): Fix cast when handling negative
13982 values. Noticed by Pavel Roskin.
13983
df38d0bb 13984 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
13985 target compiler.
7dd4a573 13986
e382e93a 13987 * genmk.rb: Add more flexible image type specification, also
13988 pass --strip-unneeded to objcopy.
13989 * conf/i386-pc.rmk: Use *_FORMAT.
13990 * conf/i386-pc.mk: Rebuilt.
13991
f5dbbca9 13992 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
13993 (OFDISK_HASH_SZ): Define.
13994 (ofdisk_hash): New hash table.
13995 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
13996 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
13997 instead of device phandle which is not unique.
13998
91c88b12 13999 * kern/sparc64/ieee1275/init.c: Delete, replace with...
14000 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
14001 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
14002 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
14003 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
14004 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
14005 GRUB_KERNEL_MACHINE_DATA_END): Define.
14006 (grub_kernel_image_size, grub_total_module_size): Declare.
14007
5b5d4aa5 140082009-04-12 Pavel Roskin <proski@gnu.org>
14009
7dd4a573 14010 * configure.ac: Change the logic when we check for target tools.
14011 Do it when the target is specified and it's different from the
14012 specified value of the host.
5b5d4aa5 14013
c91e1793 140142009-04-11 Felix Zielcke <fzielcke@z-51.de>
14015
14016 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
14017 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
14018 GNU/kFreeBSD. Check if a device is a character device. Use
14019 DIOCGMEDIASIZE to get the size.
14020 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
14021 support for GNU/kFreeBSD.
14022 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
14023 is a character device instead of a block device. Add support for
14024 FreeBSD device names.
14025
14026 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
14027 is a character device instead of a block device.
14028
14029 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
14030 is a character device instead of a block device.
14031
b1ac8644 140322009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
14033
14034 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
14035 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
14036 FreeBSD. Check if a device is a character device. Use
14037 DIOCGMEDIASIZE to get the size.
14038 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
14039 support for FreeBSD.
14040 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
14041 is a character device instead of a block device. Add support for
14042 FreeBSD device names.
14043
14044 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
14045 a character device instead of a block device.
14046 (grub_util_check_char_device): New function.
14047
14048 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
14049 a character device instead of a block device.
14050
14051 * include/grub/util/getroot.h (grub_util_check_char_device): New
14052 prototype.
14053
a3f7515a 140542009-04-11 David S. Miller <davem@davemloft.net>
14055
14056 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
14057 static libgcc.
14058 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
14059 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
14060 function, if present.
14061 (__bswapdi2): Likewise.
14062
0d44993d 14063 * include/grub/sparc64/ieee1275/boot.h: New file.
14064 * boot/sparc64/ieee1275/boot.S: Likewise.
14065 * boot/sparc64/ieee1275/diskboot.S: Likewise.
14066
ed3d2bc2 14067 * kern/misc.c (grub_ltoa): New function.
14068 (grub_vsprintf): Use it to format 'long' integers.
14069
d3bfb59c 140702009-04-10 David S. Miller <davem@davemloft.net>
14071
14072 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
14073 slots are of type grub_ieee1275_cell_t.
14074 (grub_nand_read): Likewise.
14075 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
14076 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
14077 macros are used to compare values in arg/ret block of the call.
14078 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
14079 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
14080 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
14081 grub_ieee1275_instance_to_path, grub_ieee1275_write,
14082 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
14083 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
14084 grub_ieee1275_close, grub_ieee1275_set_property,
14085 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
14086 grub_ieee1275_cell_t.
14087 * kern/ieee1275/openfw.c (grub_map): Likewise.
14088 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
14089 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
14090
450e2238 14091 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
14092 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
14093 (grub_devalias_iterate): Likewise.
14094
7dd4a573 140952009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 14096
14097 UFS improvements
14098
14099 * fs/ufs.c (INODE_NBLOCKS): new definition
14100 (struct grub_ufs_dirent): added fields for non-BSD dirents
14101 (grub_ufs_get_file_block): fixed double indirect handling
14102 (grub_ufs_lookup_symlink): use more robust way to determine whether
14103 symlink is inline
14104 (grub_ufs_find_file): support for non-BSD dirents
14105 (grub_ufs_dir): support for non-BSD dirents
14106
e7e6862a 141072009-04-10 Bean <bean123ch@gnail.com>
14108
14109 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
14110 attribute, otherwise the size would be wrong for i386 platform.
14111
14112 * include/grub/pci.h (grub_pci_read_word): New inline function.
14113 (grub_pci_read_byte): Likewise.
14114 (grub_pci_write): Likewise.
14115 (grub_pci_write_word): Likewise.
14116 (grub_pci_write_byte): Likewise.
14117
14118 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
14119
14120 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
14121 (find_framebuf): Scan pci to locate the frame buffer address.
14122
14123 * commands/efi/fixvideo.c: New file.
14124
14125 * commands/efi/loadbios.c: Likewise.
14126
14127 * commands/memrw.c: Likewise.
14128
14129 * util/grub-dumpbios.in: Likewise.
14130
14131 * conf/common.rmk (grub-dumpbios): New utility.
14132 (pkglib_MODULES): New module memrw.mod.
14133 (memrw_mod_SOURCE): New macro.
14134 (memrw_mod_CFLAGS): Likewise.
14135 (memrw_mod_LDFLAGS): Likewise.
14136
7dd4a573 14137 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 14138 fixvideo.mod.
14139 (loadbios_mod_SOURCE): New macro.
14140 (loadbios_mod_CFLAGS): Likewise.
14141 (loadbios_mod_LDFLAGS): Likewise.
14142 (fixvideo_mod_SOURCE): Likewise.
14143 (fixvideo_mod_CFLAGS): Likewise.
14144 (fixvideo_mod_LDFLAGS): Likewise.
14145
7dd4a573 14146 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 14147 fixvideo.mod.
14148 (loadbios_mod_SOURCE): New macro.
14149 (loadbios_mod_CFLAGS): Likewise.
14150 (loadbios_mod_LDFLAGS): Likewise.
14151 (fixvideo_mod_SOURCE): Likewise.
14152 (fixvideo_mod_CFLAGS): Likewise.
14153 (fixvideo_mod_LDFLAGS): Likewise.
14154
af63ada2 141552009-04-08 Felix Zielcke <fzielcke@z-51.de>
14156
14157 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
14158
c2cdde70 141592009-04-07 David S. Miller <davem@davemloft.net>
14160
14161 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
14162 support for R_SPARC_OLO10 relocations. Fix compile warning for
14163 R_SPARC_WDISP30 case.
ea3f72cf 14164 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 14165
761319cf 141662009-04-06 Pavel Roskin <proski@gnu.org>
14167
1007d1f5 14168 * include/grub/misc.h (ARRAY_SIZE): New macro.
14169 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
14170 New macro.
14171 * loader/i386/linux.c (allocate_pages): Use free_pages().
14172 (grub_linux_unload): Don't use free_pages().
14173 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
14174 wrong index. Treat all other modes as text modes.
14175 (grub_cmd_linux): Initialize vid_mode unconditionally to
14176 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
14177
761319cf 14178 * commands/help.c (print_command_help): Use cmd->prio, not
14179 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
14180
ea761d40 141812009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 14182
ea761d40 14183 Parttool
14184
14185 * parttool/pcpart.c: new file
14186 * commands/parttool.c: likewise
14187 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
14188 (parttool_mod_SOURCES): new variable
14189 (parttool_mod_CFLAGS): likewise
14190 (parttool_mod_LDFLAGS): likewise
14191 (pcpart_mod_SOURCES): likewise
14192 (pcpart_mod_CFLAGS): likewise
14193 (pcpart_mod_LDFLAGS): likewise
7dd4a573 14194 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 14195 and parttool/pcpart.c
14196 * conf/i386-efi.rmk: likewise
14197 * conf/i386-ieee1275.rmk: likewise
14198 * conf/i386-pc.rmk: likewise
14199 * conf/powerpc-ieee1275.rmk: likewise
14200 * conf/sparc64-ieee1275.rmk: likewise
14201 * conf/x86_64-ieee1275.rmk: likewise
14202
05aaebfb 142032009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14204
14205 Support for mtime and further expandability of dir command
14206
14207 * include/grub/lib/datetime.h: moved to ...
7dd4a573 14208 * include/grub/datetime.h: ... moved here and added
05aaebfb 14209 declaration of grub_unixtime2datetime. All users updated
7dd4a573 14210 * include/grub/fs.h: new syntax for dir and mtime functions in
14211 struct grub_fs
05aaebfb 14212 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
14213 and GRUB_FSHELP_FLAGS_MASK
14214 * commands/ls.c (grub_ls_list_files): Write mtime in long format
14215 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
14216 (grub_ext2_mtime): new function
14217 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
14218 (grub_hfsplus_mtime): new function
14219 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
14220 (GRUB_UFS_ATTR_FILE): likewise
14221 (GRUB_UFS_ATTR_LNK): likewise
14222 (struct grub_ufs_sblock): new fields mtime
14223 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
14224 all users updated
14225 (grub_ufs_dir): mtime support
14226 (grub_ufs_mtime): new function
14227 * fs/affs.c (grub_affs_dir): use new dir syntax
14228 * fs/afs.c (grub_afs_dir): likewise
14229 * fs/cpio.c (grub_cpio_dir): likewise
14230 * fs/fat.c (grub_fat_find_dir): likewise
14231 * fs/hfs.c (grub_hfs_dir): likewise
14232 * fs/iso9660.c (grub_iso9660_dir): likewise
14233 * fs/jfs.c (grub_jfs_dir): likewise
14234 * fs/minix.c (grub_minix_dir): likewise
14235 * fs/ntfs.c (grub_ntfs_dir): likewise
14236 * fs/reiserfs.c (grub_reiserfs_dir): likewise
14237 * fs/sfs.c (grub_sfs_dir): likewise
14238 * fs/xfs.c (grub_xfs_dir): likewise
14239 * util/hostfs.c (grub_hostfs_dir): likewise
14240 * lib/datetime.c: moved to ...
14241 * normal/datetime.c: ... moved here
14242 (grub_unixtime2datetime): new function
14243 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 14244 * normal/completion.c (iterate_dir): use new dir syntax
14245 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 14246 last modification time of a volume
7dd4a573 14247 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 14248 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 14249 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 14250 (normal_mod_SOURCES): likewise
14251 (datetime_mod_SOURCES): Removed lib/datetime.c
14252 * conf/i386-efi.rmk: likewise
7dd4a573 14253 * conf/i386-ieee1275.rmk: likewise
05aaebfb 14254 * conf/i386-pc.rmk: likewise
14255 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 14256 * conf/sparc64-ieee1275.rmk: likewise
14257 * conf/x86_64-efi.rmk: likewise
05aaebfb 14258
8a7e1a14 142592009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14260
14261 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 14262
14263 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 14264 on grub_fat_find_dir
14265 (grub_fat_find_dir): use grub_fat_iterate_dir
14266 (grub_fat_label): likewise
14267
04186a9c 142682009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
14269
7dd4a573 14270 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 14271 and command.h
14272 remove extraneous kernel_elf_HEADERS
14273
da4c0bb6 142742009-04-04 Bean <bean123ch@gnail.com>
14275
14276 * include/grub/util/misc.h: Add dummy function fsync for mingw.
14277
14278 * util/misc.c: Likewise.
14279
54ad9555 142802009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
14281
14282 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
14283 instead of grub_printf.
14284
7a6bf9f2 142852009-04-03 Robert Millan <rmh@aybabtu.com>
14286
14287 * loader/i386/linux.c (grub_linux_setup_video): Fill
14288 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
14289 values from `mode info' structure instead of hardcoded
14290 values.
14291
3fcc2083 142922009-04-01 Pavel Roskin <proski@gnu.org>
14293
14294 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
14295 unused now.
14296 * genmk.rb: Likewise.
14297 * configure.ac: Likewise.
14298
5ec9740b 142992009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
14300
14301 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
14302 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
14303
5270cec8 143042009-04-01 David S. Miller <davem@davemloft.net>
14305
14306 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 14307 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 14308 (grub_setjmp): Mark with 'returns_twice' attribute.
14309 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
14310 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
14311 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
14312
9c3dd854 143132009-04-01 Robert Millan <rmh@aybabtu.com>
14314
14315 Reapply fix from 2008-07-28 which was accidentally reverted; also
14316 perform the same fix to a similar check in same function.
14317
14318 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
14319 with the same number are found, just use issue a warning with
14320 grub_dprintf(), as this error has been reported to be non-fatal.
14321
0d818b7e 143222009-03-31 Pavel Roskin <proski@gnu.org>
14323
14324 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
14325 for cross-compilation.
14326
95646d92 143272009-03-30 Robert Millan <rmh@aybabtu.com>
14328
14329 Fix i386-ieee1275 build.
14330
14331 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
14332 Remove declaration.
14333
6a003ed1 143342009-03-30 Pavel Roskin <proski@gnu.org>
14335
14336 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
14337 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
14338 zero-terminated, rely only on the strlen value. Fix comparison
14339 of strings differing in length.
14340
92f33540 143412009-03-30 Robert Millan <rmh@aybabtu.com>
14342
14343 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
14344 checking for abi version. Improve error messages on BIOS to notify
14345 user about `linux16' command.
14346
a8c48fd5 143472009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14348
f968172e 14349 Leak fixes
a8c48fd5 14350
f968172e 14351 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
14352 in case of collision
14353 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 14354
9c323f09 143552009-03-29 Robert Millan <rmh@aybabtu.com>
14356
14357 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
14358 set `vid_mode' accordingly.
14359 (grub_linux_boot): Process `vid_mode' and set video mode.
14360
ae68f423 143612009-03-29 Robert Millan <rmh@aybabtu.com>
14362
14363 * util/grub.d/10_linux.in (linux_entry): New function.
14364 Factorize generation of Linux boot entries.
14365
5709cfc4 143662009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
14367
14368 Make the format of Environment Block plain text. The boot loader
14369 part is not tested well yet.
7dd4a573 14370
5709cfc4 14371 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
14372 (buffer): Removed.
14373 (envblk): Likewise.
14374 (usage): Remove "info" and "clear". Add "unset". Update the
14375 description of "set", as this does not delete variables any
14376 longer.
14377 (create_envblk_file): Complete rewrite.
14378 (open_envblk_file): Likewise.
14379 (cmd_info): Removed.
14380 (cmd_list): Likewise.
14381 (cmd_set): Likewise.
14382 (cmd_clear): Likewise.
14383 (list_variables): New function.
14384 (write_envblk): Likewise.
14385 (set_variables): Likewise.
14386 (unset_variables): Likewise.
14387 (main): Complete rewrite.
14388
14389 * commands/loadenv.c (buffer): Removed.
14390 (envblk): Likewise.
14391 (open_envblk_file): New function.
14392 (read_envblk_file): Complete rewrite.
14393 (grub_cmd_load_env): Likewise.
14394 (grub_cmd_list_env): Likewise.
14395 (struct blocklist): New struct.
14396 (free_blocklists): New function.
14397 (check_blocklists): Likewise.
14398 (write_blocklists): Likewise.
14399 (grub_cmd_save_env): Complete rewrite.
14400
14401 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
14402 a plain text signature.
14403 (GRUB_ENVBLK_MAXLEN): Removed.
14404 (struct grub_envblk): Complete rewrite.
14405 (grub_envblk_find): Removed.
14406 (grub_envblk_insert): Likewise.
14407 (grub_envblk_open): New prototype.
14408 (grub_envblk_set): Likewise.
14409 (grub_envblk_delete): Put const to VALUE.
14410 (grub_envblk_iterate): Put const to NAME and VALUE.
14411 (grub_envblk_close): New prototype.
14412 (grub_envblk_buffer): New inline function.
14413 (grub_envblk_size): Likewise.
14414
14415 * lib/envblk.c: Include grub/mm.h.
14416 (grub_env_find): Removed.
14417 (grub_envblk_open): New function.
14418 (grub_envblk_close): Likewise.
14419 (escaped_value_len): Likewise.
14420 (find_next_line): Likewise.
14421 (grub_envblk_insert): Removed.
14422 (grub_envblk_set): New function.
14423 (grub_envblk_delete): Complete rewrite.
14424 (grub_envblk_iterate): Likewise.
14425
a9368fd3 144262009-03-28 Robert Millan <rmh@aybabtu.com>
14427
14428 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
14429 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
14430 variables. Use 16-bit loader.
14431 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
14432 loader.
14433 * kern/i386/loader.S (grub_linux_boot): Rename to ...
14434 (grub_linux16_boot): ... this. Update all users.
14435 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
14436 (grub_linux_boot): ... this. Update all users.
14437
14438 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
14439 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
14440 commands to `linux16' and `initrd16'.
14441 (GRUB_MOD_FINI(linux)): Rename to ...
14442 (GRUB_MOD_FINI(linux16)): ... this.
14443
e4dd5a7e 144442009-03-24 Pavel Roskin <proski@gnu.org>
14445
14446 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
14447 not just for compilation.
14448
c04d6e05 144492009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
14450
14451 Move multiboot helper out of kernel
14452
14453 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
14454 `loader/i386/multiboot_helper.S'.
14455 * conf/i386-coreboot.rmk: Likewise
14456 * conf/i386-ieee1275.rmk: Likewise
14457
14458 * kern/i386/loader.S: Move multiboot helpers from here...
14459 * loader/i386/multiboot_helper.S: ...moved here
14460 * include/grub/i386/loader.h: Move declarations of multiboot
14461 helpers from here...
14462 * include/grub/i386/multiboot.h: ...moved here
14463 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
14464
42a5b3fc 144652009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
14466
14467 * kern/env.c (grub_env_context_open): Added an argument to specify
14468 whether a new context inherits exported variables from current
14469 one. This is useful when making a sandbox to interpret a config
14470 file.
14471 All callers updated.
14472
14473 * include/grub/env.h (grub_env_context_open): Updated the prototype.
14474
b28bbc4e 144752009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
14476
14477 * kern/env.c (grub_env_context_close): Fix memory leaks.
14478
f04f02e4 144792009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
14480
14481 * normal/main.c (grub_normal_execute): Added an argument
14482 BATCH to specify if an interactive interface should be provided
14483 after reading a config file.
14484 All callers updated.
14485 (read_command_list): Prevent being executed twice.
14486 (read_fs_list): Likewise.
14487
42a5b3fc 14488 * include/grub/normal.h (grub_normal_execute): Updated the
14489 prototype.
f04f02e4 14490
41473ac2 144912009-03-22 Pavel Roskin <proski@gno.org>
14492
fbc00b0c 14493 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
14494 _start.
14495 * kern/i386/pc/startup.S: Likewise.
14496 * kern/i386/efi/startup.S: Likewise.
14497 * kern/i386/ieee1275/startup.S: Likewise.
14498 * kern/i386/coreboot/startup.S: Likewise.
14499 * kern/x86_64/efi/startup.S: Likewise.
14500
41473ac2 14501 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
14502 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
14503 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
14504
2274cc8f 145052009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
14506
14507 Bugfixes in multiboot for bugs uncovered by solaris kernel.
14508
14509 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
14510 limit detection.
14511 Use vaddr of correct segment for entry_point.
14512
b1b797cb 145132009-03-21 Bean <bean123ch@gmail.com>
14514
14515 * commands/blocklist.c: Add include file <grub/command.h>, remove
14516 <grub/normal.h> and <grub/arg.h>.
14517 (grub_cmd_blocklist): Use the new command interface.
14518 (GRUB_MOD_INIT): Likewise.
14519 (GRUB_MOD_FINI): Likewise.
14520 * commands/boot.c: Likewise.
14521 * commands/cat.c: Likewise.
14522 * commands/cmp.c: Likewise.
14523 * commands/configfile.c: Likewise.
14524 * commands/crc.c: Likewise.
14525 * commands/echo.c: Likewise.
14526 * commands/halt.c: Likewise.
14527 * commands/handler.c: Likewise.
14528 * commands/hdparm.c: Likewise.
14529 * commands/help.c: Likewise.
14530 * commands/hexdump.c: Likewise.
14531 * commands/loadenv.c: Likewise.
14532 * commands/ls.c: Likewise.
14533 * commands/lsmmap.c: Likewise.
14534 * commands/lspci.c: Likewise.
14535 * commands/loadenv.c: Likewise.
14536 * commands/read.c: Likewise.
14537 * commands/reboot.c: Likewise.
14538 * commands/search.c: Likewise.
14539 * commands/sleep.c: Likewise.
14540 * commands/test.c: Likewise.
14541 * commands/usbtest.c: Likewise.
14542 * commands/videotest.c: Likewise.
14543 * commands/i386/cpuid.c: Likewise.
14544 * commands/i386/pc/halt.c: Likewise.
14545 * commands/i386/pc/play.c: Likewise.
14546 * commands/i386/pc/pxecmd.c: Likewise.
14547 * commands/i386/pc/vbeinfo.c: Likewise.
14548 * commands/i386/pc/vbetest.c: Likewise.
14549 * commands/ieee1275/suspend.c: Likewise.
14550 * disk/loopback.c: Likewise.
14551 * font/font_cmd.c: Likewise.
14552 * hello/hello.c: Likewise.
14553 * loader/efi/appleloader.c: Likewise.
14554 * loader/efi/chainloader.c: Likewise.
14555 * loader/i386/bsd.c: Likewise.
14556 * loader/i386/efi/linux.c: Likewise.
14557 * loader/i386/ieee1275/linux.c: Likewise.
14558 * loader/i386/linux.c: Likewise.
14559 * loader/i386/pc/chainloader.c: Likewise.
14560 * loader/i386/pc/linux.c: Likewise.
14561 * loader/powerpc/ieee1275/linux.c: Likewise.
14562 * loader/multiboot_loader.c: Likewise.
14563 * term/gfxterm.c: Likewise.
14564 * term/i386/pc/serial.c: Likewise.
14565 * term/terminfo.c: Likewise.
14566
14567 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
14568 * term/i386/pc/vga.c: Likewise.
14569 * video/readers/jpeg.c: Likewise.
14570 * video/readers/png.c: Likewise.
14571 * video/readers/tga.c: Likewise.
14572
14573 * util/grub-fstest (cmd_loopback): Removed.
14574 (cmd_blocklist): Likewise.
14575 (cmd_ls): Likewise.
14576 (grub_register_command): Likewise.
14577 (grub_unregister_command): Likewise.
14578 (execute_command): Use grub_command_find to locate command and execute
14579 it.
14580
14581 * include/grub/efi/chainloader.h: Removed.
14582 * loader/efi/chainloader_normal.c: Likewise.
14583 * loader/i386/bsd_normal.c: Likewise.
14584 * loader/i386/pc/chainloader_normal.c: Likewise.
14585 * loader/i386/pc/multiboot_normal.c: Likewise.
14586 * loader/linux_normal.c: Likewise.
14587 * loader/multiboot_loader_normal.c: Likewise.
14588 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
14589
14590 * gencmdlist.sh: Scan new registration command grub_register_extcmd
14591 and grub_register_command_p1.
14592
14593 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
14594 kern/command.c, lib/arg.c and commands/extcmd.c.
14595 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
14596 (minicmd_mod_SOURCES): New variable.
14597 (minicmd_mod_CFLAGS): Likewise.
14598 (minicmd_mod_LDFLAGS): Likewise.
14599 (extcmd_mod_SOURCES): Likewise.
14600 (extcmd_mod_CFLAGS): Likewise.
14601 (extcmd_mod_LDFLAGS): Likewise.
14602 (boot_mod_SOURCES): Removed.
14603 (boot_mod_CFLAGS): Likewise.
14604 (boot_mod_LDFLAGS): Likewise.
14605
14606 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
14607 kern/corecmd.c.
14608 (kernel_img_HEADERS): Add command.h.
14609 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
14610 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
14611 and lib/arg.c.
14612 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
14613 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
14614 remove the corresponding normal mode command.
14615 (normal_mod_SOURCES): Remove normal/arg.c.
14616 * conf/i386-coreboot.rmk: Likewise.
14617 * conf/i386-efi.rmk: Likewise.
14618 * conf/i386-ieee1275.rmk: Likewise.
14619 * conf/powerpc-ieee1275.rmk: Likewise.
14620 * conf/x86_64-efi.rmk: Likewise.
14621
14622 * include/grub/arg.h: Move from here ...
14623 * include/grub/lib/arg.h: ... to here.
14624
14625 * normal/arg.c: Move from here ...
14626 * lib/arg.c: ... to here.
14627
14628 * commands/extcmd.c: New file.
14629 * commands/minicmd.c: Likewise.
14630 * include/grub/command.h: Likewise.
14631 * include/grub/extcmd.h: Likewise.
14632 * kern/command.c: Likewise.
14633 * kern/corecmd.c: Likewise.
14634
14635 * kern/list.c (grub_list_iterate): Return int instead of void.
14636 (grub_list_insert): New function.
14637 (grub_prio_list_insert): Likewise.
14638
14639 * kern/rescue.c (grub_rescue_command): Removed.
14640 (grub_rescue_command_list): Likewise.
14641 (grub_rescue_register_command): Likewise.
14642 (grub_rescue_unregister_command): Likewise.
14643 (grub_rescue_cmd_boot): Move to minicmd.c
14644 (grub_rescue_cmd_help): Likewise.
14645 (grub_rescue_cmd_info): Likewise.
14646 (grub_rescue_cmd_boot): Likewise.
14647 (grub_rescue_cmd_testload): Likewise.
14648 (grub_rescue_cmd_dump): Likewise.
14649 (grub_rescue_cmd_rmmod): Likewise.
14650 (grub_rescue_cmd_lsmod): Likewise.
14651 (grub_rescue_cmd_exit): Likewise.
14652 (grub_rescue_print_devices): Moved to corecmd.c.
14653 (grub_rescue_print_files): Likewise.
14654 (grub_rescue_cmd_ls): Likewise.
14655 (grub_rescue_cmd_insmod): Likewise.
14656 (grub_rescue_cmd_set): Likewise.
14657 (grub_rescue_cmd_unset): Likewise.
7d074e3c 14658 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 14659 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 14660 commands, remove grub_rescue_register_command calls.
b1b797cb 14661
7d074e3c 14662 * normal/command.c (grub_register_command): Removed.
b1b797cb 14663 (grub_unregister_command): Likewise.
14664 (grub_command_find): Likewise.
14665 (grub_iterate_commands): Likewise.
14666 (rescue_command): Likewise.
14667 (export_command): Moved to corecmd.c.
14668 (set_command): Removed.
14669 (unset_command): Likewise.
14670 (insmod_command): Likewise.
14671 (rmmod_command): Likewise.
14672 (lsmod_command): Likewise.
14673 (grub_command_init): Likewise.
14674
14675 * normal/completion.c (iterate_command): Use cmd->prio to check for
14676 active command.
14677 (complete_arguments): Use grub_extcmd_t structure to find options.
14678 (grub_normal_do_completion): Change function grub_iterate_commands to
14679 grub_command_iterate.
14680
14681 * normal/execute.c (grub_script_execute_cmd): No need to parse
14682 argument here.
14683
14684 * normal/main.c (grub_dyncmd_dispatcher): New function.
14685 (read_command_list): Register unload commands as dyncmd.
14686 (grub_cmd_normal): Use new command interface, register rescue,
14687 unregister normal at entry, register normal, unregister rescue at exit.
14688
14689 * include/grub/list.h (grub_list_test_t): New type.
14690 (grub_list_iterate): Return int instead of void.
14691 (grub_list_insert): New function.
14692 (GRUB_AS_NAMED_LIST_P): New macro.
14693 (GRUB_AS_PRIO_LIST): Likewise.
14694 (GRUB_AS_PRIO_LIST_P): Likewise.
14695 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
14696 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
14697 (grub_prio_list): New structure.
14698 (grub_prio_list_insert): New function.
14699 (grub_prio_list_remove): New inline function.
14700
14701 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
14702 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
14703 (GRUB_COMMAND_FLAG_MENU): Likewise.
14704 (GRUB_COMMAND_FLAG_BOTH): Likewise.
14705 (GRUB_COMMAND_FLAG_TITLE): Likewise.
14706 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
14707 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
14708 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
14709 (grub_command): Likewise.
14710 (grub_register_command): Likewise.
14711 (grub_command_find): Likewise.
14712 (grub_iterate_commands): Likewise.
14713 (grub_command_init): Likewise.
14714 (grub_arg_parse): Likewise.
14715 (grub_arg_show_help): Likewise.
14716
14717 * include/grub/rescue.h (grub_rescue_register_command): Removed.
14718 (grub_rescue_unregister_command): Likewise.
14719
14720 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
14721 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
14722 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
14723
14724 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
14725 grub_rescue_cmd_initrd.
14726 * include/grub/i386/loader.h: Likewise.
14727 * include/grub/x86_64/loader.h: Likewise.
14728
14729 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
14730
1f4147aa 147312009-03-21 Bean <bean123ch@gmail.com>
14732
14733 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
14734 instead of stat in mingw environment.
14735
14736 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
14737
14738 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
14739
14740 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
14741 AC_CONFIG_LINKS.
14742
2156d5ba 147432009-03-21 Bean <bean123ch@gmail.com>
14744
14745 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
14746 out of range error.
14747
177b82ca 147482009-03-18 Michel Dänzer <michel@daenzer.net>
14749
14750 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
14751 checking inode flags for EXT4_EXTENTS_FLAG.
14752
14aad807 147532009-03-18 Robert Millan <rmh@aybabtu.com>
14754
14755 * loader/i386/linux.c: Include `<grub/video.h>' and
14756 `<grub/i386/pc/vbe.h>'..
14757 (grub_linux_setup_video): New function. Loosely based on the EFI one.
14758 (grub_linux32_boot): Attempt to configure video settings with
14759 grub_linux_setup_video().
14760 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
14761 to avoid grub_console_fini() which would step out of graphical mode
14762 unconditionally.
14763
8cf83a27 147642009-03-14 Robert Millan <rmh@aybabtu.com>
14765
14766 Fix build on powerpc.
14767 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
14768
40164e75 147692009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
14770
14771 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
14772 background image command.
14773
c58bc32a 147742009-03-12 Colin D Bennett <colin@gibibit.com>
14775
14776 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
14777 (grub_gfxterm_putchar): Extract pairs of identical calls to
14778 draw_cursor out of conditional blocks.
14779
5415144a 147802009-03-11 Pavel Roskin <proski@gnu.org>
14781
14782 * fs/hfs.c (grub_hfs_strncasecmp): New function.
14783 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
14784
6394042e 147852009-03-11 Robert Millan <rmh@aybabtu.com>
14786
14787 * loader/i386/multiboot_elfxx.c
14788 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
14789
b7b50e5f 147902009-03-11 Felix Zielcke <fzielcke@z-51.de>
14791
14792 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
14793 `kern/handler.c'.
14794
1ca7fc96 147952009-03-11 Robert Millan <rmh@aybabtu.com>
14796
14797 * loader/i386/multiboot.c (code_size): New variable.
14798 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 14799 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 14800 4-byte alignment to MBI and others by increasing
7d074e3c 14801 `boot_loader_name_length' appropriately.
1ca7fc96 14802
14803 * loader/i386/multiboot_elfxx.c
14804 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
14805
a83ea1d2 148062009-03-09 Felix Zielcke <fzielcke@z-51.de>
14807
14808 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
14809 `fs/ext2.c'.
14810
aa9f3bff 148112009-03-08 Robert Millan <rmh@aybabtu.com>
14812
14813 Make loader/i386/linux.c usable on i386-pc again.
14814
14815 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
14816 memory to heap.
14817 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
14818 `#error' stanza.
14819
d8b3b60e 148202009-03-07 Bean <bean123ch@gmail.com>
14821
14822 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
14823 allocation.
14824
b362c9e9 148252009-03-06 Robert Millan <rmh@aybabtu.com>
14826
14827 Fix display issue on terminals with screen size other than 80x25
14828 (e.g. gfxterm with resolution higher than 640x480).
14829
14830 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 14831 position relative to the center of the terminal instead of relying
b362c9e9 14832 on a hardcoded offset.
14833
9304eef1 148342009-03-04 Robert Millan <rmh@aybabtu.com>
14835
14836 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
14837 installed.
14838
14839 * Makefile.in (host_kernel): New variable.
14840 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
14841 scripts instead of just the windows one.
14842 * configure.ac: Initialize and AC_SUBST `host_kernel'.
14843
eabc95fb 148442009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 14845
14846 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
14847 `kern/handler.c'.
14848 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14849 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14850 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14851 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14852 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14853 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14854
ceb1223c 148552009-03-04 Felix Zielcke <fzielcke@z-51.de>
14856
14857 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
14858 or if there's no space for the disk label and print the partition number on a
14859 invalid magic.
14860
4910684a 148612009-03-04 Felix Zielcke <fzielcke@z-51.de>
14862
14863 * util/misc.c: Include <time.h>.
14864 (grub_millisleep): New function.
14865
7e9ca17a 148662009-03-04 Bean <bean123ch@gmail.com>
14867
14868 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
14869 another option -mno-red-zone.
14870
14871 * commands/handler.c: Change module description.
14872
14873 * kern/handler.c: Add missing space at the end of description line.
14874
14875 * kern/list.c: Likewise.
14876
f501677c 148772009-03-03 Robert Millan <rmh@aybabtu.com>
14878
14879 Move more components to the relocation area, and fix mbi pointer
14880 handling to use the destination rather than the origin (thanks to
14881 Vladimir Serbinenko for spotting).
14882
14883 * loader/i386/multiboot.c (mbi_dest): New variable.
14884 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
14885 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
14886 relocation area.
14887
9902d047 148882009-03-01 Bean <bean123ch@gmail.com>
14889
50fb7002 14890 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 14891 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
14892 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
14893 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
14894
14895 * loader/i386/efi/linux.c (acpi_guid): New variable.
14896 (acpi_guid): Likewise.
14897 (EBDA_SEG_ADDR): New constant.
14898 (LOW_MEM_ADDR): Likewise.
14899 (FAKE_EBDA_SEG): Likewise.
14900 (fake_bios_data): New function.
14901 (grub_linux_boot): Call fake_bios_data.
14902
71b9f361 149032009-03-01 Bean <bean123ch@gmail.com>
14904
14905 * commands/terminal.c: Removed.
14906
14907 * commands/handler.c: New file.
14908
14909 * include/grub/list.h: Likewise.
14910
14911 * include/grub/handler.h: Likewise.
14912
14913 * kern/list.c: Likewise.
14914
14915 * kern/handler.c: Likewise.
14916
14917 * kern/term.h: Include header file <grub/handler.h>.
14918 (grub_term_input): Move next field to the beginning.
14919 (grub_term_output): Likewise.
14920 (grub_term_input_class): New variable.
14921 (grub_term_output_class): Likewise.
14922 (grub_term_register_input): Changed to inline function.
14923 (grub_term_register_output): Likewise.
14924 (grub_term_unregister_input): Likewise.
14925 (grub_term_unregister_output): Likewise.
14926 (grub_term_set_current_input): Likewise.
14927 (grub_term_set_current_output): Likewise.
14928 (grub_term_get_current_input): Likewise.
14929 (grub_term_get_current_output): Likewise.
14930 (grub_term_iterate_input): Removed.
14931 (grub_term_iterate_output): Likewise.
14932
14933 * kern/term.c (grub_term_list_input): Removed.
14934 (grub_term_list_output): Likewise.
14935 (grub_term_input_class): New variable.
14936 (grub_term_output_class): Likewise.
50fb7002 14937 (grub_cur_term_input): Change variable as macro.
71b9f361 14938 (grub_cur_term_output): Likewise.
14939 (grub_term_register_input): Removed.
14940 (grub_term_register_output): Likewise.
14941 (grub_term_unregister_input): Likewise.
14942 (grub_term_unregister_output): Likewise.
14943 (grub_term_set_current_input): Likewise.
14944 (grub_term_set_current_output): Likewise.
14945 (grub_term_iterate_input): Likewise.
14946 (grub_term_iterate_output): Likewise.
14947 (grub_term_get_current_input): Likewise.
14948 (grub_term_get_current_output): Likewise.
14949
14950 * util/grub-editenv.c: Include header file <grub/handler.h>.
14951 (grub_term_get_current_input): Removed.
14952 (grub_term_get_current_output): Likewise.
14953 (grub_term_input_class): New variable.
50fb7002 14954 (grub_term_output_class): Likewise.
71b9f361 14955
14956 * util/grub-fstest.c (grub_term_get_current_input): Removed.
14957 (grub_term_get_current_output): Likewise.
14958 (grub_term_input_class): New variable.
50fb7002 14959 (grub_term_output_class): Likewise.
71b9f361 14960
14961 * util/grub-probe.c (grub_term_get_current_input): Removed.
14962 (grub_term_get_current_output): Likewise.
14963 (grub_term_input_class): New variable.
50fb7002 14964 (grub_term_output_class): Likewise.
71b9f361 14965
14966 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
14967 (grub_term_get_current_output): Likewise.
14968 (grub_term_input_class): New variable.
50fb7002 14969 (grub_term_output_class): Likewise.
71b9f361 14970
14971 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
14972 (terminal_mod_SOURCES): Likewise.
14973 (terminal_mod_CFLAGS): Likewise.
14974 (terminal_mod_LDFLAGS): Likewise.
14975
14976 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
14977 handler.c.
14978 (kernel_img_SOURCES): Add list.c and handler.c.
14979 (kernel_img_HEADERS): Add list.h and handler.h.
14980
14981 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
14982 handler.c.
14983 (kernel_mod_SOURCES): Add list.c and handler.c.
14984 (kernel_mod_HEADERS): Add list.h and handler.h.
14985
14986 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
14987 handler.c.
14988 (kernel_elf_SOURCES): Add list.c and handler.c.
14989 (kernel_elf_HEADERS): Add list.h and handler.h.
14990
14991 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
14992 handler.c.
14993 (kernel_elf_SOURCES): Add list.c and handler.c.
14994 (kernel_elf_HEADERS): Add list.h and handler.h.
14995
14996 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
14997 handler.c.
14998 (kernel_mod_SOURCES): Add list.c and handler.c.
14999 (kernel_mod_HEADERS): Add list.h and handler.h.
15000
15001 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
15002 handler.c.
15003 (kernel_elf_SOURCES): Add list.c and handler.c.
15004 (kernel_elf_HEADERS): Add list.h and handler.h.
15005
8a31787f 150062009-02-27 Robert Millan <rmh@aybabtu.com>
15007
15008 Factorize elf32 / elf64 code in Multiboot loader. This will
15009 prevent it from getting out of sync again.
15010
15011 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
15012 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
15013 grub_multiboot_load_elf64): Move from here ...
15014 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
15015 grub_multiboot_load_elf): ... to here (new file).
15016
51cd3dfc 150172009-02-27 Robert Millan <rmh@aybabtu.com>
15018
15019 * util/grub.d/10_linux.in: Rename "single-user mode" to
15020 "recovery mode".
15021
6e8c9c3a 150222009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
15023
15024 Don't leak in SCSI code.
15025 * disk/scsi.c (grub_scsi_close): free `scsi'.
15026
4b6bf4f9 150272009-02-27 Robert Millan <rmh@aybabtu.com>
15028
15029 * loader/i386/pc/multiboot.c: Move from here ...
15030 * loader/i386/multiboot.c: ... to here. Update all users.
15031
b9413424 150322009-02-27 Robert Millan <rmh@aybabtu.com>
15033
15034 Patch from Alexandre Bique <bique.alexandre@gmail.com>
15035 * util/i386/pc/grub-setup.c (setup): Fix directory path.
15036
50fb7002 150372009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 15038
15039 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
15040 b-tree.
15041
8cc50345 150422009-02-27 Robert Millan <rmh@aybabtu.com>
15043
15044 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
15045 `0x' qualifier as 0 when base is specified as parameter).
15046
6e09b8b7 150472009-02-24 Bean <bean123ch@gmail.com>
15048
15049 * configure.ac: Check for -mcmodel=large in x86_64 target.
15050
15051 * include/grub/efi/api.h (efi_call_10): New macro.
15052 (efi_wrap_10): New function.
15053
15054 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
15055 (GRUB_PE32_REL_BASED_HIGH): Likewise.
15056 (GRUB_PE32_REL_BASED_LOW): Likewise.
15057 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
15058 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
15059 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
15060 (GRUB_PE32_REL_BASED_SECTION): Likewise.
15061 (GRUB_PE32_REL_BASED_REL): Likewise.
15062 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
15063 (GRUB_PE32_REL_BASED_DIR64): Likewise.
15064 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
15065
15066 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
15067 issue.
15068
15069 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
15070 (efi_wrap_10): New function.
15071
15072 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
15073
15074 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
15075 MB/MBP model (NV chipset).
15076 (devdata_devs): Add devpath_5 to the list.
15077
15078 * load/i386/efi/linux.c (video_base): Remove variable.
15079 (RGB_MASK): New macro.
15080 (RGB_MAGIC): Likewise.
15081 (LINE_MIN): Likewise.
15082 (LINE_MAX): Likewise.
15083 (FBTEST_STEP): Likewise.
15084 (FBTEST_COUNT): Likewise.
15085 (fb_list): New variable.
15086 (grub_find_video_card): Remove function.
15087 (find_framebuf): New function.
15088 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
15089 line length.
15090
15091 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
15092 problem for x86_64.
15093
74b21bee 150942009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
15095
15096 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
15097
15098 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
15099 coding tool name.
15100
a455f472 151012009-02-22 Robert Millan <rmh@aybabtu.com>
15102
15103 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
15104 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
15105 in our relocation, instead of using it directly from heap. Also
15106 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
15107
6374daf3 151082009-02-21 Robert Millan <rmh@aybabtu.com>
15109
15110 Implement USB keyboard support (based on patch by Marco Gerards)
15111
15112 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
15113 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
15114 (usb_keyboard_mod_LDFLAGS): New variables.
15115
15116 * term/usb_keyboard.c: New file.
15117
8fa4ea70 151182009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15119
15120 Corrected wrong declaration
15121
15122 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
15123
353976ac 151242009-02-14 Christian Franke <franke@computer.org>
15125
15126 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
15127 (grub_lspci_iter): Print class code and programming interface byte.
15128
6aa1169b 151292009-02-14 Christian Franke <franke@computer.org>
15130
15131 * gendistlist.sh: Ignore `.svn' directories.
15132
265372ca 151332009-02-14 Felix Zielcke <fzielcke@z-51.de>
15134
15135 * fs/fat.c: Add 2009 to Copyright line.
15136
9ff516f3 151372009-02-14 Christian Franke <franke@computer.org>
15138
15139 * commands/hdparm.c: New file. Provides `hdparm' command
15140 which sends ATA commands via grub_disk_ata_pass_through ().
15141
15142 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
15143
15144 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
15145 and <grub/cpu/io.h> to include/grub/ata.h.
15146 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
15147 (GRUB_CDROM_SECTOR_SIZE): Remove.
15148 (GRUB_ATA_*): Move to include/grub/ata.h.
15149 (GRUB_ATAPI_*): Likewise.
15150 (enum grub_ata_commands): Likewise.
15151 (enum grub_ata_timeout_milliseconds): Likewise.
15152 (struct grub_ata_device): Likewise.
15153 (grub_ata_regset): Likewise.
15154 (grub_ata_regget): Likewise.
15155 (grub_ata_regset2): Likewise.
15156 (grub_ata_regget2): Likewise.
15157 (grub_ata_check_ready): Likewise.
15158 (grub_ata_wait_not_busy): Remove static, exported in
15159 include/grub/ata.h.
15160 (grub_ata_wait_drq): Likewise.
15161 (grub_ata_pio_read): Likewise.
15162
15163 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
15164 function for hdparm.mod.
15165
15166 * include/grub/ata.h: New file, contains declarations from
15167 disk/ata.c.
15168 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
15169
15170 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
15171 (grub_disk_ata_pass_through): New exported variable.
15172
15173 * kern/disk.c (grub_disk_ata_pass_through): New variable.
15174
772e23da 151752009-02-13 Colin D Bennett <colin@gibibit.com>
15176
15177 Support multiple fallback entries, and provide an API to support
15178 executing default+fallback menu entries. Renamed the `terminal' menu
15179 viewer to `text'.
15180
15181 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
15182 variable declaration.
15183 (grub_menu_execute_callback): New structure declaration.
15184 (grub_menu_execute_callback_t): New typedef.
15185 (grub_menu_execute_with_fallback): New function declaration.
15186 (grub_menu_get_entry): Likewise.
15187 (grub_menu_get_timeout): Likewise.
15188 (grub_menu_set_timeout): Likewise.
15189
15190 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
15191
15192 * normal/menu.c (grub_wait_after_message): Moved to
15193 `normal/menu_text.c'.
15194 (draw_border): Likewise.
15195 (print_message): Likewise.
15196 (print_entry): Likewise.
15197 (print_entries): Likewise.
15198 (grub_menu_init_page): Likewise.
15199 (get_entry_number): Likewise.
15200 (print_timeout): Likewise.
15201 (run_menu): Likewise.
15202 (grub_menu_execute_entry): Likewise.
15203 (show_text_menu): Likewise.
15204 (get_and_remove_first_entry_number): New function.
15205 (grub_menu_execute_with_fallback): Likewise.
15206 (get_entry): Renamed to ...
15207 (grub_menu_get_entry): .. this and made it global.
15208 (get_timeout): Renamed to ...
15209 (grub_menu_get_timeout): ... this and made it global.
15210 (set_timeout): Renamed to ...
15211 (grub_menu_set_timeout): ... this and made it global.
15212 (grub_normal_terminal_menu_viewer): Renamed to ...
15213 (grub_normal_text_menu_viewer): ... this.
15214
15215 * normal/menu_text.c: New file. Extracted text-menu-specific code
15216 from normal/menu.c.
15217
15218 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
15219 (normal_mod_SOURCES): Likewise.
15220
15221 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15222 (normal_mod_SOURCES): Likewise.
15223
15224 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15225 (normal_mod_SOURCES): Likewise.
15226
15227 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
15228 (normal_mod_SOURCES): Likewise.
15229
15230 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15231 (normal_mod_SOURCES): Likewise.
15232
15233 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15234 (normal_mod_SOURCES): Likewise.
15235
15236 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15237 (normal_mod_SOURCES): Likewise.
15238
16ac430e 152392009-02-11 Robert Millan <rmh@aybabtu.com>
15240
15241 * util/grub.d/00_header.in: Update old reference to `font' command.
15242
06ff20fc 152432009-02-10 Felix Zielcke <fzielcke@z-51.de>
15244
15245 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
15246
15247 Based on patch from Javier Martín.
15248
96da9407 152492009-02-09 Felix Zielcke <fzielcke@z-51.de>
15250
15251 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 15252 to avoid false positives with FAT.
96da9407 15253 (grub_fstest_SOURCES): Likewise.
15254 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15255 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15256 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15257 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
15258 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15259 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15260
6dca6fe4 152612009-02-09 Felix Zielcke <fzielcke@z-51.de>
15262
06ff20fc 15263 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 15264 bpb.version_specific.fat12_or_fat16.fstype and
15265 bpb.version_specific.fat32.fstype.
15266
2550c62f 152672009-02-08 Robert Millan <rmh@aybabtu.com>
15268
be110b30 15269 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 15270
56978920 152712009-02-08 Robert Millan <rmh@aybabtu.com>
15272
15273 * Makefile.in (host_os, host_cpu): New variables.
15274 (target_os): Remove. Update all users.
15275
d64399b5 152762009-02-08 Marco Gerards <marco@gnu.org>
15277
15278 * Makefile.in (enable_grub_emu_usb): New variable.
15279 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
15280 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
15281 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
15282 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
15283 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
15284 `usbtest.mod' and `usbms.mod'.
15285 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
15286 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
15287 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
15288 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
15289 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
15290 variables.
15291
15292 * disk/usbms.c: New file.
15293
15294 * include/grub/usb.h: Likewise.
15295
15296 * include/grub/usbtrans.h: Likewise.
15297
15298 * include/grub/usbdesc.h: Likewise.
15299
15300 * bus/usb/usbtrans.c: Likewise.
15301
15302 * bus/usb/ohci.c: Likewise.
15303
15304 * bus/usb/uhci.c: Likewise.
15305
15306 * bus/usb/usbhub.c: Likewise.
15307
15308 * bus/usb/usb.c: Likewise.
15309
15310 * commands/usbtest.c: Likewise.
15311
15312 * util/usb.c: Likewise.
50fb7002 15313
d64399b5 15314 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
15315
15316 * configure.ac: Test for libusb presence.
50fb7002 15317
d64399b5 15318 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
15319
2b40d6bb 153202009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
15321
15322 * kern/mm.c: Add more comments.
15323
73a4ce81 153242009-02-08 Robert Millan <rmh@aybabtu.com>
15325
15326 Patch from Javier Martín.
15327 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
15328 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
15329
f821ce59 153302009-02-08 Robert Millan <rmh@aybabtu.com>
15331
15332 * fs/cpio.c: Split tar functionality to ...
15333 * fs/tar.c: ... here (new file). Update all users.
15334
aebfc4b0 153352009-02-07 Robert Millan <rmh@aybabtu.com>
15336
15337 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
15338 backward-incompatible features.
15339
15340 Based on patch from Javier Martín, with some adjustments.
15341
50fb7002 153422009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 15343
15344 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
15345
0bb5115e 153462009-02-07 Robert Millan <rmh@aybabtu.com>
15347
15348 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
15349 position of `disk/lvm.c' to ensure grub_init_all() always picks it
15350 after the RAID stuff.
15351
38a0f8e7 153522009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
15353
50fb7002 15354 Fixes problem when running vbetest command as reported by
38a0f8e7 15355 Vladimir Serbinenko <phcoder@gmail.com>.
15356
15357 * (grub_vbe_set_video_mode): Fixed problem with text modes.
15358
3143cc1c 153592009-02-04 Felix Zielcke <fzielcke@z-51.de>
15360
15361 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
15362 /dev/md/NpN style mdraid devices.
15363
9cba6fce 153642009-02-03 Felix Zielcke <fzielcke@z-51.de>
15365
15366 * util/unifont2pff.rb: Remove.
15367
e507a2c1 153682009-02-03 Felix Zielcke <fzielcke@z-51.de>
15369
15370 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
15371 `#'.
15372
d2c2b4cd 153732009-02-03 Felix Zielcke <fzielcke@z-51.de>
15374
15375 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
15376 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15377 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15378 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
15379 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15380 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15381 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15382
b4315fb0 153832009-02-02 Christian Franke <franke@computer.org>
15384
15385 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
15386
de3aa260 153872009-02-01 Felix Zielcke <fzielcke@z-51.de>
15388
7c3ff286 15389 * INSTALL: Note that we now require at least autoconf 2.59 and
15390 that LZO is optional.
de3aa260 15391
825a182b 153922009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
15393
15394 Base on patch on bug #24154 created by Tomas Tintera
15395 <trosos@seznam.cz>.
15396
15397 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
15398
a69ef770 153992009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
15400
7c3ff286 15401 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 15402 <bero@arklinux.org>.
15403
15404 * normal/parser.y (script_init): Add missing semicolon.
15405
6fa42fa6 154062009-01-31 Colin D Bennett <colin@gibibit.com>
15407
7c3ff286 15408 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 15409 (free_menu_entry_classes): Added.
15410 (grub_normal_menu_addentry): Added class property handling.
15411 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
15412 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
15413
15414 * normal/menu_viewer.c: New file.
15415
15416 * normal/menu.c (run_menu_entry): Renamed to ...
15417 (grub_menu_execute_entry): ... this and made it as global.
15418 (grub_menu_run): Renamed to ...
15419 (show_text_menu): ... this and made it local.
15420 (show_text_menu): Adapt to new function names.
15421 (grub_normal_terminal_menu_viewer): New global variable.
15422
15423 * include/grub/menu.h: New file.
15424
15425 * include/grub/menu_viewer.h: New file.
15426
15427 * include/grub/normal.h: Added include to grub/menu.h.
15428 (grub_menu_entry): Moved to include/grub/menu.h.
15429 (grub_menu_entry_t): Likewise.
15430 (grub_menu): Likewise.
15431 (grub_menu_t): Likewise.
15432 (grub_normal_terminal_menu_viewer): Added.
15433 (grub_menu_execute_entry): Likewise.
15434 (grub_menu_run): Removed.
15435
15436 * DISTLIST: Added include/grub/menu.h.
15437 Added include/grub/menu_viewer.h.
15438 Added normal/menu_viewer.c.
15439
154402009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
15441
15442 * normal/execute.c (grub_script_execute_menuentry): Changed to use
15443 arglist for menutitle arguments.
15444
15445 * normal/main.c (grub_normal_menu_addentry): Likewise.
15446
15447 * normal/parser.y (menuentry): Likewise.
15448
15449 * normal/script.c (grub_script_create_cmdmenu): Likewise.
15450
15451 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
15452 (grub_script_create_cmdmenu): Likewise.
15453
15454 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
15455
15456 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
15457 changes.
15458
15459 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
15460
15461 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
15462
15463 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
15464
15465 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
15466
15467 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
15468
15469 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
15470
56192c23 154712009-01-30 Christian Franke <franke@computer.org>
15472
15473 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
15474 in option help text.
15475
d72521b3 154762009-01-27 Pavel Roskin <proski@gnu.org>
15477
15478 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
15479
994b5e84 154802009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
15481
15482 * commands/lsmmap.c: Add include to grub/machine/memory.h.
15483
15484 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
15485
15486 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
15487 unregister function.
15488
6a7eab2c 154892009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
15490
15491 * disk/scsi.c (grub_scsi_read): Fix sign problem.
15492
15493 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
15494
15495 * util/grub-mkfont.c (usage): Fix typo.
15496
15497 * util/elf/grub-mkimage.c (load_modules): Fix warning.
15498
1806b56e 154992009-01-26 Daniel Mierswa <impulze@impulze.org>
15500
3fb18f09 15501 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
15502
336e1fb9 15503 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
15504
1806b56e 15505 * kern/misc.c (grub_strcasecmp): New function.
15506 (grub_strcasecmp): Use grub_size_t instead of int for length.
15507 Fix return value.
15508 * include/grub/misc.h: Update function prototypes.
15509
580b2a0f 155102009-01-26 Robert Millan <rmh@aybabtu.com>
15511
15512 * configure.ac: Fix cross-compilation check.
ef257b36 15513
d31c24f1 155142009-01-22 Christian Franke <franke@computer.org>
15515
15516 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
15517 (precision) digit string. Allow `.format2' without `format1' (width).
15518 Limit input chars for `%s' output to `format2' if specified. This is
15519 compatible with standard printf ().
15520
3138b44c 155212009-01-22 Christian Franke <franke@computer.org>
15522
15523 * disk/ata.c (grub_ata_wait_status): Replace by ...
15524 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
15525 other status bits may be invalid while BSY is asserted.
15526 (grub_ata_check_ready): New function.
15527 (grub_ata_cmd): Removed.
15528 (grub_ata_wait_drq): New function.
15529 (grub_ata_strncpy): Remove inline.
15530 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
15531 and error check now done by grub_ata_wait_drq ().
15532 (grub_ata_pio_write): Likewise.
15533 (grub_atapi_identify): Set DEV before check for !BSY. Use
15534 grub_ata_wait_drq () to wait for data.
15535 (grub_ata_device_initialize): Add status register check to
15536 detect missing SATA slave devices. Add debug messages.
15537 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
15538 (grub_atapi_packet): Set DEV before check for !BSY. Replace
15539 transfer loop by grub_ata_pio_write ().
15540 (grub_ata_identify): Set DEV before check for !BSY. Use
15541 grub_ata_wait_drq () to wait for data.
ef257b36 15542 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 15543 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
15544 read/write in one loop. Fix invalid command on write. Fix incomplete
15545 command on (size % batch) == 0. Add missing error check after write of
15546 last block. Add debug messages.
15547 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
15548
59a64ef6 155492009-01-19 Christian Franke <franke@computer.org>
15550
15551 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
15552 (GRUB_ATAPI_IREASON_*): Likewise.
15553 (grub_ata_pio_write): Fix timeout error return.
15554 (grub_atapi_identify): Add grub_ata_wait () after cmd.
15555 (grub_atapi_wait_drq): New function.
15556 (grub_atapi_packet): New parameter `size'.
15557 Use grub_atapi_wait_drq () and direct write instead of
15558 grub_ata_pio_write ().
15559 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
15560 reads the number of bytes requested by the device for each DRQ
15561 assertion.
15562 (grub_atapi_write): Remove old implementation, return not
15563 implemented instead.
15564
1cfe20b3 155652009-01-19 Christian Franke <franke@computer.org>
15566
15567 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
15568 of 512 to calculate data size.
15569 (grub_scsi_read12): Likewise.
15570 (grub_scsi_write10): Likewise.
15571 (grub_scsi_write12): Likewise.
15572 (grub_scsi_read): Adjust size according to blocksize.
15573 Add checks for invalid blocksize and unaligned transfer.
15574
bee5fe5d 155752009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
15576
15577 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
15578
ef257b36 15579 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 15580 width glyphs.
15581
3e643f8c 155822009-01-19 Robert Millan <rmh@aybabtu.com>
15583
15584 * config.guess: Update to latest version from config git.
15585 * config.sub: Likewise.
15586
4fa80998 155872009-01-17 Felix Zielcke <fzielcke@z-51.de>
15588
15589 * Makefile.in: Change font compilation to use new grub-mkfont instead
15590 of java version.
15591
15592 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
15593 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
15594 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15595 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15596 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
15597 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
15598 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
15599 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
15600 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
15601
7086085b 156022009-01-16 Christian Franke <franke@computer.org>
15603
15604 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
15605 (enum grub_ata_timeout_milliseconds): New enum.
15606 (grub_ata_wait_status): Add parameter milliseconds.
15607 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
15608 recovery from timed-out commands.
15609 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
15610 return grub_errno instead of REG_ERROR.
15611 (grub_ata_pio_write): Add parameter milliseconds.
15612 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
15613 Pass milliseconds to grub_ata_wait_status () and
15614 grub_ata_pio_read ().
15615 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
15616 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
15617 grub_ata_wait_status (). Fix IDENTIFY timeout check.
15618 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
15619 It is not suitable for device detection, because DEV bit is ignored,
15620 the command may run too long, and not all devices set the signature
15621 properly.
15622 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
15623 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
15624 Fix device selection, DEV bit must be set first to address the registers
15625 of the correct device.
15626 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
15627 grub_ata_pio_read/write ().
15628 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
15629 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
15630
4a412913 156312009-01-13 Carles Pina i Estany <carles@pina.cat>
15632
15633 * util/grub-editenv.c (main): Use fseeko(), not fseek().
15634
7795c55e 156352009-01-13 Bean <bean123ch@gmail.com>
d913988c 15636
15637 * util/grub-mkfont.c (write_font): forget to remove some debug code.
15638
7795c55e 156392009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 15640
15641 * Makefile.in: (enable_grub_mkfont): New variable.
15642 (freetype_cflags): Likewise.
15643 (freetype_libs): Likewise.
15644
15645 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
15646 (grub_mkfont_SOURCES): New variable.
15647 (grub_mkfont_CFLAGS): Likewise.
15648 (grub_mkfont_LDFLAGS): Likewise.
15649
15650 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
15651 library if `--enable-grub-mkfont' is requested.
15652 (enable_grub_mkfont): New variable.
15653 (freetype_cflags): Likewise.
15654 (freetype_libs): Likewise.
15655
15656 * util/grub-mkfont.c: New file.
15657
093af1fe 156582009-01-12 Christian Franke <franke@computer.org>
15659
15660 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
15661 mode check. Fix setting of compat_use[].
15662
f36cc108 156632009-01-10 Robert Millan <rmh@aybabtu.com>
15664
15665 Update a few copyright years which we forgot to do in 2008 (only for
15666 files whose changes made in 2008 were copyright-significant)
15667
15668 * Makefile.in: Add 2008 to Copyright line.
15669 * disk/ieee1275/ofdisk.c: Likewise.
15670 * disk/efi/efidisk.c: Likewise.
15671 * kern/dl.c: Likewise.
15672 * kern/sparc64/ieee1275/init.c: Likewise.
15673 * kern/mm.c: Likewise.
15674 * kern/efi/mm.c: Likewise.
15675 * boot/i386/pc/boot.S: Likewise.
15676 * genfslist.sh: Likewise.
15677 * fs/iso9660.c: Likewise.
15678 * fs/hfs.c: Likewise.
15679 * fs/jfs.c: Likewise.
15680 * fs/minix.c: Likewise.
15681 * fs/ufs.c: Likewise.
15682 * gensymlist.sh.in: Likewise.
15683 * genkernsyms.sh.in: Likewise.
15684 * include/grub/misc.h: Likewise.
15685 * include/grub/types.h: Likewise.
15686 * include/grub/symbol.h: Likewise.
15687 * include/grub/elf.h: Likewise.
15688 * include/grub/kernel.h: Likewise.
15689 * include/grub/disk.h: Likewise.
15690 * include/grub/dl.h: Likewise.
15691 * include/grub/i386/linux.h: Likewise.
15692 * include/grub/i386/pc/biosdisk.h: Likewise.
15693 * include/grub/efi/api.h: Likewise.
15694 * include/grub/efi/pe32.h: Likewise.
15695 * include/grub/util/misc.h: Likewise.
15696 * normal/execute.c: Likewise.
15697 * normal/arg.c: Likewise.
15698 * normal/completion.c: Likewise.
15699 * normal/lexer.c: Likewise.
15700 * normal/parser.y: Likewise.
15701 * normal/misc.c: Likewise.
15702 * commands/i386/pc/vbeinfo.c: Likewise.
15703 * commands/hexdump.c: Likewise.
15704 * commands/terminal.c: Likewise.
15705 * commands/ls.c: Likewise.
15706 * commands/help.c: Likewise.
15707 * partmap/pc.c: Likewise.
15708 * loader/efi/chainloader.c: Likewise.
15709 * loader/multiboot_loader.c: Likewise.
15710 * loader/i386/pc/multiboot2.c: Likewise.
15711 * term/efi/console.c: Likewise.
15712 * term/i386/pc/serial.c: Likewise.
15713 * util/lvm.c: Likewise.
15714 * util/console.c: Likewise.
15715 * util/i386/efi/grub-mkimage.c: Likewise.
15716 * util/raid.c: Likewise.
15717
7f02114b 157182009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
15719
15720 * commands/videotest.c: Removed include to grub/machine/memory.h.
15721
15722 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
15723 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
15724 (video_mod_SOURCES): Removed.
15725 (video_mod_CFLAGS): Likewise.
15726 (video_mod_LDFLAGS): Likewise.
15727 (gfxterm_mod_SOURCES): Likewise.
15728 (gfxterm_mod_CFLAGS): Likewise.
15729 (gfxterm_mod_LDFLAGS): Likewise.
15730 (videotest_mod_SOURCES): Likewise.
15731 (videotest_mod_CFLAGS): Likewise.
15732 (videotest_mod_LDFLAGS): Likewise.
15733 (bitmap_mod_SOURCES): Likewise.
15734 (bitmap_mod_CFLAGS): Likewise.
15735 (bitmap_mod_LDFLAGS): Likewise.
15736 (tga_mod_SOURCES): Likewise.
15737 (tga_mod_CFLAGS): Likewise.
15738 (tga_mod_LDFLAGS): Likewise.
15739 (jpeg_mod_SOURCES): Likewise.
15740 (jpeg_mod_CFLAGS): Likewise.
15741 (jpeg_mod_LDFLAGS): Likewise.
15742 (png_mod_SOURCES): Likewise.
15743 (png_mod_CFLAGS): Likewise.
15744 (png_mod_LDFLAGS): Likewise.
15745
15746 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
15747 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
15748 (video_mod_SOURCES): Added.
15749 (video_mod_CFLAGS): Likewise.
15750 (video_mod_LDFLAGS): Likewise.
15751 (videotest_mod_SOURCES): Likewise.
15752 (videotest_mod_CFLAGS): Likewise.
15753 (videotest_mod_LDFLAGS): Likewise.
15754 (bitmap_mod_SOURCES): Likewise.
15755 (bitmap_mod_CFLAGS): Likewise.
15756 (bitmap_mod_LDFLAGS): Likewise.
15757 (tga_mod_SOURCES): Likewise.
15758 (tga_mod_CFLAGS): Likewise.
15759 (tga_mod_LDFLAGS): Likewise.
15760 (jpeg_mod_SOURCES): Likewise.
15761 (jpeg_mod_CFLAGS): Likewise.
15762 (jpeg_mod_LDFLAGS): Likewise.
15763 (png_mod_SOURCES): Likewise.
15764 (png_mod_CFLAGS): Likewise.
15765 (png_mod_LDFLAGS): Likewise.
15766 (gfxterm_mod_SOURCES): Likewise.
15767 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 15768 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 15769
15770 * term/gfxterm.c: Removed include to grub/machine/memory.h,
15771 grub/machine/console.h.
15772
644fff97 157732009-01-04 Jerone Young <jerone@gmail.com>
15774
15775 Make on screen instructions clearer
15776
15777 Based on patch created by Jidanni <jidanni@jidanni.org>
15778
15779 * normal/menu.c: print clearer instructions on the screen
15780
1e901a75 157812009-01-02 Colin D Bennett <colin@gibibit.com>
15782
15783 New font engine.
34c44600 15784
1e901a75 15785 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
15786 build system and fixed gfxterm.c to work with different sized fonts.
15787
15788 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 15789
1e901a75 15790 * configure: Re-generated.
34c44600 15791
1e901a75 15792 * DISTLIST: Removed font/manager.c.
15793 Added font/font.c.
15794 Added font/font_cmd.c.
34c44600 15795
1e901a75 15796 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
15797 compilation.
34c44600 15798
1e901a75 15799 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 15800
15801 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 15802
15803 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 15804
1e901a75 15805 * normal/menu.c: Likewise.
34c44600 15806
1e901a75 15807 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
15808 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 15809
1e901a75 15810 * include/grub/font.h: Replaced with new file.
34c44600 15811
1e901a75 15812 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
15813 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
15814 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
15815 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
15816 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 15817 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 15818 fg_red, fg_green, fg_blue, fg_alpha.
15819 (grub_video_adapter): Removed blit_glyph.
34c44600 15820 (grub_video_blit_glyph): Removed.
15821
1e901a75 15822 * font/manager.c: Removed file.
34c44600 15823
15824 * font/font.c: New file.
15825
1e901a75 15826 * font/font_cmd.c: Likewise.
34c44600 15827
1e901a75 15828 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 15829
1e901a75 15830 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
15831 (grub_video_vbe_map_rgba): Likewise.
15832 (grub_video_vbe_unmap_color_int): Likewise.
15833 (grub_video_vbe_blit_glyph): Removed.
15834 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 15835
1e901a75 15836 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
15837 (get_pixel): Likewise.
34c44600 15838 (set_pixel): Likewise.
15839
1e901a75 15840 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 15841
1e901a75 15842 * term/gfxterm.c: Adapted to new font engine.
34c44600 15843
1e901a75 15844 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 15845
1e901a75 15846 * term/i386/pc/vga.c: Likewise.
34c44600 15847
1e901a75 15848 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 15849
1e901a75 15850 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 15851
1e901a75 15852 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 15853
1e901a75 15854 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 15855
1e901a75 15856 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 15857
1e901a75 15858 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 15859
1e901a75 15860 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 15861
1e901a75 15862 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 15863
1e901a75 15864 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
15865
15866 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 15867
1e901a75 15868 * util/grub-mkconfig_lib.in: Changed font extension.
15869
278922e8 158702008-12-28 Felix Zielcke <fzielcke@z-51.de>
15871
15872 * util/getroot.c (grub_util_get_grub_dev): Add support for
15873 /dev/md/dNNpNN style partitionable mdraid devices.
15874
3ced05cf 158752008-12-12 Alex Smith <alex@alex-smith.me.uk>
15876
15877 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
15878 at a time limit of the PXE TFTP API correctly.
15879 (grub_pxefs_close): Likewise.
15880
7fd0ee30 158812008-11-29 Robert Millan <rmh@aybabtu.com>
15882
34c44600 15883 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 15884 grub_ata_device_initialize() calls.
15885
34c44600 158862008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 15887
15888 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
15889 iteration failed.
15890 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
15891
89313780 158922008-11-28 Robert Millan <rmh@aybabtu.com>
15893
15894 Fix build on powerpc-ieee1275. Based on patch created by
15895 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
15896 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15897 `kern/ieee1275/mmap.c'.
15898 * include/grub/powerpc/ieee1275/memory.h: New file.
15899
15257703 15900 Provide grub-install on coreboot.
15901 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
15902 (grub_install_SOURCES): New variable.
15903 * util/i386/pc/grub-install.in: Add a few condition checks to make it
15904 usable on coreboot.
15905
9fc5388a 159062008-11-25 Felix Zielcke <fzielcke@z-51.de>
15907
15908 * util/grub-fstest.c (grub_term_get_current_input): Change return type
15909 to `grub_term_input_t'.
15910 (grub_term_get_current_output): Change return type to
15911 `grub_term_output_t'.
15912
bc3a2f31 159132008-11-22 Robert Millan <rmh@aybabtu.com>
15914
34c44600 15915 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 15916 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
15917 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
15918 grub_vga_text_cls().
15919
80fc88f2 15920 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 15921 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 15922
cbf36fd3 15923 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
15924 to 0x200000 (avoids trouble with some OFW implementations, and matches
15925 with the one in Yaboot).
15926 Reported by Manoel Abranches
15927
73e8e268 159282008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 15929
15930 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
15931 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
15932
73e8e268 15933 * util/grub-mkconfig_lib.in (grub_warn): New function.
15934 (convert_system_path_to_grub_path): Use grub_warn() when issuing
15935 warnings, to obtain consistent formatting.
15936 * util/grub.d/00_header.in: Likewise.
15937 * util/update-grub_lib.in: Likewise.
15938
e94045a1 15939 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 15940 Move comment text to `#error' stanza.
e94045a1 15941
79d29fd7 15942 Harmonize ieee1275's grub_available_iterate() with the generic
15943 grub_machine_mmap_iterate() interface (fixes a recently-introduced
15944 build problem on i386-ieee1275):
15945 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
15946 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
15947 parameter `type'. Update all users of this function.
15948 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
15949 `kern/ieee1275/mmap.c'.
15950 * kern/ieee1275/init.c
15951 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
15952 with ...
15953 (grub_machine_mmap_iterate): ... this.
15954 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
15955 return type to `grub_err_t'. Update all implementations of this
15956 function prototype.
15957 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
15958 Likewise.
15959
60d6b16e 15960 Add `lsmmap' command (lists firmware-provided memory map):
15961 * commands/lsmmap.c: New file.
15962 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
15963 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
15964 variables.
15965 * conf/powerpc-ieee1275.rmk: Likewise.
15966 * conf/i386-coreboot.rmk: Likewise.
15967 * conf/i386-ieee1275.rmk: Likewise.
15968
ebaaf49b 159692008-11-19 Robert Millan <rmh@aybabtu.com>
15970
15971 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 15972 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
15973 constraints to initrd allocation (based on code from
15974 loader/i386/pc/linux.c). Without them, initrd was allocated too high
15975 for Linux to find it.
ebaaf49b 15976
dfab719f 159772008-11-14 Robert Millan <rmh@aybabtu.com>
15978
15979 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
15980 order to cope with duplicate slashes.
15981
10fc3eb9 159822008-11-14 Robert Millan <rmh@aybabtu.com>
15983
15984 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
15985 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
15986 don't want to mess with lower memory, because it is used in the Linux
15987 loader.
15988
15989 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 15990 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 15991 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
15992 is in our heap (probably as a result of it being corrupted during
2f2a3442 15993 decompression). Add #error instance with comment to explain why this
15994 loader isn't currently usable on PC/BIOS.
10fc3eb9 15995
e2e07847 159962008-11-14 Robert Millan <rmh@aybabtu.com>
15997
15998 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 15999 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 16000
fe8e8d69 160012008-11-12 Robert Millan <rmh@aybabtu.com>
16002
16003 Make loader/i386/linux.c buildable on i386-pc (although disabled).
16004
16005 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
16006 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
16007 from here ...
16008 * include/grub/i386/pc/memory.h: ... to here.
16009
976b07d0 160102008-11-12 Robert Millan <rmh@aybabtu.com>
16011
16012 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
16013 split).
16014
16015 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
16016 (grub_console_cur_color, grub_console_real_putchar)
16017 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
16018 (grub_console_setcolorstate, grub_console_setcolor)
16019 (grub_console_getcolor): Move from here ...
16020 * include/grub/i386/vga_common.h: ... to here (new file).
16021
16022 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
16023 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
16024 `<grub/i386/io.h>'.
16025 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
16026 `<grub/i386/vga_common.h>'.
16027
76679cd3 160282008-11-12 Robert Millan <rmh@aybabtu.com>
16029
16030 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
16031 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
16032 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
16033 variables.
16034 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
16035 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
16036
16037 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
16038 grub_console_init() with call to grub_vga_text_init().
16039 (grub_machine_fini): Replace call to
16040 grub_console_fini() with call to grub_vga_text_fini() and
16041 grub_at_keyboard_fini().
16042
16043 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
16044 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
16045 (grub_console_setcolorstate, grub_console_setcolor)
16046 (grub_console_getcolor): New function prototypes.
16047
16048 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
16049 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
16050 (grub_vga_text_setcursor): Static-ize.
16051 (grub_vga_text_term): New structure.
16052 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
16053
16054 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
16055 (grub_console_cur_color, grub_console_standard_color)
16056 (grub_console_normal_color, grub_console_highlight_color)
16057 (map_char, grub_console_putchar, grub_console_getcharwidth)
16058 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
16059 (grub_console_getcolor): Move from here ...
16060 * term/i386/vga_common.c: ... to here (same function names).
16061
95b841d3 160622008-11-12 Robert Millan <rmh@aybabtu.com>
16063
16064 Use newly-added Multiboot support in coreboot.
16065
16066 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
16067 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
16068
16069 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
16070 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
16071 (codestart): Store the MBI in `startup_multiboot_info' when we're
16072 being loaded using Multiboot.
16073
16074 * kern/i386/coreboot/init.c (grub_machine_init): Move
16075 grub_at_keyboard_init() call to beginning of function (useful for
16076 debugging). Call grub_machine_mmap_init() before attempting to use
16077 grub_machine_mmap_iterate().
16078 (grub_lower_mem, grub_upper_mem): Move from here ...
16079 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
16080 here (new file).
16081
16082 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
16083 function prototype.
16084
761ca975 160852008-11-12 Robert Millan <rmh@aybabtu.com>
16086
16087 Fix a regression introduced by the at_keyboard.mod split. Because
16088 some terminals are default on some platforms and non-default on
16089 others, the first terminal being registered determines which is
16090 going to be default.
16091
16092 * kern/term.c (grub_term_register_input): If this is the first
16093 terminal being registered, set it as the current one.
16094 (grub_term_register_output): Likewise.
16095
16096 * term/efi/console.c (grub_console_init): Do not call
16097 grub_term_set_current_output() or grub_term_set_current_input().
16098 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
16099 * term/i386/pc/console.c (grub_console_init): Likewise.
16100 (grub_console_fini): Do not call grub_term_set_current_input()
16101 (but leave grub_term_set_current_output() to restore text mode).
16102
6c529df7 161032008-11-10 Robert Millan <rmh@aybabtu.com>
16104
16105 * util/grub.d/00_header.in: Add backward compatibility check for
16106 versions of terminal.mod that don't understand `terminal_input' or
16107 `terminal_output'.
16108
132e4113 161092008-11-09 Robert Millan <rmh@aybabtu.com>
16110
16111 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
16112 `terminal_input' / `terminal_output', not `terminal'.
16113
ac293d50 161142008-11-08 Robert Millan <rmh@aybabtu.com>
16115
16116 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 16117 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 16118
0025933a 161192008-11-08 Robert Millan <rmh@aybabtu.com>
16120
16121 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 16122 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 16123 members. Update all users.
16124 * util/console.c (grub_ncurses_term): Split in ...
16125 (grub_ncurses_term_input): ... this, and ...
16126 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 16127 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 16128
37c86336 161292008-11-08 Robert Millan <rmh@aybabtu.com>
16130
16131 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
16132 (PKGDATA): Add $(pkgdata_SRCDIR).
16133 (pkglib_BUILDDIR): New variable.
16134 (pkgdata_SRCDIR): New variable.
16135 (build_env.mk): New target.
16136 (include_DATA): New variable.
16137 (install-local): Install $(include_DATA) files in $(includedir).
16138
b6c15a2d 161392008-11-07 Pavel Roskin <proski@gnu.org>
16140
d99d46f1 16141 * gendistlist.sh: Use C locale for sorting to ensure consistent
16142 output on all systems.
16143
b6c15a2d 16144 * util/grub.d/00_header.in: Remove incorrect space before
16145 "serial".
16146
c32ee8c9 161472008-11-07 Robert Millan <rmh@aybabtu.com>
16148
16149 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
16150 per specification.
16151 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
16152 * loader/multiboot_loader.c (find_multi_boot2_header): New function
16153 (based on find_multi_boot1_header).
16154 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
16155 using find_multi_boot2_header(), and abort if neither Multiboot or
16156 Multiboot headers were found.
16157
651c29b7 161582008-11-07 Robert Millan <rmh@aybabtu.com>
16159
16160 Modularize at_keyboard.mod:
16161
16162 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
16163 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
16164 (at_keyboard_mod_LDFLAGS): New variables.
16165
16166 Actual terminal split:
16167
16168 * include/grub/term.h (struct grub_term): Split in ...
16169 (struct grub_term_input): ... this, and ...
16170 (struct grub_term_output): ... this. Update all users.
16171 (grub_term_set_current): Split in ...
16172 (grub_term_set_current_input): ... this, and ...
16173 (grub_term_set_current_output): ... this.
16174 (grub_term_get_current): Split in ...
16175 (grub_term_get_current_input): ... this, and ...
16176 (grub_term_get_current_output): ... this.
16177 (grub_term_register): Split in ...
16178 (grub_term_register_input): ... this, and ...
16179 (grub_term_register_output): ... this.
16180 (grub_term_unregister): Split in ...
16181 (grub_term_unregister_input): ... this, and ...
16182 (grub_term_unregister_output): ... this.
16183 (grub_term_iterate): Split in ...
16184 (grub_term_iterate_input): ... this, and ...
16185 (grub_term_iterate_output): ... this.
16186
16187 * kern/term.c (grub_term_list): Split in ...
16188 (grub_term_list_input): ... this, and ...
16189 (grub_term_list_output): ... this. Update all users.
16190 (grub_cur_term): Split in ...
16191 (grub_cur_term_input): ... this, and ...
16192 (grub_cur_term_output): ... this. Update all users.
16193 (grub_term_set_current): Split in ...
16194 (grub_term_set_current_input): ... this, and ...
16195 (grub_term_set_current_output): ... this.
16196 (grub_term_get_current): Split in ...
16197 (grub_term_get_current_input): ... this, and ...
16198 (grub_term_get_current_output): ... this.
16199 (grub_term_register): Split in ...
16200 (grub_term_register_input): ... this, and ...
16201 (grub_term_register_output): ... this.
16202 (grub_term_unregister): Split in ...
16203 (grub_term_unregister_input): ... this, and ...
16204 (grub_term_unregister_output): ... this.
16205 (grub_term_iterate): Split in ...
16206 (grub_term_iterate_input): ... this, and ...
16207 (grub_term_iterate_output): ... this.
16208
16209 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
16210 a check for input and one for output (and only attempt to get keys
16211 from user when input works).
16212
16213 * util/grub-probe.c (grub_term_get_current): Split in ...
16214 (grub_term_get_current_input): ... this, and ...
16215 (grub_term_get_current_output): ... this.
16216 * util/grub-fstest.c: Likewise.
16217 * util/i386/pc/grub-setup.c: Likewise.
16218 * util/grub-editenv.c: Likewise.
16219
16220 Portability adjustments:
16221
16222 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
16223 `term/i386/pc/at_keyboard.c'.
16224 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
16225 grub_keyboard_controller_init() (now handled by terminal .init).
16226 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
16227 grub_at_keyboard_init().
16228 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
16229 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
16230 at_keyboard.mod via input terminal interface).
16231 * include/grub/i386/coreboot/console.h: Convert into a stub for
16232 `<grub/i386/pc/console.h>'.
16233
16234 Migrate full terminals to new API:
16235
16236 * term/efi/console.c (grub_console_term): Split into ...
16237 (grub_console_term_input): ... this, and ...
16238 (grub_console_term_output): ... this. Update all users.
16239 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
16240 (grub_ofconsole_init): Split into ...
16241 (grub_ofconsole_init_input): ... this, and ...
16242 (grub_ofconsole_init_output): ... this.
16243 (grub_ofconsole_term): Split into ...
16244 (grub_ofconsole_term_input): ... this, and ...
16245 (grub_ofconsole_term_output): ... this. Update all users.
16246 * term/i386/pc/serial.c (grub_serial_term): Split into ...
16247 (grub_serial_term_input): ... this, and ...
16248 (grub_serial_term_output): ... this. Update all users.
16249 * term/i386/pc/console.c (grub_console_term): Split into ...
16250 (grub_console_term_input): ... this, and ...
16251 (grub_console_term_output): ... this. Update all users.
16252 (grub_console_term_input): Only enable it on PC/BIOS platform.
16253 (grub_console_init): Remove grub_keyboard_controller_init() call.
16254
16255 Migrate input terminals to new API:
16256
16257 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
16258 `i386' and `i386/pc' to enable build on x86_64 (this driver is
16259 i386-specific anyway).
16260 (grub_console_checkkey): Rename to ...
16261 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
16262 users.
16263 (grub_keyboard_controller_orig): New variable.
16264 (grub_console_getkey): Rename to ...
16265 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
16266 users.
16267 (grub_keyboard_controller_init): Static-ize. Save original
16268 controller value so that it can be restored ...
16269 (grub_keyboard_controller_fini): ... here (new function).
16270 (grub_at_keyboard_term): New structure.
16271 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
16272 functions.
16273
16274 Migrate output terminals to new API:
16275
16276 * term/i386/pc/vga.c (grub_vga_term): Change type to
16277 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
16278 members. Update all users.
16279 * term/gfxterm.c (grub_video_term): Change type to
16280 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
16281 members. Update all users.
16282 * include/grub/i386/pc/console.h (grub_console_checkkey)
16283 (grub_console_getkey): Do not export (no longer needed by gfxterm,
16284 etc).
16285
16286 Migrate `terminal' command and userland tools to new API:
16287
16288 * commands/terminal.c (grub_cmd_terminal): Split into ...
16289 (grub_cmd_terminal_input): ... this, and ...
16290 (grub_cmd_terminal_output): ... this.
16291 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
16292 `terminal_input' and `terminal_output'.
16293 * util/grub.d/00_header.in: Adjust `terminal' calls to new
16294 `terminal_input' / `terminal_output' API.
16295 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
16296 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
16297 provided ${GRUB_TERMINAL}, convert it).
16298
96e5d876 162992008-11-04 Robert Millan <rmh@aybabtu.com>
16300
16301 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
16302 for FreeBSD.
16303 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
16304
556f3775 163052008-11-03 Bean <bean123ch@gmail.com>
16306
16307 * kern/elf.c (grub_elf32_load): Revert to previous code.
16308 (grub_elf64_load): Likewise.
16309
16310 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
16311
926b9823 163122008-11-01 Robert Millan <rmh@aybabtu.com>
16313
16314 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
16315 (TARGET_CPPFLAGS): Likewise.
16316 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
16317
1432e958 163182008-11-01 Carles Pina i Estany <carles@pina.cat>
16319
16320 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
16321
dba3f844 163222008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 16323
16324 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
16325 addition of objects until the code is not going to be able to fail.
16326
dba3f844 163272008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 16328
16329 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
16330 (add a missing NULL check, and correct them by moving the pointer
16331 operations after the actual check).
16332
7ab28c21 163332008-10-29 Robert Millan <rmh@aybabtu.com>
16334
16335 * util/i386/pc/grub-install.in: Handle empty string as output from
16336 make_system_path_relative_to_its_root().
16337
1b7748eb 163382008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
16339
16340 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
16341 circular metadata worst case scenario. If the metadata is circular
16342 then copy the wrap in place.
16343 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
16344 project lib/format_text/layout.h
16345 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
16346
c9618ab2 163472008-10-03 Felix Zielcke <fzielcke@z-51.de>
16348
7a36edca 16349 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 16350
bf981c62 163512008-10-03 Felix Zielcke <fzielcke@z-51.de>
16352
16353 * util/update-grub_lib.in: Mention filename in warning message.
16354
6d994591 163552008-09-29 Felix Zielcke <fzielcke@z-51.de>
16356
16357 * NEWS: Update for rename of update-grub to grub-mkconfig.
16358
18ade780 163592008-09-29 Felix Zielcke <fzielcke@z-51.de>
16360
16361 * util/update-grub_lib.in: Copy to ...
16362 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 16363 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 16364 * util/update-grub.in: Rename to ...
16365 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
16366 option. Add `--output' option to allow users to specify the generated
16367 configuration file. Default to stdout.
16368 (update_grub_dir): Rename to ...
16369 (grub_mkconfig_dir): ... this.
16370 (grub_cfg): Default to an empty string.
16371 * conf/common.rmk (update-grub): Rename to ...
16372 (grub-mkconfig): ... this.
16373 (update-grub_lib): Copy to ...
16374 (grub-mkconfig_lib): ... this.
16375 (update-grub_SCRIPTS): Copy to ...
16376 (grub-mkconfig_SCRIPTS): ... this. Update all users.
16377 (update-grub_DATA): Rename to ...
16378 (grub-mkconfig_DATA): ... this.
16379
556ce6ac 163802008-09-28 Robert Millan <rmh@aybabtu.com>
16381
16382 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
16383 to `modified'. Add the real `created' field.
16384 (grub_iso9660_uuid): Use `modified' rather than `created' for
16385 constructing the UUID.
16386
163872008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 16388
16389 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
16390 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
16391
92274e85 163922008-09-28 Bean <bean123ch@gmail.com>
16393
16394 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
16395 Thanks to Christian Franke for finding this bug.
16396
add6f17a 163972008-09-25 Robert Millan <rmh@aybabtu.com>
16398
16399 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
16400 instances of grub_util_get_disk_name() (see previous commit).
16401
d2a367b8 164022008-09-25 Robert Millan <rmh@aybabtu.com>
16403
16404 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
16405 `util/i386/get_disk_name.c'.
16406 * conf/i386-efi.rmk: Likewise.
16407 * conf/x86_64-efi.rmk: Likewise.
16408 * conf/i386-coreboot.rmk: Likewise.
16409 * conf/i386-ieee1275.rmk: Likewise.
16410 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
16411 `util/ieee1275/get_disk_name.c'.
16412 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
16413 * util/ieee1275/get_disk_name.c: Remove file.
16414 * util/i386/get_disk_name.c: Remove file.
16415 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
16416 "hd%d" for device.map entries, rather than using
16417 grub_util_get_disk_name().
16418
81a06771 164192008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 16420
16421 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
16422 warning.
16423 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
16424
5a004279 164252008-09-24 Carles Pina i Estany <carles@pina.cat>
16426
16427 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
16428 Changed to 0x5100.
16429 (GRUB_TERM_PPAGE): Changed to 0x4900.
16430
397093d3 164312008-09-24 Robert Millan <rmh@aybabtu.com>
16432
16433 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
16434 macros (they were i386-pc specific).
16435 * include/grub/sparc64/ieee1275/console.h: Likewise.
16436 * include/grub/efi/console.h: Likewise.
16437
a91b6c7c 164382008-09-22 Bean <bean123ch@gmail.com>
16439
16440 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
16441 resident and in attribute list.
16442
16443 * include/grub/ntfs.h (BMP_LEN): Removed.
16444
c40fd116 164452008-09-22 Bean <bean123ch@gmail.com>
16446
81a06771 16447 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 16448 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
16449
16450 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
16451 error occurs, as grub_disk_open will call grub_disk_close, which will
16452 call p->close (scsi).
16453
81a06771 164542008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 16455
16456 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
16457 (AC_PREREQ): Bumped to 2.59.
16458 (AC_TRY_COMPILE): Replace obsolete macro with ...
16459 (AC_COMPILE_IFELSE): ... this.
16460 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
16461 (AC_LINK_IFELSE): ... this.
16462
5dc43410 164632008-09-21 Felix Zielcke <fzielcke@z-51.de>
16464
16465 * autogen.sh: Add a call to `gendistlist.sh'.
16466
9035dce4 164672008-09-19 Christian Franke <franke@computer.org>
16468
16469 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
16470 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
16471 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
16472 Export __enable_execute_stack() to modules.
16473 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
16474 New function.
16475
7fd75377 164762008-09-09 Felix Zielcke <fzielcke@z-51.de>
16477
040030b3 16478 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
16479 Sort the list.
16480
164812008-09-09 Felix Zielcke <fzielcke@z-51.de>
16482
16483 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 16484 #include <grub/util/hostdisk.h>.
16485
89d5ffcf 164862008-09-08 Robert Millan <rmh@aybabtu.com>
16487
16488 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
16489 segments when their filesz is zero (grub_file_read() interprets
81a06771 16490 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 16491 Use `lowest_segment' rather than 0 for calculating the current
16492 segment load address.
16493
40da438f 164942008-09-08 Robert Millan <rmh@aybabtu.com>
16495
16496 * util/hostdisk.c (open_device): Replace a grub_util_info() call
16497 with grub_dprintf("hostdisk", ...), as it was so verbose that it
16498 clobbered useful information.
16499
ddbf5556 165002008-09-08 Robert Millan <rmh@aybabtu.com>
16501
16502 * include/grub/util/biosdisk.h: Move to ...
16503 * include/grub/util/hostdisk.h: ... here. Update all users.
16504 * util/biosdisk.c: Move to ...
16505 * util/hostdisk.c: ... here. Update all users.
16506
783d0f48 165072008-09-07 Robert Millan <rmh@aybabtu.com>
16508
16509 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
16510 variables.
16511 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
16512 and length can be stored directly in the `mbi->mmap_addr' and
16513 `mbi->mmap_length' struct fields.
16514
548e2ea5 165152008-09-07 Robert Millan <rmh@aybabtu.com>
16516
16517 * conf/i386.rmk: New file. Provides declaration for building
16518 `cpuid.mod'.
16519 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
16520 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
16521 variables.
16522 Include `conf/i386.mk'.
16523 * conf/i386-efi.rmk: Likewise.
16524 * conf/x86_64-efi.rmk: Likewise.
16525 * conf/i386-coreboot.rmk: Likewise.
16526 * conf/i386-ieee1275.rmk: Likewise.
16527
0ea85a37 165282008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
16529
16530 Based on patch created by Colin D Bennett <colin@gibibit.com>.
16531 Adds optimization support for BGR based modes.
16532
16533 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
16534 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
16535 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
16536 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
16537 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
16538 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
16539 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
16540 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
16541 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
16542 (grub_video_i386_vbeblit_index_index): Likewise.
16543 (grub_video_i386_vbeblit_replace_directN): Added.
16544 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
16545 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
16546 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
16547 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
16548 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
16549 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 16550 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 16551 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
16552 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
16553 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
16554 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
16555 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
16556 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
16557
16558 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
16559 (grub_video_i386_vbefill_R8G8B8): Likewise.
16560 (grub_video_i386_vbefill_index): Likewise.
16561 (grub_video_i386_vbefill_direct32): Added.
16562 (grub_video_i386_vbefill_direct24): Likewise.
16563 (grub_video_i386_vbefill_direct16): Likewise.
16564 (grub_video_i386_vbefill_direct8): Likewise.
16565
81a06771 16566 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 16567 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
16568 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
16569 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
16570 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
16571 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 16572
0ea85a37 16573 * video/video.c (grub_video_get_blit_format): Updated to use new
16574 blit formats. Added handling for 16 bit color modes.
81a06771 16575
16576 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 16577 fillers.
16578 (common_blitter): Updated to use new blitters.
16579
16580 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
16581 Removed.
16582 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
16583 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
16584 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
16585 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
16586 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
16587 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
16588 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
16589 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
16590 (grub_video_i386_vbeblit_index_index): Likewise.
16591 (grub_video_i386_vbeblit_replace_directN): Added.
16592 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
16593 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
16594 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
16595 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
16596 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
16597 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
16598 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
16599 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
16600 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
16601 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
16602 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
16603 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
16604 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 16605
0ea85a37 16606 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
16607 (grub_video_i386_vbefill_R8G8B8): Likewise.
16608 (grub_video_i386_vbefill_index): Likewise.
16609 (grub_video_i386_vbefill_direct32): Added.
16610 (grub_video_i386_vbefill_direct24): Likewise.
16611 (grub_video_i386_vbefill_direct16): Likewise.
16612 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 16613
0ea85a37 16614 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
16615 types.
81a06771 16616
0ea85a37 16617 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
16618 types.
81a06771 16619
0ea85a37 16620 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
16621 blitter types.
81a06771 16622
0ea85a37 16623 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
16624 types.
16625
e8a83df6 166262008-09-06 Felix Zielcke <fzielcke@z-51.de>
16627
16628 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
16629 RAID level 1.
16630
6bcd8ee5 166312008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 16632
6bcd8ee5 16633 * fs/iso9660.c (grub_iso9660_date): New structure.
16634 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
16635 (grub_iso9660_uuid): New function.
c375ae58 16636
59261157 166372008-09-05 Bean <bean123ch@gmail.com>
16638
16639 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
16640
16641 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
16642 insensitive bit for names in Win32 and Win32 & DOS namespace.
16643
16644 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
16645
16646 * include/grub/types.h (LONG_MAX): Likewise.
16647
58b6645a 166482008-09-04 Felix Zielcke <fzielcke@z-51.de>
16649
4ee55921 16650 * util/getroot.c: Include <config.h>.
16651 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
16652 add support for /dev/md/N devices and handle LVM double dash escaping.
16653
166542008-09-04 Felix Zielcke <fzielcke@z-51.de>
16655
16656 * config.guess: Update to latest version from config git.
16657 * config.sub: Likewise.
58b6645a 16658
9124f65d 166592008-09-03 Robert Millan <rmh@aybabtu.com>
16660
16661 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
16662 `disk->total_sectors'.
16663
81a06771 166642008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 16665
16666 * include/grub/normal.h: Fixed incorrect comment for
16667 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
16668
81a06771 166692008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 16670
16671 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
16672 values with defines.
16673
16674 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
16675 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
16676 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
16677 (GRUB_VBE_MODEATTR_COLOR): Likewise.
16678 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
16679 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
16680 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
16681 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
16682 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
16683 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
16684 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
16685 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
16686 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
16687 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
16688 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
16689 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
16690 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
16691 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
16692 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
16693
93d5cbf8 166942008-08-31 Robert Millan <rmh@aybabtu.com>
16695
16696 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
16697 declaration.
16698 (grub_multiboot): Fix a few warnings.
16699
21751d50 167002008-08-31 Robert Millan <rmh@aybabtu.com>
16701
16702 * loader/i386/pc/multiboot.c: Update comment not to say that
16703 boot_device support is unimplemented.
16704
e27a75c5 167052008-08-31 Robert Millan <rmh@aybabtu.com>
16706
16707 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
16708 or memory map support are unimplemented.
16709
81a06771 167102008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 16711
16712 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
16713
81a06771 167142008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 16715
16716 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
16717 total video memory in 'vbeinfo' output; show color format details for
16718 each video mode.
16719
7c5d8d95 167202008-08-30 Pavel Roskin <proski@gnu.org>
16721
16722 * util/genmoddep.c: Remove for real this time.
16723 * DISTLIST: Remove util/genmoddep.c.
16724
4cebd25a 167252008-08-30 Robert Millan <rmh@aybabtu.com>
16726
16727 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
16728 as required by Multiboot spec (it was already 4-byte aligned, but
16729 only by chance).
16730
b497a269 167312008-08-29 Pavel Roskin <proski@gnu.org>
16732
e3925185 16733 * kern/powerpc/ieee1275/crt0.S: Rename to ...
16734 * kern/powerpc/ieee1275/startup.S: ... this.
16735 * conf/powerpc-ieee1275.rmk: Adjust for the above.
16736 * DISTLIST: Likewise.
16737
b497a269 16738 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
16739 grub/cpu/kernel.h. Add start label for consistency with other
16740 platforms. Add grub_prefix immediately after start. Add jump
16741 to the code after grub_prefix.
16742 * include/grub/powerpc/kernel.h: Provide valid values for
16743 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
16744
6e5a42fe 167452008-08-29 Bean <bean123ch@gmail.com>
16746
16747 * configure.ac: Change host_os to cygwin for mingw.
16748 (asprintf): New check for function.
16749
16750 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
16751 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
16752
16753 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 16754 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 16755 sync, sleep and grub_util_get_disk_size for mingw.
16756
16757 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
16758 to get size in mingw.
16759 (open_device): Use flag O_BINARY if it's defined.
16760 (find_root_device): Add dummy code for mingw.
16761
16762 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
16763 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
16764 (get_scsi_disk_name): Return 0 for mingw.
16765
16766 * util/hostfs.c: #include <grub/util/misc.h>.
16767 (grub_hostfs_open): Use "rb" flag to open file, use
16768 grub_util_get_disk_size to get disk size for mingw.
16769
16770 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
16771 (asprintf): New function if HAVE_ASPRINTF is not set.
16772 (sync): New function for mingw.
16773 (sleep): Likewise.
16774 (grub_util_get_disk_size): Likewise.
16775
ab3f2673 167762008-08-28 Pavel Roskin <proski@gnu.org>
16777
16778 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
16779 kern/time.c.
16780
1c282483 167812008-08-28 Robert Millan <rmh@aybabtu.com>
16782
16783 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
16784
678e849c 167852008-08-28 Robert Millan <rmh@aybabtu.com>
16786
16787 Change find_grub_drive() syntax so it doesn't prevent it from
16788 detecting NULL names as errors.
16789
16790 * util/biosdisk.c (find_grub_drive): Move free slot search code
16791 from here ...
16792 (find_free_slot): ... to here.
16793 (read_device_map): Use find_free_slot() to search for free slots.
16794
965c75ca 167952008-08-27 Marco Gerards <marco@gnu.org>
16796
16797 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
16798 (scsi_mod_SOURCES): New variable.
16799 (scsi_mod_CFLAGS): Likewise
16800 (scsi_mod_LDFLAGS): Likewise.
16801
16802 * disk/scsi.c: New file.
16803
16804 * include/grub/scsi.h: Likewise.
16805
16806 * include/grub/scsicmd.h: Likewise.
16807
16808 * disk/ata.c: Include <grub/scsi.h>.
16809 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
16810 instead.
16811 (grub_ata_iterate): Skip ATAPI devices.
16812 (grub_ata_open): Only handle ATAPI devices.
16813 (struct grub_atapi_read): Removed.
16814 (grub_atapi_readsector): Likewise.
16815 (grub_ata_read): No longer handle ATAPI devices.
16816 (grub_ata_write): Likewise.
16817 (grub_atapi_iterate): New function.
16818 (grub_atapi_read): Likewise.
16819 (grub_atapi_write): Likewise.
16820 (grub_atapi_open): Likewise.
16821 (grub_atapi_close): Likewise.
16822 (grub_atapi_dev): New variable.
16823 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
16824 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
16825
16826 * include/grub/disk.h (enum grub_disk_dev_id): Add
16827 `GRUB_DISK_DEVICE_SCSI_ID'.
16828
c07ae501 168292008-08-26 Robert Millan <rmh@aybabtu.com>
16830
16831 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
16832 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
16833 descriptive.
16834
5ed20adc 168352008-08-23 Bean <bean123ch@gmail.com>
16836
16837 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
16838 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
16839 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
16840 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
16841 dm_nv.mod.
16842 (raid5rec_mod_SOURCES): New macro.
16843 (raid5rec_mod_CFLAGS): Likewise.
16844 (raid5rec_mod_LDFLAGS): Likewise.
16845 (raid6rec_mod_SOURCES): Likewise.
16846 (raid6rec_mod_CFLAGS): Likewise.
16847 (raid6rec_mod_LDFLAGS): Likewise.
16848 (mdraid_mod_SOURCES): Likewise.
16849 (mdraid_mod_CFLAGS): Likewise.
16850 (mdraid_mod_LDFLAGS): Likewise.
16851 (dm_nv_mod_SOURCES): Likewise.
16852 (dm_nv_mod_CFLAGS): Likewise.
16853 (dm_nv_mod_LDFLAGS): Likewise.
16854
16855 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
16856 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
16857 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
16858
16859 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
16860 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
16861
16862 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16863
16864 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16865
16866 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16867
16868 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16869
16870 * disk/raid5_recover.c: New file.
16871
16872 * disk/raid6_recover.c: Likewise.
16873
16874 * disk/mdraid_linux.c: Likewise.
16875
16876 * disk/dmraid_nvidia.c: Likewise.
16877
16878 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
16879 ULONG_MAX.
16880
16881 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
16882 calculate the size of raid device.
16883 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
16884 different layout of raid5.
16885 (grub_raid_scan_device): Remove code specific to mdraid.
16886 (grub_raid_list): New variable.
16887 (free_array): New function.
16888 (grub_raid_register): Likewise.
16889 (grub_raid_unregister): Likewise.
16890 (grub_raid_rescan): Likewise.
16891 (GRUB_MOD_INIT): Don't iterate device here.
16892 (GRUB_MOD_FINI): Use free_array to release resource.
16893
16894 * include/grub/raid.h: Remove macro and structure specific to mdraid.
16895 (grub_raid5_recover_func_t): New function variable type.
16896 (grub_raid6_recover_func_t): Likewise.
16897 (grub_raid5_recover_func): New variable.
16898 (grub_raid6_recover_func): Likewise.
16899 (grub_raid_register): New function.
16900 (grub_raid_unregister): Likewise.
16901 (grub_raid_rescan): Likewise.
16902 (grub_raid_block_xor): Likewise.
16903
16904 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
16905 (CMD_CRC): New macro.
16906 (part): Removed.
16907 (read_file): Handle device as well as file.
16908 (cmd_crc): New function.
16909 (fstest): Handle multiple disks.
16910 (options): Remove part, raw and long, add root and diskcount.
16911 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 16912 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 16913 add handling for the new options, support multiple disks.
16914
16915 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
16916
29c18915 169172008-08-23 Bean <bean123ch@gmail.com>
16918
16919 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
16920
16921 * genfslist.sh: Ignore kernel.mod.
16922
16923 * genpartmaplist.sh: Likewise.
16924
8415f261 169252008-08-23 Robert Millan <rmh@aybabtu.com>
16926
16927 * util/getroot.c (find_root_device): Skip anything that starts with
16928 a dot, not just directories. This avoids things like /dev/.tmp.md0.
16929
d5a7dc5b 169302008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 16931
d5a7dc5b 16932 * util/update-grub.in (GRUB_GFXMODE): Export variable.
16933 * util/grub.d/00_header.in: Allow the administrator to change default
16934 gfxmode via ${GRUB_GFXMODE}.
16935
380cfbb4 169362008-08-21 Felix Zielcke <fzielcke@z-51.de>
16937
16938 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
16939
c9baafe7 169402008-08-21 Robert Millan <rmh@aybabtu.com>
16941
16942 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
16943 loader.
16944 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
16945 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
16946
e290bef2 169472008-08-20 Carles Pina i Estany <carles@pina.cat>
16948
16949 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
16950 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
16951
f9dbfc96 169522008-08-19 Robert Millan <rmh@aybabtu.com>
16953
16954 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
16955 (struct grub_virtual_screen): Remove `cursor_color'.
16956 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
16957 initialization.
16958 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
16959
dd6bd6ab 169602008-08-18 Robert Millan <rmh@aybabtu.com>
16961
16962 Unify (identical) linux_normal.c files.
16963 * loader/i386/efi/linux_normal.c: Move from here ...
16964 * loader/linux_normal.c: ... to here. Update all users.
16965 * loader/i386/pc/linux_normal.c: Delete. Update all users.
16966 * loader/i386/ieee1275/linux_normal.c: Likewise.
16967
7f42f83e 169682008-08-18 Robert Millan <rmh@aybabtu.com>
16969
16970 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
16971 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
16972 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
16973 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
16974 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
16975 New macros.
16976 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
16977 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
16978 (GRUB_LINUX_CL_END_OFFSET): ... to here.
16979 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
16980 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
16981 (GRUB_EFI_CL_END_OFFSET): Rename to ...
16982 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
16983 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
16984 Initialize `params->video_cursor_x' and `params->video_cursor_y'
16985 portably using grub_getxy().
16986 Replace `-EFI' with `-bzImage' in boot message.
16987
38487ddb 169882008-08-17 Robert Millan <rmh@aybabtu.com>
16989
16990 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
16991
deceb3ec 169922008-08-17 Robert Millan <rmh@aybabtu.com>
16993
16994 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
16995
16996 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
16997 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
16998 (grub_machine_mmap_iterate): New function declaration.
16999 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
17000 structure.
17001 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
17002 macros.
17003
17004 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
17005 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
17006 Move e820 parsing from here ...
17007 * kern/i386/pc/mmap.c: New file.
17008 (grub_machine_mmap_iterate): ... to here.
17009
17010 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
17011 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
17012 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
17013 (grub_available_iterate): Redeclare to return `void', and redeclare
17014 its hook to use grub_uint64_t as addr and size parameters, and rename
17015 to ...
17016 (grub_machine_mmap_iterate): ... this. Update all users.
17017
17018 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
17019 to make it more readable. Rename to ...
17020 (grub_machine_mmap_iterate): ... this.
17021
17022 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
17023 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
17024 (grub_multiboot): Allocate an extra region after the payload, and fill
17025 it with a Multiboot memory map. Adjust a.out loader to calculate size
17026 with the extra space.
17027 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
17028 with the extra space.
17029
f8aa0f43 170302008-08-17 Carles Pina i Estany <carles@pina.cat>
17031
9807deb9 17032 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 17033
605f5bb6 170342008-08-17 Felix Zielcke <fzielcke@z-51.de>
17035
17036 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
17037 mdate-sh to the list `find' searches for.
17038 * DISTLIST: Regenerated.
17039
210db6c6 170402008-08-16 Felix Zielcke <fzielcke@z-51.de>
17041
17042 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
17043 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 17044 genmoddep.awk, gensymlist.sh.in.
17045 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 17046 * DISTLIST: Regenerated.
48cdbfd4 17047 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 17048
1082b929 170492008-08-16 Robert Millan <rmh@aybabtu.com>
17050
17051 * disk/raid.c (grub_raid_init): Handle/report errors set by
17052 grub_device_iterate().
17053 * disk/lvm.c (grub_lvm_init): Likewise.
17054
42ce5170 170552008-08-15 Bean <bean123ch@gmail.com>
17056
17057 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
17058 and datehook.mod.
17059 (datetime_mod_SOURCES): New macro.
17060 (datetime_mod_CFLAGS): Likewise.
17061 (datetime_mod_LDFLAGS): Likewise.
17062 (date_mod_SOURCES): Likewise.
17063 (date_mod_CFLAGS): Likewise.
17064 (date_mod_LDFLAGS): Likewise.
17065 (datehook_mod_SOURCES): Likewise.
17066 (datehook_mod_CFLAGS): Likewise.
17067 (datehook_mod_LDFLAGS): Likewise.
17068
17069 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
17070 and datehook.mod.
17071 (datetime_mod_SOURCES): New macro.
17072 (datetime_mod_CFLAGS): Likewise.
17073 (datetime_mod_LDFLAGS): Likewise.
17074 (date_mod_SOURCES): Likewise.
17075 (date_mod_CFLAGS): Likewise.
17076 (date_mod_LDFLAGS): Likewise.
17077 (datehook_mod_SOURCES): Likewise.
17078 (datehook_mod_CFLAGS): Likewise.
17079 (datehook_mod_LDFLAGS): Likewise.
17080
17081 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
17082 and datehook.mod.
17083 (datetime_mod_SOURCES): New macro.
17084 (datetime_mod_CFLAGS): Likewise.
17085 (datetime_mod_LDFLAGS): Likewise.
17086 (date_mod_SOURCES): Likewise.
17087 (date_mod_CFLAGS): Likewise.
17088 (date_mod_LDFLAGS): Likewise.
17089 (datehook_mod_SOURCES): Likewise.
17090 (datehook_mod_CFLAGS): Likewise.
17091 (datehook_mod_LDFLAGS): Likewise.
17092
17093 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
17094 and datehook.mod.
17095 (datetime_mod_SOURCES): New macro.
17096 (datetime_mod_CFLAGS): Likewise.
17097 (datetime_mod_LDFLAGS): Likewise.
17098 (date_mod_SOURCES): Likewise.
17099 (date_mod_CFLAGS): Likewise.
17100 (date_mod_LDFLAGS): Likewise.
17101 (datehook_mod_SOURCES): Likewise.
17102 (datehook_mod_CFLAGS): Likewise.
17103 (datehook_mod_LDFLAGS): Likewise.
17104
17105 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
17106 and datehook.mod.
17107 (datetime_mod_SOURCES): New macro.
17108 (datetime_mod_CFLAGS): Likewise.
17109 (datetime_mod_LDFLAGS): Likewise.
17110 (date_mod_SOURCES): Likewise.
17111 (date_mod_CFLAGS): Likewise.
17112 (date_mod_LDFLAGS): Likewise.
17113 (datehook_mod_SOURCES): Likewise.
17114 (datehook_mod_CFLAGS): Likewise.
17115 (datehook_mod_LDFLAGS): Likewise.
17116
17117 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
17118
17119 * commands/date.c: New file.
17120
17121 * hook/datehook.c: Likewise.
17122
17123 * include/grub/lib/datetime.h: Likewise.
17124
17125 * include/grub/i386/cmos.h: Likewise.
17126
17127 * lib/datetime.c: Likewise.
17128
17129 * lib/i386/datetime.c: Likewise.
17130
17131 * lib/efi/datetime.c: Likewise.
17132
0e9242da 171332008-08-14 Robert Millan <rmh@aybabtu.com>
17134
17135 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
17136 (grub_mkelfimage_SOURCES): New variable.
17137 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
17138
17139 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
17140 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
17141 * conf/powerpc-ieee1275.rmk: Likewise.
17142 * conf/i386-ieee1275.rmk: Likewise.
17143
17144 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
17145 * kern/i386/coreboot/init.c: Likewise.
17146
17147 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
17148 with `<grub/cpu/kernel.h>'.
17149 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
17150 to ...
17151 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
17152 * kern/i386/coreboot/startup.S: Likewise.
17153
17154 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
17155 (GRUB_MOD_GAP): Remove.
17156 * include/grub/powerpc/kernel.h: New file.
17157 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
17158 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
17159 * include/grub/i386/kernel.h: New file.
17160 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
17161 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
17162 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
17163
17164 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
17165 `grub-mkelfimage'.
17166 Use --directory when invoking grub_mkimage.
17167
17168 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
17169 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
17170 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
17171 and GRUB_KERNEL_CPU_PREFIX.
17172
b86408f8 171732008-08-14 Felix Zielcke <fzielcke@z-51.de>
17174
d5e619ca 17175 * include/grub/err.h (grub_err_printf): New function prototype.
17176 * util/misc.c (grub_err_printf): New function.
17177 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
17178 grub_printf.
17179 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 17180
7161f0e0 171812008-08-13 Robert Millan <rmh@aybabtu.com>
17182
17183 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
17184
a1967522 171852008-08-13 Robert Millan <rmh@aybabtu.com>
17186
17187 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
17188 boot entry.
17189
371458b5 171902008-08-12 Robert Millan <rmh@aybabtu.com>
17191
17192 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
17193 of the relocation code from here ...
17194 (grub_multiboot): ... to here.
17195 (forward_relocator, backward_relocator): Move from here ...
17196 * kern/i386/loader.S (grub_multiboot_forward_relocator)
17197 (grub_multiboot_backward_relocator): ... to here.
17198 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
17199 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
17200 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
17201 (grub_multiboot_forward_relocator_end)
17202 (grub_multiboot_backward_relocator)
17203 (grub_multiboot_backward_relocator_end): New variables.
17204
05f9452b 172052008-08-12 Bean <bean123ch@gmail.com>
17206
17207 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
17208
20024ab0 172092008-08-11 Robert Millan <rmh@aybabtu.com>
17210
17211 * kern/i386/linuxbios/startup.S: Move from here ...
17212 * kern/i386/coreboot/startup.S: ... to here.
17213
17214 * kern/i386/linuxbios/init.c: Move from here ...
17215 * kern/i386/coreboot/init.c: ... to here.
17216
17217 * kern/i386/linuxbios/table.c: Move from here ...
17218 * kern/i386/coreboot/mmap.c: ... to here.
17219
17220 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
17221
e352e9cd 172222008-08-11 Robert Millan <rmh@aybabtu.com>
17223
17224 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
17225 errors. Leave it to the upper layer to handle them.
17226
2d05bc6a 172272008-08-09 Christian Franke <franke@computer.org>
17228
17229 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
17230 * conf/common.rmk: Install `grub-pe2elf' only if requested.
17231 Install `grub.d/10_windows' only on Cygwin.
17232 * configure.ac: Add subst of `target_os'.
17233 Check `target_os' also before setting TARGET_OBJ2ELF.
17234 Add `--enable-grub-pe2elf'.
17235
042bd419 172362008-08-08 Robert Millan <rmh@aybabtu.com>
17237
17238 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
17239 (grub_last_time): Change type to grub_uint64_t.
17240 (grub_disk_open): Migrate code from to using grub_get_time_ms().
17241 (grub_disk_close): Likewise.
17242
17243 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
17244 (run_menu): Migrate code from to using grub_get_time_ms().
17245
17246 * util/misc.c (grub_get_time_ms): New function.
17247
7f280db5 172482008-08-08 Marco Gerards <marco@gnu.org>
17249
17250 * disk/ata.c (grub_ata_regget): Change return type to
17251 `grub_uint8_t'.
17252 (grub_ata_regget2): Likewise.
17253 (grub_ata_wait_status): New function.
17254 (grub_ata_wait_busy): Removed function, updated all users to use
17255 `grub_ata_wait_status'.
17256 (grub_ata_wait_drq): Likewise.
17257 (grub_ata_cmd): New function.
17258 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
17259 error handling.
17260 (grub_ata_pio_write): Add error handling.
17261 (grub_atapi_identify): Likewise.
17262 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
17263 handling.
17264 (grub_ata_identify): Use `grub_ata_cmd' and improve error
17265 handling. Actually use the detected registers. Reorder the
17266 detection logic such that it is easier to read.
17267 (grub_ata_pciinit): Do not assign the same ID to each controller.
17268 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
17269 handling.
17270 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
17271
17272 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
17273
1fbc5e66 172742008-08-08 Marco Gerards <marco@gnu.org>
17275
17276 * NEWS: Update.
17277
819ce6c0 172782008-08-07 Bean <bean123ch@gmail.com>
17279
17280 * include/grub/x86_64/pci.h: New file.
17281
5c41d44d 172822008-08-07 Christian Franke <franke@computer.org>
17283
17284 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
17285 (TIMER2_GATE): Likewise.
17286 (grub_pit_wait): Add enable/disable of the timer2 gate
17287 bit of port 0x61. This fixes a possible infinite loop.
17288
5ebc275d 172892008-08-07 Bean <bean123ch@gmail.com>
17290
17291 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
17292 kern/i386/tsc.c and kern/i386/pit.c.
17293
17294 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
17295 x86_64 platform.
17296
17297 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
17298 <grub/i386/tsc.h>.
17299
17300 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
17301
e383b3d0 173022008-08-07 Bean <bean123ch@gmail.com>
17303
17304 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
17305
17306 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
17307
17308 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
17309 multiple inclusion. Add #include <grub/types.h>.
17310
1cbb58ac 173112008-08-06 Christian Franke <franke@computer.org>
17312
17313 * conf/common.rmk: Build and install `10_windows'.
17314 * util/grub.d/10_windows.in: New script.
17315
337f5a1e 173162008-08-06 Pavel Roskin <proski@gnu.org>
17317
17318 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
17319
057bc4ac 173202008-08-06 Robert Millan <rmh@aybabtu.com>
17321
17322 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
17323 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
17324
2b99f123 173252008-08-06 Bean <bean123ch@gmail.com>
17326
17327 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
17328 (grub_pxefs_fs_int): Remove dummy definition.
17329 (grub_pxefs_open): Use data->block_size to store the current block
17330 size setting.
17331 (grub_pxefs_read): Use block size stored in data->block_size. As the
17332 value of grub_pxe_blksize can be changed after the file is opened.
17333
9f0234cb 173342008-08-06 Bean <bean123ch@gmail.com>
17335
17336 * fs/i386/pc/pxe.c (curr_file): new variable.
17337 (grub_pxefs_open): Simply the handling of pxe file system. Don't
17338 require the dummy internal file system anymore.
17339 (grub_pxefs_read): Removed.
17340 (grub_pxefs_close): Likewise.
17341 (grub_pxefs_fs_int): Likewise.
17342 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
17343 connection when we switch file.
17344 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
17345
a55d42e0 173462008-08-06 Robert Millan <rmh@aybabtu.com>
17347
17348 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
17349 `halt.mod'.
17350 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
17351 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
17352
17353 * kern/i386/halt.c: New file.
17354 * kern/i386/reboot.c: Likewise.
17355 * include/grub/i386/reboot.h: Likewise.
17356 * include/grub/i386/halt.h: Likewise.
17357
17358 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
17359 Include `<grub/cpu/halt.h>'.
17360 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
17361 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
17362
17363 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
17364 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
17365 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
17366 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
17367 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
17368 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
17369 from here ...
17370 * include/grub/i386/at_keyboard.h: ... to here.
17371
24371d26 173722008-08-05 Robert Millan <rmh@aybabtu.com>
17373
17374 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
17375 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
17376 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
17377 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
17378 `kern/generic/millisleep.c'.
17379
17380 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
17381 instead of grub_get_rtc().
17382 (grub_tsc_init): Initialize `tsc_boot_time'.
17383
17384 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
17385 (grub_machine_init): Use grub_tsc_init() rather than
17386 installing an RTC-based handler via grub_install_get_time_ms().
17387
17388 * kern/i386/pit.c: New file.
17389 * include/grub/i386/pit.h: Likewise.
17390
9e7007b3 173912008-08-05 Bean <bean123ch@gmail.com>
17392
17393 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
17394
17395 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
17396 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
17397 (pxe_mod_SOURCES): New macro.
17398 (pxe_mod_CFLAGS): Likewise.
17399 (pxe_mod_LDFLAGS): Likewise.
17400 (pxecmd_mod_SOURCES): Likewise.
17401 (pxecmd_mod_CFLAGS): Likewise.
17402 (pxecmd_mod_LDFLAGS): Likewise.
17403
17404 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
17405 (grub_pxe_call): Likewise.
17406
17407 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
17408
17409 * commands/i386/pc/pxecmd.c: New file.
17410
9f0234cb 17411 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 17412
17413 * include/grub/i386/pc/pxe.h: Likewise.
17414
6977d49f 174152008-08-05 Bean <bean123ch@gmail.com>
17416
17417 * util/console.c (grub_console_cur_color): New variable.
17418 (grub_console_standard_color): Likewise.
17419 (grub_console_normal_color): Likewise.
17420 (grub_console_highlight_color): Likewise.
17421 (color_map): Likewise.
17422 (use_color): Likewise.
17423 (NUM_COLORS): New macro.
17424 (grub_ncurses_setcolorstate): Handle color properly.
17425 (grub_ncurses_setcolor): Don't change color here, just remember the
17426 settings, color will be set in grub_ncurses_setcolorstate.
17427 (grub_ncurses_getcolor): New function.
17428 (grub_ncurses_init): Initialize color pairs.
17429 (grub_ncurses_term): New member grub_ncurses_getcolor.
17430
9c2ff3ee 174312008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 17432
9c2ff3ee 17433 High resolution timer support. Implemented for x86 CPUs using TSC.
17434 Extracted generic grub_millisleep() so it's linked in only as needed.
17435 This requires a Pentium compatible CPU; if the RDTSC instruction is
17436 not supported, then it falls back on the generic grub_get_time_ms()
17437 implementation that uses the machine's RTC.
17438
17439 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
17440 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
17441 `kern/generic/millisleep.c'.
17442
17443 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
17444 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
17445
17446 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
17447 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
17448
17449 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
17450
17451 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
17452 `kern/generic/millisleep.c'.
17453
17454 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
17455
17456 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
17457
17458 * kern/generic/rtc_get_time_ms.c: New file.
17459
17460 * kern/generic/millisleep.c: New file.
337f5a1e 17461
9c2ff3ee 17462 * kern/misc.c: Don't include
17463 <kern/time.h> anymore.
17464 (grub_millisleep_generic): Removed.
17465
17466 * commands/sleep.c (grub_interruptible_millisleep): Uses
17467 grub_get_time_ms() instead of grub_get_rtc().
17468
17469 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
17470 function.
17471 (grub_cpu_is_cpuid_supported): New inline function.
17472 (grub_cpu_is_tsc_supported): New inline function.
17473 (grub_tsc_init): New function prototype.
17474 (grub_tsc_get_time_ms): New function prototype.
17475
17476 * kern/i386/tsc.c (grub_get_time_ms): New file.
17477
17478 * include/grub/time.h: Include <grub/types.h.
17479 (grub_millisleep_generic): Removed.
17480 (grub_get_time_ms): New prototype.
17481 (grub_install_get_time_ms): New prototype.
17482 (grub_rtc_get_time_ms): New prototype.
17483
17484 * kern/time.c (grub_get_time_ms): New function.
17485 (grub_install_get_time_ms): New function.
17486
17487 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
17488 <grub/time.h> anymore.
17489 (grub_millisleep): Removed.
17490 (grub_machine_init): Call grub_tsc_init.
17491
17492 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
17493 get_time_ms() implementation.
17494
17495 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
17496 (ieee1275_get_time_ms): New function.
17497 (grub_machine_init): Install get_time_ms() implementation.
17498
17499 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
17500 (grub_machine_init): Call grub_tsc_init().
17501 (grub_millisleep): Removed.
bf06a93f 17502
9c2ff3ee 17503 * kern/ieee1275/init.c (grub_millisleep): Removed.
17504 (grub_machine_init): Install ieee1275_get_time_ms()
17505 implementation.
17506 (ieee1275_get_time_ms): New function.
17507 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
17508 real work.
17509
9ec92aaf 175102008-08-05 Marco Gerards <marco@gnu.org>
17511
17512 * disk/ata.c: Include <grub/pci.h>.
17513 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
17514 (grub_ata_initialize): Rewritten.
17515 (grub_ata_device_initialize): New function.
17516
8d23f507 175172008-08-04 Pavel Roskin <proski@gnu.org>
17518
17519 * kern/main.c: Include grub/mm.h.
17520
5e15ee3d 175212008-08-04 Robert Millan <rmh@aybabtu.com>
17522
17523 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
17524 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
17525 corruption problem).
17526
a9053f8f 175272008-08-04 Robert Millan <rmh@aybabtu.com>
17528
17529 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
17530 warnings introduced in my last commit.
17531
dd19c7d7 175322008-08-03 Robert Millan <rmh@aybabtu.com>
17533
17534 Make PCI available on all i386 architectures.
17535
17536 * include/grub/i386/pc/pci.h: Move from here ...
17537 * include/grub/i386/pci.h: ... to here.
17538
17539 * include/grub/i386/pc/pci.h: Remove.
17540 * include/grub/i386/efi/pci.h: Remove.
17541 * include/grub/x86_64/efi/pci.h: Remove.
17542
17543 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
17544 `<grub/cpu/pci.h>'.
17545
17546 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
17547 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
17548 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
17549
17550 * conf/i386-ieee1275.rmk: Likewise.
17551
e14a6184 175522008-08-03 Robert Millan <rmh@aybabtu.com>
17553
17554 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
17555 (grub_console_setcursor): Make it possible to set cursor off.
17556
52768e37 175572008-08-03 Robert Millan <rmh@aybabtu.com>
17558
17559 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
17560 of modules instead of assuming which platform provides what.
17561 * util/update-grub.in: Likewise.
17562
2d52f57f 175632008-08-03 Robert Millan <rmh@aybabtu.com>
17564
17565 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
17566 instead of `grub_install_dos_part' to determine whether a drive needs
17567 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 17568 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 17569
2a5cd121 175702008-08-02 Robert Millan <rmh@aybabtu.com>
17571
17572 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
17573
93808428 175742008-08-02 Robert Millan <rmh@aybabtu.com>
17575
17576 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
17577 of informational grub_dprintf() calls.
17578
3bd0a12a 175792008-08-02 Robert Millan <rmh@aybabtu.com>
17580
17581 * disk/memdisk.c (memdisk_size): Don't initialize.
17582 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
17583
17584 * include/grub/i386/pc/kernel.h
17585 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
17586 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
17587 (grub_memdisk_image_size, grub_arch_memdisk_addr)
17588 (grub_arch_memdisk_size): Remove.
17589
17590 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
17591 field (was only used to transfer a constant). Add `type' field to
17592 support multiple module types.
17593 (grub_module_iterate): New function.
17594
17595 * kern/device.c (grub_device_open): Do not hide error messages
17596 when grub_disk_open() fails. Use grub_print_error() instead.
17597
17598 * kern/i386/pc/init.c (grub_arch_modules_addr)
17599 (grub_arch_memdisk_size): Remove functions.
17600 (grub_arch_modules_addr): Return the module address in high memory
17601 (now that it isn't copied anymore).
17602
17603 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
17604 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
17605 decompression routine (grub_total_module_size already includes that
17606 now). Don't copy modules back to low memory.
17607
17608 * kern/main.c: Include `<grub/mm.h>'.
17609 (grub_load_modules): Split out (and use) ...
17610 (grub_module_iterate): ... this function, which iterates through
17611 module objects and runs a hook.
17612 Comment out grub_mm_init_region() call, as it would cause non-ELF
17613 modules to be overwritten.
17614
17615 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
17616 the memdisk image in its own region, make it part of the module list.
17617 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
17618 (main): Parse --memdisk|-m option, and pass user-provided path as
17619 parameter to generate_image().
17620 (add_segments): Pass `memdisk_path' down to load_modules().
17621 (load_modules): Embed memdisk image in module section when requested.
17622 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
17623 `header.type' instead of `header.offset'.
17624
17625 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
17626 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
17627 (memdisk_mod_LDFLAGS): New variables.
17628 * conf/i386-coreboot.rmk: Likewise.
17629 * conf/i386-ieee1275.rmk: Likewise.
17630
a927cc73 176312008-08-02 Robert Millan <rmh@aybabtu.com>
17632
17633 * loader/i386/pc/multiboot.c (playground, forward_relocator)
17634 (backward_relocator): New variables. Used to allocate and relocate
17635 the payload, respectively.
17636 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 17637 address, install the appropriate relocator code in each bound of
a927cc73 17638 the payload, and set the entry point such that
17639 grub_multiboot_real_boot() will jump to one of them.
17640
17641 * kern/i386/loader.S (grub_multiboot_payload_size)
17642 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
17643 (grub_multiboot_payload_entry_offset): New variables.
17644 (grub_multiboot_real_boot): Set cpu context to what the relocator
17645 expects, and jump to the relocator instead of the payload.
17646
17647 * include/grub/i386/loader.h (grub_multiboot_payload_size)
17648 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
17649 (grub_multiboot_payload_entry_offset): Export.
17650
b15d8a0c 176512008-08-01 Bean <bean123ch@gmail.com>
17652
17653 * normal/menu_entry.c (editor_getline): Don't return the original
17654 string as result, as it will be released by lexer once it has done
17655 using it.
17656
cdfb3d22 176572008-08-01 Robert Millan <rmh@aybabtu.com>
17658
17659 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
17660 within menuentries, not before them.
17661 util/grub.d/10_hurd.in: Likewise.
17662
9175e93d 176632008-08-01 Bean <bean123ch@gmail.com>
17664
17665 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
17666 (bufio_mod_SOURCES): New macro.
17667 (bufio_mod_CFLAGS): Likewise.
17668 (bufio_mod_LDFLAGS): Likewise.
17669
17670 * include/grub/bufio.h: New file.
17671
17672 * io/bufio.c: Likewise.
17673
17674 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
17675 (grub_video_reader_png): Use grub_buffile_open to open file.
17676
17677 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
17678 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
17679
17680 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
17681 (grub_video_reader_tga): Use grub_buffile_open to open file.
17682
17683 * font/manager.c: Include <grub/bufio.h>.
17684 (add_font): Use grub_buffile_open to open file.
17685
3d8383e7 176862008-07-31 Robert Millan <rmh@aybabtu.com>
17687
17688 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
17689 ELF segments, use a macro for arbitrarily accessing any of them instead
17690 of preparing a pointer that allows access to one at a time.
17691 (grub_multiboot_load_elf64): Likewise.
17692
16e641b6 176932008-07-31 Bean <bean123ch@gmail.com>
17694
17695 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
17696 GRUB_KERNEL_MACHINE_DATA_END.
17697
59198b72 176982008-07-30 Robert Millan <rmh@aybabtu.com>
17699
17700 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
17701 Increase from 0x50 to 0x60.
17702 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
17703 use UUIDs to identify the root drive for them. If that's not
17704 possible, abort.
17705 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
17706 check, for cross-disk installs.
17707
ae88bca3 177082008-07-30 Robert Millan <rmh@aybabtu.com>
17709
17710 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
17711 is non-empty, use it to set the `prefix' environment variable instead
17712 of the usual approach.
17713 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
17714 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
17715 environment variable instead of dummy make_install_device().
17716
17717 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
17718 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 17719 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 17720
17721 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
17722 New variable reference.
17723 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
17724 New macro. Defines offset of `grub_prefix' within startup.S (relative
17725 to `start').
17726 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
17727 section within startup.S (relative to `start').
17728 * include/grub/i386/coreboot/kernel.h: Likewise.
17729
17730 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
17731 Overwrite grub_prefix with its contents, at the beginning of the
17732 first segment.
17733 (main): Understand -p|--prefix.
17734
14f41dd1 177352008-07-30 Robert Millan <rmh@aybabtu.com>
17736
17737 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
17738
4ca049a3 177392008-07-30 Robert Millan <rmh@aybabtu.com>
17740
17741 * term/i386/pc/vga_text.c (grub_console_cls): Use
17742 grub_console_gotoxy() to go back to beginning of the screen.
17743 Found by Patrick Georgi <patrick.georgi@coresystems.de>
17744
2921d337 177452008-07-29 Christian Franke <franke@computer.org>
17746
17747 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
17748 Add conversion of emulated mount points on Cygwin.
17749
b609876d 177502008-07-29 Christian Franke <franke@computer.org>
17751
17752 * util/update-grub.in: Add a check for admin
17753 group on Cygwin.
17754 Remove old `grub.cfg.new' before creation.
17755 Add `-f' to `mv' to handle the different filesystem
17756 semantics of Windows.
17757
e93e4679 177582008-07-29 Bean <bean123ch@gmail.com>
17759
17760 * normal/main.c (get_line): Fix buffer overflow bug.
17761
41694fd0 177622008-07-28 Robert Millan <rmh@aybabtu.com>
17763
17764 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
17765 (struct grub_apple_header): New struct. Describes the layout of
17766 the partmap header.
17767 (apple_partition_map_iterate): Check the header magic as well as the
17768 partition magic (which was already being checked).
17769
cfd0b4e6 177702008-07-28 Pavel Roskin <proski@gnu.org>
17771
17772 * genmk.rb: Add a warning to the beginning of the output that
17773 it's a generated file and should not be edited.
17774
93cce016 177752008-07-28 Robert Millan <rmh@aybabtu.com>
17776
17777 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
17778 with the same number are found, just use issue a warning with
17779 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 17780
cd1df915 177812008-07-27 Robert Millan <rmh@aybabtu.com>
17782
17783 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
17784 information.
17785
b70a8427 177862008-07-27 Bean <bean123ch@gmail.com>
17787
17788 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
17789 (grub_fat_find_dir): Ignore case when comparing filename.
17790
8f5e379f 177912008-07-27 Bean <bean123ch@gmail.com>
17792
17793 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
17794 smallino, as it's more descriptive, and i8count can be confused with
17795 the other field count.
17796 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
17797 inode type.
17798
a85cd5a0 177992008-07-27 Bean <bean123ch@gmail.com>
17800
17801 * commands/crc.c: New file.
17802
17803 * lib/crc.c: Likewise.
17804
17805 * include/grub/lib/crc.h: Likewise.
17806
17807 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
17808
17809 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
17810 (hexdump): Move this function to ...
17811
17812 * lib/hexdump.c: ... here.
17813
17814 * include/grub/hexdump.h: Renamed to ...
17815
17816 * include/grub/lib/hexdump.h: ... this.
17817
17818 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
17819
17820 * util/grub-editenv.c: Likewise.
17821
17822 * include/envblk.h: Renamed to ...
17823
17824 * include/lib/envblk.h: ... this.
17825
17826 * util/envblk.c: Renamed to ...
17827
17828 * lib/envblk.c: ... this.
17829
17830 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
17831 lib/hexdump.c.
17832 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
17833 (pkglib_MODULES): Add crc.mod.
17834 (hexdump_mod_SOURCES): Add lib/hexdump.c.
17835 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
17836 (crc_mod_SOURCES): New macro.
17837 (crc_mod_CFLAGS): Likewise.
17838 (crc_mod_LDFLAGS): Likewise.
17839
17840 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
17841
17842 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17843
17844 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17845
17846 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17847
17848 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17849
c298def0 178502008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 17851
17852 * commands/help.c: Include <grub/term.h>.
17853 (TERM_WIDTH): Removed. Updated all users.
17854
cc349fb3 178552008-07-27 Pavel Roskin <proski@gnu.org>
17856
17857 * util/getroot.c (find_root_device): Rephrase a comment to avoid
17858 spurious warnings about a comment within a comment.
17859
9051607e 178602008-07-25 Robert Millan <rmh@aybabtu.com>
17861
17862 * util/getroot.c (find_root_device): Skip devices that match
17863 /dev/dm-[0-9]. This lets the real device be found for any type of
17864 abstraction (LVM, EVMS, RAID..).
17865 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
17866 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
17867 device is found first, find_root_device() will now skip it.
17868
01453bfc 178692008-07-24 Pavel Roskin <proski@gnu.org>
17870
17871 * include/grub/types.h: Use __builtin_bswap32() and
17872 __builtin_bswap64() with gcc 4.3 and newer.
17873
6af9849f 178742008-07-24 Christian Franke <franke@computer.org>
17875
3a0fa256 17876 * util/i386/pc/grub-install.in: If `--debug' is specified,
17877 pass `--verbose' to grub-setup.
17878 Abort script if make_system_path_relative_to_its_root() fails.
17879
7810e747 178802008-07-24 Bean <bean123ch@gmail.com>
17881
17882 * configure.ac: Fixed a bug caused by the previous cygwin patch,
17883 variable `target_platform' should be `platform'.
17884
42290e17 178852008-07-24 Bean <bean123ch@gmail.com>
17886
51cc5193 17887 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 17888 (grub_png_init_fixed_block): New function.
17889 (grub_png_decode_image_data): Handle fixed huffman code compression.
17890
2a8a80e4 178912008-07-24 Bean <bean123ch@gmail.com>
17892
17893 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
17894 (grub_pe2elf_SOURCES): New macro.
17895 (CLEANFILES): Add grub-pe2elf.
17896
17897 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
17898 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
17899 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
17900 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
17901 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
17902 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
17903 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
17904 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
17905 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
17906 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
17907 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
17908 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
17909 (GRUB_PE32_DT_FUNCTION): Likewise.
17910 (GRUB_PE32_REL_I386_DIR32): Likewise.
17911 (GRUB_PE32_REL_I386_REL32): Likewise.
17912 (grub_pe32_symbol): New structure.
17913 (grub_pe32_reloc): Likewise.
17914
17915 * util/grub-pe2elf.c: New file.
17916
17917 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
17918 start symbol in non pc platform.
17919
17920 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
17921
17922 The following patches are from Christian Franke.
17923
17924 * include/grub/dl.h: Remove .previous, gas supports this only
17925 for ELF format.
17926
17927 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
17928 Remove .type, gas supports this only for ELF format.
17929
17930 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
17931 nullbytes in symbol table. This fixes an infinite loop if table is
17932 zero filled.
17933
17934 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
17935 TARGET_IMG_LDFLAGS and EXEEXT.
17936
17937 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
17938 TARGET_IMG_LDFLAGS_AC.
17939 (grub_CHECK_STACK_ARG_PROBE): New function.
17940
17941 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
17942
17943 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
17944
17945 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
17946 to set TARGET_IMG_LD* accordingly.
17947 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
17948 Add call to grub_CHECK_STACK_ARG_PROBE.
17949 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
17950
17951 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
17952
17953 * genmk.rb: Add EXEEXT to CLEANFILES.
17954
12ccdb75 179552008-07-23 Robert Millan <rmh@aybabtu.com>
17956
17957 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
17958 define the codes for arrows and lines used for the menu).
17959 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
17960 as well.
17961
17962 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
17963 fonts, because the latter are too slow.
17964
18eeaf04 179652008-07-21 Bean <bean123ch@gmail.com>
17966
17967 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
17968 a20. Run keyboard test last, as it will cause macbook to halt.
17969
b095e2ad 179702008-07-18 Pavel Roskin <proski@gnu.org>
17971
17972 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
17973 load foreign architecture modules correctly anyway. Keep
17974 support for loading host architecture modules, whether we
17975 compile them or not.
17976
737feb35 179772008-07-17 Pavel Roskin <proski@gnu.org>
17978
3f4ce737 17979 * configure.ac: Use -m32 or -m64 regardless of whether we had to
17980 change target_cpu. The compiler default can mismatch target_cpu
17981 in any case.
17982
4ad2d049 17983 * disk/efi/efidisk.c: Fix format warnings on x86_64.
17984 * kern/efi/efi.c: Likewise.
17985
f6130a12 17986 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
17987 target compiler is functional.
17988 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
17989 are set up.
17990
58393a2d 17991 * configure.ac: Default to efi platform for x86_64-apple. Allow
17992 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
17993 adjustments from the rest, only do them if target is not
17994 explicitly given. Merge other adjustments with the final sanity
17995 check. Remove an extraneous check for supported CPU. Be
17996 specific which CPU and which platform is not supported.
17997
737feb35 17998 * configure.ac: Default to pc platform for x86_64.
17999
546f966a 180002008-07-17 Robert Millan <rmh@aybabtu.com>
18001
18002 Partial LinuxBIOS -> Coreboot rename.
18003
18004 * conf/i386-linuxbios.rmk: Renamed to ...
18005 * conf/i386-coreboot.rmk: ... this.
18006 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
18007 * configure.ac: Accept "coreboot" as input platform (but maintain
18008 compatibility with "linuxbios").
18009 * include/grub/i386/linuxbios: Renamed to ...
18010 * include/grub/i386/coreboot: ... this.
18011
20011694 180122008-07-17 Bean <bean123ch@gmail.com>
18013
18014 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 18015 (appleldr_mod_SOURCE): New variable.
20011694 18016 (appleldr_mod_CFLAGS): Likewise.
18017 (appleldr_mod_LDFLAGS): Likewise.
18018 (pci_mod_SOURCES): Likewise.
18019 (pci_mod_CFLAGS): Likewise.
18020 (pci_mod_LDFLAGS): Likewise.
18021 (lspci_mod_SOURCES): Likewise.
18022 (lspci_mod_CFLAGS): Likewise.
18023 (lspci_mod_LDFLAGS): Likewise.
18024
18025 * conf/x86_64-efi.rmk: New file.
18026
18027 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
18028 macro.
18029 (grub_efidisk_write): Likewise.
18030
18031 * include/efi/api.h (efi_call_0): New macro.
18032 (efi_call_1): Likewise.
18033 (efi_call_2): Likewise.
18034 (efi_call_3): Likewise.
18035 (efi_call_4): Likewise.
18036 (efi_call_5): Likewise.
18037 (efi_call_6): Likewise.
18038
18039 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
18040 grub_rescue_cmd_chainloader.
18041
18042 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
18043 (grub_pe32_optional_header): Change some fields based on i386 or
18044 x86_64 platform.
18045 (GRUB_PE32_PE32_MAGIC): Likewise.
18046
18047 * include/grub/efi/uga_draw.h: New file.
18048
18049 * include/grub/elf.h (STN_ABS): New constant.
18050 (R_X86_64_NONE): Relocation constant for x86_64.
18051 (R_X86_64_64): Likewise.
18052 (R_X86_64_PC32): Likewise.
18053 (R_X86_64_GOT32): Likewise.
18054 (R_X86_64_PLT32): Likewise.
18055 (R_X86_64_COPY): Likewise.
18056 (R_X86_64_GLOB_DAT): Likewise.
18057 (R_X86_64_JUMP_SLOT): Likewise.
18058 (R_X86_64_RELATIVE): Likewise.
18059 (R_X86_64_GOTPCREL): Likewise.
18060 (R_X86_64_32): Likewise.
18061 (R_X86_64_32S): Likewise.
18062 (R_X86_64_16): Likewise.
18063 (R_X86_64_PC16): Likewise.
18064 (R_X86_64_8): Likewise.
18065 (R_X86_64_PC8): Likewise.
18066
18067 * include/grub/i386/efi/pci.h: New file.
18068
18069 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
18070 Change it value based on platform.
18071 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
18072 (GRUB_E820_RAM): Likewise.
18073 (GRUB_E820_RESERVED): Likewise.
18074 (GRUB_E820_ACPI): Likewise.
18075 (GRUB_E820_NVS): Likewise.
18076 (GRUB_E820_EXEC_CODE): Likewise.
18077 (GRUB_E820_MAX_ENTRY): Likewise.
18078 (grub_e820_mmap): New structure.
18079 (linux_kernel_header): Change the efi field according to different
18080 kernel version, also field from linux_kernel_header.
18081
18082 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
18083
18084 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
18085 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
18086 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
18087 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
18088 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
18089 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
18090 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
18091 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
18092 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
18093 (GRUB_PCI_ADDR_IO_MASK): Likewise.
18094
18095 * include/grub/x86_64/efi/kernel.h: New file.
18096
18097 * include/grub/x86_64/efi/loader.h: Likewise.
18098
18099 * include/grub/x86_64/efi/machine.h: Likewise.
18100
18101 * include/grub/x86_64/efi/pci.h: Likewise.
18102
18103 * include/grub/x86_64/efi/time.h: Likewise.
18104
18105 * include/grub/x86_64/linux.h: Likewise.
18106
18107 * include/grub/x86_64/setjmp.h: Likewise.
18108
18109 * include/grub/x86_64/time.h: Likewise.
18110
18111 * include/grub/x86_64/types.h: Likewise.
18112
18113 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
18114 GRUB_TARGET_SIZEOF_VOID_P.
18115
18116 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
18117 (grub_efi_locate_handle): Likewise.
18118 (grub_efi_open_protocol): Likewise.
18119 (grub_efi_set_text_mode): Likewise.
18120 (grub_efi_stall): Likewise.
18121 (grub_exit): Likewise.
18122 (grub_reboot): Likewise.
18123 (grub_halt): Likewise.
18124 (grub_efi_exit_boot_services): Likewise.
18125 (grub_get_rtc): Likewise.
18126
18127 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
18128 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
18129 (grub_efi_allocate_pages): Wrap efi calls.
18130 (grub_efi_free_pages): Wrap efi calls.
18131 (grub_efi_get_memory_map): Wrap efi calls.
18132
18133 * kern/x86_64/dl.c: New file.
18134
18135 * kern/x86_64/efi/callwrap.S: Likewise.
18136
18137 * kern/x86_64/efi/startup.S: Likewise.
18138
18139 * loader/efi/appleloader.c: Likewise.
18140
18141 * loader/efi/chainloader.c (cmdline): New variable.
18142 (grub_chainloader_unload): Wrap efi calls.
18143 (grub_chainloader_boot): Likewise.
18144 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
18145 command line.
18146
18147 * loader/efi/chainloader_normal.c (chainloader_command):
18148 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
18149 command line.
18150
18151 * loader/i386/efi/linux.c (allocate_pages): Change allocation
18152 method.
18153 (grub_e820_add_region): New function.
18154 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
18155 booting.
18156 (grub_find_video_card): New function.
18157 (grub_linux_setup_video): New function.
18158 (grub_rescue_cmd_linux): Probe for video information.
18159
18160 * normal/x86_64/setjmp.S: New file.
18161
18162 * term/efi/console.c (map_char): New function.
18163 (grub_console_putchar): Map unicode char.
18164 (grub_console_checkkey): Wrap efi calls.
18165 (grub_console_getkey): Likewise.
18166 (grub_console_getwh): Likewise.
18167 (grub_console_gotoxy): Likewise.
18168 (grub_console_cls): Likewise.
18169 (grub_console_setcolorstate): Likewise.
18170 (grub_console_setcursor): Likewise.
18171
18172 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
18173
59652a20 181742008-07-16 Pavel Roskin <proski@gnu.org>
18175
ef294055 18176 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
18177 format strings.
18178
59652a20 18179 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
18180 pointer, not an integer. This fixes a warning and prevents
18181 precision loss on 64-bit systems.
18182 (relocate_addresses): Remove unneeded cast.
18183
afc3b5d7 181842008-07-15 Pavel Roskin <proski@gnu.org>
18185
506b2b3e 18186 * kern/i386/ieee1275/init.c: Include grub/cache.h.
18187
62ead89c 18188 * term/ieee1275/ofconsole.c: Disable code unused on i386.
18189
c4cd51d7 18190 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
18191 Fix comparison between signed and unsigned.
18192
0d3d8f28 18193 * include/grub/i386/ieee1275/console.h: Declare
18194 grub_console_init() and grub_console_fini().
18195
8804b286 18196 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
18197 It's empty and unused.
18198
ee01cf35 18199 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
18200 beginning to avoid warnings with some compilers.
18201
afc3b5d7 18202 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
18203 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
18204
e4e8eaa5 182052008-07-14 Pavel Roskin <proski@gnu.org>
18206
407aceb4 18207 * kern/env.c (grub_register_variable_hook): Don't copy empty
18208 string, it leaks memory. Pass "" to grub_env_set(), it should
18209 handle constant strings.
18210
e4e8eaa5 18211 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
18212 * commands/cmp.c (grub_cmd_cmp): Likewise.
18213 * kern/dl.c (grub_dl_flush_cache): Likewise.
18214 (grub_dl_load_core): Likewise.
18215 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
18216 (grub_elf64_load_phdrs): Likewise.
18217
d4e2dad3 182182008-07-13 Pavel Roskin <proski@gnu.org>
18219
18220 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
18221 between signed and unsigned.
18222 (LzmaEnc_Finish): Fix warning about an unused parameter.
18223
aa24b516 182242008-07-13 Bean <bean123ch@gmail.com>
18225
18226 * Makefile.in (enable_lzo): New rule.
18227
18228 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
18229
18230 * configure.ac (ENABLE_LZO): New option --enable-lzo.
18231
18232 * boot/i386/pc/lnxboot.S: #include <config.h>.
18233
18234 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 18235 its value according to the compression algorithm used, lzo or lzma.
aa24b516 18236
18237 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
18238 compression algorithm according to configure macro.
18239
18240 * kern/i386/pc/startup.S (codestart): Likewise.
18241
18242 * kern/i386/pc/lzma_decode.S: New file.
18243
18244 * include/grub/lib/LzFind.h: Likewise.
18245
18246 * include/grub/lib/LzHash.h: Likewise.
18247
18248 * include/grub/lib/LzmaDec.h: Likewise.
18249
18250 * include/grub/lib/LzmaEnc.h: Likewise.
18251
18252 * include/grub/lib/LzmaTypes.h: Likewise.
18253
18254 * lib/LzFind.c: Likewise.
18255
18256 * lib/LzmaDec.c: Likewise.
18257
18258 * lib/LzmaEnc.c: Likewise.
18259
4ae821ac 182602008-07-13 Bean <bean123ch@gmail.com>
18261
18262 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
18263 (grub_ext4_extent_header): New structure.
18264 (grub_ext4_extent): Likewise.
18265 (grub_ext4_extent_idx): Likewise.
18266 (grub_ext4_find_leaf): New function.
18267 (grub_ext2_read_block): Handle extents.
18268
9a745147 182692008-07-12 Robert Millan <rmh@aybabtu.com>
18270
18271 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
18272
d49a4cf6 182732008-07-11 Robert Millan <rmh@aybabtu.com>
18274
18275 * util/grub.d/40_custom.in: New file. Example on how to add custom
18276 entries to /etc/grub.d.
18277 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
18278 40_custom (implicitly, by merging all the grub.d rules).
18279
947414b4 182802008-07-11 Pavel Roskin <proski@gnu.org>
18281
0059cf6f 18282 * commands/read.c (grub_getline): Fix invalid memory access.
18283 Don't add newline to the variable value.
18284
947414b4 18285 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
18286 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
18287 (serial_hw_get_port): Check validity of the port number.
18288 (grub_cmd_serial): Check return value of serial_hw_get_port().
18289
62a02d00 182902008-07-07 Pavel Roskin <proski@gnu.org>
18291
18292 * boot/i386/pc/diskboot.S (notification_string): Replace
18293 "Loading kernel" with just "loading". This is shorter, less
18294 confusing and saves a few bytes for possible future changes.
18295
3e5581b0 182962008-07-05 Pavel Roskin <proski@gnu.org>
18297
ea387a48 18298 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
18299 size for ATAPI devices, they are undefined. Output sector
18300 number in decimal form.
18301
3e5581b0 18302 * disk/ata.c: Use named constants for status bits.
18303
fdecb8fd 183042008-07-04 Pavel Roskin <proski@gnu.org>
18305
bcd35b90 18306 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
18307 grub_addr_t before casting it to the void pointer to fix a
18308 warning. Non-addressable regions are discarded earlier.
18309 (grub_arch_modules_addr): Cast _end to grub_addr_t.
18310 * kern/i386/linuxbios/table.c: Include grub/misc.h.
18311 (check_signature): Don't shadow table_header.
18312 (grub_linuxbios_table_iterate): Cast numeric constants to
18313 grub_linuxbios_table_header_t.
18314 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
18315 grub_stop().
18316
af58ab3d 18317 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
18318 prevent warnings.
18319
1759aa57 18320 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
18321 pointer, which can cause warnings. Support 64-bit addresses.
18322
fdecb8fd 18323 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
18324 of sizeof(long). This fixes PowerPC image generation on x86_64.
18325
8516d2a8 183262008-07-04 Robert Millan <rmh@aybabtu.com>
18327
18328 This fixes a performance issue when pc & gpt partmap iterators
18329 didn't abort iteration even after our hook found what it was
fe987087 18330 looking for (often causing expensive probes of non-existent drives).
8516d2a8 18331
18332 Some callers relied on previous buggy behaviour, since they would
34c44600 18333 raise an error when their own hooks caused early abortion of its
8516d2a8 18334 iteration.
18335
18336 * kern/device.c (grub_device_open): Improve error message.
18337 * disk/lvm.c (grub_lvm_open): Likewise.
18338 * disk/raid.c (grub_raid_open): Likewise.
18339
18340 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
18341 when hook requests it, independently of grub_errno.
18342 (pc_partition_map_probe): Do not fail when find_func() caused
18343 early abortion of pc_partition_map_iterate().
18344
18345 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
18346 when hook requests it, independently of grub_errno.
18347 (gpt_partition_map_probe): Do not fail when find_func() caused
18348 early abortion of gpt_partition_map_iterate().
18349
18350 * kern/partition.c (grub_partition_iterate): Abort parent iteration
18351 when hook requests it, independently of grub_errno. Do not fail when
18352 part_map_iterate_hook() caused early abortion of p->iterate().
18353
18354 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
18355 when grub_partition_iterate() returned with non-zero.
18356
277d0de9 183572008-07-03 Pavel Roskin <proski@gnu.org>
18358
18359 * disk/ata.c (grub_ata_pio_write): Check status before writing,
18360 like we do in grub_ata_pio_read().
18361 (grub_ata_readwrite): Always write individual sectors. Fix the
18362 sector count for the remainder.
18363 (grub_ata_write): Enable writing to ATA devices. Correctly
18364 report error for ATAPI devices.
18365
d4c9b428 183662008-07-02 Pavel Roskin <proski@gnu.org>
18367
e43fc690 18368 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
18369 warning.
18370
f707af42 18371 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
18372 for every read sector, we already increment it for the whole
18373 batch. This fixes reading more than 256 sectors at once.
18374
11e16b15 18375 * util/grub-editenv.c (cmd_info): Cast argument to long
18376 explicitly. ptrdiff_t reduces to int on i386.
18377
cbabfdd4 18378 * util/grub-editenv.c (main): Be specific which parameter is
18379 missing.
18380
b8fbce0a 18381 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
18382 (memdisk): Make memdisk_orig_addr a pointer.
18383
c9c8e606 18384 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
18385 for file offsets, use grub_off_t instead. Fix printf format
18386 warnings.
18387
ca62e598 18388 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
18389 there. Real unexpected warnings should not drown in the noise
18390 about known problems.
18391
ce8d1766 18392 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
18393 grub_disk_addr_t for memory addresses.
18394
00c7a56a 18395 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
18396 explicitly to fix a warning.
18397
08d3ef09 18398 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
18399
cb71ba20 18400 * Makefile.in (MODULE_LDFLAGS): New variable.
18401 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
18402 the linker accepts --build-id=none.
18403 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
18404 MODULE_LDFLAGS.
18405 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
18406
d4c9b428 18407 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
18408 those in Linux XFS code. Provide a way to access 64-bit parent
18409 inode.
18410 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
18411 the end of struct grub_xfs_dir_header.
18412
d4156eee 184132008-07-02 Bean <bean123ch@gmail.com>
18414
18415 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
18416 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
18417 and GRUB_IEEE1275_FLAG_NO_ANSI.
18418
18419 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
18420 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
18421 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
18422
18423 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
18424 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
18425
18426 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
18427 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
18428
18429 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
18430 esc sequence on non ANSI terminal.
18431 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
18432
18433 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
18434 beginning of file.
18435
2270f77b 184362008-07-02 Bean <bean123ch@gmail.com>
18437
18438 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
18439 (grub_editenv_SOURCES): New variable.
18440 (pkglib_MODULES): Add loadenv.mod.
18441 (loadenv_mod_SOURCES): New variable.
18442 (loadenv_mod_CFLAGS): Likewise.
18443 (loadenv_mod_LDFLAGS): Likewise.
18444
18445 * include/grub/envblk.h: New file.
18446
18447 * util/envblk.c: New file.
18448
18449 * util/grub-editenv.c: New file.
18450
18451 * commands/loadenv.c: New file.
18452
0e9e51ec 184532008-07-01 Pavel Roskin <proski@gnu.org>
18454
d89b7634 18455 * include/multiboot2.h (struct multiboot_tag_module): Use char,
18456 not unsigned char. This fixes warnings and is consistent with
18457 other tags.
18458
bf1835b1 18459 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
18460
8222a04b 18461 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
18462
6a42d99d 18463 * term/tparm.c (analyze): Always set *popcount.
18464
10b159d1 18465 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
18466 cast to fix a warning.
18467
b8789f6c 18468 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
18469 cast to suppress a warning.
18470
29d7e38a 18471 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
18472 grub_fshelp_read_file() expects.
18473
f341f669 18474 * fs/fat.c: Fix UUID calculation on big-endian systems. We
18475 write uuid as a 32-bit value in CPU byte order, so declare and
18476 use it as such.
18477
0e9e51ec 18478 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
18479 long if the format specifier expects it.
18480 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
18481 * partmap/pc.c (pc_partition_map_iterate): Likewise.
18482 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
18483 long to fix a warning.
18484 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
18485 grub_dprintf() arguments to fix warnings.
18486
3aefa857 184872008-06-30 Pavel Roskin <proski@gnu.org>
18488
56c7668b 18489 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
18490 install_bsd_part immediately before core.img is embedded or
18491 modified on disk. This fixes core.img verification if core.img
18492 cannot be embedded.
18493
3aefa857 18494 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
18495 core_path to calculate the blocklist.
18496 Patch from Javier Martín <lordhabbit@gmail.com>
18497
5444088d 184982008-06-29 Robert Millan <rmh@aybabtu.com>
18499
18500 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
18501 block to disk block.
18502 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
18503 Patch from Niels Böhm <bitbucket@arcor.de>
18504
674835c8 185052008-06-29 Robert Millan <rmh@aybabtu.com>
18506
18507 * util/update-grub_lib.in (font_path): Search for fonts in
18508 /boot/grub first, which is more likely to be readable (we aren't
18509 deciding where fonts live, just looking for them).
18510
f527dbc8 185112008-06-26 Pavel Roskin <proski@gnu.org>
18512
6c2d8df6 18513 * util/biosdisk.c (read_device_map): Don't leave dead map
18514 entries for devices failing stat() check.
18515
f527dbc8 18516 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
18517 core_path_dev for the core.img path on the target device.
18518
aebe3d13 185192008-06-26 Robert Millan <rmh@aybabtu.com>
18520
18521 * disk/fs_uuid.c: New file.
18522 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
18523 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
18524 (fs_uuid_mod_LDFLAGS): New variables.
18525 * include/grub/disk.h (grub_disk_dev_id): Add
18526 `GRUB_DISK_DEVICE_UUID_ID'.
18527 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
18528 implement iterate().
18529
37aaf354 185302008-06-26 Robert Millan <rmh@aybabtu.com>
18531
18532 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
18533 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
18534 Linux image includes no initrd.
18535
25ff262a 185362008-06-21 Javier Martín <lordhabbit@gmail.com>
18537
18538 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
18539 call to resolve the core image location that effectively appended the
18540 name twice.
18541
76a2bd44 185422008-06-21 Robert Millan <rmh@aybabtu.com>
18543
18544 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
18545 call from here ...
18546
18547 * util/grub.d/10_hurd.in: ... to here ...
18548 * util/grub.d/10_linux.in: ... and here.
18549
650e1c79 185502008-06-19 Robert Millan <rmh@aybabtu.com>
18551
fe987087 18552 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 18553 after it has been set by grub_machine_set_prefix().
18554
6ce63911 185552008-06-19 Robert Millan <rmh@aybabtu.com>
18556
18557 * commands/search.c (search_label, search_fs_uuid, search_file): Print
18558 search result when not saving to variable, not the other way around.
18559 When saving to variable, abort iteration as soon as a match is found.
18560
73940cec 185612008-06-19 Robert Millan <rmh@aybabtu.com>
18562
18563 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
18564 check for partition that provides /boot/grub. Its logic is flawed,
18565 as it prevents prepare_grub_to_access_device() from being called
18566 multiple times.
18567
3c62a39d 185682008-06-19 Robert Millan <rmh@aybabtu.com>
18569
18570 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
18571 "insmod" command directly when abstraction modules are needed,
fe987087 18572 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 18573 since it had already been processed).
18574
47395a42 185752008-06-19 Pavel Roskin <proski@gnu.org>
18576
18577 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
18578 changed. This is needed in case GRUB_LIBDIR changes.
18579 * conf/i386-ieee1275.rmk: Likewise.
18580 * conf/i386-linuxbios.rmk: Likewise.
18581 * conf/i386-pc.rmk: Likewise.
18582 * conf/powerpc-ieee1275.rmk: Likewise.
18583
a145ac2d 185842008-06-18 Pavel Roskin <proski@gnu.org>
18585
18586 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
18587 kernel_elf_symlist.c to symlist.c for consistency with other
18588 architectures. Update all users.
18589 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
18590
7847c51e 185912008-06-18 Robert Millan <rmh@aybabtu.com>
18592
18593 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
18594 it in prefix.
18595
18596 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
18597 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
18598 a RAID device, run setup() for all members independently on whether
18599 LVM abstraction is being used.
18600 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
18601 If grub-mkimage has set `*install_dos_part == -2', don't override this
18602 value.
18603 Perform *install_dos_part adjustments independently on whether
18604 we're embedding or not.
18605 Clarify error message when image is too big for embedding.
18606 Remove duplicate *install_dos_part stanza.
18607
b23e5644 186082008-06-17 Robert Millan <rmh@aybabtu.com>
18609
18610 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
18611 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
18612 variables.
18613 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
18614 values in grub_ofconsole_normal_color and
18615 grub_ofconsole_highlight_color (they're not directly related to
18616 background and foreground).
18617 (grub_ofconsole_setcolorstate): Extract background and foreground
18618 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
18619
0aac2f79 186202008-06-17 Robert Millan <rmh@aybabtu.com>
18621
18622 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
18623 /boot/grub for the check in last commit, not /boot (they could be
18624 different partitions).
18625
3cca7ef3 186262008-06-16 Robert Millan <rmh@aybabtu.com>
18627
18628 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
18629 asked to setup access for the same partition that provides /boot,
18630 don't bother using UUIDs since our root already has the value we
18631 want.
18632
347396d8 186332008-06-16 Robert Millan <rmh@aybabtu.com>
18634
18635 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
18636 I2O devices.
18637 Patch from Sven Mueller <sven@debian.org>.
18638
991477f8 186392008-06-16 Robert Millan <rmh@aybabtu.com>
18640
18641 * util/update-grub.in: Check for $EUID instead of $UID.
18642 Reported by Vincent Zweije.
18643
d31a32a1 186442008-06-16 Bean <bean123ch@gmail.com>
18645
fe987087 18646 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 18647 (grub_ext2_read_block): Likewise.
18648 (grub_ext2_read_inode): Likewise.
18649 (grub_ext2_mount): Likewise.
18650 (grub_ext2_close): Likewise.
18651 (grub_ext3_get_journal): Removed.
18652
fe987087 18653 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 18654 (grub_reiserfs_read_symlink): Likewise.
18655 (grub_reiserfs_mount): Likewise.
18656 (grub_reiserfs_open): Likewise.
18657 (grub_reiserfs_read): Likewise.
18658 (grub_reiserfs_close): Likewise.
18659 (grub_reiserfs_get_journal): Removed.
18660
18661 * fs/fshelp.c (grub_fshelp_read): Removed.
18662 (grub_fshelp_map_block): Likewise.
18663
18664 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
18665 (grub_fshelp_journal): Likewise.
18666 (grub_fshelp_read): Likewise.
18667 (grub_fshelp_map_block): Likewise.
18668
3540a760 186692008-06-16 Pavel Roskin <proski@gnu.org>
18670
18671 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
18672 floating point anymore.
18673 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
18674
95614c84 186752008-06-15 Pavel Roskin <proski@gnu.org>
18676
18677 * commands/ls.c (grub_ls_list_files): Use integer calculations
18678 for human readable format, avoid floating point use.
18679 * kern/misc.c (grub_ftoa): Remove.
18680 (grub_vsprintf): Remove floating point support.
18681
50465dd6 186822008-06-15 Robert Millan <rmh@aybabtu.com>
18683
fe6b695a 18684 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 18685 devices.
18686 Reported by Max Vozeler.
18687
a9207284 186882008-06-15 Robert Millan <rmh@aybabtu.com>
18689
18690 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
18691 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
18692 skipped later.
18693 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
18694 the beginning of the prefix.
18695
18696 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
18697 It is assumed that if we have a memdisk, grub-mkimage has set
18698 grub_prefix to include the "(memdisk)" drive in it.
18699
a7cbd45a 187002008-06-15 Robert Millan <rmh@aybabtu.com>
18701
18702 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
18703 Initialize keyboard controller after registering the terminal, so that
18704 grub_printf() can be called from grub_keyboard_controller_init().
18705
21cf716a 187062008-06-15 Robert Millan <rmh@aybabtu.com>
18707
18708 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
18709 extent-btree which is written as big endian on disk.
18710 Reported by Alain Greppin <al@chilibi.org>.
18711
23a64d8e 187122008-06-14 Robert Millan <rmh@aybabtu.com>
18713
18714 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
18715 * util/i386/pc/grub-install.in (modules): Likewise.
18716
d687651c 187172008-06-13 Pavel Roskin <proski@gnu.org>
18718
18719 * commands/ls.c (grub_ls_list_files): Fix format warnings.
18720
dfe9ddd4 187212008-06-13 Bean <bean123ch@gmail.com>
18722
18723 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
18724
18725 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
18726
18727 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
18728 to indicate sparse block.
18729
16ae7781 187302008-06-12 Pavel Roskin <proski@gnu.org>
18731
e6d1a308 18732 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
18733 number, grub_fshelp_read() does it for us.
18734
16ae7781 18735 * fs/fshelp.c (grub_fshelp_read): New function. Implement
18736 linear disk read with journal translation.
18737 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
18738 * include/grub/fshelp.h: Declare grub_fshelp_read().
18739
40fd3a2b 187402008-06-09 Pavel Roskin <proski@gnu.org>
18741
18742 * fs/minix.c (grub_minix_mount): Handle error reading
18743 superblock.
18744
f5679726 187452008-06-08 Robert Millan <rmh@aybabtu.com>
18746
18747 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
18748 don't append the RAID prefix afterwards.
18749 Reported by Clint Adams.
18750
ce525529 187512008-06-08 Robert Millan <rmh@aybabtu.com>
18752
18753 Based on description from Pavel:
18754 * kern/disk.c (grub_disk_check_range): Rename to ...
18755 (grub_disk_adjust_range): ... this. Add a comment explaining the
18756 tasks performed by this function.
18757
ad4936a0 187582008-06-08 Robert Millan <rmh@aybabtu.com>
18759
18760 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
18761 `num_serial' (for consistency with other variables).
18762 (struct grub_ntfs_data): Add `uuid' member.
18763 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
18764 (grub_ntfs_uuid): New function.
18765 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
18766
dc20b0f9 187672008-06-07 Pavel Roskin <proski@gnu.org>
18768
18769 * util/biosdisk.c (open_device): Revert last change to the
18770 function, it broke installation. The sector needs to be
18771 different dependent on which device is opened.
18772
c5e3cfba 187732008-06-06 Robert Millan <rmh@aybabtu.com>
18774
18775 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
18776 rest of GRUB, and breakage doesn't happen if its value were modified.
18777
18778 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18779 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
18780 a constant (same value).
18781 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
18782 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
18783
26a1f8c4 187842008-06-06 Robert Millan <rmh@aybabtu.com>
18785
18786 * util/biosdisk.c (open_device): Do not modify sector offset when
18787 accessing a partition. kern/disk.c already handles this for us.
18788
25d6b327 187892008-06-06 Robert Millan <rmh@aybabtu.com>
18790
18791 * util/grub-emu.c (grub_machine_init): Move code in this function from
18792 here ...
18793 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
18794 segfault in case grub_printf() is called).
18795
18796 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
18797 grub_probe. Update all users not to explicitly add it again.
18798 (grub_device): New variable; contains corresponding device for grubdir.
18799 (fs_module, partmap_module, devabstraction_module): Pass
18800 `--device ${grub_device}' to grub_probe to avoid traversing /dev
18801 every time.
18802
9ece62fb 188032008-06-05 Robert Millan <rmh@aybabtu.com>
18804
18805 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
18806 is found, print it (same layout as with labels).
18807
1ad36d37 188082008-06-04 Robert Millan <rmh@aybabtu.com>
18809
18810 * util/biosdisk.c (get_drive): Rename to ...
18811 (find_grub_drive): ... this. Update all users.
18812
18813 (get_os_disk): Rename to ...
18814 (convert_system_partition_to_system_disk): ... this. Update all users.
18815
18816 (find_drive): Rename to ...
18817 (find_system_device): ... this. Update all users.
18818
e6a30859 188192008-06-04 Robert Millan <rmh@aybabtu.com>
18820
18821 * util/biosdisk.c (get_os_disk): Handle IDA devices.
18822 * util/grub-mkdevicemap.c (get_mmc_disk_name)
18823 (make_device_map): Likewise.
18824
00c108a4 188252008-06-01 Robert Millan <rmh@aybabtu.com>
18826
18827 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
18828 before dereferencing it.
18829
18830 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
18831 union with fat12/fat16-specific ones. Add some new fields, including
18832 `num_serial' for both versions.
18833 (struct grub_fat_data): Add `uuid' member.
18834 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
18835 names. Initialize `data->uuid' using `num_serial'.
18836 (grub_fat_uuid): New function.
18837 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
18838
18839 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
18840 (grub_reiserfs_uuid): New function.
18841 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
18842 member.
18843
18844 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
18845 (grub_xfs_uuid): New function.
18846 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
18847
1385c5bb 188482008-06-01 Robert Millan <rmh@aybabtu.com>
18849
18850 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
18851 code that is backward compatible with pre-uuid search command.
18852
c682dfd7 188532008-05-31 Robert Millan <rmh@aybabtu.com>
18854
18855 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
18856 floppies after everything else, to ensure floppy drive isn't accessed
18857 unnecessarily (patch from Bean).
18858
b7db5d47 188592008-05-31 Robert Millan <rmh@aybabtu.com>
18860
18861 * commands/search.c (search_label, search_fs_uuid, search_file): Do
18862 not print device names when we were asked to set a variable.
18863
6e037aa9 188642008-05-31 Robert Millan <rmh@aybabtu.com>
18865
18866 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
18867 using "cursor-on" and "cursor-off" commands (understood at least by
18868 the Open Firmware flavour on OLPC).
18869
41305bc8 188702008-05-31 Michael Gorven <michael@gorven.za.net>
18871
18872 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
18873 on and off sequences.
18874
69ba137e 188752008-05-31 Robert Millan <rmh@aybabtu.com>
18876
18877 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
18878 * util/update-grub.in: Likewise.
18879
520ae21b 188802008-05-30 Pavel Roskin <proski@gnu.org>
18881
18882 * util/biosdisk.c (linux_find_partition): Simplify logic and
18883 make the code more universal. Keep special processing for
18884 devfs, but use a simple rule for all other devices. If the
18885 device ends with a number, append 'p' and the partition number.
18886 Otherwise, append only the partition number.
18887
5786569b 188882008-05-30 Robert Millan <rmh@aybabtu.com>
18889
18890 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
18891 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
18892 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
18893 the `root' parameter to Linux.
18894
51500452 188952008-05-30 Robert Millan <rmh@aybabtu.com>
18896
18897 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
18898 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
18899 --fs_uuid with --fs-uuid.
18900 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
18901 all filesystems support them).
18902
811d3878 189032008-05-30 Robert Millan <rmh@aybabtu.com>
18904
18905 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 18906 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 18907
cab63c95 189082008-05-30 Robert Millan <rmh@aybabtu.com>
18909
18910 * util/grub.d/00_header.in: Remove obsolete comment referencing
18911 convert_system_path_to_grub_path().
18912 * util/update-grub.in: Likewise.
18913 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
18914 (convert_system_path_to_grub_path): Add a warning message explaining
18915 that this function is deprecated. Rely on is_path_readable_by_grub()
18916 for the readability checks.
18917 (font_path): Use is_path_readable_by_grub() for the readability
18918 check rather than convert_system_path_to_grub_path().
18919
972e2f7a 189202008-05-30 Robert Millan <rmh@aybabtu.com>
18921
18922 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
18923 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
18924 converting it first.
18925 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
18926 grub.cfg for access to font file, and afterwards call it again to set
18927 the root device.
18928
62191274 189292008-05-30 Robert Millan <rmh@aybabtu.com>
18930
18931 * commands/search.c (options): Add --fs_uuid option.
18932 (search_fs_uuid): New function.
18933 (grub_cmd_search): Fix --set argument passing.
18934 Use search_fs_uuid() when requested via --fs_uuid.
18935 (grub_search_init): Update help message.
18936 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
18937 and redeclare it as an array of 16-bit words.
18938 (grub_ext2_uuid): New function.
18939 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
18940 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
18941 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
18942 (GRUB_DEVICE_BOOT_UUID): New variables.
18943 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
18944 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
18945 whenever possible.
18946 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
18947 just assume `root' variable has the right value.
18948 * util/grub.d/10_linux.in: Likewise.
18949 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
18950 via PRINT_FS_UUID.
18951 (main): Recognise `-t fs_uuid' argument.
18952
01b73ec8 189532008-05-30 Robert Millan <rmh@aybabtu.com>
18954
18955 * util/biosdisk.c (map): Redefine structure to hold information
18956 about GRUB drive name.
fe6b695a 18957 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 18958 drive names.
18959 (call_hook): Remove.
18960 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
18961 member. Assume drive has partitions.
18962 (grub_util_biosdisk_open): Access device names via `.device' struct
18963 member.
18964 (open_device): Likewise.
18965 (find_drive): Likewise.
18966 (read_device_map): Adjust map[] usage to match the new struct
18967 definition. Don't check for duplicates (still possible, but not cheap
18968 anymore).
18969 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
18970 (make_device_name): Remove assumption of BIOS-like drive names.
18971
22f16596 189722008-05-30 Pavel Roskin <proski@gnu.org>
18973
18974 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
18975 compiling execute.c doesn't need grub_script.tab.h anymore.
18976 (normal/command.c_DEPENDENCIES): Likewise.
18977 (normal/function.c_DEPENDENCIES): Likewise.
18978 * conf/i386-ieee1275.rmk: Likewise.
18979 * conf/i386-linuxbios.rmk: Likewise.
18980 * conf/i386-pc.rmk: Likewise.
18981 * conf/powerpc-ieee1275.rmk: Likewise.
18982 * conf/sparc64-ieee1275.rmk: Likewise.
18983
528ad8f2 189842008-05-29 Pavel Roskin <proski@gnu.org>
18985
d1dff95d 18986 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
18987 when scanning metadata for volume group name.
18988
528ad8f2 18989 * include/grub/script.h: Don't include grub_script.tab.h. It's
18990 a generated file, which may only be included from the files with
18991 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
18992 use union YYSTYPE, as the later allows forward declaration.
18993 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
18994
47248e08 189952008-05-29 Robert Millan <rmh@aybabtu.com>
18996
18997 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
18998 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
18999 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
19000 (grub_console_checkkey): Add grub_dprintf() call to report unknown
19001 scan codes.
19002
ee632529 190032008-05-29 Robert Millan <rmh@aybabtu.com>
19004
19005 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
19006 control key combinations.
19007
eee96e08 190082008-05-29 Robert Millan <rmh@aybabtu.com>
19009
19010 * util/powerpc/ieee1275/grub-install.in: Move from here ...
19011 * util/ieee1275/grub-install.in: ... to here.
19012 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
19013 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
19014 (grub_install_SOURCES): Likewise.
19015
da9a6a94 190162008-05-29 Robert Millan <rmh@aybabtu.com>
19017
19018 * fs/affs.c: Update copyright year.
19019 * fs/ext2.c: Likewise.
19020 * fs/fshelp.c: Likewise.
19021 * fs/hfsplus.c: Likewise.
19022 * fs/ntfs.c: Likewise.
19023 * fs/xfs.c: Likewise.
19024 * include/grub/fshelp.h: Likewise.
19025 * util/grub-mkdevicemap.c: Likewise.
19026
12e65f3a 190272008-05-28 Robert Millan <rmh@aybabtu.com>
19028
19029 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
19030 might need to be fatfs to support some firmware implementations
19031 (e.g. OFW or EFI).
19032
23023641 190332008-05-28 Robert Millan <rmh@aybabtu.com>
19034
19035 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
19036 devices.
19037 * util/grub-mkdevicemap.c (get_mmc_disk_name)
19038 (make_device_map): Likewise.
19039
887d2619 190402008-05-20 Bean <bean123ch@gmail.com>
19041
19042 * fs/fshelp.c (grub_fshelp_map_block): New function.
19043 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
19044 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
19045
19046 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
19047 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
19048 (grub_fshelp_journal): New structure.
19049 (grub_fshelp_map_block): New function prototype.
19050 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
19051 (grub_fshelp_map_block): Likewise.
19052
19053 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
19054 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
19055 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
19056 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
19057 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
19058 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
19059 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
19060 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
19061 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
19062 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
19063 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
19064 (grub_ext2_sblock): New members for journal support.
19065 (grub_ext3_journal_header): New structure.
19066 (grub_ext3_journal_revoke_header): Likewise.
19067 (grub_ext3_journal_block_tag): Likewise.
19068 (grub_ext3_journal_sblock): Likewise.
19069 (grub_fshelp_node): New members logfile and journal.
19070 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
19071 grub_fshelp_map_block to get real block number.
19072 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
19073 number.
19074 (grub_ext2_read_inode): Likewise.
19075 (grub_ext3_get_journal): New function.
19076 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
19077 (grub_ext2_close): Release memory used by journal.
19078
19079 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
19080 (REISERFS_MAGIC_DESC_BLOCK): New macro.
19081 (grub_reiserfs_transaction_header): Renamed to
19082 grub_reiserfs_description_block, replace field data with real_blocks.
19083 (grub_reiserfs_commit_block): New structure.
19084 (grub_reiserfs_data): New member journal.
19085 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
19086 number.
19087 (grub_reiserfs_read_symlink): Likewise.
19088 (grub_reiserfs_iterate_dir): Likewise.
19089 (grub_reiserfs_open): Likewise.
19090 (grub_reiserfs_read): Likewise.
19091 (grub_reiserfs_get_journal): New function.
19092 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
19093 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
19094 using grub_reiserfs_get_journal.
19095 (grub_reiserfs_close): Release memory used by journal.
19096
19097 * fs/affs.c (grub_affs_read_block): Change block type to
19098 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
19099
19100 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
19101
19102 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
19103
19104 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
19105
19106 * fs/udf.c (grub_udf_read_block): Change block type to
19107 grub_disk_addr_t. Use type cast to avoid warning.
19108
19109 * fs/xfs.c (grub_xfs_read_block): Likewise.
19110
b7c6bed5 191112008-05-16 Christian Franke <franke@computer.org>
19112
19113 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
19114 to ensure that break with ESC will always work.
19115 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
19116 Remove ESC from keyboard queue.
19117
eedf167f 191182008-05-16 Christian Franke <franke@computer.org>
19119
19120 * util/biosdisk.c: [__CYGWIN__] Add includes.
19121 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
19122 (get_os_disk): Move variable declarations to OS specific
19123 parts to avoid warning.
19124 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
19125 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
19126 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
19127 Cygwin.
19128 * util/getroot.c: [__CYGWIN__] Add includes.
19129 (strip_extra_slashes): Fix "/" case.
19130 [__CYGWIN__] (get_win32_path): New function.
19131 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
19132 [__CYGWIN__] (find_root_device): Disable.
19133 [__CYGWIN__] (get_bootsec_serial): New function.
19134 [__CYGWIN__] (find_cygwin_root_device): Likewise.
19135 [__linux__] (grub_guess_root_device): Add early returns to simplify
19136 structure.
19137 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
19138 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
19139 check for Linux only.
19140
a079699e 191412008-05-15 Bean <bean123ch@gmail.com>
19142
19143 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
19144 keyboard hang problem in apple's intel mac.
19145
1cf4059a 191462008-05-09 Robert Millan <rmh@aybabtu.com>
19147
19148 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
19149 devices.
19150 * util/grub-mkdevicemap.c (get_virtio_disk_name)
19151 (make_device_map): Likewise.
19152 Reported by Aurelien Jarno <aurel32@debian.org>
19153
ed759390 191542008-05-07 Ian Campbell <ijc@hellion.org.uk>
19155
19156 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
19157 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
19158 (make_device_map): Output entries for xvd type disks.
19159
b56c4eaa 191602008-05-07 Robert Millan <rmh@aybabtu.com>
19161
19162 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
19163 devices.
19164 * util/grub-mkdevicemap.c (get_cciss_disk_name)
19165 (make_device_map): Likewise.
19166 Reported by Roland Dreier <rdreier@cisco.com>
19167
7f8866ed 191682008-05-07 Robert Millan <rmh@aybabtu.com>
19169
19170 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
19171 grub_strstr() call. Correct a few mistakes in failure path handling.
19172
b0346e0f 191732008-05-06 Robert Millan <rmh@aybabtu.com>
19174
19175 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
19176 Do not print a trailing slash (therefore, the root directory is an
19177 empty string).
19178 (convert_system_path_to_grub_path): Do not remove trailing slash
19179 from make_system_path_relative_to_its_root() output.
19180
19181 * util/i386/pc/grub-install.in: Add trailing slash to output from
19182 make_system_path_relative_to_its_root().
19183
6cf12cbd 191842008-05-06 Robert Millan <rmh@aybabtu.com>
19185
19186 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
19187 ensures that output lines aren't intermangled with those sent to
19188 stderr (via grub_util_info()).
19189 * util/grub-probe.c (grub_refresh): Likewise.
19190 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
19191
0fbb3117 191922008-05-05 Christian Franke <franke@computer.org>
19193
19194 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
19195 Add Cygwin device names.
19196 (get_ide_disk_name) [__CYGWIN__]: Likewise.
19197 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
19198 (check_device): Return error instead of success on empty name.
19199 (make_device_map): Move label inside linux specific code to
19200 prevent compiler warning.
19201
8124cdb7 192022008-04-30 Robert Millan <rmh@aybabtu.com>
19203
19204 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
19205 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
19206 first boot option.
19207 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
19208
094c01d0 192092008-04-29 Robert Millan <rmh@aybabtu.com>
19210
19211 * docs/grub.cfg: New file (example GRUB configuration).
19212
f4b1fc02 192132008-04-26 Robert Millan <rmh@aybabtu.com>
19214
329ce2a5 19215 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
19216 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
19217 and `disk/ieee1275/nand.c'.
f4b1fc02 19218
25f16ec1 192192008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 19220
25f16ec1 19221 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
19222 i386-linuxbios.
19223
19224 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
19225 change the buffer size to 4096 for cdrom device.
19226
19227 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
19228 and nand.mod.
19229 (_linux_mod_SOURCES): New variable.
19230 (_linux_mod_CFLAGS): Likewise.
19231 (_linux_mod_LDFLAGS): Likewise.
19232 (linux_mod_SOURCES): Likewise.
19233 (linux_mod_CFLAGS): Likewise.
19234 (linux_mod_LDFLAGS): Likewise.
19235 (nand_mod_SOURCES): Likewise.
19236 (nand_mod_CFLAGS): Likewise.
19237 (nand_mod_LDFLAGS): Likewise.
19238
19239 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
19240 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
19241 type property. (nand device in olpc don't have this property)
19242
19243 * include/grub/disk.h (grub_disk_dev_id): New macro
19244 GRUB_DISK_DEVICE_NAND_ID.
19245
19246 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
19247 function prototype.
19248 (grub_rescue_cmd_initrd): Likewise.
19249
19250 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
19251 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
19252 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 19253
25f16ec1 19254 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
19255 GRUB_MACHINE_IEEE1275 is defined.
19256
19257 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
19258 Use NESTED_FUNC_ATTR attribute on the hook parameter.
19259
19260 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
19261 on nested function heap_init.
19262 (grub_upper_mem): New variable for i386-ieee1275.
19263 (grub_get_extended_memory): New function for i386-ieee1275.
19264 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
19265
19266 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
19267 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
19268 property.
f19dbdb7 19269
25f16ec1 19270 * loader/i386/ieee1275/linux.c: New file.
19271
19272 * loader/i386/ieee1275/linux_normal.c: New file.
19273
19274 * disk/ieee1275/nand.c: New file.
19275
e89d61e9 192762008-04-18 Thomas Schwinge <tschwinge@gnu.org>
19277
19278 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
19279 value.
19280 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
19281
602566f6 192822008-04-18 Robert Millan <rmh@aybabtu.com>
19283
19284 Restructures early code path on ieee1275 to unify grub_main() as
19285 the first C function that is executed in every platform.
19286
19287 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
19288 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
19289 cmain().
19290 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
19291 * kern/ieee1275/cmain.c (cmain): Rename to ...
19292 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
19293 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
19294 at the beginning.
19295
57490c2b 192962008-04-18 Robert Millan <rmh@aybabtu.com>
19297
19298 * util/update-grub.in: Fix syntax error when setting
19299 `GRUB_PRELOAD_MODULES'.
19300 Reported by Stephane Chazelas <stephane@artesyncp.com>
19301
1977517d 193022008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
19303
19304 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
19305 section into account, newer toolchains generate unique build ids
19306 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 19307 we want build ids to be preserved
1977517d 19308 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
19309 far from other sections don't cause the raw binary images grow
19310 size
19311
bfb1f1a2 193122008-04-15 Robert Millan <rmh@aybabtu.com>
19313
19314 * disk/lvm.c: Update copyright year.
19315 * kern/misc.c: Likewise.
19316
01979850 193172008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
19318
19319 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 19320 there is no memory left for physical volume name.
01979850 19321
0a1150e2 193222008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
19323
19324 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
19325 volume name mapping to support bigger than 9 character names properly.
19326
82ead3fe 193272008-04-13 Robert Millan <rmh@aybabtu.com>
19328
19329 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
19330 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
19331
e54a72f5 193322008-04-13 Christian Franke <franke@computer.org>
19333
19334 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
19335 to create a floppy emulation boot CD when non emulation mode
19336 does not work.
19337 Enable Joliet CD filesystem extension.
19338
9fe86034 193392008-04-13 Robert Millan <rmh@aybabtu.com>
19340
19341 * kern/misc.c (grub_strncat): Fix off-by-one error.
19342 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
19343
19344 * kern/env.c (grub_env_context_close): Clear current context, not
19345 previous one.
19346 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
19347
19348 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
19349
7ceeee39 193502008-04-13 Robert Millan <rmh@aybabtu.com>
19351
19352 Improve robustness when handling LVM.
19353
19354 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 19355 (and leave `*p' unmodified).
7ceeee39 19356 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
19357 through it.
19358 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
19359 iterating through it.
19360 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
19361 through it.
fe6b695a 19362 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 19363 when due) on each grub_lvm_getvalue() or grub_strstr() call.
19364 Don't assume `vg->pvs != NULL' when iterating through it.
19365
58cd3d85 193662008-04-13 Robert Millan <rmh@aybabtu.com>
19367
19368 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
19369 * genmk.rb (partmap): New variable.
19370 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
19371 (#{partmap}): New target rule.
19372 * genpartmaplist.sh: New file.
19373 * Makefile.in (pkglib_DATA): Add partmap.lst.
19374 (partmap.lst): New target rule.
19375 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
19376 modules (including all partition maps), instead of preloading them.
19377
78b51059 193782007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
19379
19380 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
19381 `linux-boot-prober' (if installed) to detect other operating
19382 systems which are installed on the computer and add them to
19383 the boot menu.
19384 * conf/common.rmk: Build and install 30_os-prober.
19385
a91627b4 193862008-04-12 Robert Millan <rmh@aybabtu.com>
19387
19388 * kern/powerpc/ieee1275/init.c: Move from here ...
19389 * kern/ieee1275/init.c: ... to here. Update all users.
19390
19391 * kern/powerpc/ieee1275/cmain.c: Move from here ...
19392 * kern/ieee1275/cmain.c: ... to here. Update all users.
19393
19394 * kern/powerpc/ieee1275/openfw.c: Move from here ...
19395 * kern/ieee1275/openfw.c: ... to here. Update all users.
19396
19397 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
19398 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
19399
322562ea 194002008-04-10 Pavel Roskin <proski@gnu.org>
19401
19402 * configure.ac: Always use "_cv_" in cache variables for
19403 compatibility with Autoconf 2.62.
19404
a02a73c5 194052008-04-07 Robert Millan <rmh@aybabtu.com>
19406
19407 Revert grub/machine/init.h addition by Pavel (since it breaks on
19408 i386-ieee1275 and others):
19409 * util/i386/pc/misc.c: Remove grub/machine/init.h.
19410 * util/powerpc/ieee1275/misc.c: Likewise.
19411
25c024b1 194122008-04-07 Robert Millan <rmh@aybabtu.com>
19413
19414 * util/grub-probe.c (probe): Improve error message.
19415
3cbd2f98 194162008-04-07 Robert Millan <rmh@aybabtu.com>
19417
19418 * util/biosdisk.c (read_device_map): Skip devices that don't exist
19419 (this prevents the presence of a bogus entry from ruining the whole
19420 thing).
19421
87a297bf 194222008-04-06 Pavel Roskin <proski@gnu.org>
19423
36747a62 19424 * util/biosdisk.c: Include grub/util/biosdisk.h.
19425 * util/grub-fstest.c (execute_command): Make static.
19426 * util/grub-mkdevicemap.c (check_device): Likewise.
19427 * util/i386/pc/misc.c: Include grub/machine/init.h.
19428 * util/powerpc/ieee1275/misc.c: Likewise.
19429 * util/lvm.c: Include grub/util/lvm.h.
19430 * util/misc.c: Include grub/kernel.h, grub/misc.h and
19431 grub/cache.h.
19432 * util/raid.c: Include grub/util/raid.h.
19433 (grub_util_getdiskname): Make static.
19434
87a297bf 19435 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
19436 grub_hostfs_fini(), as they are called from grub_init_all() and
19437 grub_fini_all() respectively. This fixes an infinite loop in
19438 grub-fstest due to double registration of hostfs.
19439 Reported by Christian Franke <Christian.Franke@t-online.de>
19440
f6ce7629 194412008-04-05 Pavel Roskin <proski@gnu.org>
19442
19443 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
19444 all 8 functions. Otherwise, probe function 0 only.
19445
070e49e4 194462008-04-04 Pavel Roskin <proski@gnu.org>
19447
8b088a4c 19448 * commands/lspci.c (grub_lspci_iter): Print the bus number
19449 correctly.
19450
4f657021 19451 * commands/lspci.c (grub_pci_classes): Fix typos.
19452 (grub_lspci_iter): Don't print func twice. Print vendor ID
19453 before device ID, as it's normally done.
19454
070e49e4 19455 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
19456 Fix signedness warnings.
19457 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
19458 Likewise.
19459 * util/ieee1275/get_disk_name.c: Include config.h so that
19460 _GNU_SOURCE is defined and getline() is declared. Mark an
19461 unused argument as such. Fix a signedness warning.
19462
ba7328dc 194632008-04-02 Pavel Roskin <proski@gnu.org>
19464
26887f22 19465 * genkernsyms.sh.in: Use more robust assignments for CC and
19466 srcdir. Quote srcdir.
19467 * gensymlist.sh.in: Likewise. Assert at the compile time that
19468 the symbol table is not empty.
19469
ba7328dc 19470 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
19471 * fs/cpio.c (grub_cpio_read): Likewise.
19472
0f582c6b 194732008-04-01 Pavel Roskin <proski@gnu.org>
19474
4b6e1995 19475 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
19476 * disk/host.c (grub_host_open): Likewise.
19477 * disk/loopback.c (grub_loopback_open): Likewise.
19478 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
19479 disk->id as in disk/host.c, not a multi-character constant.
19480
828a2768 19481 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
19482 later is obsolete, potentially dangerous and sets a bad example.
19483 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
19484 * util/misc.c (grub_util_get_image_size): Likewise.
19485
2bb4fb47 19486 * disk/loopback.c (options): Improve help for "--partitions".
19487
0f582c6b 19488 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
19489 options to align them with the short options, e.g. "echo -e".
19490
a33224e0 194912008-03-31 Bean <bean123ch@gmail.com>
19492
19493 * video/reader/png.c (grub_png_data): New member is_16bit and
19494 image_data.
19495 (grub_png_decode_image_header): Detect 16 bit png image.
19496 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
19497 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
19498 (grub_video_reader_png): Release memory occupied by image_data.
19499
19500 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
19501 4096 bytes.
19502 (grub_nfs_mount): Skip the test for sector per cluster.
19503
19504 * include/grub/ntfs.h (MAX_SPC): Removed.
19505
86cb4f54 195062008-03-31 Bean <bean123ch@gmail.com>
19507
19508 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
19509 (grub_probe_SOURCES): Add fs/afs.c.
19510 (grub_fstest_SOURCES): Likewise.
19511 (afs_mod_SOURCES): New variable.
19512 (afs_mod_CFLAGS): Likewise.
19513 (afs_mod_LDFLAGS): Likewise.
19514
19515 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
19516 (grub_emu_SOURCES): Likewise.
19517
19518 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19519
19520 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19521
19522 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19523
19524 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19525
19526 * fs/afs.c: New file.
19527
17c74c21 195282008-03-30 Pavel Roskin <proski@gnu.org>
19529
4cb68e89 19530 * disk/host.c: Include grub/misc.h to fix a warning.
19531 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
19532 warnings about implicit declarations.
19533
8790bb04 19534 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
19535 variable.
19536 * include/grub/i386/loader.h: Change declaration of
19537 grub_linux_boot() to match what grub_loader_set() expects.
19538 * util/getroot.c (grub_guess_root_device): Return const char* to
19539 fix a warning.
19540 * util/grub-probe.c (probe): Fix a warning about uninitialized
19541 abstraction_name variable.
19542 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
19543 second argument as unused to fix a warning.
19544
9a3f3296 19545 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
19546 missing grub_error() call.
19547
0ecef90d 19548 * util/update-grub_lib.in: Define datarootdir, since Autoconf
19549 2.60 and newer uses it to define datadir.
19550
0bf6d401 19551 * commands/sleep.c: Fix warning about implicit declaration.
19552 * disk/memdisk.c: Likewise.
19553 * loader/aout.c: Likewise.
19554 * loader/i386/bsd_normal.c: Likewise.
19555 * util/grub-probe.c: Likewise.
19556
7cdacf97 19557 * commands/i386/cpuid.c (has_longmode): Make static.
19558 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
19559 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
19560
17c74c21 19561 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
19562 GDT. This is more robust, as %ds can change.
19563 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
19564 calling real_to_prot().
19565 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
19566
80a3e68b 195672008-03-28 Pavel Roskin <proski@gnu.org>
19568
19569 * kern/i386/pc/startup.S: Assert that uncompressed functions
19570 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
19571 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
19572 code, as they push parts of the code (error handlers) beyond
19573 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
19574 code as correctness and size.
19575
77bcd272 195762008-03-28 Pavel Roskin <proski@gnu.org>
19577
19578 * kern/i386/pc/startup.S
19579 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
19580 data block address to the real mode, keep offset minimal. This
19581 works around a bug in AWARD BIOS on old Athlon systems, which
19582 makes CD detection hang.
19583
c5dfd43b 195842008-03-26 Pavel Roskin <proski@gnu.org>
19585
19586 * normal/color.c (grub_parse_color_name_pair): Make `name' a
19587 const.
19588 * include/grub/normal.h: Add grub_parse_color_name_pair()
19589 declaration.
19590
bf962df2 195912008-03-24 Bean <bean123ch@gmail.com>
19592
19593 * disk/i386/pc/biosdisk.c (cd_start): Removed.
19594 (cd_count): Removed.
19595 (cd_drive): New variable.
19596 (grub_biosdisk_get_drive): Don't check for (cdN) device.
19597 (grub_biosdisk_call_hook): Likewise.
19598 (grub_biosdisk_iterate): Change cdrom detection method.
19599 (grub_biosdisk_open): Replace cd_start with cd_drive.
19600 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
19601 detect cdrom device.
19602
19603 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
19604 Removed.
19605 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
19606 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
19607 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
19608 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
19609 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
19610 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
19611 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
19612 (grub_biosdisk_cdrp): New structure.
19613 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
19614
19615 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
19616
19617 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
19618 device.
19619
19620 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
19621 New function.
19622
68e7fc7a 196232008-03-20 Robert Millan <rmh@aybabtu.com>
19624
19625 Remove 2 TiB limit in ata.mod.
19626 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
19627 (grub_ata_dumpinfo): Print sector count with 0x%llx.
19628 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
19629 grub_uint64_t instead of grub_uint32_t.
19630
38ad2cf5 196312008-03-05 Bean <bean123ch@gmail.com>
19632
19633 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
19634 (grub_multiboot): Set boot device.
19635
19636 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
19637
2b89344e 196382008-03-02 Bean <bean123ch@gmail.com>
19639
19640 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
19641 symlink_buffer.
19642
87a95d1f 196432008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
19644
19645 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
19646 texinfo.tex.
19647
19648 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
19649 modified.
19650
19651 * docs/fdl.texi: New file.
f19dbdb7 19652
87a95d1f 19653 * docs/mdate-sh: New file. Copied from gnulib.
19654 * docs/texinfo.tex: Likewise.
19655
19656 * config.guess: Updated from gnulib.
19657 * install-sh: Likewise.
19658
7dc15d8e 196592008-02-28 Robert Millan <rmh@aybabtu.com>
19660
19661 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
19662 (aout_mod_SOURCES): New variable.
19663 (aout_mod_CFLAGS): Likewise.
19664 (aout_mod_LDFLAGS): Likewise.
19665
19666 * conf/i386-ieee1275.rmk: Likewise.
19667
b00ab696 196682008-02-28 Robert Millan <rmh@aybabtu.com>
19669
19670 * util/update-grub.in: Reorganise terminal validity check. Accept
19671 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
19672 Based on suggestion by Franklin PIAT.
19673
79ca2d78 196742008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
19675
19676 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
19677 function.
19678 * util/getroot.c (grub_util_check_block_device): New function that
19679 returns the given argument if it is a block device and returns NULL else.
19680 * util/grub-probe.c (argument_is_device): New variable.
19681 (probe): Promote device_name from a variable to an argument. Receive
19682 device_name from grub_util_check_block_device() if path is NULL and from
19683 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 19684 (options): Introduce new parameter '-d, --device'.
79ca2d78 19685 (main): Add description of the new parameter to the help screen.
19686 Rename path variable to argument. Set argument_is_device if the '-d'
19687 option is given. Pass argument to probe() depending on
19688 argument_is_device.
19689
0d16e571 196902008-02-24 Bean <bean123ch@gmail.com>
19691
19692 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
19693 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
19694 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
19695 (GRUB_ISO9660_VOLDESC_PART): Likewise.
19696 (GRUB_ISO9660_VOLDESC_END): Likewise.
19697 (grub_iso9660_primary_voldesc): New member escape.
19698 (grub_iso9660_data): New member joliet.
19699 (grub_iso9660_convert_string): New function.
19700 (grub_iso9660_mount): Detect joliet extension.
19701 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
19702 (grub_iso9660_iso9660_label): Likewise.
19703
19704 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
19705 (grub_setup_SOURCES): Add fs/udf.c.
19706 (grub_fstest_SOURCES): Likewise.
19707 (udf_mod_SOURCES): New variable.
19708 (udf_mod_CFLAGS): Likewise.
19709 (udf_mod_LDFLAGS): Likewise.
19710
19711 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
19712 (grub_emu_SOURCES): Likewise.
19713
19714 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19715
19716 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19717
19718 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19719
19720 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19721
19722 * fs/udf.c: New file.
19723
8a594a17 197242008-02-24 Robert Millan <rmh@aybabtu.com>
19725
19726 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
19727 (normal/lexer.c_DEPENDENCIES): New variables.
19728 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19729 (normal/lexer.c_DEPENDENCIES): Likewise.
19730 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
19731 (normal/lexer.c_DEPENDENCIES): Likewise.
19732 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
19733 (normal/lexer.c_DEPENDENCIES): Likewise.
19734 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19735 (normal/lexer.c_DEPENDENCIES): Likewise.
19736 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19737 (normal/lexer.c_DEPENDENCIES): Likewise.
19738
2dc33c03 197392008-02-23 Robert Millan <rmh@aybabtu.com>
19740
19741 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
19742 since they were intended to be in hex. This didn't break previously
19743 because of a bug in gpt_partition_map_iterate() (see below).
19744
19745 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
19746 when checking the validity of GPT header.
19747 Remove `partno', since it always provides the same information as `i'.
19748
f6f4cfb0 197492008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
19750
19751 * include/grub/efi/time.h: Fix a wrong comment.
19752
79ff665f 197532008-02-19 Pavel Roskin <proski@gnu.org>
19754
19755 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
19756 message.
19757
d38e24c2 197582008-02-19 Bean <bean123ch@gmail.com>
19759
19760 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
19761 (aout_mod_SOURCES): New variable.
19762 (aout_mod_CFLAGS): Likewise.
19763 (aout_mod_LDFLAGS): Likewise.
19764 (_bsd_mod_SOURCES): New variable.
19765 (_bsd_mod_CFLAGS): Likewise.
19766 (_bsd_mod_LDFLAGS): Likewise.
19767 (bsd_mod_SOURCES): New variable.
19768 (bsd_mod_CFLAGS): Likewise.
19769 (bsd_mod_LDFLAGS): Likewise.
19770
19771 * include/grub/aout.h: New file.
19772
19773 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
19774
19775 * include/grub/i386/bsd.h: New file.
19776
19777 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
19778 to make it public.
19779
19780 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
19781 function is called, so that it's possible to change it inside the hook.
19782 (grub_elf64_load): Likewise.
19783 (grub_elf_file): Don't close the file if elf header is not found.
19784 (grub_elf_close): Close the file if grub_elf_file fails (The new
19785 grub_elf_file won't close it).
19786 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
19787 (grub_elf64_size): Likewise.
19788
19789 * kern/i386/loader.S (grub_unix_real_boot): New function.
19790
19791 * loader/aout.c: New file.
19792
19793 * loader/i386/bsd.c: New file.
19794
19795 * loader/i386/bsd_normal.c: New file.
19796
19797 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
19798
19799 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 19800 can test other formats.
d38e24c2 19801
b93bdb0f 198022008-02-19 Robert Millan <rmh@aybabtu.com>
19803
19804 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
19805 (grub_gpt_partition_type_empty): Redefine with macro from
19806 `<grub/gpt_partition.h>'.
19807 (gpt_partition_map_iterate): Adjust partition type comparison.
19808
19809 Export `entry' as partmap-specific `part.data' struct.
19810 (grub_gpt_header, grub_gpt_partentry): Move from here ...
19811
19812 * include/grub/gpt_partition.h (grub_gpt_header)
19813 (grub_gpt_partentry): ... to here (new file).
19814
19815 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
19816
19817 (grub_gpt_partition_type_bios_boot): New const variable, defined
19818 with macro from `<grub/gpt_partition.h>'.
19819
19820 (setup): Replace `first_start' with `embed_region', which keeps
19821 track of the embed region (and is partmap-agnostic).
19822
19823 Replace find_first_partition_start() with find_usable_region(),
19824 which finds a usable region for embedding using partmap-specific
19825 knowledge (supports PC/MSDOS and GPT).
19826
19827 Fix all assumptions that the embed region start at sector 1, using
19828 `embed_region.start' from now on. Similarly, use `embed_region.end'
19829 rather than `first_start' to calculate available size.
19830
19831 In grub_util_info() message, replace "into after the MBR" with an
19832 indication of the specific sector our embed region starts at.
19833
66cb40f6 198342008-02-19 Robert Millan <rmh@aybabtu.com>
19835
19836 * DISTLIST: Replace `commands/ieee1275/halt.c' and
19837 `commands/ieee1275/reboot.c' with `commands/halt.c' and
19838 `commands/reboot.c'.
19839 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
19840 (halt_mod_SOURCES): Likewise.
19841 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
19842 (halt_mod_SOURCES): Likewise.
19843
b7202015 198442008-02-17 Christian Franke <franke@computer.org>
19845
19846 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
19847
32b0fc49 198482008-02-17 Robert Millan <rmh@aybabtu.com>
19849
19850 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
19851 set `first_start' to 0 for non-PC/MSDOS partition maps.
19852
aca63502 198532008-02-16 Robert Millan <rmh@aybabtu.com>
19854
19855 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
19856 do not assume partition map is PC/MSDOS before performing checks that
19857 are specific to that layout.
19858
0de8be86 198592008-02-13 Robert Millan <rmh@aybabtu.com>
19860
19861 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
19862 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
19863 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
19864
c3db8364 198652008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
19866
19867 * configure.ac: Only a cosmetic change on the handling of
19868 -fno-stack-protector.
19869
f714229e 198702008-02-12 Alexandre Boeglin <alex@boeglin.org>
19871
c3db8364 19872 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
19873 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
19874 reboot.c.
f714229e 19875 (grub_install_SOURCES): Add halt.mod and reboot.mod.
19876 (halt_mod_SOURCES): New variable.
19877 (halt_mod_CFLAGS): Likewise.
19878 (halt_mod_LDFLAGS): Likewise.
19879 (reboot_mod_SOURCES): Likewise.
19880 (reboot_mod_CFLAGS): Likewise.
19881 (reboot_mod_LDFLAGS): Likewise.
19882
c3db8364 19883 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
19884 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
19885 reboot.c.
f714229e 19886 (halt_mod_SOURCES): Likewise.
19887 (reboot_mod_SOURCES): Likewise.
19888
c3db8364 19889 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
19890 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 19891 (reboot_mod_SOURCES): Likewise.
19892
19893 * commands/i386/pc/reboot.c: merge this file ...
19894
19895 * commands/ieee1275/reboot.c: ... and this file ...
19896
19897 * commands/reboot.c: ... to this file.
c3db8364 19898 Add some precompiler directive to include the correct header for
19899 each machine.
f714229e 19900
19901 * commands/ieee1275/halt.c: move this file ...
19902
19903 * commands/halt.c: ... to here.
c3db8364 19904 Add some precompiler directive to include the correct header for
19905 each machine.
f714229e 19906
19907 * include/grub/efi/efi.h (grub_reboot): New function declaration.
19908 (grub_halt): Likewise.
19909
19910 * kern/efi/efi.c (grub_reboot): New function.
19911 (grub_halt): Likewise.
19912
c74493e0 199132008-02-12 Robert Millan <rmh@aybabtu.com>
19914
19915 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
19916 /dev (like it is done for /dev/mapper). This doesn't provide support
19917 for EVMS, but at least it is now easy to identify the problem when it
19918 arises.
19919
d0db4b04 199202008-02-11 Robert Millan <rmh@aybabtu.com>
19921
19922 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
19923 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
19924 comparing it with -1, not 0.
19925
bf748642 199262008-02-10 Robert Millan <rmh@aybabtu.com>
19927
19928 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
19929 `disk/lvm.c'.
19930 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19931 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19932
19933 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
19934 `disk/lvm.c' to the end of the list.
19935 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19936 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19937
b5db202a 199382008-02-10 Robert Millan <rmh@aybabtu.com>
19939
19940 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
19941 grub_print_error() instead. This will let user know why we're entering
19942 rescue mode.
19943 Based on suggestions from Sam Morris.
19944
83abee31 199452008-02-10 Alexandre Boeglin <alex@boeglin.org>
19946
19947 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
19948 on remaining N args, instead of "--" arg N times.
19949
78d5a08b 199502008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
19951
19952 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
19953 (fill_with_default_glyph): Changed to use unknown_glyph for fill
19954 pattern for unknown glyphs.
19955
68807e5f 199562008-02-09 Robert Millan <rmh@aybabtu.com>
19957
19958 * configure.ac: Probe for `help2man'.
19959 * Makefile.in (builddir): New variable.
19960 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
19961 or otherwise add a few flags/options to it.
19962 (install-local): For every executable utility or script that is
19963 installed, invoke $(HELP2MAN) to install a manpage based on --help
19964 output.
19965
19966 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
19967 that it doesn't prevent --help from working in build tree.
19968
19969 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
19970 with `bug-grub@gnu.org'.
19971 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
19972 * util/update-grub.in (usage): New function.
19973 Implement proper argument check, with support for --help and --version
19974 (as well as existing -y).
19975
199762008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 19977
19978 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
19979 avoid overwriting previous output.
19980 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
19981
c1962162 199822008-02-09 Robert Millan <rmh@aybabtu.com>
19983
19984 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
19985 drawing the menu.
19986
3dac2e3f 199872008-02-09 Robert Millan <rmh@aybabtu.com>
19988
19989 * commands/sleep.c: New file.
19990 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
19991 (sleep_mod_SOURCES): New variable.
19992 (sleep_mod_CFLAGS): Likewise.
19993 (sleep_mod_LDFLAGS): Likewise.
19994
7a634e08 199952008-02-09 Robert Millan <rmh@aybabtu.com>
19996
19997 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
19998 situations in which we can deduce the RAID size and the superblock
19999 doesn't match it.
20000
b92f0c18 200012008-02-09 Robert Millan <rmh@aybabtu.com>
20002
20003 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
20004 and return a grub_diskmemberlist_t composed of LVM physical volumes.
20005 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
20006
20007 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
20008 and return a grub_diskmemberlist_t composed of physical array members.
20009 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
20010
20011 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
20012 prototype.
20013 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
20014 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
20015 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
20016
20017 * util/grub-probe.c (probe): Move partmap probing code from here ...
20018 (probe_partmap): ... to here.
20019 (probe): Use probe_partmap() once for the disk we're probing, and
20020 additionally, when such disk contains a memberlist() struct member,
20021 once for each disk that is contained in the structure returned by
20022 memberlist().
20023
91a4bf68 200242008-02-09 Robert Millan <rmh@aybabtu.com>
20025
20026 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
20027 environment variable to 'all' in order to obtain debug output from
20028 non-util/ code.
20029 * util/i386/pc/grub-setup.c (main): Likewise.
20030
a96f9caa 200312008-02-08 Robert Millan <rmh@aybabtu.com>
20032
20033 * disk/raid.c (grub_raid_scan_device): Check for
20034 `array->device[sb.this_disk.number]' rather than for
20035 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 20036 guaranteed to be accessible.
a96f9caa 20037
b37a9222 200382008-02-08 Robert Millan <rmh@aybabtu.com>
20039
20040 * disk/raid.c: Update copyright.
20041 * fs/cpio.c: Likewise.
20042 * include/grub/raid.h: Likewise.
20043 * loader/i386/pc/multiboot.c: Likewise.
20044 * util/hostfs.c: Likewise.
20045
5626aee1 200462008-02-08 Robert Millan <rmh@aybabtu.com>
20047
20048 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
20049 to a grub_disk_t array.
20050 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
20051 `device[x]'.
20052 (grub_raid_scan_device): Replace `device[x].name' accesses with
20053 `device[x]->name'. Simplify initialization of `array->device[x]'.
20054
554f0187 200552008-02-08 Robert Millan <rmh@aybabtu.com>
20056
20057 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
20058 grub_dprintf() calls.
20059 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
20060 error message.
20061
1ec8425d 200622008-02-07 Christian Franke <franke@computer.org>
20063
20064 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
20065 instead of fseek and ftell to support large files.
20066 (grub_hostfs_read): Likewise.
20067
f2156fda 200682008-02-07 Robert Millan <rmh@aybabtu.com>
20069
20070 Patch from Jeroen Dekkers.
20071 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 20072 failure, since successfully reading all array members might not be
f2156fda 20073 required.
20074
9216e0e7 200752008-02-06 Robert Millan <rmh@aybabtu.com>
20076
20077 * util/grub-probe.c (probe): Simplify partmap probing (with the
20078 assumption that the first word up to the underscore equals to
20079 the module name).
20080
b0dfd29a 200812008-02-06 Christian Franke <franke@computer.org>
20082
20083 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
20084 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
20085 last block of a cpio or tar stream.
20086 Check for "TRAILER!!!" instead of any empty data
20087 block to detect last block of a cpio stream.
20088 (grub_cpio_dir): Fix constness of variable np.
20089 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
20090 cpio or tar trailer is detected. This fixes a crash
20091 on open of a non existing file.
20092
c32865bf 200932008-02-05 Bean <bean123ch@gmail.com>
20094
20095 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
20096 address of entry.
20097 (grub_multiboot_load_elf64): Likewise.
20098 (grub_multiboot): Initialize mbi structure.
20099
20100 * util/grub-fstest.c: Don't include unused header file script.h.
20101
fe6b695a 20102 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 20103 of file.
20104 (grub_fstest_SOURCES): Likewise.
20105
409480b7 201062008-02-05 Robert Millan <rmh@aybabtu.com>
20107
20108 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
20109 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
20110 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
20111 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
20112
20113 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
20114 (translation_table): Replace hardcoded values with macros
20115 provided by `<grub/term.h>'.
20116
20117 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
20118 (keyboard_map): Correct/add a few values, with macros provided
20119 by `<grub/term.h>'.
20120 (keyboard_map_shift): Zero values that don't differ from their
20121 `keyboard_map' equivalents.
20122 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
20123 Discard the second scan code that is always sent by Caps lock.
20124 Only use `keyboard_map_shift' when it provides a non-zero value,
20125 otherwise fallback to `keyboard_map'.
20126
99fadbaa 201272008-02-04 Bean <bean123ch@gmail.com>
20128
20129 * Makefile.in (enable_grub_fstest): New variable.
20130
20131 * conf/common.rmk (grub_fstest_init.lst): New rule.
20132 (grub_fstest_init.h): Likewise.
20133 (grub_fstest_init.c): Likewise.
20134 (util/grub-fstest.c_DEPENDENCIES): New variable.
20135 (grub_fstest_SOURCES): Likewise.
20136
20137 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
20138
20139 * util/grub-fstest.c: New file.
20140
bf567c50 201412008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
20142
20143 Make grub-setup handle a separate root device.
f19dbdb7 20144
bf567c50 20145 * util/i386/pc/grub-setup.c (setup): Always open the root device,
20146 so that the root device can be compared with the destination
20147 device.
20148 When embedding the core image, if the root and destination devices
20149 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
20150 0xFF.
20151 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 20152
9be6b98b 201532008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
20154
20155 Add support for having a grub directory in a different drive. This
20156 is still only the data handling part.
f19dbdb7 20157
9be6b98b 20158 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
20159 (codestart): Save %dh in GRUB_ROOT_DRIVE.
20160 (grub_root_drive): New variable.
20161
20162 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
20163 instead of GRUB_BOOT_DRIVE to construct a device name. Set
20164 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
20165 as it was.
20166
20167 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
20168
20169 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
20170 macro.
20171 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
20172
20173 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
20174 is bogus, because PXE booting does not specify any drive
20175 correctly.
20176
20177 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
20178 am not sure if this is really correct.
20179
20180 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
20181 is always identical to the boot drive when booting from a CD.
20182
20183 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
20184 longer.
20185 (root_drive): New variable.
20186 (real_start): Unconditionally set %dh to ROOT_DRIVE.
20187 (setup_sectors): Push %dx right after popping it, because %dh will
20188 be modified later.
20189 (copy_buffer): Restore %dx.
20190
e0ca0677 201912008-02-03 Robert Millan <rmh@aybabtu.com>
20192
20193 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
20194 use `cdboot.img' for cdrom images.
20195
3b3f6629 201962008-02-03 Robert Millan <rmh@aybabtu.com>
20197
20198 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
20199 only setup gfxterm when `font' command has succeeded.
20200
d42b3672 202012008-02-03 Robert Millan <rmh@aybabtu.com>
20202
20203 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
20204 (grub_rescue_cmd_multiboot_loader)
20205 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
20206
fa370ea6 202072008-02-03 Pavel Roskin <proski@gnu.org>
20208
e0c5dacb 20209 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 20210 %edx and %esi from stack only after grub_gate_a20() is called.
20211 grub_gate_a20() clobbers %edx.
20212
f2a76e1d 202132008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
20214
20215 * configure.ac (AC_INIT): Bumped to 1.96.
20216
20217 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
20218 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
20219 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
20220 video/readers/png.c.
20221
90fd32d1 202222008-02-03 Bean <bean123ch@gmail.com>
9be665dd 20223
20224 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
20225 (cdboot_img_SOURCES): New variable.
20226 (cdboot_img_ASFLAGS): New variable.
20227 (cdboot_img_LDFLAGS): New variable.
20228
20229 * boot/i386/pc/cdboot.S: New file.
20230
20231 * disk/i386/pc/biosdisk.c (cd_start): New variable.
20232 (cd_count): Likewise.
20233 (grub_biosdisk_get_drive): Add support for cd device.
20234 (grub_biosdisk_call_hook): Likewise.
20235 (grub_biosdisk_iterate): Likewise.
20236 (grub_biosdisk_open): Likewise.
20237 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
20238 (grub_biosdisk_rw): Support reading from cd device.
20239 (GRUB_MOD_INIT): Iterate cd devices.
20240
20241 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
20242 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
20243 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
20244
20245 * kern/i386/pc/init.c (make_install_device): Check for cd device.
20246
4020aa53 202472008-02-02 Robert Millan <rmh@aybabtu.com>
20248
20249 * commands/read.c: New file.
20250 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
20251 (read_mod_SOURCES): New variable.
20252 (read_mod_CFLAGS): Likewise.
20253 (read_mod_LDFLAGS): Likewise.
20254
e03a1132 202552008-02-02 Robert Millan <rmh@aybabtu.com>
20256
20257 * normal/main.c (grub_normal_execute): Check for `menu->size' when
20258 determining whether menu has to be displayed.
20259
58c69220 202602008-02-02 Marco Gerards <marco@gnu.org>
20261
20262 * bus/pci.c: New file.
20263
20264 * include/grub/pci.h: Likewise.
20265
20266 * include/grub/i386/pc/pci.h: Likewise.
20267
20268 * commands/lspci.c: Likewise.
20269
20270 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
20271 `lspci.mod'.
20272 (pci_mod_SOURCES): New variable.
20273 (pci_mod_CFLAGS): Likewise.
20274 (pci_mod_LDFLAGS): Likewise.
20275 (lspci_mod_SOURCES): Likewise.
20276 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 20277 (lspci_mod_LDFLAGS): Likewise.
58c69220 20278
c004e1b4 202792008-02-02 Bean <bean123ch@gmail.com>
20280
20281 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
20282 (grub_ufs_get_file_block): Fix indirect block calculation problem.
20283
20284 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
20285 (grub_xfs_btree_node): New structure.
20286 (grub_xfs_btree_root): New structure.
20287 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
20288 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
20289 (GRUB_XFS_EXTENT_BLOCK): Likewise.
20290 (GRUB_XFS_EXTENT_SIZE): Likewise.
20291 (grub_xfs_read_block): Support btree format type.
20292 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
20293 Use directory block as basic unit.
20294
20295 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
20296
20297 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
20298 __attribute__ ((__regparm__ (1))).
20299
f95562bf 203002008-02-01 Robert Millan <rmh@aybabtu.com>
20301
20302 Correct a mistake in previous commit.
20303
20304 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
20305 top.
20306 (normal/command.c_DEPENDENCIES): New variable.
20307
7d31f41f 203082008-02-01 Robert Millan <rmh@aybabtu.com>
20309
20310 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
20311 top.
20312 (normal/command.c_DEPENDENCIES): New variable.
20313 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
20314 * conf/i386-ieee1275.rmk: Likewise.
20315 * conf/i386-linuxbios.rmk: Likewise.
20316 * conf/i386-pc.rmk: Likewise.
20317 * conf/sparc64-ieee1275.rmk: Likewise.
20318 * conf/powerpc-ieee1275.rmk: Likewise.
20319 (grub_emu_SOURCES): Add `fs/fshelp.c'.
20320
20321 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
20322
60b6be74 203232008-02-01 Robert Millan <rmh@aybabtu.com>
20324
20325 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
20326 call at beginning of function.
20327
078522ab 203282008-01-31 Pavel Roskin <proski@gnu.org>
20329
20330 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 20331 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
20332 (grub_mkrescue_SOURCES): Likewise.
078522ab 20333 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
20334
ccaa8a5f 203352008-01-30 Robert Millan <rmh@aybabtu.com>
20336
20337 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
20338 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
20339 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
20340 (grub_probe_SOURCES): ... to here.
20341
20342 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
20343 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
20344 * conf/i386-ieee1275.rmk: Likewise.
20345 * conf/i386-linuxbios.rmk: Likewise.
20346 * conf/powerpc-ieee1275.rmk: Likewise.
20347
ae5a9cd7 203482008-01-30 Tristan Gingold <gingold@free.fr>
20349
20350 * kern/rescue.c: Silently accept empty lines.
20351
70bc2ef2 203522008-01-29 Bean <bean123ch@gmail.com>
20353
20354 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
20355 (real_code_2): Code cleanup and change comment style.
20356 (move_memory): Avoid using 32-bit address mode.
20357
6a4d50ea 203582008-01-29 Bean <bean123ch@gmail.com>
20359
20360 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
20361 (png_mod_SOURCES): New variable.
20362 (png_mod_CFLAGS): Likewise.
20363 (png_mod_LDFLAGS): Likewise.
20364
20365 * video/readers/png.c: New file.
20366
11cc30ac 203672008-01-28 Robert Millan <rmh@aybabtu.com>
20368
20369 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
20370 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
20371 `ifndef GRUB_MOD_GAP' hack.
20372 * util/elf/grub-mkimage.c (add_segments): Likewise.
20373
3abc589f 203742008-01-27 Robert Millan <rmh@aybabtu.com>
20375
20376 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
20377 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 20378 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 20379
e1907778 203802008-01-27 Robert Millan <rmh@aybabtu.com>
20381
20382 Get grub-emu to build again (including parallel builds).
20383
20384 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
20385 Split into ...
20386 (util/grub-emu.c_DEPENDENCIES): ... this, ...
20387 (normal/execute.c_DEPENDENCIES): ... this, ...
20388 (grub-emu_DEPENDENCIES): ... and this.
20389
20390 * conf/i386-efi.rmk: Likewise.
20391 * conf/i386-linuxbios.rmk: Likewise.
20392 * conf/i386-ieee1275.rmk: Likewise.
20393 * conf/powerpc-ieee1275.rmk: Likewise.
20394 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
20395
2216b101 203962008-01-27 Robert Millan <rmh@aybabtu.com>
20397
20398 * NEWS: Add a few items.
20399
f75172d9 204002008-01-27 Robert Millan <rmh@aybabtu.com>
20401
20402 Fix parallel builds with grub-emu. Based on earlier commit for
20403 grub-probe and grub-setup.
20404
20405 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20406 (util/grub-emu.c_DEPENDENCIES): ... this.
20407 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20408 (util/grub-emu.c_DEPENDENCIES): ... this.
20409 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20410 (util/grub-emu.c_DEPENDENCIES): ... this.
20411 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20412 (util/grub-emu.c_DEPENDENCIES): ... this.
20413 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20414 (util/grub-emu.c_DEPENDENCIES): ... this.
20415
3f51de77 204162008-01-27 Pavel Roskin <proski@gnu.org>
20417
20418 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
20419 to create a gap between _end and the modules added to the image
20420 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
20421 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
20422 * util/elf/grub-mkimage.c (add_segments): Likewise.
20423
2033f53e 204242008-01-26 Pavel Roskin <proski@gnu.org>
20425
20426 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
20427 just return an error.
20428
22da1f6f 204292008-01-26 Bean <bean123ch@gmail.com>
20430
20431 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
20432 (grub_reiserfs_get_item): Save offset of the next item.
20433 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
20434
2a9525e6 204352008-01-25 Robert Millan <rmh@aybabtu.com>
20436
20437 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
20438 make all filesystem sources appear together (possibly fixing omissions
20439 while at it).
20440 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20441 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20442 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
20443 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20444
20445 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
20446 add `kern/file.c'.
20447 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
20448 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
20449 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
20450 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
20451
20452 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
20453 (probe): Add a sanity check to make sure of our ability to read
20454 requested files when probing for filesystem type.
20455
20456 * genmk.rb: Update copyright year (2007).
20457
20458 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
20459 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
20460 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
20461 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
20462 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
20463 : Remove function prototypes.
20464
b95f71b5 204652008-01-25 Robert Millan <rmh@aybabtu.com>
20466
20467 Revert my previous commits (based on wrong assumption of how grub_errno
20468 works).
20469
fe6b695a 20470 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 20471 * kern/file.c (grub_file_open): Likewise.
20472
d08bbb49 204732008-01-24 Pavel Roskin <proski@gnu.org>
20474
20475 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
20476 that hang if GRUB tries to setup colors.
20477 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
20478 colors for firmwares that don't support it.
20479 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
20480 Recognize Open Hack'Ware, set flags to work around its
20481 limitations.
20482
605e36ed 204832008-01-24 Robert Millan <rmh@aybabtu.com>
20484
20485 * kern/file.c (grub_file_open): Do not account previous failures of
20486 unrelated functions when grub_errno is checked for.
20487 Reported by Oleg Strikov.
20488
bac332a1 204892008-01-24 Bean <bean123ch@gmail.com>
20490
20491 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
20492 (grub_ufs_sblock): New member volume name.
20493 (grub_ufs_find_file): Fix string copy bug.
20494 (grub_ufs_label): Implement this function properly.
20495
20496 * fs/hfs.c (grub_hfs_cnid_type): New enum.
20497 (grub_hfs_iterate_records): Use the correct file number for extents
20498 and catalog file. Fix problem in next index calculation.
20499 (grub_hfs_find_node): Replace recursive function call with loop.
20500 (grub_hfs_iterate_dir): Replace recursive function call with loop.
20501
15c80c09 205022008-01-23 Robert Millan <rmh@aybabtu.com>
20503
20504 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
20505 `<grub/symbol.h>' and `<grub/multiboot.h>'.
20506 (grub_multiboot2_real_boot): New function prototype.
20507
20508 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
20509 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
20510
20511 * kern/i386/ieee1275/init.c (grub_os_area_addr)
20512 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
20513
305338fd 205142008-01-23 Robert Millan <rmh@aybabtu.com>
20515
20516 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
20517 #ifdef'ed out grub_printf().
20518
3ea52685 205192008-01-23 Robert Millan <rmh@aybabtu.com>
20520
20521 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
20522 grub_dprintf calls, since they make "debug=all" mode unusable.
20523 (grub_console_checkkey): Likewise.
20524
5882ae4b 205252008-01-23 Robert Millan <rmh@aybabtu.com>
20526
20527 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
20528 `term/i386/pc/at_keyboard.c'.
20529 (pkglib_MODULES): Add `serial.mod'.
20530 (serial_mod_SOURCES): New variable.
20531 (serial_mod_CFLAGS): Likewise.
20532 (serial_mod_LDFLAGS): Likewise.
20533
20534 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
20535 `<grub/powerpc/ieee1275/console.h>'.
20536 (grub_keyboard_controller_init): New function prototype.
20537 (grub_console_checkkey): Likewise.
20538 (grub_console_getkey): Likewise.
20539
20540 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
20541 keyboard on i386.
20542
20543 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
20544 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
20545
06ab5303 205462008-01-23 Robert Millan <rmh@aybabtu.com>
20547
20548 * kern/i386/pc/init.c (make_install_device): When memdisk image is
20549 present, "(memdisk)/boot/grub" becomes the default prefix.
20550
20551 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
20552 a memdisk tarball with all the modules. Add --overlay=DIR option that
20553 allows users to overlay additional files into the image.
20554
dbb475a4 205552008-01-23 Robert Millan <rmh@aybabtu.com>
20556
20557 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
20558 and `machine/memory.h'.
20559 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
20560 (_multiboot_mod_SOURCES): New variable.
20561 (_multiboot_mod_CFLAGS): Likewise.
20562 (_multiboot_mod_LDFLAGS): Likewise.
20563 (multiboot_mod_SOURCES): Likewise.
20564 (multiboot_mod_CFLAGS): Likewise.
20565 (multiboot_mod_LDFLAGS): Likewise.
20566
20567 * include/grub/i386/ieee1275/loader.h: New file.
20568
20569 * include/grub/i386/ieee1275/machine.h: Likewise.
20570
20571 * include/grub/i386/ieee1275/memory.h: Likewise.
20572
20573 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
20574 variable declaration.
20575 (grub_os_area_size): Likewise.
20576
20577 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
20578 (grub_lower_mem, grub_upper_mem): New variables.
20579 (grub_stop_floppy): New function (just to make
20580 grub_multiboot2_real_boot() happy).
20581
20582 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
20583 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
20584 (grub_stop): New function.
20585 Include `"../realmode.S"' and `"../loader.S"'.
20586
20587 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
20588 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
20589
20590 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
20591 rely on grub_multiboot2_real_boot() for final boot.
20592
25638629 205932008-01-22 Robert Millan <rmh@aybabtu.com>
20594
20595 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
20596 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
20597 device that doesn't look like an SD card.
20598 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
20599 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
20600 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
20601 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
20602 found.
20603
9dad816d 206042008-01-22 Robert Millan <rmh@aybabtu.com>
20605
20606 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
20607 avoid claiming over our own code.
20608
34842f2d 206092008-01-22 Bean <bean123ch@gmail.com>
20610
20611 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
20612 (jpeg_mod_SOURCES): New variable.
20613 (jpeg_mod_CFLAGS): Likewise.
20614 (jpeg_mod_LDFLAGS): Likewise.
20615
20616 * video/readers/jpeg.c : New file.
20617
44023a28 206182008-01-22 Bean <bean123ch@gmail.com>
20619
20620 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
20621 there are no more items.
20622
bc2d8ac6 206232008-01-21 Robert Millan <rmh@aybabtu.com>
20624
20625 * kern/mm.c (grub_mm_init_region): Improve debug message.
20626
261bd4bc 206272008-01-21 Robert Millan <rmh@aybabtu.com>
20628
20629 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
20630 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
20631 address.
20632 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
20633 a C macro.
20634 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
20635 Indicates start of upper memory.
20636 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
20637 (generate_image): Abort when image size is big enough to corrupt
20638 upper memory.
20639
20640 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
20641 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
20642 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
20643 instead of hardcoding 0xA0000.
20644 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
20645 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
20646 instead of hardcoding 0xA0000.
20647
f970b55e 206482008-01-21 Robert Millan <rmh@aybabtu.com>
20649
20650 * disk/memdisk.c (memdisk_size): New variable.
20651 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
20652 `memdisk_size'.
20653 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
20654 image to dynamic memory.
20655 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
20656 `memdisk_size'. Free memdisk block.
20657
1a8b0526 206582008-01-21 Robert Millan <rmh@aybabtu.com>
20659
20660 Fix detection of very small filesystems (like tar).
20661
20662 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
20663 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
20664 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
20665 a problem with this disk).
20666
6e9b4aab 206672008-01-21 Robert Millan <rmh@aybabtu.com>
20668
20669 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
20670 on grub_biosdisk_rw_standard() error.
20671
0d8837b2 206722008-01-21 Robert Millan <rmh@aybabtu.com>
20673
20674 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
20675 recent changes.
20676 * kern/elf.c: Likewise.
20677 * kern/ieee1275/ieee1275.c: Likewise.
20678 * kern/powerpc/ieee1275/openfw.c: Likewise.
20679 * term/ieee1275/ofconsole.c: Likewise.
20680
ffd36e34 206812008-01-21 Robert Millan <rmh@aybabtu.com>
20682
20683 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
20684
3f0093d0 20685 * include/grub/kernel.h (grub_arch_memdisk_addr)
20686 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 20687
3f0093d0 20688 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
20689 (grub_arch_memdisk_size): ... to here.
ffd36e34 20690
6c391b21 206912008-01-21 Robert Millan <rmh@aybabtu.com>
20692
20693 Mostly based on bugfix from Bean.
20694
20695 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
20696 attribute with hook() parameter.
20697 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
20698 declaration.
20699 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
20700 attribute with hook() parameter.
20701 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
20702 declaration.
20703
55a581dc 207042008-01-21 Robert Millan <rmh@aybabtu.com>
20705
20706 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
20707 (pkglib_MODULES): Add `memdisk.mod'.
20708 (memdisk_mod_SOURCES): New variable.
20709 (memdisk_mod_CFLAGS): Likewise.
20710 (memdisk_mod_LDFLAGS): Likewise.
20711
20712 * disk/memdisk.c: New file.
20713
20714 * include/grub/disk.h (grub_disk_dev_id): Add
20715 `GRUB_DISK_DEVICE_MEMDISK_ID'.
20716
20717 * include/grub/i386/pc/kernel.h
20718 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
20719 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
20720 (grub_kernel_image_size): New variable declaration.
20721 (grub_total_module_size): Likewise.
20722 (grub_memdisk_image_size): Likewise.
20723
20724 * include/grub/i386/pc/memory.h
20725 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
20726
20727 * include/grub/kernel.h: Include `<grub/symbol.h>'.
20728 (grub_arch_memdisk_addr): New variable declaration.
20729 (grub_arch_memdisk_size): Likewise.
20730
20731 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
20732 (grub_arch_memdisk_size): Likewise.
20733
20734 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
20735 (codestart): Replace hardcoded `0x100000' with
20736 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
20737
20738 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
20739 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
20740 not NULL, append the contents of the file it refers to, at the end of
20741 the compressed kernel image. Initialize `grub_memdisk_image_size'
20742 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
20743 (options): Add "memdisk"|'m' option.
20744 (main): Parse --memdisk|-m option, and pass user-provided path as
20745 parameter to generate_image().
20746
3d7f54c9 207472008-01-20 Robert Millan <rmh@aybabtu.com>
20748
20749 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
20750 grub_dprintf() calls from here ...
20751 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
20752
0bf74728 207532008-01-20 Robert Millan <rmh@aybabtu.com>
20754
20755 Fix detection of "real mode" when /options/real-mode? doesn't exist.
20756
20757 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
20758 declaration.
20759 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
20760 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
20761 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 20762 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 20763 property).
20764 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
20765 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
20766
33bf70a7 207672008-01-19 Robert Millan <rmh@aybabtu.com>
20768
fe6b695a 20769 Get rid of confusing function (superseded by
33bf70a7 20770 `grub_ieee1275_get_integer_property')
20771 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
20772 prototype.
20773 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
20774 function.
20775 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
20776 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 20777 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 20778
e2da7d26 207792008-01-19 Robert Millan <rmh@aybabtu.com>
20780
20781 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
20782 command after "shut-down", since implementations differ on which
20783 the command for halt is.
20784
59f1fd8d 207852008-01-19 Robert Millan <rmh@aybabtu.com>
20786
20787 * include/grub/i386/linuxbios/console.h: Add header protection.
20788 (grub_keyboard_controller_init): New function prototype.
20789 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
20790 (KEYBOARD_COMMAND_READ): Likewise.
20791 (KEYBOARD_COMMAND_WRITE): Likewise.
20792 (KEYBOARD_SCANCODE_SET1): Likewise.
20793 (grub_keyboard_controller_write): New function.
20794 (grub_keyboard_controller_read): Likewise.
20795 (grub_keyboard_controller_init): Likewise.
20796
20797 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
20798 (grub_console_init): On coreboot/LinuxBIOS, call
20799 grub_keyboard_controller_init().
20800
5f5a7c15 208012008-01-19 Robert Millan <rmh@aybabtu.com>
20802
20803 PowerPC changes provided by Pavel Roskin.
20804
20805 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
20806 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
20807 don't rely on cmain() doing it.
20808 * kern/i386/ieee1275/startup.S (_start): Store %eax in
20809 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
20810
1210e168 208112008-01-16 Robert Millan <rmh@aybabtu.com>
20812
20813 * include/grub/i386/linuxbios/memory.h
20814 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
20815 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
20816 receive `table_header' as argument. Instead, probe for it in the
20817 known memory ranges where it can be present.
20818 (grub_available_iterate): Do not pass a fixed `table_header' address
20819 to grub_linuxbios_table_iterate().
20820
3d04eab8 208212008-01-15 Robert Millan <rmh@aybabtu.com>
20822
20823 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
20824 * conf/i386-ieee1275.rmk: New file.
20825 * include/grub/i386/ieee1275/console.h: Likewise.
20826 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
20827 * include/grub/i386/ieee1275/kernel.h: Likewise.
20828 * include/grub/i386/ieee1275/time.h: Likewise.
20829 * kern/i386/ieee1275/init.c: Likewise.
20830 * kern/i386/ieee1275/startup.S: Likewise.
20831
d1bc1b73 208322008-01-15 Robert Millan <rmh@aybabtu.com>
20833
20834 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
20835 when pointers are 32-bit (but still do set it to one when they are
20836 64-bit).
20837
66a65807 208382008-01-15 Robert Millan <rmh@aybabtu.com>
20839
20840 * include/grub/ieee1275/ieee1275.h
20841 (grub_ieee1275_get_integer_property): New function prototype.
20842
20843 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
20844 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 20845 grub_ieee1275_get_property() to handle endianness.
66a65807 20846
20847 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
20848 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 20849 where appropriate.
66a65807 20850 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
20851 (grub_map): Likewise.
20852 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
20853
a83ccafd 208542008-01-15 Bean <bean123ch@gmail.com>
20855
20856 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
20857 (grub_script_execute_cmdline): Reset grub_errno.
20858
20859 * normal/main.c (read_config_file): Reset grub_errno.
20860
20861 * normal/parse.y (script_init): New.
20862 (script): Move function and menuentry here.
20863 (delimiter): New.
20864 (command): Add delimiter at the end of command.
20865 (commands): Adjust to match the new command.
20866 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 20867 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 20868 (if): Use the new commands.
20869
20870 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
20871
df6ecfc6 208722008-01-15 Robert Millan <rmh@aybabtu.com>
20873
20874 * normal/menu.c (run_menu): Move timeout message from here ...
20875 (print_timeout): ... to here.
20876 (run_menu): Use print_timeout() once during initial draw to print
20877 the whole message, and again in every clock tick to update only
20878 the number of seconds.
20879
87ae25eb 208802008-01-15 Robert Millan <rmh@aybabtu.com>
20881
20882 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
20883 actual size of `available' from grub_ieee1275_get_property(), and
20884 restrict parsing to that bound.
20885
47bf09a4 208862008-01-15 Christian Franke <franke@computer.org>
20887
20888 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
20889 (argp_program_version): Remove variable.
20890 (argp_program_bug_address): Likewise.
20891 (options): Convert from struct argp_option to struct option.
20892 (struct arguments): Remove.
20893 (parse_opt): Remove.
20894 (usage): New function.
20895 (main): Replace struct args members by simple variables.
20896 Replace argp_parse() by getopt_long().
20897 Add switch to evaluate options.
20898 Add missing "(...)" around root_dev in prefix string.
20899
c86f1469 209002008-01-14 Robert Millan <rmh@aybabtu.com>
20901
20902 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
20903 for grub_ieee1275_exit(), in order to improve portability.
20904
e622c559 209052008-01-14 Robert Millan <rmh@aybabtu.com>
20906
20907 * util/grub.d/10_linux.in (prefix): Define.
20908 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
20909
44cb1ec8 209102008-01-13 Pavel Roskin <proski@gnu.org>
20911
20912 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
20913 grub_errno if no errors have been detected.
20914
1eb8c802 209152008-01-12 Robert Millan <rmh@aybabtu.com>
20916
20917 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
20918 (grub_util_get_dev_abstraction): New function prototype.
20919
20920 * util/getroot.c: Include `<grub/util/getroot.h>'
20921 (grub_util_get_grub_dev): Move detection of abstraction type to ...
20922 (grub_util_get_dev_abstraction): ... here (new function).
20923
20924 * util/grub-probe.c: Convert PRINT_* to an enum. Add
20925 `PRINT_ABSTRACTION'.
20926 (probe): Probe for abstraction type when requested.
20927 (main): Understand `--target=abstraction'.
20928
20929 * util/i386/efi/grub-install.in: Add abstraction module to core
20930 image when it is found to be necessary.
20931 * util/i386/pc/grub-install.in: Likewise.
20932 * util/powerpc/ieee1275/grub-install.in: Likewise.
20933
20934 * util/update-grub_lib.in (font_path): Return system path without
20935 converting to GRUB path.
20936 * util/update-grub.in: Convert system path returned by font_path()
20937 to a GRUB path. Use `grub-probe -t abstraction' to determine what
20938 abstraction module is needed for loading fonts (if any). Export
20939 that as `GRUB_PRELOAD_MODULES'.
20940 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
20941 insmod commands).
20942
52bd3de9 209432008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
20944
20945 Remove some unused code from reiserfs.
f19dbdb7 20946
52bd3de9 20947 * fs/reiserfs.c (struct grub_reiserfs_key)
20948 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
20949 (struct grub_reiserfs_node_body): Removed.
20950 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20951 Likewise.
20952 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20953 Likewise.
20954 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20955 Likewise.
20956 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20957 Likewise.
20958 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20959 Likewise.
20960 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
20961 Likewise.
20962 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20963 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20964 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20965
2f80039d 209662008-01-10 Robert Millan <rmh@aybabtu.com>
20967
20968 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
20969 Determines if a file is garbage left by packaging systems, etc.
20970 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
20971 for processing /etc/grub.d scripts.
20972 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
20973 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
20974 as a condition for processing Linux images.
20975
87888032 209762008-01-10 Pavel Roskin <proski@gnu.org>
20977
20978 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
20979 to compile reiserfs.c on PowerPC.
20980
7e54fced 209812008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 20982
20983 * kern/device.c (grub_device_iterate): Do not abort device iteration
20984 when one of the devices cannot be opened.
20985 * kern/disk.c (grub_disk_open): Do not account previous failures of
20986 unrelated functions when grub_errno is checked for.
20987
5aa541e6 209882008-01-08 Robert Millan <rmh@aybabtu.com>
20989
20990 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
20991 `! grub_linux_is_bzimage', change order of address comparison to make
20992 it more intuitive, and improve "too big zImage" error message.
20993
7076340d 209942008-01-08 Robert Millan <rmh@aybabtu.com>
20995
20996 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
20997 `$(update-grub_DATA)'.
20998 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
20999 targets.
21000
9ca70333 210012008-01-07 Robert Millan <rmh@aybabtu.com>
21002
21003 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
21004 which instruction is modified by grub-setup during installation
21005 (since it wasn't obvious by only looking at this file).
21006
38ccf575 210072008-01-07 Robert Millan <rmh@aybabtu.com>
21008
21009 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
21010 listing actual TODO items.
21011
f5db4291 210122008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
21013
868967cf 21014 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
21015 correctly.
21016 (grub_reiserfs_get_key_offset): Likewise.
21017 (grub_reiserfs_set_key_offset): Likewise.
21018 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 21019 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 21020
21021 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
21022 better to remove the bitfield version completely.
f19dbdb7 21023
868967cf 210242008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 21025
f5db4291 21026 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
21027 allocated from the heap, due to the fshelp implementation.
21028 (grub_reiserfs_dir): Free NODE, due to the same reason.
21029
492e6d9d 210302008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
21031
21032 Mostly from Vincent Pelletier:
f19dbdb7 21033
492e6d9d 21034 * fs/reiserfs.c: New file.
f19dbdb7 21035
492e6d9d 21036 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
21037 (reiserfs_mod_SOURCES): New variable.
21038 (reiserfs_mod_CFLAGS): Likewise.
21039 (reiserfs_mod_LDFLAGS): Likewise.
21040
21041 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
21042 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
21043 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
21044 normal/color.c.
21045
9ce3e7c1 210462008-01-06 Robert Millan <rmh@aybabtu.com>
21047
21048 * normal/color.c: Remove `<grub/env.h>'.
21049
f3b58148 210502008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
21051
21052 * include/grub/normal.h: Include <grub/env.h>.
21053
7ac3bcfa 210542008-01-05 Robert Millan <rmh@aybabtu.com>
21055
21056 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
21057 usage example with `(hd0,1)'.
fb358190 21058 Reported by Samuel Thibault.
7ac3bcfa 21059
c8ee99d7 210602008-01-05 Robert Millan <rmh@aybabtu.com>
21061
21062 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
21063 (grub_linux_boot_zimage): Rename to ...
21064 (grub_linux_boot): ... this.
21065 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
21066 (grub_linux_boot_zimage): Conditionalize zImage copy.
21067
21068 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
21069 (grub_linux_boot_bzimage): Remove prototype.
21070 (grub_linux_boot_zimage): Rename to ...
21071 (grub_linux_boot): ... this.
21072
21073 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
21074 (grub_linux_boot): Remove function.
21075
0ece25b1 210762008-01-05 Robert Millan <rmh@aybabtu.com>
21077
21078 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
21079 (grub_env_write_color_highlight): Likewise.
21080 (grub_wait_after_message): Likewise.
21081
21082 * normal/color.c: New file.
21083
21084 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
21085 (normal_mod_DEPENDENCIES): Likewise.
21086
21087 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
21088 (normal_mod_DEPENDENCIES): Likewise.
21089
21090 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
21091 (normal_mod_DEPENDENCIES): Likewise.
21092
21093 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
21094 (normal_mod_DEPENDENCIES): Likewise.
21095
21096 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
21097 for waiting after a message is printed.
21098 * normal/main.c (read_config_file): Likewise.
21099 (grub_normal_init): Register grub_env_write_color_normal() and
21100 grub_env_write_color_highlight() hooks. Mark `color_normal' and
21101 `color_highlight' variables as global.
21102
21103 * normal/menu.c (grub_wait_after_message): New function.
21104 (grub_color_menu_normal): New variable. Replaces ...
21105 (GRUB_COLOR_MENU_NORMAL): ... this macro.
21106 (grub_color_menu_highlight): New variable. Replaces ...
21107 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
21108 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
21109 `GRUB_TERM_COLOR_STANDARD'.
21110 (print_message): Use `grub_setcolorstate' to reload colors. Rename
21111 `normal_code' and `highlight_code' to `old_color_normal' and
21112 `old_color_highlight', respectively.
21113 (grub_menu_init_page): Update colors when drawing the menu, based on
21114 `menu_color_normal' and `menu_color_highlight' variables.
21115 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
21116 a message is printed.
21117
182dd4e5 211182008-01-05 Robert Millan <rmh@aybabtu.com>
21119
21120 * kern/env.c (grub_env_context_open): Propagate hooks for global
21121 variables to new context.
21122
21123 * kern/main.c (grub_set_root_dev): Export `root' variable.
21124
ddf8f6ad 211252008-01-05 Robert Millan <rmh@aybabtu.com>
21126
21127 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 21128 discs unconditionally, since udev and others have options to provide
ddf8f6ad 21129 them.
21130
d8b43d9b 211312008-01-05 Robert Millan <rmh@aybabtu.com>
21132
21133 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
21134
2bff2de3 211352008-01-04 Christian Franke <franke@computer.org>
21136
21137 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
21138 of eisa_mmap.
21139
97eab917 211402008-01-03 Pavel Roskin <proski@gnu.org>
21141
21142 * kern/i386/linuxbios/init.c: Put "void" to all function
21143 declarations with no arguments.
21144 * kern/powerpc/ieee1275/init.c: Likewise.
21145 * term/i386/pc/at_keyboard.c: Likewise.
21146 * term/i386/pc/vga_text.c: Likewise.
21147 * util/grub-mkdevicemap.c: Likewise.
21148
b9416d00 211492008-01-02 Robert Millan <rmh@aybabtu.com>
21150
21151 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
21152 message when loaded image is out of bounds.
21153 (grub_multiboot_load_elf64): Likewise.
21154
92695df9 211552008-01-02 Pavel Roskin <proski@gnu.org>
21156
21157 * util/grub.d/10_linux.in: Try version without ".old" when
21158 looking for initrd. It's better to use initrd from the newer
21159 kernel of the same version than no initrd at all.
21160
d98d9cad 211612008-01-01 Robert Millan <rmh@aybabtu.com>
21162
21163 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
21164
dbfdce36 211652008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
21166
f19dbdb7 21167 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 21168 grub_video_get_active_render_target.
21169 (grub_video_adapter): Added unmap_color and get_active_render_target.
21170
f19dbdb7 21171 * video/video.c: Added grub_video_unmap_color and
dbfdce36 21172 grub_video_get_active_render_target.
21173 (grub_video_get_info): Changed method to accept NULL pointer as an
21174 argument to allow detection of active video adapter.
21175
21176 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
21177 grub_video_vbe_unmap_color_int.
21178 Added grub_video_vbe_unmap_color and
21179 grub_video_vbe_get_active_render_target.
21180 (grub_video_vbe_adapter): Added unmap_color and
21181 get_active_render_target.
21182
f19dbdb7 21183 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 21184 with grub_video_vbe_unmap_color_int.
21185
21186 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
21187 (DEFAULT_NORMAL_COLOR): Likewise.
21188 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
21189 (DEFAULT_FG_COLOR): Removed.
21190 (DEFAULT_BG_COLOR): Likewise.
21191 (DEFAULT_CURSOR_COLOR): Changed value.
21192 (grub_virtual_screen): Added standard_color_setting,
21193 normal_color_setting, highlight_color_setting and term_color.
21194 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
21195 (bitmap_width): Added.
21196 (bitmap_height): Likewise.
21197 (bitmap): Likewise.
21198 (set_term_color): Likewise.
21199 (grub_virtual_screen_setup): Changed to use new terminal coloring
21200 settings.
21201 (grub_gfxterm_init): Added init for bitmap.
21202 (grub_gfxterm_fini): Added destroy for bitmap.
21203 (redraw_screen_rect): Updated to use background bitmap and new
21204 terminal coloring.
21205 (scroll_up): Added optimization for case when there is no bitmap.
21206 (grub_gfxterm_cls): Fixed to use correct background color.
21207 (grub_virtual_screen_setcolorstate): Changed to use new terminal
21208 coloring.
21209 (grub_virtual_screen_setcolor): Likewise.
21210 (grub_virtual_screen_getcolor): Added.
21211 (grub_gfxterm_background_image_cmd): Likewise.
21212 (grub_video_term): Added setcolor and getcolor.
21213 (MOD_INIT): Added registration of background_image command.
21214 (MOD_TERM): Added unregistration for background_image command.
21215
c3c20931 212162007-12-30 Pavel Roskin <proski@gnu.org>
21217
21218 * loader/multiboot_loader.c: Fix multiboot command
21219 unregistration. Fix all typos in the word "multiboot".
21220
df266716 212212007-12-29 Pavel Roskin <proski@gnu.org>
94239199 21222
21223 * util/grub.d/10_linux.in: Refactor search for initrd. Add
21224 support for initrd names used in Fedora.
21225
fc6e896c 212262007-12-26 Bean <bean123ch@gmail.com>
21227
21228 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
21229 (cpio_mod_SOURCES): New variable.
21230 (cpio_mod_CFLAGS): Likewise.
21231 (cpio_mod_LDFLAGS): Likewise.
21232
21233 * fs/cpio.c: New file.
21234
21235 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
21236
21237 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21238
21239 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
21240
21241 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21242
533110ad 212432007-12-25 Robert Millan <rmh@aybabtu.com>
21244
21245 * include/grub/term.h (struct grub_term): Add `getcolor' function.
21246 (grub_getcolor): New function.
21247
21248 * kern/term.c (grub_getcolor): New function.
21249 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
21250 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
21251 (print_entry): Set normal and highlight colors to
21252 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
21253 respectively, before printing and restore them to old
21254 values afterwards.
21255 (grub_menu_init_page): Likewise. Fill an additional colored space
21256 that would otherwise be left blank.
21257
21258 * term/efi/console.c (grub_console_getcolor): New function.
21259 (struct grub_console_term.getcolor): New variable.
21260 * term/i386/pc/console.c (grub_console_getcolor): New function.
21261 (struct grub_console_term.getcolor): New variable.
21262 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
21263 (struct grub_console_term.getcolor): New variable.
21264
21265 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
21266 (struct grub_console_term.setcolor): Remove variable.
21267 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
21268 (struct grub_console_term.setcolor): Remove variable.
21269 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
21270 (struct grub_console_term.setcolor): Remove variable.
21271 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
21272 (struct grub_console_term.setcolor): Remove variable.
21273
4931827f 212742007-12-25 Robert Millan <rmh@aybabtu.com>
21275
21276 * configure.ac: Search for possible unifont.hex locations, and
21277 define UNIFONT_HEX if found.
21278
21279 * Makefile.in (UNIFONT_HEX): Define variable.
21280 (DATA): Rename to ...
21281 (PKGLIB): ... this. Update all users.
21282 (PKGDATA): New variable.
21283 (pkgdata_IMAGES): Rename to ...
21284 (pkglib_IMAGES): ... this. Update all users.
21285 (pkgdata_MODULES): Rename to ...
21286 (pkglib_MODULES): ... this. Update all users.
21287 (pkgdata_PROGRAMS): Rename to ...
21288 (pkglib_PROGRAMS): ... this. Update all users.
21289 (pkgdata_DATA): Rename to ...
21290 (pkglib_DATA): ... this. Update all users.
21291 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
21292 (unicode.pff, ascii.pff): New rules.
21293 (all-local): Add `$(PKGDATA)' dependency.
21294 (install-local): Process `$(PKGDATA)'.
21295
21296 * util/update-grub_lib.in (font_path): Search for *.pff files in
21297 a few more locations, including `${pkgdata}'.
21298
57e57e31 212992007-12-23 Robert Millan <rmh@aybabtu.com>
21300
21301 Patch from Bean <bean123ch@gmail.com>:
21302 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
21303 `size'.
21304
4bc72aa9 213052007-12-21 Bean <bean123ch@gmail.com>
21306
21307 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
21308 (ntfscomp_mod_SOURCES): New variable.
21309 (ntfscomp_mod_CFLAGS): Likewise.
21310 (ntfscomp_mod_LDFLAGS): Likewise.
21311
21312 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
21313 (grub_probe_SOURCES): Likewise.
21314 (grub_emu_SOURCES): Likewise.
21315
21316 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
21317 (grub_emu_SOURCES): Likewise.
21318
21319 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
21320 (grub_emu_SOURCES): Likewise.
21321
21322 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
21323 (grub_emu_SOURCES): Likewise.
21324
21325 * fs/ntfs.c (grub_ntfscomp_func): New variable.
21326 (read_run_list): Renamed to grub_ntfs_read_run_list.
21327 (decomp_nextvcn): Moved to ntfscomp.c.
21328 (decomp_getch): Likewise.
21329 (decomp_get16): Likewise.
21330 (decomp_block): Likewise.
21331 (read_block): Likewise.
21332 (read_data): Partially moved to ntfscomp.c.
21333 (fixup): Change unsigned to grub_uint16_t.
21334 (read_mft): Change unsigned long to grub_uint32_t.
21335 (read_attr): Likewise.
21336 (read_data): Likewise.
21337 (read_run_data): Likewise.
21338 (read_run_list): Likewise.
21339 (read_mft): Likewise.
21340
21341 * fs/ntfscomp.c: New file.
21342
21343 * include/grub/ntfs.h: New file.
21344
af680a87 213452007-12-16 Robert Millan <rmh@aybabtu.com>
21346
21347 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
21348 IDE disk check, since Linux is known to support 20 IDE disks.
21349 Reported by Colin Watson.
21350
84be7599 213512007-12-15 Bean <bean123ch@gmail.com>
21352
21353 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
21354 (lnxboot_img_SOURCES): New variable.
21355 (lnxboot_img_ASFLAGS): Likewise.
21356 (lnxboot_img_LDFLAGS): Likewise.
21357
21358 * boot/i386/pc/lnxboot.S: New file.
21359
6af9db01 213602007-11-24 Pavel Roskin <proski@gnu.org>
21361
21362 * configure.ac: Test if '--build-id=none' is supported by the
21363 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
21364 objcopy to generate incorrect binary files (binutils
21365 2.17.50.0.18-1 as shipped by Fedora 8).
21366 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
21367 linking, so that build ID doesn't break the test.
21368
7361cfe6 213692007-11-24 Pavel Roskin <proski@gnu.org>
21370
21371 * include/grub/i386/time.h: use "void" in the argument list
21372 of grub_cpu_idle().
21373 * include/grub/powerpc/time.h: Likewise.
21374 * include/grub/sparc64/time.h: Likewise.
21375
1593e10c 213762007-11-18 Christian Franke <franke@computer.org>
21377
21378 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
21379 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
21380 This fixes the problem that function keys did not work in grub-emu.
21381
3b8db1a8 213822007-11-18 Christian Franke <franke@computer.org>
21383
21384 * disk/host.c (grub_host_open): Remove attribute unused from
21385 name parameter. Add check for "host". This fixes the problem
21386 that grub-emu does not find partitions.
21387
2e29408d 213882007-11-18 Christian Franke <franke@computer.org>
21389
21390 * util/hostfs.c (is_dir): New function.
21391 (grub_hostfs_dir): Handle missing dirent.d_type case.
21392 (grub_hostfs_read): Add missing fseek().
21393 (grub_hostfs_label): Clear label pointer. This fixes a crash
21394 of grub-emu on "ls (host)".
21395
398cd047 213962007-11-18 Christian Franke <franke@computer.org>
21397
21398 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
21399 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
21400 to 64 bit boundary by default.
21401
c405c391 214022007-11-18 Bean <bean123ch@gmail.com>
21403
21404 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
21405 (hexdump_mod_SOURCES): New variable.
21406 (hexdump_mod_CFLAGS): Likewise.
21407 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 21408
c405c391 21409 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21410
21411 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21412
21413 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21414
21415 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21416
21417 * include/grub/hexdump.h: New file.
21418
21419 * commands/hexdump.c: New file.
21420
5cced7fd 214212007-11-10 Robert Millan <rmh@aybabtu.com>
21422
21423 * commands/i386/pc/play.c (beep_off): Switch order of arguments
21424 in grub_outb() calls.
21425 (beep_on): Likewise.
21426
8b714eb0 214272007-11-10 Christian Franke <franke@computer.org>
21428
21429 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
21430 (grub_menu_run): Likewise.
21431
ce0f1839 214322007-11-10 Robert Millan <rmh@aybabtu.com>
21433
21434 * include/grub/i386/efi/machine.h: New file.
21435 * include/grub/i386/linuxbios/machine.h: Likewise.
21436 * include/grub/i386/pc/machine.h: Likewise.
21437 * include/grub/powerpc/ieee1275/machine.h: Likewise.
21438 * include/grub/sparc64/ieee1275/machine.h: Likewise.
21439
21440 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
21441 (serial_hw_io_addr): New variable.
21442 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
21443 instead of `(unsigned short *) 0x400'.
21444
270c237d 214452007-11-10 Bean <bean123ch@gmail.com>
21446
21447 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
21448
a87783bf 214492007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
21450
21451 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
21452 (vga_mod_SOURCES): Added.
21453 (vga_mod_CFLAGS): Likewise.
21454 (vga_mod_LDFLAGS): Likewise.
21455
21456 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
21457 grub_outb() calls.
21458 (set_map_mask): Likewise.
21459 (set_read_map): Likewise.
21460 (set_read_address): Likewise.
21461 (vga_font): Removed variable.
21462 (get_vga_glyph): Removed function.
21463 (invalidate_char): Likewise.
21464 (write_char): Changed to use grub_font_get_glyph() for font
21465 information.
21466 (grub_vga_putchar): Likewise.
21467 (grub_vga_getcharwidth): Likewise.
21468
6433b448 214692007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
21470
21471 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
21472 flags.
21473 (pxeboot_img_LDFLAGS): Likewise.
21474 (diskboot_img_LDFLAGS): Likewise.
21475 (kernel_img_LDFLAGS): Likewise.
21476
49178511 214772007-11-06 Robert Millan <rmh@aybabtu.com>
21478
21479 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
21480 in grub_outb() calls.
21481 (serial_hw_init): Likewise.
21482
53b052de 214832007-11-05 Robert Millan <rmh@aybabtu.com>
21484
21485 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
21486 spaces. Skip non-regular files.
21487
5ab33bba 214882007-11-05 Robert Millan <rmh@aybabtu.com>
21489
21490 * kern/disk.c (grub_disk_firmware_fini)
21491 (grub_disk_firmware_is_tainted): New variables.
21492
21493 * include/grub/disk.h (grub_disk_firmware_fini)
21494 (grub_disk_firmware_is_tainted): Likewise.
21495
21496 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
21497 (grub_disk_biosdisk_fini): ... to here.
21498 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
21499 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
21500 is set. Register grub_disk_biosdisk_fini() in
21501 `grub_disk_firmware_fini'.
21502
21503 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
21504 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
21505 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
21506 to finish existing firmware disk interface.
21507
21508 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
21509 (ata_mod_SOURCES): New variable.
21510 (ata_mod_CFLAGS): Likewise.
21511 (ata_mod_LDFLAGS): Likewise.
21512
0149ab7c 215132007-11-05 Robert Millan <rmh@aybabtu.com>
21514
21515 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
21516 (grub_ata_wait): Reimplement using grub_millisleep().
21517
21518 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
21519 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
21520
be7ac41e 215212007-11-03 Marco Gerards <marco@gnu.org>
21522
21523 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
21524 (CRTC_ADDR_PORT): New macro.
21525 (CRTC_DATA_PORT): Likewise.
21526 (CRTC_CURSOR): Likewise.
21527 (CRTC_CURSOR_ADDR_HIGH): Likewise.
21528 (CRTC_CURSOR_ADDR_LOW): Likewise.
21529 (update_cursor): New function.
21530 (grub_console_real_putchar): Call `update_cursor'.
21531 (grub_console_gotoxy): Likewise.
21532 (grub_console_cls): Set the default color when clearing the
21533 screen.
21534 (grub_console_setcursor): Implemented.
21535
bb06ab2e 215362007-11-03 Marco Gerards <marco@gnu.org>
21537
21538 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
21539 become activate.
21540 (grub_ata_pio_write): Likewise.
21541
21542 (grub_atapi_identify): Wait after issuing an ATA command.
21543 (grub_atapi_packet): Likewise.
21544 (grub_ata_identify): Likewise.
21545 (grub_ata_readwrite): Likewise.
21546
cf8f780b 215472007-11-03 Marco Gerards <marco@gnu.org>
21548
21549 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
21550 (grub_ata_pio_write): Likewise.
21551 (grub_ata_readwrite): Use `grub_error', instead of
21552 returning `grub_errno'.
21553
ed649e54 215542007-11-03 Marco Gerards <marco@gnu.org>
21555
21556 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
21557 grub_ata_pio_write once for every single sector, instead of for
21558 multiple sectors.
21559
ca25d8f0 215602007-10-31 Robert Millan <rmh@aybabtu.com>
21561
21562 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
21563
21564 * conf/i386-linuxbios.rmk: New file.
21565
21566 * kern/i386/pc/hardware.c: Likewise.
21567 * term/i386/pc/at_keyboard.c: Likewise.
21568 * term/i386/pc/vga_text.c: Likewise.
21569
21570 * include/grub/i386/linuxbios/boot.h: Likewise.
21571 * include/grub/i386/linuxbios/console.h: Likewise.
21572 * include/grub/i386/linuxbios/init.h: Likewise.
21573 * include/grub/i386/linuxbios/kernel.h: Likewise.
21574 * include/grub/i386/linuxbios/loader.h: Likewise.
21575 * include/grub/i386/linuxbios/memory.h: Likewise.
21576 * include/grub/i386/linuxbios/serial.h: Likewise.
21577 * include/grub/i386/linuxbios/time.h: Likewise.
21578
21579 * kern/i386/linuxbios/init.c: Likewise.
21580 * kern/i386/linuxbios/startup.S: Likewise.
21581 * kern/i386/linuxbios/table.c: Likewise.
21582
e911ecc1 215832007-10-31 Marco Gerards <marco@gnu.org>
21584
21585 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
21586 (ata_mod_SOURCES): New variable.
21587 (ata_mod_CFLAGS): Likewise.
21588 (ata_mod_LDFLAGS): Likewise.
21589
21590 * disk/ata.c: New file.
21591
21592 * include/grub/disk.h (grub_disk_dev_id): Add
21593 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 21594
7f66d0e0 215952007-10-31 Robert Millan <rmh@aybabtu.com>
21596
21597 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
21598 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
21599
21600 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
21601 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
21602
21603 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
21604 `<grub/types.h>'.
21605
21606 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
21607
5cd7dd46 216082007-10-27 Robert Millan <rmh@aybabtu.com>
21609
3236ca65 21610 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 21611
2ebfc90f 216122007-10-22 Robert Millan <rmh@aybabtu.com>
21613
21614 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
21615 `"../realmode.S"'.
21616 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
21617
73fcb0f3 216182007-10-22 Robert Millan <rmh@aybabtu.com>
21619
21620 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
21621 (pkgdata_MODULES): Add `biosdisk.mod'.
21622 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
21623 variables.
21624
21625 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
21626 (grub_biosdisk_init): Replace with ...
21627 (GRUB_MOD_INIT(biosdisk)): ... this.
21628 (grub_biosdisk_fini): Replace with ...
21629 (GRUB_MOD_FINI(biosdisk)): ... this.
21630
21631 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
21632 (grub_machine_init): Remove call to grub_biosdisk_init().
21633 (grub_machine_fini): Remove call to grub_machine_fini().
21634
21635 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
21636
3381d274 216372007-10-22 Robert Millan <rmh@aybabtu.com>
21638
21639 * include/grub/time.h: New file.
21640 * include/grub/i386/time.h: Likewise.
21641 * include/grub/powerpc/time.h: Likewise.
21642 * include/grub/sparc64/time.h: Likewise.
21643
21644 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
21645 instances to ...
21646 (KERNEL_MACHINE_TIME_HEADER): ... this.
21647 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
21648 instances to ...
21649 (KERNEL_MACHINE_TIME_HEADER): ... this.
21650 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
21651 instances to ...
21652 (KERNEL_MACHINE_TIME_HEADER): ... this.
21653
21654 * kern/i386/efi/init.c: Include `<grub/time.h>'.
21655 (grub_millisleep): New function.
21656 * kern/i386/pc/init.c: Include `<grub/time.h>'.
21657 (grub_millisleep): New function.
21658 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
21659 Remove `grub/machine/time.h' include.
21660 (grub_millisleep): New function.
21661 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
21662 Remove `grub/machine/time.h' include.
21663 (grub_millisleep): New function.
21664
21665 * include/grub/misc.h (grub_div_roundup): New function.
21666
21667 * kern/misc.c: Include `<grub/time.h>'.
21668 (grub_millisleep_generic): New function.
21669
21670 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
21671 Add `time.h'.
21672 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
21673 Add `time.h'.
21674 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
21675 `machine/time.h'. Add `time.h'.
21676 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
21677
a39a0312 216782007-10-21 Robert Millan <rmh@aybabtu.com>
21679
21680 * include/grub/misc.h (grub_max): New function.
21681
2aad70e2 216822007-10-21 Robert Millan <rmh@aybabtu.com>
21683
21684 * util/misc.c (grub_util_info): Call fflush() before returning.
21685
54b71c4b 216862007-10-20 Robert Millan <rmh@aybabtu.com>
21687
21688 * genmk.rb (Image): Copy `extra_flags' from here ...
21689 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
21690
21691 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
21692 to `argc' and `args' arguments.
21693
a979f513 216942007-10-17 Robert Millan <rmh@aybabtu.com>
21695
21696 * kern/i386/loader.S: New file.
21697
21698 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
21699 * kern/i386/loader.S (grub_linux_prot_size)... to here.
21700 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
21701 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
21702 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
21703 * kern/i386/loader.S (grub_linux_real_addr)... to here.
21704 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
21705 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
21706 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
21707 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
21708 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
21709 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
21710 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
21711 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
21712
21713 * kern/i386/realmode.S: New file.
21714
21715 * kern/i386/pc/startup.S (protstack): Moved from here ...
21716 * kern/i386/realmode.S (protstack)... to here.
21717 * kern/i386/pc/startup.S (gdt): Moved from here ...
21718 * kern/i386/realmode.S (gdt)... to here.
21719 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
21720 * kern/i386/realmode.S (prot_to_real)... to here.
21721
21722 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
21723 `kern/i386/realmode.S'.
21724
825fc8fd 217252007-10-17 Robert Millan <rmh@aybabtu.com>
21726
21727 * include/grub/i386/loader.h: New file.
21728
21729 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
21730 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
21731 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
21732 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
21733 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
21734 * include/grub/i386/loader.h (grub_linux_prot_size)
21735 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
21736 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
21737 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
21738 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
21739
21740 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
21741
e179b2f4 217422007-10-15 Robert Millan <rmh@aybabtu.com>
21743
21744 * normal/misc.c (grub_normal_print_device_info): Do not probe for
21745 filesystem when dev->disk is unset.
21746 Do probe for filesystem even when dev->disk->has_partitions is set.
21747 In case a filesystem is found, always report it.
21748 In case it isn't, if dev->disk->has_partitions is set, report that
21749 a partition table was found instead of reporting that no filesystem
21750 could be identified.
21751
5db82af6 217522007-10-12 Robert Millan <rmh@aybabtu.com>
21753
21754 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
21755 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
21756
68f6ac74 21757 * include/grub/types.h (grub_host_to_target16): New macro.
21758 (grub_host_to_target32): Likewise.
21759 (grub_host_to_target64): Likewise.
21760 (grub_target_to_host16): Likewise.
21761 (grub_target_to_host32): Likewise.
21762 (grub_target_to_host64): Likewise.
5db82af6 21763
21764 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
21765 Renamed from to ...
21766 (GRUB_MOD_ALIGN): ...this. Update all users.
21767
68f6ac74 21768 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
21769 grub_host_to_target32.
21770 Replace grub_be_to_cpu32 with grub_target_to_host32.
21771 (load_modules): Likewise.
21772 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
21773 Replace grub_be_to_cpu32 with grub_target_to_host32.
21774 Replace grub_cpu_to_be16 with grub_host_to_target16.
21775 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 21776
3cf497cc 217772007-10-12 Robert Millan <rmh@aybabtu.com>
21778
21779 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
21780 * util/elf/grub-mkimage.c: ... here.
21781
21782 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
21783 `util/powerpc/ieee1275/grub-mkimage.c'.
21784
c8cc3692 217852007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 21786
c8cc3692 21787 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
21788 and make it easier to figure out.
21789 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
21790 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
21791 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
21792 leave us with less than HEAP_MIN_SIZE total heap.
21793 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 21794
5c58b791 217952007-10-03 Robert Millan <rmh@aybabtu.com>
21796
21797 * include/grub/i386/io.h: New file.
21798 * commands/i386/pc/play.c (inb): Removed.
21799 (outb): Removed.
21800 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21801 with grub_outb().
afcd2ef8 21802 * term/i386/pc/serial.c (inb): Removed.
21803 (outb): Removed.
21804 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21805 with grub_outb().
21806 * term/i386/pc/vga.c (inb): Removed.
21807 (outb): Removed.
21808 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21809 with grub_outb().
5c58b791 21810
1a477ed6 218112007-10-02 Robert Millan <rmh@aybabtu.com>
21812
21813 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
21814 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21815 Reported by Marcin Kurek.
21816
6b5d80fa 218172007-09-07 Robert Millan <rmh@aybabtu.com>
21818
21819 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
21820 SmartFirmware version updates (as released by Sven Luther), and avoid
21821 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
21822 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
21823 known broken.
21824
5618afbf 218252007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21826
21827 From Hitoshi Ozeki:
21828 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
21829 when merging two regions.
21830
6139dcd9 218312007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21832
508e39ee 21833 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
21834 * normal/completion.c (grub_normal_do_completion): Likewise.
21835 Reported by Hitoshi Ozeki.
21836
218372007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 21838
6139dcd9 21839 Do not use devices at boot in chainloading.
f19dbdb7 21840
6139dcd9 21841 * loader/i386/pc/chainloader.c (boot_drive): New variable.
21842 (boot_part_addr): Likewise.
21843 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
21844 with BOOT_DRIVE and BOOT_PART_ADDR.
21845 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
21846 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
21847
38da6516 218482007-08-29 Robert Millan <rmh@aybabtu.com>
21849
21850 Patch from Simon Peter <dn.tlp@gmx.net>:
21851 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
21852 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
21853 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
21854 util/i386/pc/grub-setup.c_DEPENDENCIES.
21855 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
21856 util/grub-probe.c_DEPENDENCIES.
21857 * conf/powerpc-ieee1275.rmk: Likewise.
21858
29d0928c 218592007-08-28 Robert Millan <rmh@aybabtu.com>
21860
21861 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
21862 to tell grub-mkdevicemap how to name devices.
21863 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
21864 feature).
21865
21866 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
21867 util/i386/get_disk_name.c.
21868 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
21869 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
21870 util/ieee1275/get_disk_name.c.
21871
21872 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
21873
21874 * DISTLIST: Add util/i386/get_disk_name.c and
21875 util/ieee1275/get_disk_name.c.
21876
21877 * util/grub-mkdevicemap.c: Replace device naming logic with
21878 grub_util_get_disk_name() calls.
21879
5a0d3cca 218802007-08-20 Robert Millan <rmh@aybabtu.com>
21881
21882 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
21883 (so that it works for both plural and singular quantities).
21884
8b72db2f 218852007-08-05 Robert Millan <rmh@aybabtu.com>
21886
21887 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
21888 so that [xz] isn't taken into account when determining order.
21889
352466bf 218902007-08-02 Marco Gerards <marco@gnu.org>
21891
21892 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
21893 `include/multiboot2.h', `include/grub/elfload.h',
21894 `include/multiboot.h', `include/grub/multiboot.h',
21895 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
21896 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
21897 `kern/elf.c', `loader/multiboot_loader.c',
21898 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
21899 `loader/i386/pc/multiboot2.c',
21900 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
21901 `util/i386/pc/grub-mkrescue.in'. Remove
21902 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
21903 `include/grub/i386/pc/util/biosdisk.h' and
21904 `include/grub/powerpc/ieee1275/multiboot.h'.
21905
8f096014 219062007-08-02 Bean <bean123ch@gmail.com>
21907
21908 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
21909 (ntfs_mod_SOURCES): New variable.
21910 (ntfs_mod_CFLAGS): Likewise.
21911 (ntfs_mod_LDFLAGS): Likewise.
21912
21913 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
21914 (grub_probe_SOURCES): Likewise.
21915 (grub_emu_SOURCES): Likewise.
21916
21917 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21918 (grub_emu_SOURCES): Likewise.
21919
21920 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21921 (grub_emu_SOURCES): Likewise.
f19dbdb7 21922
8f096014 21923 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
21924
21925 * fs/ntfs.c: New file.
21926
9959f7db 219272007-08-02 Bean <bean123ch@gmail.com>
21928
21929 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
21930
21931 * file.h (grub_file): Likewise.
21932
21933 * fshelp.h (grub_fshelp_read_file): Likewise.
21934
21935 * util/i386/pc/grub-setup.c (setup): Likewise.
21936 (save_first_sector): Likewise.
21937 (save_blocklists): Likewise.
f19dbdb7 21938
9959f7db 21939 * fs/affs.c (grub_affs_read_file): Likewise.
21940
21941 * fs/ext2.c (grub_ext2_read_file): Likewise.
21942
21943 * fs/fat.c (grub_fat_read_data): Likewise.
21944
21945 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
21946
21947 * fs/hfs.c (grub_hfs_read_file): Likewise.
21948
21949 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
21950
21951 * fs/jfs.c (grub_jfs_read_file): Likewise.
21952
21953 * fs/minix.c (grub_minix_read_file): Likewise.
21954
21955 * fs/sfs.c (grub_sfs_read_file): Likewise.
21956
21957 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 21958
9959f7db 21959 * fs/xfs.c (grub_xfs_read_file): Likewise.
21960
21961 * command/blocklist.c (read_blocklist): Likewise.
21962 (print_blocklist): Likewise.
21963
0a203f83 219642007-08-02 Marco Gerards <marco@gnu.org>
21965
21966 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
21967 `util/hostfs.c'.
21968
21969 * disk/host.c: New file.
21970
21971 * util/hostfs.c: Likewise.
21972
21973 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
21974 return `GRUB_ERR_BAD_FS'.
21975 * fs/sfs.c (grub_sfs_mount): Likewise.
21976 * fs/xfs.c (grub_xfs_mount): Likewise.
21977
21978 * include/grub/disk.h (enum grub_disk_dev_id): Add
21979 `GRUB_DISK_DEVICE_HOST_ID'.
21980
21981 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
21982
e5dfe777 219832007-07-24 Jerone Young <jerone@gmail.com>
21984
f19dbdb7 21985 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 21986 modules for compilation.
21987 * conf/powerpc-ieee1275.rmk: Likewise.
21988
21989 * include/multiboot.h: Move multiboot definitions to one file. Rename
21990 many definitions to not get grub specific.
21991 * include/multiboot2.h: Create header with multiboot 2 definitions.
21992 * include/grub/multiboot.h: Header for grub specific function
21993 prototypes and definitions.
21994 * include/grub/multiboot2.h: Likewise.
21995 * include/grub/multiboot_loader.h: Likewise.
21996 * include/grub/i386/pc/multiboot.h: Removed.
21997 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
21998
21999 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
22000 and 2 to allow for one multiboot and module commands.
22001 * loader/multiboot2.c: Add multiboot2 functionality.
22002 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
22003 and definition names.
22004 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
22005 2 functions.
22006 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
22007 ieee1275 specific multiboot2 code.
22008
22009 * kern/i386/pc/startup.S: Change headers and definition names for
22010 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
22011
daf0f0ba 220122007-07-22 Robert Millan <rmh@aybabtu.com>
22013
22014 * geninitheader.sh: Process file specified in first parameter rather
22015 than hardcoding grub_modules_init.lst.
fe6b695a 22016 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 22017 than hardcoding grub_modules_init.h.
22018
22019 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
22020 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
22021 grub_probe_init.[ch] and grub_setup_init.[ch].
22022
22023 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
22024 grub_modules_init.h with grub_emu_init.h.
22025 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
22026 grub_probe_init.[ch] files.
22027 * conf/i386-efi.rmk: Likewise.
22028 * conf/i386-pc.rmk: Likewise.
22029 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
22030 grub_setup_init.[ch] files.
22031
22032 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
22033 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
22034 to initialize modules rather than a list of hardcoded functions.
22035 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
22036 grub_init_all() to initialize modules rather than a list of hardcoded
22037 functions.
22038
54cdc1cc 220392007-07-22 Robert Millan <rmh@aybabtu.com>
22040
22041 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22042 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
22043
ad0686cc 220442007-07-22 Robert Millan <rmh@aybabtu.com>
22045
22046 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
22047 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
22048 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
22049 flag when running on SmartFirmware.
22050 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
22051 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
22052 was set.
22053
22054 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
22055 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
22056 rather than decreasing it.
22057
22058 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
22059 there's not enough space to do it, fail in the same way as when it
22060 can't be done because there are no partitions.
22061
22062 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
22063 when nvsetenv failed.
22064
969c02ec 220652007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
22066
22067 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
22068 because this rule is automatically generated.
22069 (grub-mkrescue): Removed for the same reason as above.
22070
5a79f472 220712007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
22072
22073 Migrate to GNU General Public License Version 3.
f19dbdb7 22074
5a79f472 22075 * COPYING: Replaced with the plain text version of GPLv3.
22076
22077 * config.guess: Updated from gnulib.
22078 * config.sub: Likewise.
22079
22080 * geninit.sh: Output a GPLv3 copyright notice.
22081 * geninitheader.sh: Likewise.
22082 * genmodsrc.sh: Likewise.
22083 * gensymlist.sh.in: Likewise.
22084
22085 * boot/i386/pc/boot.S: Upgraded to GPLv3.
22086 * boot/i386/pc/diskboot.S: Likewise.
22087 * boot/i386/pc/pxeboot.S: Likewise.
22088 * commands/blocklist.c: Likewise.
22089 * commands/boot.c: Likewise.
22090 * commands/cat.c: Likewise.
22091 * commands/cmp.c: Likewise.
22092 * commands/configfile.c: Likewise.
22093 * commands/echo.c: Likewise.
22094 * commands/help.c: Likewise.
22095 * commands/ls.c: Likewise.
22096 * commands/search.c: Likewise.
22097 * commands/terminal.c: Likewise.
22098 * commands/test.c: Likewise.
22099 * commands/videotest.c: Likewise.
22100 * commands/i386/cpuid.c: Likewise.
22101 * commands/i386/pc/halt.c: Likewise.
22102 * commands/i386/pc/play.c: Likewise.
22103 * commands/i386/pc/reboot.c: Likewise.
22104 * commands/i386/pc/vbeinfo.c: Likewise.
22105 * commands/i386/pc/vbetest.c: Likewise.
22106 * commands/ieee1275/halt.c: Likewise.
22107 * commands/ieee1275/reboot.c: Likewise.
22108 * commands/ieee1275/suspend.c: Likewise.
22109 * disk/loopback.c: Likewise.
22110 * disk/lvm.c: Likewise.
22111 * disk/raid.c: Likewise.
22112 * disk/efi/efidisk.c: Likewise.
22113 * disk/i386/pc/biosdisk.c: Likewise.
22114 * disk/ieee1275/ofdisk.c: Likewise.
22115 * font/manager.c: Likewise.
22116 * fs/affs.c: Likewise.
22117 * fs/ext2.c: Likewise.
22118 * fs/fat.c: Likewise.
22119 * fs/fshelp.c: Likewise.
22120 * fs/hfs.c: Likewise.
22121 * fs/hfsplus.c: Likewise.
22122 * fs/iso9660.c: Likewise.
22123 * fs/jfs.c: Likewise.
22124 * fs/minix.c: Likewise.
22125 * fs/sfs.c: Likewise.
22126 * fs/ufs.c: Likewise.
22127 * fs/xfs.c: Likewise.
22128 * hello/hello.c: Likewise.
22129 * include/grub/acorn_filecore.h: Likewise.
22130 * include/grub/arg.h: Likewise.
22131 * include/grub/bitmap.h: Likewise.
22132 * include/grub/boot.h: Likewise.
22133 * include/grub/cache.h: Likewise.
22134 * include/grub/device.h: Likewise.
22135 * include/grub/disk.h: Likewise.
22136 * include/grub/dl.h: Likewise.
22137 * include/grub/elfload.h: Likewise.
22138 * include/grub/env.h: Likewise.
22139 * include/grub/err.h: Likewise.
22140 * include/grub/file.h: Likewise.
22141 * include/grub/font.h: Likewise.
22142 * include/grub/fs.h: Likewise.
22143 * include/grub/fshelp.h: Likewise.
22144 * include/grub/gzio.h: Likewise.
22145 * include/grub/hfs.h: Likewise.
22146 * include/grub/kernel.h: Likewise.
22147 * include/grub/loader.h: Likewise.
22148 * include/grub/lvm.h: Likewise.
22149 * include/grub/misc.h: Likewise.
22150 * include/grub/mm.h: Likewise.
22151 * include/grub/net.h: Likewise.
22152 * include/grub/normal.h: Likewise.
22153 * include/grub/parser.h: Likewise.
22154 * include/grub/partition.h: Likewise.
22155 * include/grub/pc_partition.h: Likewise.
22156 * include/grub/raid.h: Likewise.
22157 * include/grub/rescue.h: Likewise.
22158 * include/grub/script.h: Likewise.
22159 * include/grub/setjmp.h: Likewise.
22160 * include/grub/symbol.h: Likewise.
22161 * include/grub/term.h: Likewise.
22162 * include/grub/terminfo.h: Likewise.
22163 * include/grub/tparm.h: Likewise.
22164 * include/grub/types.h: Likewise.
22165 * include/grub/video.h: Likewise.
22166 * include/grub/efi/api.h: Likewise.
22167 * include/grub/efi/chainloader.h: Likewise.
22168 * include/grub/efi/console.h: Likewise.
22169 * include/grub/efi/console_control.h: Likewise.
22170 * include/grub/efi/disk.h: Likewise.
22171 * include/grub/efi/efi.h: Likewise.
22172 * include/grub/efi/pe32.h: Likewise.
22173 * include/grub/efi/time.h: Likewise.
22174 * include/grub/i386/linux.h: Likewise.
22175 * include/grub/i386/setjmp.h: Likewise.
22176 * include/grub/i386/types.h: Likewise.
22177 * include/grub/i386/efi/kernel.h: Likewise.
22178 * include/grub/i386/efi/loader.h: Likewise.
22179 * include/grub/i386/efi/time.h: Likewise.
22180 * include/grub/i386/pc/biosdisk.h: Likewise.
22181 * include/grub/i386/pc/boot.h: Likewise.
22182 * include/grub/i386/pc/chainloader.h: Likewise.
22183 * include/grub/i386/pc/console.h: Likewise.
22184 * include/grub/i386/pc/init.h: Likewise.
22185 * include/grub/i386/pc/kernel.h: Likewise.
22186 * include/grub/i386/pc/loader.h: Likewise.
22187 * include/grub/i386/pc/memory.h: Likewise.
22188 * include/grub/i386/pc/multiboot.h: Likewise.
22189 * include/grub/i386/pc/serial.h: Likewise.
22190 * include/grub/i386/pc/time.h: Likewise.
22191 * include/grub/i386/pc/vbe.h: Likewise.
22192 * include/grub/i386/pc/vbeblit.h: Likewise.
22193 * include/grub/i386/pc/vbefill.h: Likewise.
22194 * include/grub/i386/pc/vbeutil.h: Likewise.
22195 * include/grub/i386/pc/vga.h: Likewise.
22196 * include/grub/ieee1275/ieee1275.h: Likewise.
22197 * include/grub/ieee1275/ofdisk.h: Likewise.
22198 * include/grub/powerpc/libgcc.h: Likewise.
22199 * include/grub/powerpc/setjmp.h: Likewise.
22200 * include/grub/powerpc/types.h: Likewise.
22201 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
22202 * include/grub/powerpc/ieee1275/console.h: Likewise.
22203 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
22204 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
22205 * include/grub/powerpc/ieee1275/loader.h: Likewise.
22206 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
22207 * include/grub/powerpc/ieee1275/time.h: Likewise.
22208 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
22209 * include/grub/sparc64/libgcc.h: Likewise.
22210 * include/grub/sparc64/setjmp.h: Likewise.
22211 * include/grub/sparc64/types.h: Likewise.
22212 * include/grub/sparc64/ieee1275/console.h: Likewise.
22213 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
22214 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22215 * include/grub/sparc64/ieee1275/time.h: Likewise.
22216 * include/grub/util/biosdisk.h: Likewise.
22217 * include/grub/util/getroot.h: Likewise.
22218 * include/grub/util/lvm.h: Likewise.
22219 * include/grub/util/misc.h: Likewise.
22220 * include/grub/util/raid.h: Likewise.
22221 * include/grub/util/resolve.h: Likewise.
22222 * io/gzio.c: Likewise.
22223 * kern/device.c: Likewise.
22224 * kern/disk.c: Likewise.
22225 * kern/dl.c: Likewise.
22226 * kern/elf.c: Likewise.
22227 * kern/env.c: Likewise.
22228 * kern/err.c: Likewise.
22229 * kern/file.c: Likewise.
22230 * kern/fs.c: Likewise.
22231 * kern/loader.c: Likewise.
22232 * kern/main.c: Likewise.
22233 * kern/misc.c: Likewise.
22234 * kern/mm.c: Likewise.
22235 * kern/parser.c: Likewise.
22236 * kern/partition.c: Likewise.
22237 * kern/rescue.c: Likewise.
22238 * kern/term.c: Likewise.
22239 * kern/efi/efi.c: Likewise.
22240 * kern/efi/init.c: Likewise.
22241 * kern/efi/mm.c: Likewise.
22242 * kern/i386/dl.c: Likewise.
22243 * kern/i386/efi/init.c: Likewise.
22244 * kern/i386/efi/startup.S: Likewise.
22245 * kern/i386/pc/init.c: Likewise.
22246 * kern/i386/pc/lzo1x.S: Likewise.
22247 * kern/i386/pc/startup.S: Likewise.
22248 * kern/ieee1275/ieee1275.c: Likewise.
22249 * kern/powerpc/cache.S: Likewise.
22250 * kern/powerpc/dl.c: Likewise.
22251 * kern/powerpc/ieee1275/cmain.c: Likewise.
22252 * kern/powerpc/ieee1275/crt0.S: Likewise.
22253 * kern/powerpc/ieee1275/init.c: Likewise.
22254 * kern/powerpc/ieee1275/openfw.c: Likewise.
22255 * kern/sparc64/cache.S: Likewise.
22256 * kern/sparc64/dl.c: Likewise.
22257 * kern/sparc64/ieee1275/init.c: Likewise.
22258 * kern/sparc64/ieee1275/openfw.c: Likewise.
22259 * loader/efi/chainloader.c: Likewise.
22260 * loader/efi/chainloader_normal.c: Likewise.
22261 * loader/i386/efi/linux.c: Likewise.
22262 * loader/i386/efi/linux_normal.c: Likewise.
22263 * loader/i386/pc/chainloader.c: Likewise.
22264 * loader/i386/pc/chainloader_normal.c: Likewise.
22265 * loader/i386/pc/linux.c: Likewise.
22266 * loader/i386/pc/linux_normal.c: Likewise.
22267 * loader/i386/pc/multiboot.c: Likewise.
22268 * loader/i386/pc/multiboot_normal.c: Likewise.
22269 * loader/powerpc/ieee1275/linux.c: Likewise.
22270 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
22271 * normal/arg.c: Likewise.
22272 * normal/cmdline.c: Likewise.
22273 * normal/command.c: Likewise.
22274 * normal/completion.c: Likewise.
22275 * normal/execute.c: Likewise.
22276 * normal/function.c: Likewise.
22277 * normal/lexer.c: Likewise.
22278 * normal/main.c: Likewise.
22279 * normal/menu.c: Likewise.
22280 * normal/menu_entry.c: Likewise.
22281 * normal/misc.c: Likewise.
22282 * normal/parser.y: Likewise.
22283 * normal/script.c: Likewise.
22284 * normal/i386/setjmp.S: Likewise.
22285 * normal/powerpc/setjmp.S: Likewise.
22286 * normal/sparc64/setjmp.S: Likewise.
22287 * partmap/acorn.c: Likewise.
22288 * partmap/amiga.c: Likewise.
22289 * partmap/apple.c: Likewise.
22290 * partmap/gpt.c: Likewise.
22291 * partmap/pc.c: Likewise.
22292 * partmap/sun.c: Likewise.
22293 * term/gfxterm.c: Likewise.
22294 * term/terminfo.c: Likewise.
22295 * term/efi/console.c: Likewise.
22296 * term/i386/pc/console.c: Likewise.
22297 * term/i386/pc/serial.c: Likewise.
22298 * term/i386/pc/vesafb.c: Likewise.
22299 * term/i386/pc/vga.c: Likewise.
22300 * term/ieee1275/ofconsole.c: Likewise.
22301 * util/biosdisk.c: Likewise.
22302 * util/console.c: Likewise.
22303 * util/genmoddep.c: Likewise.
22304 * util/getroot.c: Likewise.
22305 * util/grub-emu.c: Likewise.
22306 * util/grub-mkdevicemap.c: Likewise.
22307 * util/grub-probe.c: Likewise.
22308 * util/lvm.c: Likewise.
22309 * util/misc.c: Likewise.
22310 * util/raid.c: Likewise.
22311 * util/resolve.c: Likewise.
22312 * util/update-grub.in: Likewise.
22313 * util/update-grub_lib.in: Likewise.
22314 * util/grub.d/00_header.in: Likewise.
22315 * util/grub.d/10_hurd.in: Likewise.
22316 * util/grub.d/10_linux.in: Likewise.
22317 * util/i386/efi/grub-install.in: Likewise.
22318 * util/i386/efi/grub-mkimage.c: Likewise.
22319 * util/i386/pc/grub-install.in: Likewise.
22320 * util/i386/pc/grub-mkimage.c: Likewise.
22321 * util/i386/pc/grub-mkrescue.in: Likewise.
22322 * util/i386/pc/grub-setup.c: Likewise.
22323 * util/i386/pc/misc.c: Likewise.
22324 * util/powerpc/ieee1275/grub-install.in: Likewise.
22325 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
22326 * util/powerpc/ieee1275/misc.c: Likewise.
22327 * video/bitmap.c: Likewise.
22328 * video/video.c: Likewise.
22329 * video/i386/pc/vbe.c: Likewise.
22330 * video/i386/pc/vbeblit.c: Likewise.
22331 * video/i386/pc/vbefill.c: Likewise.
22332 * video/i386/pc/vbeutil.c: Likewise.
22333 * video/readers/tga.c: Likewise.
22334
3572d015 223352007-07-02 Robert Millan <rmh@aybabtu.com>
22336
22337 * conf/i386-efi.rmk: Replace obsolete reference to
22338 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
22339 with util/getroot.c.
22340 * conf/powerpc-ieee1275.rmk: Likewise.
22341 * conf/sparc64-ieee1275.rmk: Likewise.
22342
22343 * util/grub-emu.c (main): Fix unchecked pointer handling.
22344
2c2a681b 223452007-07-02 Robert Millan <rmh@aybabtu.com>
22346
22347 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
22348 invocation to fail, in order to support partition-less media.
22349
22350 * util/i386/pc/grub-install.in: Likewise.
22351
22352 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
22353 which fs or partmap modules are needed (akin to its sister scripts).
22354
22355 Also use grub-probe to get rid of unportable /proc/mounts check.
22356
22357 Print the same informational message that the other scripts do, before
fe6b695a 22358 exiting.
2c2a681b 22359
6193defe 223602007-06-23 Robert Millan <rmh@aybabtu.com>
22361
fe6b695a 22362 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 22363 a font file can be found and, if so, echo the GRUB path to it.
22364
22365 * util/update-grub.in: Handle multiple terminals depending on user
22366 input, platform availability and font file presence. Propagate
22367 variables of our findings to /etc/grub.d/ children.
22368
22369 * util/grub.d/00_header.in: Handle multiple terminals, based on
22370 environment setup by update-grub.
22371
eface1dc 223722007-06-23 Robert Millan <rmh@aybabtu.com>
22373
ba50d28f 22374 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 22375
bf697e28 223762007-06-21 Robert Millan <rmh@aybabtu.com>
22377
22378 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
22379 indicate end of data section in kernel image.
22380 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
22381 GRUB_KERNEL_MACHINE_DATA_END.
22382
22383 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
22384 space for it.
22385 * kern/i386/efi/startup.S: Likewise.
22386
22387 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
22388 during image generation. Implement --prefix option to override this
22389 patch.
22390 * util/i386/efi/grub-mkimage.c: Likewise.
22391
22392 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
22393 code to make path relative to its root into a separate function.
22394
22395 * util/i386/pc/grub-install.in: Use newly provided
22396 make_system_path_relative_to_its_root() to convert ${grubdir}, then
22397 pass the result to grub-install --prefix.
22398
baa574b4 223992007-06-13 Robert Millan <rmh@aybabtu.com>
22400
22401 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
22402 DEFAULT_DEVICE_MAP.
22403 * util/grub-emu.c: Use above definitions from misc.h instead of
22404 defining them.
22405 * util/grub-mkdevicemap.c: Likewise.
22406 * util/i386/pc/grub-setup.c: Likewise.
22407 * util/grub-probe.c: Likewise.
22408 (probe): Abort with grub_util_error() when either
22409 grub_guess_root_device or grub_util_get_grub_dev fails.
22410
0215dcbf 224112007-06-12 Robert Millan <rmh@aybabtu.com>
22412
22413 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
22414 "pager" assignment.
22415 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
22416 "pcdata".
22417 * util/grub-probe.c (probe): Likewise for "drive_name".
22418
8af2ab7b 224192007-06-11 Robert Millan <rmh@aybabtu.com>
22420
22421 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
22422 not just the cdrom one.
22423
59d31694 224242007-06-11 Robert Millan <rmh@aybabtu.com>
22425
22426 * util/i386/pc/grub-mkrescue.in: Add "set -e".
22427 Add --pkglibdir=DIR option to override pkglibdir.
22428 Mention --image-type=TYPE in help output.
22429 Fix --grub-mkimage (it was a no-op).
fe6b695a 22430 Abort gracefully when no parameter is given.
59d31694 22431
7ee367e4 224322007-06-11 Robert Millan <rmh@aybabtu.com>
22433
22434 * util/i386/pc/grub-mkrescue.in: New file.
22435 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
22436 * Makefile.in: Handle bin_SCRIPTS.
22437
29b0ed46 224382007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
22439
22440 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
22441 list of video modes.
22442
c0f90770 224432007-06-06 Robert Millan <rmh@aybabtu.com>
22444
22445 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
22446 file doesn't exist, or if it is in a filesystem grub can't read.
22447
22448 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
22449 not abort if GRUB_DRIVE could not be defined. Rearrange generated
22450 header comment to fit in 80 columns when the variables are resolved.
22451
22452 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
22453 could be identified by update-grub. Remove redundant check for
fe6b695a 22454 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 22455 handles that).
22456
fb36dc26 224572007-06-04 Robert Millan <rmh@aybabtu.com>
22458
22459 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
22460
22461 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
22462
22463 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
22464
0c68c93e 224652007-06-04 Robert Millan <rmh@aybabtu.com>
22466
22467 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
22468
22469 * include/grub/partition.h: Declare grub_apple_partition_map_init and
22470 grub_apple_partition_map_fini.
22471
22472 * util/biosdisk.c
22473 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
22474 to access >2 TiB disks).
22475
22476 Print disk->total_sectors with %llu instead of %lu, since this
22477 variable is always 64-bit (prevents wrong disk size from being displayed
22478 on either >2 TiB disk or big-endian CPU).
22479
22480 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
22481 into a generic case that supports all (sane) partition maps.
22482
22483 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
22484 breaks big-endian.
22485
22486 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
22487 and grub_apple_partition_map_fini() after that.
22488
0f23eb74 224892007-06-01 Robert Millan <rmh@aybabtu.com>
22490
22491 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
22492
22493 * util/grub.d/00_header.in: Only enable gfxterm when
22494 convert_system_path_to_grub_path() succeeds.
22495
42c71976 224962007-05-20 Robert Millan <rmh@aybabtu.com>
22497
22498 * util/update-grub_lib.in: New file.
22499 * DISTLIST: Add update-grub_lib.in.
22500 * conf/common.rmk: Generate update-grub_lib and install it in
22501 $(lib_DATA).
22502 * Makefile.in: Add install routine for $(lib_DATA).
22503
22504 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
22505 function provided by update-grub_lib to support arbitrary paths of
22506 unifont.pff.
22507 * util/update-grub.in: Use convert_system_path_to_grub_path() to
22508 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
22509
5beb2291 225102007-05-19 Robert Millan <rmh@aybabtu.com>
22511
22512 * commands/i386/cpuid.c: New module.
22513 * DISTLIST: Add it.
22514 * conf/i386-efi.rmk: Enable cpuid.mod.
22515 * conf/i386-pc.rmk: Likewise.
22516
7262eca1 225172007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
22518
22519 * kern/disk.c (grub_disk_read): Check return value of
22520 grub_realloc().
22521
260ba823 225222007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
22523
22524 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
22525 arrays.
22526 * disk/raid.c (grub_raid_open): Likewise.
22527
1ecb6cf2 225282007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
22529
22530 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
22531 stack instead of on the heap.
22532
22533 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
22534 before doing a read on it.
22535
22536 * configure.ac: Only use -fno-stack-protector for the target
22537 environment.
f19dbdb7 22538
21c8cbb1 225392007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
22540
22541 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
22542 __attribute_ ((unused)) to mode_type argument.
22543
22544 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 22545
21c8cbb1 22546 * kern/misc.c (memcmp): Fix prototype.
22547
22548 * include/grub/partition.h [GRUB_UTIL]
22549 (grub_gpt_partition_map_init): Add prototype.
22550 (grub_gpt_partition_map_fini): Likewise.
22551
22552 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
22553 at the right place.
22554
22555 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
22556 (grub_fat_read_data): Likewise.
22557 (grub_fat_find_dir): Likewise.
22558
22559 * font/manager.c (find_glyph): Make table a const.
22560 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 22561
849d55d3 225622007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
22563
22564 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
22565 code, first search for device in /dev/mapper, then in /dev.
22566 (grub_util_get_grub_dev): New function.
22567 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
22568 prototype.
22569 * util/grub-probe.c (probe): Remove check for RAID, call
22570 grub_util_get_grub_dev() instead of
22571 grub_util_biosdisk_get_grub_dev().
22572 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
22573 grub_util_biosdisk_get_grub_dev().
22574 * util/i386/pc/grub-setup.c (main): Likewise.
22575
8fff7c2f 225762007-05-16 Robert Millan <rmh@aybabtu.com>
22577
22578 * DISTLIST: Update for the latest changes.
22579 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
22580 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
22581 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
22582 grub/util/biosdisk.h.
22583 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
22584 grub/util/biosdisk.h.
22585
48e12b52 225862007-05-16 Robert Millan <rmh@aybabtu.com>
22587
22588 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
22589
46b9d128 225902007-05-16 Robert Millan <rmh@aybabtu.com>
22591
22592 * util/i386/efi/grub-install.in: New.
22593 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
22594 newly added grub-install.
22595 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
22596 include.
22597 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
22598 grub/util/biosdisk.h.
22599 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
22600 grub/util/biosdisk.h.
22601
2d1a40a9 226022007-05-16 Robert Millan <rmh@aybabtu.com>
22603
22604 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
22605 * include/grub/util/biosdisk.h: ... here.
22606 * util/i386/pc/biosdisk.c: Moved to ...
22607 * util/biosdisk.c: ... here.
22608 * util/i386/pc/getroot.c: Moved to ...
22609 * util/getroot.c: ... here.
22610 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
22611 * util/grub-mkdevicemap.c: ... here.
22612 * util/i386/pc/grub-probe.c: Moved to ...
22613 * util/grub-probe.c: ... here.
22614
9e26e3bc 226152007-05-15 Robert Millan <rmh@aybabtu.com>
22616
22617 * util/update-grub.in: Remove duplicated line in grub.cfg header
22618 message.
22619
57f96397 226202007-05-13 Robert Millan <rmh@aybabtu.com>
22621
22622 * util/update-grub.in: Fix a few assumptions about the devices holding
22623 /, /boot and /boot/grub being the same.
22624 * util/grub.d/00_header.in: Likewise.
22625 * util/grub.d/10_hurd.in: Likewise.
22626 * util/grub.d/10_linux.in: Likewise.
22627
22628 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
22629 patterns. Use that to define the `.old' suffix as older than `'.
22630
22631 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
22632
22633 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
22634 the grub.cfg header message.
22635
2e610d62 226362007-05-11 Robert Millan <rmh@aybabtu.com>
22637
22638 * util/update-grub.in: Create device.map if it doesn't already exist,
22639 before attempting to run grub-probe.
22640 Check for grub-probe and grub-mkdevicemap with the same code
22641 grub-install is using.
22642 Remove test mode.
22643
3f6a10ef 226442007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
22645
22646 * Makefile.in: Add the datarootdir autoconf variable.
22647
02e7b75e 226482007-05-09 Robert Millan <rmh@aybabtu.com>
22649
22650 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 22651 fail gracefully if dev->disk->partition == NULL.
02e7b75e 22652
75f396cc 226532007-05-07 Robert Millan <rmh@aybabtu.com>
22654
22655 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
22656 determine partition map module.
22657 * util/i386/pc/grub-install.in: Use this feature to decide which
22658 partition module to load, instead of hardcoding pc and gpt.
22659
da65cb36 226602007-05-07 Robert Millan <rmh@aybabtu.com>
22661
22662 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
22663 source directory differs from build directory.
22664
b57d6a91 226652007-05-05 Robert Millan <rmh@aybabtu.com>
22666
22667 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
22668 initialisation.
22669
509d00f1 226702007-05-05 Robert Millan <rmh@aybabtu.com>
22671
22672 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
22673
c48f23ef 226742007-05-05 Robert Millan <rmh@aybabtu.com>
22675
22676 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
22677 command-line arguments via ${GRUB_CMDLINE_LINUX}.
22678
20b97658 226792007-05-05 Robert Millan <rmh@aybabtu.com>
22680
22681 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
22682 (grub_probe_SOURCES): Likewise.
22683 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
22684 GPT and initialize dos_part and bsd_part accordingly.
22685 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
22686 install_bsd_part.
22687 (main): Activate gpt module for use during partition identification,
22688 and deactivate it afterwards.
22689 * util/i386/pc/grub-install.in: Add gpt module to core.img.
22690 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
22691 partition identification, and deactivate it afterwards.
22692
99123174 226932007-05-05 Robert Millan <rmh@aybabtu.com>
22694
22695 * term/i386/pc/console.c (grub_console_fini): Call
22696 grub_term_set_current() before grub_term_unregister().
22697
ebd97f6e 226982007-05-04 Robert Millan <rmh@aybabtu.com>
22699
22700 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
22701 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
22702 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
22703 and update-grub_DATA.
22704 * conf/common.rmk: Build and install update-grub components.
22705 * conf/common.mk: Regenerate.
22706 * util/update-grub.in: New. Core of update-grub.
22707 * util/grub.d/00_header.in: New. Generates grub.cfg header.
22708 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
22709 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
22710 * util/grub.d/README: New. Document grub.d directory layout.
22711
b06a264d 227122007-05-01 Robert Millan <rmh@aybabtu.com>
22713
22714 * util/grub-emu.c: Move initialization functions
22715 grub_util_biosdisk_init() and grub_init_all() before
22716 grub_util_biosdisk_get_grub_dev(), which relies on them.
22717
41f0050e 227182007-04-19 Robert Millan <rmh@aybabtu.com>
22719
22720 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
22721 it is used later.
22722
04582bb3 227232007-04-18 Jerone Young <jerone@gmail.com>
22724
f19dbdb7 22725 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 22726 stanza.
22727
08db4632 227282007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 22729
08db4632 22730 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
22731 continue on and look for device node with real device name.
22732
801b76be 227332007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 22734
fe6b695a 22735 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 22736 ability.
22737 * Makefile.in: Add autoconf package transformation code.
22738 * util/i386/pc/grub-install.in: Likewise.
22739 * util/powerpc/ieee1275/grub-install.in: Likewise.
22740
6795c4e1 227412007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
22742
22743 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
22744 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
22745 (EXT2_REVISION): Likewise.
22746 (EXT2_INODE_SIZE): Likewise.
22747 (struct grub_ext2_block_group): Added a missing member
22748 "used_dirs".
22749 (grub_ext2_read_inode): Divide by the inode size in a superblock
22750 instead of 128 to obtain INODES_PER_BLOCK.
22751 Use the macro EXT2_INODE_SIZE instead of directly using
22752 SBLOCK->INODE_SIZE.
22753
d70af616 227542007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
22755
22756 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
22757 superblock instead of the structure size to compute an
22758 offset. This fixes the problem that GRUB could not read a
22759 filesystem when inode size is different from 128-byte.
22760
3b801603 227612007-03-05 Marco Gerards <marco@gnu.org>
22762
22763 * normal/main.c (read_config_file): When "menu" is not set, create
22764 an initial context.
22765
4785bfe4 227662007-02-21 Hollis Blanchard <hollis@penguinppc.org>
22767
22768 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
22769 (HEAP_LIMIT): New macro.
22770 (grub_claim_heap): Claim memory up to `heaplimit'.
22771
a0cbb023 227722007-02-21 Hollis Blanchard <hollis@penguinppc.org>
22773
22774 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
22775 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
22776 (_start): Likewise.
22777 (grub_arch_modules_addr): Return address after `_end'.
22778 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
22779 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
22780 (add_segments): Calculate `_end' from phdr size and location.
22781 (ALIGN_UP): Moved to ...
22782 * include/grub/misc.h: here.
22783 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
22784 New macro.
22785 (GRUB_IEEE1275_MODULE_BASE): Removed.
22786
fd7d8eba 227872007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22788
22789 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
22790 loop boundary.
22791
9b09e6fc 227922007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22793
22794 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
22795 All users updated.
22796 (grub_elf64_load_hook_t): Likewise.
22797 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
22798 debug output.
22799
3ce27299 228002007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22801
22802 * kern/mm.c: Update copyright.
22803 (grub_mm_debug): Correct syntax error.
22804 (grub_mm_dump_free): New function.
22805 (grub_debug_free): Call `grub_free'.
22806 * include/grub/mm.h: Update copyright.
22807 (grub_mm_dump_free): Add declaration.
22808
077d5fee 228092007-02-12 Hollis Blanchard <hollis@penguinppc.org>
22810
22811 * include/grub/ieee1275/ieee1275.h: Update copyright.
22812 * kern/powerpc/ieee1275/init.c: Likewise.
22813 * kern/powerpc/ieee1275/openfw.c: Likewise.
22814
22815 * loader/powerpc/ieee1275/linux.c: Likewise.
22816 * include/grub/elfload.h: Likewise.
22817 * kern/elf.c: Likewise.
22818 (grub_elf32_load): Pass `base' and `size' parameters. Update all
22819 callers.
22820 (grub_elf64_load): Likewise.
22821 (grub_elf32_load_segment): Move to a nested function.
22822 (grub_elf64_load_segment): Likewise.
22823
dc946850 228242007-02-12 Hollis Blanchard <hollis@penguinppc.org>
22825
22826 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
22827 prototype.
22828 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
22829 (grub_heap_len): Likewise.
22830 (HEAP_SIZE): New macro.
22831 (grub_claim_heap): New function.
22832 (grub_machine_init): Don't claim heap directly. Call
22833 `grub_claim_heap'.
22834 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
22835 (grub_available_iterate): New function.
22836
baa2a121 228372007-02-03 Thomas Schwinge <tschwinge@gnu.org>
22838
22839 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
22840 * configure.ac: Use it for testing the HOST and TARGET compilers.
22841
4fe9862e 228422006-12-13 Thomas Schwinge <tschwinge@gnu.org>
22843
22844 * Makefile.in (enable_grub_emu): New variable.
22845 * configure.ac (--enable-grub-emu): New option.
22846 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
22847 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
22848 * conf/i386-pc.rmk: Likewise.
22849 * conf/powerpc-ieee1275.rmk: Likewise.
22850 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
22851
a8aa5762 228522006-12-12 Marco Gerards <marco@gnu.org>
22853
22854 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
22855
22856 * kern/env.c (grub_env_unset): Don't free the member `value' when
22857 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
22858 pointer.
22859
22860 * normal/main.c (current_menu): Removed.
22861 (free_menu): Unset the `menu' environment variable.
22862 (grub_normal_menu_addentry): Make use of the environment variable
22863 `menu', instead of using the global `current_menu'. Allocate
22864 memory for the sourcecode of this entry.
22865 (read_config_file): New argument `nested', changed all callers.
22866 Only in the case of a new context, initialize a new menu. Set the
22867 `menu' environment variable.
22868 (grub_normal_execute): Don't set and unset the environment
22869 variable `menu' here anymore. Only free the menu when leaving the
22870 context.
22871
22872 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
22873 leak.
22874
957b3a3e 228752006-12-11 Marco Gerards <marco@gnu.org>
22876
22877 * normal/menu_entry.c (run): Fix off by one bug so the last line
22878 is executed. Move the loader check to outside the loop.
22879
ef875714 228802006-12-08 Hollis Blanchard <hollis@penguinppc.org>
22881
22882 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
22883
4e739985 228842006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
22885
22886 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
22887 the number of sectors. Reported by Andrey Shuvikov
22888 <mr_hyro@yahoo.com>.
f19dbdb7 22889
790707f2 228902006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
22891
22892 * kern/disk.c (grub_disk_read): When there is a read error, always
22893 try to read only the necessary data.
f19dbdb7 22894
790707f2 22895 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
22896 disk/raid.c.
22897 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
22898 prototype.
22899 [GRUB_UTIL] (grub_raid_fini): Likewise.
22900 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 22901 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 22902 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
22903 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
22904 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
22905 and grub_raid_fini().
f19dbdb7 22906
03e58196 229072006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
22908
22909 * include/grub/types.h (__unused): Rename to UNUSED.
22910 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
22911 (grub_elf64_size): Likewise.
f19dbdb7 22912
ae4f23bf 229132006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22914
22915 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
22916 grub_error_push and grub_error_pop in the error-handling path.
22917 (grub_elf32_load_segment): Only call grub_file_read with non-zero
22918 length.
22919
2166cc83 229202006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22921
22922 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
22923 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22924 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22925 (kernel_elf_SOURCES): Likewise.
22926 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
22927 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
22928 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22929 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22930 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
22931 (elf_mod_SOURCES): New variable.
22932 (elf_mod_CFLAGS): Likewise.
22933 (elf_mod_LDFLAGS): Likewise.
22934 * include/grub/types.h (__unused): New macro.
22935 * include/grub/elfload.h: New file.
22936 * kern/elf.c: Likewise.
22937 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
22938 (ELF32_LOADMASK): New macro.
22939 (ELF64_LOADMASK): Likewise.
22940 (vmlinux): Removed.
22941 (grub_linux_load32): New function.
22942 (grub_linux_load64): Likewise.
22943 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
22944 Use grub_elf_t instead of grub_file_t.
22945
a09d5aa5 229462006-11-02 Hollis Blanchard <hollis@penguinppc.org>
22947
22948 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
22949 `catch_result' to struct set_color_args.
22950
d976fc51 229512006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
22952
22953 * normal/menu.c: Include grub/script.h.
22954 * normal/menu_entry.c: Likewise.
22955 * include/grub/normal.h: Do not include grub/script.h.
22956
67507549 229572006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22958
22959 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
22960
69203a99 229612006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22962
22963 * kern/disk.c (grub_disk_open): Print debug messages when opening a
22964 disk.
22965 (grub_disk_close): Print debug messages when closing a disk.
22966 (grub_disk_read): Print debug messages when disk read fails.
22967 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
22968 filesystem type.
22969 * kern/partition.c: Include misc.h.
22970 (grub_partition_iterate): Print debug messages when detecting
22971 partition type.
22972
e2b8278c 229732006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22974
22975 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
22976 is negative.
22977 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
22978
97b2f2ff 229792006-10-26 Hollis Blanchard <hollis@penguinppc.org>
22980
22981 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
22982 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
22983
6555d655 229842006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
22985
22986 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
22987 instead of sizeof(lv). Patch by Michael Guntsche.
22988
4d42b77f 229892006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
22990
22991 * disk/lvm.c: Rename VGS to VG_LIST.
22992 (grub_lvm_iterate): Change VGS->LV to VG-LV.
22993 (grub_lvm_open): Likewise.
22994 Thanks to Michael Guntsche for finding this bug.
22995
5d74d927 229962006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22997
22998 * configure.ac (AC_INIT): Bumped to 1.95.
22999
a1bb27e4 230002006-10-14 Robert Millan <rmh@aybabtu.com>
23001
23002 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
23003 with "/dev/.static/dev/md".
23004
e0994b8b 230052006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
23006
23007 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
23008 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
23009 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
23010 DRIVE_NAME are always freed.
23011
23012 * util/i386/pc/biosdisk.c (make_device_name): Add one into
23013 DOS_PART, as a DOS partition is counted from one instead of zero
23014 now. Reported by Robert Millan.
23015
ddd5cee9 230162006-10-14 Robert Millan <rmh@aybabtu.com>
23017
23018 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
23019 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
23020 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
23021 string returned by grub_guess_root_device.
23022 * util/i386/pc/grub-setup.c: Likewise.
23023 * util/i386/pc/grub-probefs.c: Likewise.
23024
23025 * util/i386/pc/grub-probefs.c: Rename to ...
23026 * util/i386/pc/grub-probe.c: ... this.
23027 * DISTLIST: Remove grub-probefs, add grub-probe.
23028 * conf/i386-efi.rmk: Likewise.
23029 * conf/i386-pc.rmk: Likewise.
23030 * util/i386/pc/grub-install.in: Likewise.
23031
23032 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
23033 choose which information we want to print.
23034
2b002173 230352006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
23036
23037 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
23038 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
23039 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
23040 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
23041 video/readers/tga.c and video/i386/pc/vbeutil.c.
23042
230432006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
23044
23045 Added support for RAID and LVM.
f19dbdb7 23046
2b002173 23047 * disk/lvm.c: New file.
23048 * disk/raid.c: Likewise.
23049 * include/grub/lvm.h: Likewise.
f19dbdb7 23050 * include/grub/raid.h: Likewise.
2b002173 23051 * include/grub/util/lvm.h: Likewise.
23052 * include/grub/util/raid.h: Likewise.
23053 * util/lvm.c: Likewise.
23054 * util/raid.c: Likewise.
23055
23056 * include/grub/disk.h (grub_disk_dev_id): Add
23057 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
23058 (grub_disk_get_size): New prototype.
23059 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
23060 returns a partition.
23061 (grub_disk_get_size): New function.
f19dbdb7 23062
2b002173 23063 * kern/i386/pc/init.c (make_install_device): Copy the prefix
23064 verbatim if grub_install_dos_part is -2.
23065
23066 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
23067 and LVM devices.
23068
23069 * util/i386/pc/grub-setup.c (setup): New argument
23070 MUST_EMBED. Force embedding of GRUB when the argument is
23071 true. Close FILE before returning.
23072 (main): Add support for RAID and LVM.
f19dbdb7 23073
2b002173 23074 * conf/common.rmk: Add RAID and LVM modules.
23075 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
23076 util/lvm.c.
23077 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
23078
23079 * kern/misc.c (grub_strstr): New function.
23080 * include/grub/misc.h (grub_strstr): New prototype.
23081
050548d0 230822006-10-10 Tristan Gingold <tristan.gingold@bull.net>
23083
23084 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
23085
da849d2d 230862006-10-05 Tristan Gingold <tristan.gingold@bull.net>
23087
23088 * kern/misc.c (grub_strtoull): Guess the base only if not
23089 specified.
23090
97b2f2ff 230912006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 23092
23093 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
23094 PowerMac support.
23095
97b2f2ff 230962006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 23097
23098 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
23099
23100 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
23101 Remove `flags' argument. All callers changed.
23102 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
23103 (IEEE1275_IHANDLE_INVALID): New variable.
23104 (IEEE1275_CELL_INVALID): New variable.
23105 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
23106 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
23107 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
23108 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
23109 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
23110 codes from Open Firmware. All callers updated.
23111 (grub_ieee1275_next_property): Directly return Open Firmware return
23112 code.
23113 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
23114 Standardize error checking from `grub_ieee1275_get_property'.
23115 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
23116 `devalias' to `aliases'. Correct comments. Consolidate error paths.
23117
97b2f2ff 231182006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 23119
23120 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
23121 `instance_to_package_args' to `instance_to_path_args'.
23122
23123 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
23124 `grub_ieee1275_chosen'.
23125
23126 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
23127 `grub_ieee1275_interpret'.
23128
97b2f2ff 231292006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 23130
23131 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
23132
97b2f2ff 231332006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 23134
23135 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
23136 (__cmpdi): Likewise.
23137
23138 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
23139 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
23140 `grub_ssize_t'.
23141
02bb8acc 23142 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 23143
23144 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
23145 to type `grub_ssize_t'.
23146 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
23147
7f9a8531 231482006-09-22 Marco Gerards <marco@gnu.org>
23149
23150 * normal/script.c (grub_script_create_cmdmenu): Skip leading
23151 newlines.
23152
b5ef1102 231532006-09-22 Marco Gerards <marco@gnu.org>
23154
23155 * commands/echo.c: New file.
23156
23157 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
23158
23159 * conf/common.rmk (echo_mod_SOURCES): New variable.
23160 (echo_mod_CFLAGS): Likewise.
23161 (echo_mod_LDFLAGS): Likewise.
23162
2cff3677 231632006-09-22 Marco Gerards <marco@gnu.org>
23164
23165 * normal/main.c (get_line): Malloc memory instead of using
23166 preallocated memory. Removed the arguments `cmdline' and
23167 `max_len'. Updated all callers.
23168
6ba4688b 231692006-09-22 Marco Gerards <marco@gnu.org>
23170
23171 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
23172 (normal_mod_DEPENDENCIES): Likewise.
23173
23174 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
23175 (normal_mod_DEPENDENCIES): Likewise.
23176
23177 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
23178
e02ac02c 231792006-09-22 Johan Rydberg <jrydberg@gnu.org>
23180
23181 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
23182 programs.
23183 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
23184 (normal_mod_DEPENDENCIES): Likewise.
23185 * conf/i386-pc.mk: Regenerate.
23186 * conf/i386-efi.mk: Likewise
23187 * conf/common.mk: Likewise.
23188 * conf/powerpc-ieee1275.mk: Likewise.
23189 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 23190
8d252e44 231912006-09-22 Robert Millan <rmh@aybabtu.com>
23192
23193 Sync with i386 version.
23194 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
23195 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
23196
209bf7ac 231972006-09-21 Robert Millan <rmh@aybabtu.com>
23198
23199 Import from GRUB Legacy (lib/device.c):
23200 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
23201 (init_device_map) [__linux__]: Add support for I2O devices.
23202
6b146090 232032006-09-14 Marco Gerards <marco@gnu.org>
23204
23205 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
23206 `-melf_i386'.
23207
e38600a8 232082006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 23209
23210 * util/i386/pc/grub-install.in: Skip menu.lst when removing
23211 /boot/grub/*.lst.
78fa1790 23212
2952da5d 23213 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 23214
2952da5d 23215 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
23216 before adding it to device.map.
23217
01b82a64 232182006-08-15 Johan Rydberg <jrydberg@gnu.org>
23219
fe6b695a 23220 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 23221 compiles a file; using the -MD option.
23222 * conf/common.mk: Regenerate.
23223 * conf/i386-pc.mk: Likewise.
23224 * conf/i386-efi.mk: Likewise.
23225 * conf/powerpc-ieee1275.mk: Likewise.
23226 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 23227
1064790d 232282006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
23229
23230 Move the prototypes of grub_setjmp and grub_longjmp to
23231 cpu/setjmp.h, so that each architecture may specify different
23232 attributes.
f19dbdb7 23233
1064790d 23234 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
23235 (grub_longjmp): Likewise.
23236 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
23237 (grub_longjmp): Likewise.
23238 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
23239 (grub_longjmp): Likewise.
23240
23241 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
23242 [!GRUB_UTIL] (grub_longjmp): Removed.
23243
29dda3ed 232442006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
23245
23246 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
23247 "color!" method does not return any value.
23248
ad2a06ed 232492006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
23250
23251 * include/grub/bitmap.h: New file.
23252
23253 * include/grub/i386/pc/vbeutil.h: Likewise.
23254
23255 * video/bitmap.c: Likewise.
23256
23257 * video/readers/tga.c: Likewise.
23258
23259 * video/i386/pc/vbeutil.c: Likewise.
23260
23261 * commands/videotest.c: Code cleanup and updated to reflect to new
23262 video API.
23263
23264 * term/gfxterm.c: Likewise.
23265
23266 * video/video.c: Likewise.
23267
23268 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
23269 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
23270 (bitmap_mod_SOURCES): New entry.
23271 (bitmap_mod_CFLAGS): Likewise.
23272 (bitmap_mod_LDFLAGS): Likewise.
23273 (tga_mod_SOURCES): Likewise.
23274 (tga_mod_CFLAGS): Likewise.
23275 (tga_mod_LDFLAGS): Likewise.
23276
23277 * include/grub/video.h (grub_video_blit_operators): New enum type.
23278 (grub_video_render_target): Changed as forward declaration and moved
23279 actual definition to be video driver specific.
23280 (grub_video_adapter.blit_bitmap): Added blitting operator.
23281 (grub_video_adapter.blit_render_target): Likewise.
23282 (grub_video_blit_bitmap): Likewise.
23283 (grub_video_blit_render_target): Likewise.
23284
23285 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
23286 driver specific render target definition.
23287 (grub_video_vbe_map_rgba): Added driver internal helper.
23288 (grub_video_vbe_unmap_color): Updated to use
23289 grub_video_i386_vbeblit_info.
23290 (grub_video_vbe_get_video_ptr): Likewise.
23291
23292 * include/grub/i386/pc/vbeblit.h
23293 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
23294 grub_video_i386_vbeblit_info.
23295 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
23296 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
23297 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
23298 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
23299 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
23300 (grub_video_i386_vbeblit_index_index): Likewise.
23301 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
23302 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
23303 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
23304 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
23305 operator.
23306 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
23307 operator.
23308
23309 * video/i386/pc/vbeblit.c: Updated to reflect changes on
23310 include/grub/i386/pc/vbeblit.h.
23311
23312 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
23313 Updated to use grub_video_i386_vbeblit_info.
23314 (grub_video_i386_vbefill_R8G8B8): Likewise.
23315 (grub_video_i386_vbefill_index): Likewise.
23316 (grub_video_i386_vbefill): Added generic filler.
23317
23318 * video/i386/pc/vbefill.c: Updated to reflect changes on
23319 include/grub/i386/pc/vbefill.h.
23320
23321 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
23322 grub_video_i386_vbeblit_info.
23323 (grub_video_vbe_unmap_color): Likewise.
23324 (grub_video_vbe_blit_glyph): Likewise.
23325 (grub_video_vbe_scroll): Likewise.
23326 (grub_video_vbe_draw_pixel): Removed function.
23327 (grub_video_vbe_get_pixel): Likewise.
23328 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
23329 updated code to use it.
23330 (common_blitter): Added common blitter for render target and bitmap.
23331 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
23332 (grub_video_vbe_blit_render_target): Likewise.
23333
bc8c036d 233342006-07-30 Johan Rydberg <jrydberg@gnu.org>
23335
23336 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
23337 is in text mode if there is no console control protocol instance
23338 available.
23339
684a8eff 233402006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
23341
23342 * include/grub/video.h: Code cleanup.
23343
23344 * include/grub/i386/pc/vbe.h: Likewise.
23345
23346 * video/i386/pc/vbe.c: Likewise.
23347
23348 * video/i386/pc/vbeblit.c: Likewise.
23349
23350 * video/i386/pc/vbefill.c: Likewise.
23351
23352 * video/video.c: Likewise. Also added more comments.
23353
5915059b 233542006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
23355
23356 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
23357 (struct grub_biosdisk_dap): Likewise.
23358
23359 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
23360 linkage settings for all functions.
23361
90ce5d56 233622006-07-12 Marco Gerards <marco@gnu.org>
23363
23364 * configure.ac (--enable-mm-debug): Fix typo.
23365
23366 * genkernsyms.sh.in: Use proper quoting for `CC'.
23367
43e7f879 233682006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
23369
23370 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
23371 (normal_mod_ASFLAGS): Remove "-m32".
23372
4889bdec 233732006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
23374
23375 * util/misc.c: Include config.h.
23376 [!HAVE_MEMALIGN]: Do not include malloc.h.
23377 (grub_memalign): Use posix_memalign, if present. Then, use
23378 memalign, if present. Otherwise, emit an error.
23379
23380 * util/grub-emu.c: Do not include malloc.h.
23381
23382 * include/grub/util/misc.h: Include unistd.h. This is required for
23383 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
23384 D. Eades III <hde@foobar-qux.org>.
23385
23386 * configure.ac (AC_GNU_SOURCE): Added.
23387 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
23388 type.
23389
fd39d4da 233902006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
23391
23392 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
23393 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
23394
b786f3b5 233952006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
23396
23397 * include/grub/types.h (grub_host_addr_t): Rename to
23398 grub_target_addr_t.
23399 (grub_host_off_t): Rename to grub_target_off_t.
23400 (grub_host_size_t): Rename to grub_target_size_t.
23401 (grub_host_ssize_t): Rename to grub_target_ssize_t.
23402 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
23403
23404 * include/grub/kernel.h (struct grub_module_header): Change type
23405 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
23406 (grub_module_info): Likewise.
f19dbdb7 23407
051988bb 234082006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
23409
23410 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
23411 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
23412 Velazquez <jesus.velazquez@gmail.com>.
23413
deae281b 234142006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
23415
23416 Count partitions from 1 instead of 0 in the string representation
23417 of partitions. Still use 0-based internally.
f19dbdb7 23418
deae281b 23419 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
23420 (sun_partition_map_iterate): Use grub_partition_t instead of
23421 struct grub_partition *. Cast DESC->START_CYLINDER to
23422 grub_uint64_t after converting the endian.
23423 (sun_partition_map_probe): Subtract 1 for PARTNUM.
23424 (sun_partition_map_get_name): Add 1 to P->INDEX.
23425
23426 * partmap/pc.c (grub_partition_parse): Subtract 1 for
23427 PCDATA->DOS_PART.
23428 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
23429
23430 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
23431 zero instead of one.
23432 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
23433 (gpt_partition_map_get_name): Add 1 into P->INDEX.
23434
23435 * partmap/apple.c (apple_partition_map_iterate): Change the type
23436 of POS to unsigned.
23437 (apple_partition_map_probe): Subtract 1 for PARTNUM.
23438 (apple_partition_map_get_name): Add 1 into P->INDEX.
23439
23440 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
23441 of POS to unsigned.
23442 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
23443 calculate the offset of a partition.
23444 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
23445 (amiga_partition_map_get_name): Add 1 into P->INDEX.
23446
23447 * partmap/acorn.c (acorn_partition_map_find): Change the type of
23448 SECTOR to grub_disk_addr_t.
23449 (acorn_partition_map_iterate): Likewise.
23450 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
23451 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
23452 top.
23453 (acorn_partition_map_get_name): Add 1 into P->INDEX.
23454
23455 * kern/i386/pc/init.c (make_install_device): Add 1 into
23456 GRUB_INSTALL_DOS_PART.
23457
23458 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
23459 conditional.
23460
524a1e6a 234612006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
23462
23463 Clean up the code to support 64-bit addressing in disks and
23464 files. This change is not enough for filesystems yet.
f19dbdb7 23465
524a1e6a 23466 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
23467 type of "start" to grub_uint64_t.
23468 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
23469 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
23470 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
23471 convert addresses.
23472
23473 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
23474 to grub_disk_addr_t.
23475
23476 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
23477 string.
23478
23479 * partmap/pc.c (pc_partition_map_iterate): Likewise.
23480
23481 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
23482 to char *.
23483
23484 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
23485
23486 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
23487
23488 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
23489
23490 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
23491 to grub_off_t, to detect an error from grub_file_seek.
23492 (grub_multiboot_load_elf32): Likewise.
23493
23494 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
23495 maximum unsigned long value when an overflow is detected.
23496 (grub_strtoull): New function.
23497 (grub_divmod64): Likewise.
23498 (grub_lltoa): use grub_divmod64.
23499
23500 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
23501 grub_disk_addr_t.
23502 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
23503 the pointer to next character. Use grub_strtoull instead of
23504 grub_strtoul.
23505 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
23506 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
23507 respectively.
23508
fe6b695a 23509 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 23510 return value is signed.
23511 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
23512 test if OFFSET is less than zero, as OFFSET is unsigned now.
23513
23514 * kern/disk.c (struct grub_disk_cache): Change the type of
23515 "sector" to grub_disk_addr_t.
23516 (grub_disk_cache_get_index): Change the type of SECTOR to
23517 grub_disk_addr_t. Calculate the hash with SECTOR casted to
23518 unsigned after shifting.
23519 (grub_disk_cache_invalidate): Change the type of SECTOR to
23520 grub_disk_addr_t.
23521 (grub_disk_cache_unlock): Likewise.
23522 (grub_disk_cache_store): Likewise.
23523 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
23524 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
23525 grub_disk_addr_t and grub_uint64_t, respectively.
23526 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
23527 body, as the value of OFFSET is tweaked by
23528 grub_disk_check_range. Change the types of START_SECTOR, LEN and
23529 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
23530 respectively.
23531 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
23532 body, as the value of OFFSET is tweaked by
23533 grub_disk_check_range. Change the types of LEN and N to
23534 grub_size_t.
23535
23536 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
23537 and "saved_offset" to grub_off_t.
23538 (test_header): Cast BUF to char *.
23539 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
23540 to char *.
23541 (grub_gzio_read): Change the types of OFFSET and SIZE to
23542 grub_off_t and grub_size_t, respectively.
23543
23544 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
23545 Removed.
23546 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
23547 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
23548 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
23549 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
23550 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
23551
23552 * include/grub/types.h (grub_off_t): Unconditionally set to
23553 grub_uint64_t.
23554 (grub_disk_addr_t): Changed to grub_uint64_t.
23555
23556 * include/grub/partition.h (struct grub_partition): Change the
23557 types of "start", "len" and "offset" to grub_disk_addr_t,
23558 grub_uint64_t and grub_disk_addr_t, respectively.
23559 (grub_partition_get_start): Return grub_disk_addr_t.
23560 (grub_partition_get_len): Return grub_uint64_t.
23561
23562 * include/grub/misc.h (grub_strtoull): New prototype.
23563 (grub_divmod64): Likewise.
23564
23565 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
23566 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
23567 grub_off_t, respectively.
23568 All callers and references changed.
23569
23570 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
23571 grub_size_t in "read".
23572 All callers and references changed.
23573
23574 * include/grub/file.h (struct grub_file): Change the types of
23575 "offset" and "size" to grub_off_t and grub_off_t,
23576 respectively. Change the type of SECTOR to grub_disk_addr_t in
23577 "read_hook".
23578 (grub_file_read): Change the type of LEN to grub_size_t.
23579 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
23580 grub_off_t.
23581 (grub_file_size): Return grub_off_t.
23582 (grub_file_tell): Likewise.
23583 All callers and references changed.
23584
23585 * include/grub/disk.h (struct grub_disk_dev): Change the types of
23586 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
23587 "write".
23588 (struct grub_disk): Change the type of "total_sectors" to
23589 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 23590 "read_hook".
524a1e6a 23591 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
23592 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
23593 (grub_disk_write): Likewise.
23594 All callers and references changed.
23595
23596 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
23597 char * for grub_strncmp to silence gcc.
23598 (grub_iso9660_mount): Likewise.
23599 (grub_iso9660_mount): Likewise.
23600 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
23601 return statement.
23602 (grub_iso9660_iterate_dir): Likewise.
23603 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
23604
23605 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
23606 LEN to grub_disk_addr_t and grub_size_t, respectively.
23607
23608 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
23609
23610 * fs/jfs.c (grub_jfs_read_file): Likewise.
23611
23612 * fs/minix.c (grub_jfs_read_file): Likewise.
23613
23614 * fs/sfs.c (grub_jfs_read_file): Likewise.
23615
23616 * fs/ufs.c (grub_jfs_read_file): Likewise.
23617
23618 * fs/xfs.c (grub_jfs_read_file): Likewise.
23619
23620 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
23621 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
23622 respectively.
23623
23624 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
23625 BLKNR to -1 instead of returning GRUB_ERRNO.
23626 (grub_ext2_read_file): Change the types of SECTOR and
23627 LEN to grub_disk_addr_t and grub_size_t, respectively.
23628
23629 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
23630 LEN to grub_disk_addr_t and grub_size_t, respectively.
23631
23632 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
23633 grub_file_read.
23634
23635 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
23636 string. Do not cast SECTOR explicitly.
23637
23638 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
23639 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
23640 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
23641 grub_disk_addr_t and grub_size_t, respectively. If the sector is
23642 over 2TB and LBA mode is not supported, raise an error.
23643 (get_safe_sectors): New function.
23644 (grub_biosdisk_read): Use get_safe_sectors.
23645 (grub_biosdisk_write): Likewise.
23646
23647 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
23648 (grub_efidisk_write): Likewise.
23649
23650 * disk/loopback.c (delete_loopback): Cosmetic changes.
23651 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
23652 correctly.
23653 (grub_loopback_open): Likewise.
23654 (grub_loopback_read): Likewise. Also, change the type of POS to
23655 grub_off_t, and fix the usage of grub_memset.
23656
23657 * commands/i386/pc/play.c: Include grub/machine/time.h.
23658
23659 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
23660 print FILE->SIZE.
23661
23662 * commands/configfile.c: Include grub/env.h.
23663
23664 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
23665 GRUB_ERRNO directly instead. Change the type of POS to
23666 grub_off_t. Follow the coding standard.
23667
23668 * commands/blocklist.c: Include grub/partition.h.
23669 (grub_cmd_blocklist): Return an error if the underlying device is
23670 not a disk. Take the starting sector of a partition into account,
23671 if a partition is used.
23672
23673 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
23674 a length field.
23675 (lba_mode): Support 64-bit addresses.
23676 (chs_mode): Likewise.
23677 (copy_buffer): Adapted to the new offsets of a length field and a
23678 segment field.
23679 (blocklist_default_start): Allocate 64-bit space.
23680
23681 * boot/i386/pc/boot.S (force_lba): Removed.
23682 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 23683 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 23684 space.
23685 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
23686 is useless.
23687 (lba_mode): Refactored to support a 64-bit address. More size
23688 optimization.
23689 (setup_sectors): Likewise.
23690
53af98ad 236912006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
23692
23693 * DISTLIST: Added include/grub/i386/linux.h. Removed
23694 include/grub/i386/pc/linux.h
23695
23696 * configure.ac (AC_INIT): Bumped to 1.94.
23697
23698 * config.guess: Updated from gnulib.
23699 * config.sub: Likewise.
23700 * install-sh: Likewise.
23701 * mkinstalldirs: Likewise.
23702
b4c1940a 237032006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
23704
23705 * conf/common.rmk (grub_modules_init.lst): Depended on
23706 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
23707 MODSRCFILES.
23708
23709 * genmk.rb (PModule::rule): Reverted the previous change.
23710
cfca1cfd 237112006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
23712
23713 * conf/common.rmk (grub_modules_init.lst): Depends on
23714 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
23715 that the target does not exist before producing.
23716 (grub_modules_init.h): Remove the target before generating.
23717 (grub_emu_init.c): Likewise.
23718
23719 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
23720
aa6d7826 237212006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
23722
23723 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
23724 for the target-specific tests. Make sure that we also have the
23725 up-to-date target variables for those tests.
23726
26c607b9 237272006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
23728
23729 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
23730 (PModule::rule): Likewise.
23731
0162321a 237322006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
23733
23734 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
23735 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
23736 target-specific flags should be prefixed.
23737 (PModule::rule): Likewise.
23738
6c826348 237392006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
23740
23741 * configure.ac (CMP): Check if cmp is available explicitly.
23742
b977bf01 237432006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
23744
23745 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
23746 (target_cpu): New variable.
23747 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 23748
b977bf01 23749 * util/i386/pc/grub-install.in (host_cpu): Removed.
23750 (target_cpu): New variable.
23751 (pkglibdir): Use target_cpu instead of host_cpu.
23752
23753 * util/genmoddep.c: Removed.
f19dbdb7 23754
b977bf01 23755 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
23756 instead of GRUB_HOST_SIZEOF_VOID_P.
23757 * kern/dl.c: Likewise.
23758
23759 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
23760 ...
23761 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23762 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23763 (GRUB_TARGET_SIZEOF_LONG): ... this.
23764 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23765 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23766 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
23767 to ...
23768 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23769 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23770 (GRUB_TARGET_SIZEOF_LONG): ... this.
23771 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23772 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23773 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
23774 to ...
23775 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23776 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23777 (GRUB_TARGET_SIZEOF_LONG): ... this.
23778 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23779 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23780
23781 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
23782 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
23783 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
23784 instead of GRUB_HOST_SIZEOF_LONG.
23785 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
23786 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
23787 GRUB_CPU_WORDS_BIGENDIAN.
23788 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
23789 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
23790 grub_host_ssize_t.
23791
23792 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
23793 (genmoddep_SOURCES): Likewise.
23794 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
23795 (genmoddep_SOURCES): Likewise.
23796 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
23797 (genmoddep_SOURCES): Likewise.
23798 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
23799 Likewise.
23800 (genmoddep_SOURCES): Likewise.
23801
23802 * genmoddep.awk: New file.
23803
23804 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
23805 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
23806 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
23807 (PModule::rule): Likewise.
23808 (Program::rule): Likewise.
23809 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
23810 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
23811 respectively.
23812
23813 * configure.ac: Rewritten intensively to use host and target
23814 instead of build and host, respectively.
23815
23816 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
23817 (host_cpu): Removed.
23818 (target_cpu): New variable.
23819 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
23820 (BUILD_CC): Removed.
23821 (BUILD_CFLAGS): Likewise.
23822 (BUILD_CPPFLAGS): Likewise.
23823 (TARGET_CC): New variable.
23824 (TARGET_CFLAGS): Likewise.
23825 (TARGET_CPPFLAGS): Likewise.
23826 (TARGET_LDFLAGS): Likewise.
23827 (AWK): Likewise.
23828 (include): Use target_cpu instead of host_cpu.
23829 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 23830
b977bf01 23831 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
23832
f09771a1 238332006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
23834
23835 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
23836 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
23837 field 'false' to 'exec_on_false'.
23838 (grub_script_create_cmdif): Renamed argument names to reflect above
23839 changes.
23840
23841 * normal/execute.c (grub_script_execute_cmdif): Likewise.
23842
23843 * normal/script.c (grub_script_create_cmdif): Likewise.
23844
118f4fb3 238452006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
23846
23847 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
23848 top.
23849 (grub_hfsplus_btree_recptr): Likewise.
23850 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
23851 FILEBLOCK both to pass a block number and store next block
23852 number.
23853 (grub_hfsplus_read_block): Rewritten heavily to support an extent
23854 overflow file correctly. Specify errors appropriately, because
23855 fshelp expects that GRUB_ERRNO is set when fails. Reuse
23856 grub_hfsplus_btree_recptr to get the pointer to a found key.
23857 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
23858 is found.
23859
23860 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
23861 linux.mod.
23862 (_linux_mod_SOURCES): New variable.
23863 (_linux_mod_CFLAGS): Likewise.
23864 (_linux_mod_LDFLAGS): Likewise.
23865 (linux_mod_SOURCES): Likewise.
23866 (linux_mod_CFLAGS): Likewise.
23867 (linux_mod_LDFLAGS): Likewise.
23868
23869 * DISTLIST: Added loader/i386/efi/linux.c,
23870 loader/i386/efi/linux_normal.c and
23871 include/grub/i386/efi/loader.h.
23872
23873 * loader/i386/efi/linux.c: New file.
23874 * loader/i386/efi/linux_normal.c: Likewise.
23875 * include/grub/i386/efi/loader.h: Likewise.
23876
89a7d726 238772006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
23878
23879 * commands/blocklist.c: New file.
23880
23881 * DISTLIST: Added commands/blocklist.c.
23882
23883 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 23884 color for the background, and a darker color for the foreground.
89a7d726 23885 (grub_console_checkkey): Return READ_KEY.
23886 (grub_console_cls): Set the background to
23887 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
23888
23889 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
23890
23891 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
23892 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
23893
23894 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
23895 prototype.
23896
23897 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
23898 BG. The spec is wrong again.
23899
23900 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
23901 prototype.
23902 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
23903
23904 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23905 commands/blocklist.c.
23906 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 23907
89a7d726 23908 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
23909 (blocklist_mod_SOURCES): New variable.
23910 (blocklist_mod_CFLAGS): Likewise.
23911 (blocklist_mod_LDFLAGS): Likewise.
23912
75c8f258 239132006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
23914
23915 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
23916 duplication.
23917 (lba_mode): Use %eax more intensively to reduce the code size.
23918
da2eb181 239192006-05-20 Marco Gerards <marco@gnu.org>
23920
23921 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
23922
23923 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
23924 for `menuentry'.
23925 (script): Accept leading newlines.
23926 (newlines): New rule to describe 0 or more newlines.
23927 (commands): Accept `command' with trailing newline. Fixed the
23928 order in which arguments were passed to `grub_script_add_cmd'.
23929 Accept commands separated by newlines.
23930 (function): Changed to accept newlines.
23931 (menuentry) Rewritten.
23932
23933 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
23934 front of the list, instead of to the end.
23935
577b4050 239362006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
23937
23938 * util/i386/pc/grub-install.in (bindir): New variable.
23939 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
23940 Shaver <lbgwjl@gmail.com>.
23941
0d6e1189 239422006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
23943
23944 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
23945 grub/machine/linux.h
23946 * loader/i386/pc/linux.c: Likewise.
23947
23948 * include/grub/i386/pc/linux.h: Moved to ...
23949 * include/grub/i386/linux.h: ... here.
23950
23951 * include/grub/i386/linux.h (struct linux_kernel_params): New
23952 struct.
f19dbdb7 23953
31b86e9f 239542006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
23955
23956 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
23957 checking.
23958 (grub_video_vbe_blit_glyph): Likewise.
23959 (grub_video_vbe_blit_bitmap): Likewise.
23960 (grub_video_vbe_blit_render_target): Likewise.
23961
83b984de 239622006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
23963
23964 * configure.ac (--with-platform): Properly quote the square
23965 brackets.
23966
5f0413bd 239672006-05-08 Marco Gerards <marco@gnu.org>
23968
23969 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
23970 this...
23971 (kernel_elf_HEADERS): ...to this. Updated all users.
23972 (grubof_symlist.c): Renamed from this...
23973 (kernel_elf_symlist.c): ...to this. Updated all users.
23974 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
23975 (grubof_SOURCES): Renamed from this...
23976 (kernel_elf_SOURCES): ...to this.
23977 (grubof_HEADERS): Renamed from this...
23978 (kernel_elf_HEADERS): ...to this.
23979 (grubof_CFLAGS): Renamed from this...
23980 (kernel_elf_CFLAGS): ...to this.
23981 (grubof_ASFLAGS): Renamed from this...
23982 (kernel_elf_ASFLAGS): ...to this.
23983 (grubof_LDFLAGS): Renamed from this...
23984 (kernel_elf_LDFLAGS): ...to this.
23985
23986 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
23987 this...
23988 (kernel_elf_HEADERS): ...to this. Updated all users.
23989 (grubof_symlist.c): Renamed from this...
23990 (kernel_elf_symlist.c): ...to this. Updated all users.
23991 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
23992 (grubof_SOURCES): Renamed from this...
23993 (kernel_elf_SOURCES): ...to this.
23994 (grubof_HEADERS): Renamed from this...
23995 (kernel_elf_HEADERS): ...to this.
23996 (grubof_CFLAGS): Renamed from this...
23997 (kernel_elf_CFLAGS): ...to this.
23998 (grubof_ASFLAGS): Renamed from this...
23999 (kernel_elf_ASFLAGS): ...to this.
24000 (grubof_LDFLAGS): Renamed from this...
24001 (kernel_elf_LDFLAGS): ...to this.
24002
24003 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
24004 `kernel.elf' instead of `grubof'.
24005
05568c2e 240062006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
24007
24008 Add --with-platform to configure. Use pkglibdir instead of
24009 pkgdatadir. This is reported by Roger Leigh.
24010
24011 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
24012 (host_vendor): Likewise.
24013 (host_os): Likewise.
24014 (pkgdatadir): Likewise.
24015 (platform): New variable.
24016 (pkglibdir): Likewise.
24017 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 24018
05568c2e 24019 * util/i386/pc/grub-install.in (datadir): Removed.
24020 (host_vendor): Likewise.
24021 (host_os): Likewise.
24022 (pkgdatadir): Likewise.
24023 (platform): New variable.
24024 (pkglibdir): Likewise.
24025 Use PKGLIBDIR instead of PKGDATADIR.
24026
24027 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
24028 instead of GRUB_DATADIR.
24029 (main): Likewise.
24030 * util/i386/pc/grub-mkimage.c (usage): Likewise.
24031 (main): Likewise.
24032 * util/i386/efi/grub-mkimage.c (usage): Likewise.
24033 (main): Likewise.
24034
24035 * configure.ac (--with-platform): New option.
24036 Use PLATFORM instead of HOST_VENDOR to specify a platform.
24037
24038 * Makefile.in: Include a makefile based on PLATFORM instead of
24039 HOST_VENDOR.
24040 (pkgdatadir): Not appended by the machine type.
24041 (pkglibdir): Appended by the machine type.
24042 (host_vendor): Removed.
24043 (platform): New variable.
24044 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
24045 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
24046 (uninstall): Likewise.
24047
4e93851c 240482006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
24049
24050 Use the environment context in the menu. Remove the commands
24051 "default" and "timeout", and use variables instead.
f19dbdb7 24052
4e93851c 24053 * normal/menu.c: Include grub/env.h.
24054 (print_entry): Cast TITLE to silence gcc.
24055 (get_timeout): New function.
24056 (set_timeout): Likewise.
24057 (get_entry_number): Likewise.
24058 (run_menu): Use a default entry, a fallback entry and a timeout
24059 in the environment variables "default", "fallback" and
24060 "timeout". Also, tweak the default entry if it is not within the
24061 current menu entries.
24062 (grub_menu_run): Use a fallback entry in the environment variable
24063 "fallback".
24064
24065 * normal/main.c (read_config_file): Do not initialize
24066 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
24067 NEWMENU->TIMEOUT.
24068 (grub_normal_execute): Use a data slot to store the menu.
24069
24070 * include/grub/normal.h (struct grub_menu): Removed default_entry,
24071 fallback_entry and timeout.
24072 (struct grub_menu_list): Removed.
24073 (grub_menu_list_t): Likewise.
24074 (struct grub_context): Likewise.
24075 (grub_context_t): Likewise.
24076 (grub_context_get): Likewise.
24077 (grub_context_get_current_menu): Likewise.
24078 (grub_context_push_menu): Likewise.
24079 (grub_context_pop_menu): Likewise.
24080 (grub_default_init): Likewise.
24081 (grub_default_fini): Likewise.
24082 (grub_timeout_init): Likewise.
24083 (grub_timeout_fini): Likewise.
24084
24085 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
24086 and timeout.mod.
24087 (normal_mod_SOURCES): Removed normal/context.c.
24088
24089 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
24090 commands/default.c, commands/timeout.c and normal/context.c.
24091 (normal_mod_SOURCES): Removed normal/context.c.
24092
24093 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
24094 commands/timeout.c and normal/context.c.
24095 (normal_mod_SOURCES): Removed normal/context.c.
24096
24097 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
24098 commands/default.c, commands/timeout.c and normal/context.c.
24099 (normal_mod_SOURCES): Removed normal/context.c.
24100
24101 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
24102 timeout.mod.
24103 (default_mod_SOURCES): Removed.
24104 (default_mod_CFLAGS): Likewise.
24105 (default_mod_LDFLAGS): Likewise.
24106 (timeout_mod_SOURCES): Removed.
24107 (timeout_mod_CFLAGS): Likewise.
24108 (timeout_mod_LDFLAGS): Likewise.
24109
24110 * DISTLIST: Removed commands/default.c, commands/timeout.c and
24111 normal/context.c.
24112
24113 * commands/default.c: Removed.
24114 * commands/timeout.c: Likewise.
24115 * normal/context.c: Likewise.
24116
1eb9cc1d 241172006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
24118
24119 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
24120
385bd9c1 241212006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
24122
24123 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
24124 "next" to "prev" for readability.
24125 (struct grub_env_sorted_var): New struct.
24126 (grub_env_context): Renamed to ...
24127 (initial_context): ... this.
24128 (grub_env_var_context): Renamed to ...
24129 (current_context): ... this.
24130 (grub_env_find): Look only at CURRENT_CONTEXT.
24131 (grub_env_context_open): Rewritten to copy exported variables from
24132 previous context.
24133 (grub_env_context_close): Rewritten according to the new
24134 scheme. Also, add an assertion to prevent the initial context from
24135 removed.
24136 (grub_env_insert): Removed the code for the sorted list.
24137 (grub_env_remove): Likewise.
24138 (grub_env_export): Simply mark the variable with
24139 GRUB_ENV_VAR_GLOBAL.
24140 (grub_env_set): A cosmetic change for naming consistency.
24141 (grub_env_get): Likewise.
24142 (grub_env_unset): Likewise.
24143 (grub_env_iterate): Rewritten to sort variables within this
24144 function.
24145 (grub_register_variable_hook): Fixed for naming consistency. Call
24146 grub_env_find again, only if NAME is not found at the first time.
24147 (mangle_data_slot_name): New function.
24148 (grub_env_set_data_slot): Likewise.
24149 (grub_env_get_data_slot): Likewise.
24150 (grub_env_unset_data_slot): Likewise.
24151
24152 * include/grub/env.h (grub_env_var_type): New enum.
24153 (GRUB_ENV_VAR_LOCAL): New constant.
24154 (GRUB_ENV_VAR_GLOBAL): Likewise.
24155 (GRUB_ENV_VAR_DATA): Likewise.
24156 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
24157 "type".
24158 (grub_env_set): Replace VAR with NAME for consistency.
24159 (grub_register_variable_hook): Likewise.
24160 (grub_env_export): Specify the name of the argument.
24161 (grub_env_set_data_slot): New prototype.
24162 (grub_env_get_data_slot): Likewise.
24163 (grub_env_unset_data_slot): Likewise.
24164
7f362539 241652006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
24166
24167 Extend the loader so that GRUB can accept a loader which comes
24168 back to GRUB when a loaded image exits. Also, this change adds
24169 support for a chainloader on EFI.
f19dbdb7 24170
7f362539 24171 * term/efi/console.c: Include grub/misc.h.
24172 (grub_console_checkkey): Display a scan code on the top for
24173 debugging. This will be removed once the EFI port gets stable.
24174 Correct the scan code mapping.
24175
24176 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
24177 allocate memory from larger regions, in order to reduce the number
24178 of allocated regions. Otherwise, the MacOSX loader panics.
24179 (filter_memory_map): Avoid less than 1MB for compatibility with
24180 other loaders.
24181 (add_memory_regions): Allocate from the tail of a region, if
24182 possible, to avoid allocating a region near to 1MB, for the MacOSX
24183 loader.
24184
24185 * kern/efi/init.c (grub_efi_set_prefix): Specify
24186 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
24187
24188 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
24189 argument IMAGE_HANDLE and specify it to get a loaded image.
24190 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
24191 grub_efi_get_loaded_image.
fe6b695a 24192 (grub_efi_get_filename): Divide the length by the size of
7f362539 24193 grub_efi_char16_t.
24194 (grub_efi_get_device_path): New function.
24195 (grub_efi_print_device_path): Print End Device Path nodes. Divide
24196 the length by the size of grub_efi_char16_t for a file path device
24197 path node.
24198
24199 * kern/loader.c (grub_loader_noreturn): New variable.
24200 (grub_loader_set): Accept a new argument NORETURN. Set
24201 GRUB_LOADER_NORETURN to NORETURN.
24202 All callers changed.
24203 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
24204 grub_machine_fini.
24205
24206 * include/grub/efi/efi.h (grub_efi_get_device_path): New
24207 prototype.
24208 (grub_efi_get_loaded_image): Take an argument to specify an image
24209 handle.
24210
24211 * include/grub/loader.h (grub_loader_set): Added one more argument
24212 NORETURN.
24213
24214 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
24215 instead of grub_efi_open_protocol.
24216 (grub_efidisk_get_device_name): Likewise.
24217 (grub_efidisk_close): Print a newline.
24218 (grub_efidisk_get_device_handle): Fixed to use
24219 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
24220 GRUB_EFI_DEVICE_PATH_TYPE.
24221
24222 * disk/efi/efidisk.c (device_path_guid): Moved to ...
24223 * kern/efi/efi.c (device_path_guid): ... here.
24224
24225 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
24226 chain.mod.
24227 (kernel_mod_HEADERS): Added efi/disk.h.
24228 (_chain_mod_SOURCES): New variable.
24229 (_chain_mod_CFLAGS): Likewise.
24230 (_chain_mod_LDFLAGS): Likewise.
24231 (chain_mod_SOURCES): Likewise.
24232 (chain_mod_CFLAGS): Likewise.
24233 (chain_mod_LDFLAGS): Likewise.
24234
24235 * DISTLIST: Added include/grub/efi/chainloader.h,
24236 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
24237
24238 * include/grub/efi/chainloader.h: New file.
24239 * loader/efi/chainloader.c: Likewise.
24240 * loader/efi/chainloader_normal.c: Likewise.
24241
c0111d6e 242422006-04-30 Marco Gerards <marco@gnu.org>
24243
24244 * commands/configfile.c (grub_cmd_source): New function.
24245 (GRUB_MOD_INIT): Register the commands `source' and `.'.
24246 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
24247
df5341da 242482006-04-30 Marco Gerards <marco@gnu.org>
24249
24250 * normal/execute.c (grub_script_execute_cmd): Change the return
24251 type to `grub_err_t'. Correctly return the error.
24252 (grub_script_execute_cmdline): In case a command line is not a
24253 command or a function, try to interpret it as an assignment.
24254
f85934bd 242552006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
24256
24257 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
24258 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
24259 skip a node whose name is obviously invalid as UTF-16,
24260 i.e. contains a NUL character. Stop the iteration when the last
24261 directory entry is found. Instead of using the return value of
24262 grub_hfsplus_btree_iterate_node, store the value in RET and use
24263 it, because the iterator can be stopped by the last directory
24264 entry.
24265
8f8a2cf8 242662006-04-30 Marco Gerards <marco@gnu.org>
24267
24268 * include/grub/env.h (grub_env_export): New prototype. Reported
24269 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
24270
a27e84ce 242712006-04-30 Marco Gerards <marco@gnu.org>
24272
24273 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
24274 size of the extents in a catalog file record.
24275
eaef0553 242762006-04-29 Marco Gerards <marco@gnu.org>
24277
24278 * commands/configfile.c (grub_cmd_configfile): Execute the
24279 configfile within its own context.
24280
24281 * include/grub/env.h (grub_env_context_open): New prototype.
24282 (grub_env_context_close): Likewise.
24283
24284 * kern/env.c (grub_env): Removed.
24285 (grub_env_sorted): Likewise.
24286 (grub_env_context): New variable.
24287 (grub_env_var_context): Likewise.
24288 (grub_env_find): Search both the active context and the global
24289 context.
24290 (grub_env_context_open): New function.
24291 (grub_env_context_close): Likewise.
24292 (grub_env_insert): Likewise.
24293 (grub_env_remove): Likewise.
24294 (grub_env_export): Likewise.
24295 (grub_env_set): Changed to use helper functions to avoid code
24296 duplication.
24297 (grub_env_iterate): Rewritten so both the current context and the
24298 global context are being used.
24299
24300 * normal/command.c (export_command): New function.
24301 (grub_command_init): Register the `export' function.
24302
7b455f4d 243032006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
24304
24305 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
24306 explicitly to suppress gcc's warnings.
24307 * fs/fat.c (grub_fat_find_dir): Likewise.
24308 (grub_fat_label): Likewise.
24309 * fs/xfs.c (grub_xfs_read_inode): Likewise.
24310 (grub_xfs_mount): Likewise.
24311 (grub_xfs_label): Likewise.
24312 * fs/affs.c (grub_affs_mount): Likewise.
24313 (grub_affs_label): Likewise.
24314 (grub_affs_iterate_dir): Likewise.
24315 * fs/sfs.c (grub_sfs_mount): Likewise.
24316 (grub_sfs_iterate_dir): Likewise.
24317 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
24318 * fs/hfs.c (grub_hfs_mount): Likewise.
24319 (grub_hfs_cmp_catkeys): Likewise.
24320 (grub_hfs_find_dir): Likewise.
24321 (grub_hfs_dir): Likewise.
24322 (grub_hfs_label): Likewise.
24323 * fs/jfs.c (grub_jfs_mount): Likewise.
24324 (grub_jfs_opendir): Likewise.
24325 (grub_jfs_getent): Likewise.
24326 (grub_jfs_lookup_symlink): Likewise.
24327 (grub_jfs_label): Likewise.
24328 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
24329 (grub_hfsplus_iterate_dir): Likewise.
24330 (grub_hfsplus_btree_iterate_node): Made static.
24331
24332 * util/grub-emu.c (prefix): New variable.
24333 (grub_machine_set_prefix): New function.
24334 (main): Do not set the environment variable "prefix" here. Only
24335 set PREFIX, which is used later by grub_machine_set_prefix.
24336
24337 * include/grub/video.h: Do not include grub/symbol.h.
24338 (grub_video_register): Not exported. This symbol is not defined in
24339 the kernel.
24340 (grub_video_unregister): Likewise.
24341 (grub_video_iterate): Likewise.
24342 (grub_video_setup): Likewise.
24343 (grub_video_restore): Likewise.
24344 (grub_video_get_info): Likewise.
24345 (grub_video_get_blit_format): Likewise.
24346 (grub_video_set_palette): Likewise.
24347 (grub_video_get_palette): Likewise.
24348 (grub_video_set_viewport): Likewise.
24349 (grub_video_get_viewport): Likewise.
24350 (grub_video_map_color): Likewise.
24351 (grub_video_map_rgb): Likewise.
24352 (grub_video_map_rgba): Likewise.
24353 (grub_video_fill_rect): Likewise.
24354 (grub_video_blit_glyph): Likewise.
24355 (grub_video_blit_bitmap): Likewise.
24356 (grub_video_blit_render_target): Likewise.
24357 (grub_video_scroll): Likewise.
24358 (grub_video_swap_buffers): Likewise.
24359 (grub_video_create_render_target): Likewise.
24360 (grub_video_delete_render_target): Likewise.
24361 (grub_video_set_active_render_target): Likewise.
24362
24363 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
24364 Undefined.
24365 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
24366
24367 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
24368 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24369 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24370 instead of $(srcdir)/genkernsyms.sh.
24371
24372 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
24373 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24374 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24375 instead of $(srcdir)/genkernsyms.sh.
24376
24377 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
24378 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24379 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24380 instead of $(srcdir)/genkernsyms.sh.
24381
24382 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
24383 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24384 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24385 instead of $(srcdir)/genkernsyms.sh.
24386
24387 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
24388 genkernsyms.sh.
24389
24390 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
24391 genkernsyms.sh.
24392 (gensymlist.sh): New target.
24393 (genkernsyms.sh): Likewise.
24394
24395 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
24396 genkernsyms.sh.in and gensymlist.sh.in.
24397
24398 * genkernsyms.sh: Removed.
24399 * gensymlist.sh: Likewise.
f19dbdb7 24400
7b455f4d 24401 * genkernsyms.sh.in: New file.
24402 * gensymlist.sh.in: Likewise.
24403
1885bb27 244042006-04-25 Hollis Blanchard <hollis@penguinppc.org>
24405
24406 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
24407 clobber "prefix", since we may have already set it manually.
24408
71538dff 244092006-04-25 Hollis Blanchard <hollis@penguinppc.org>
24410
24411 * kern/misc.c (abort): New alias for grub_abort.
24412
2965c7cc 244132006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
24414
24415 A new machine-specific function "grub_machine_set_prefix" is
24416 defined. This is called after loading modules, so that a prefix
24417 initialization can use modules. Also, this change adds an
24418 intensive debugging feature for the memory manager via the
24419 configure option "--enable-mm-debug".
f19dbdb7 24420
2965c7cc 24421 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
24422 PART.LEN.
24423
24424 * kern/sparc64/ieee1275/init.c (abort): Removed.
24425 (grub_stop): Likewise.
24426 (grub_exit): New function.
24427 (grub_set_prefix): Renamed to ...
24428 (grub_machine_set_prefix): ... this.
24429 (grub_machine_init): Do not call grub_set_prefix.
24430
24431 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
24432 (grub_machine_set_prefix): ... this.
24433 (grub_machine_init): Do not call grub_set_prefix.
24434
24435 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
24436 (grub_machine_init): Do not set the prefix here.
24437
24438 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
24439
24440 * kern/efi/init.c: Include grub/mm.h.
24441 (grub_efi_set_prefix): New function.
24442
24443 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
24444 (grub_efi_get_filename): New function.
24445 (grub_print_device_path): Renamed to ...
24446 (grub_efi_print_device_path): ... this.
24447
24448 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
24449 [MM_DEBUG] (grub_realloc): Likewise.
24450 [MM_DEBUG] (grub_free): Likewise.
24451 [MM_DEBUG] (grub_memalign): Likewise.
24452 [MM_DEBUG] (grub_mm_debug): New variable.
24453 [MM_DEBUG] (grub_debug_malloc): New function.
24454 [MM_DEBUG] (grub_debug_free): New function.
24455 [MM_DEBUG] (grub_debug_realloc): New function.
24456 [MM_DEBUG] (grub_debug_memalign): New function.
24457
24458 * kern/misc.c (grub_abort): Print a newline to distinguish
24459 the message.
24460
24461 * kern/main.c (grub_main): Call grub_machine_set_prefix and
24462 grub_set_root_dev after loading modules. This is necessary when
24463 setting a prefix depends on modules.
24464
24465 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
24466 (grub_efi_print_device_path): ... this.
24467 (grub_efi_get_filename): New prototype.
24468 (grub_efi_set_prefix): Likewise.
24469
24470 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
24471 and grub/disk.h.
24472 (grub_efidisk_get_device_handle): New prototype.
24473 (grub_efidisk_get_device_name): Likewise.
24474
24475 * include/grub/mm.h: Include config.h.
24476 (MM_DEBUG): Removed.
24477 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
24478 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
24479 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
24480 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
24481 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
24482 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
24483 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
24484 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
24485 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
24486
24487 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
24488
24489 * disk/efi/efidisk.c: Include grub/partition.h.
24490 (iterate_child_devices): New function.
24491 (add_device): First, compare only last device path nodes, so that
24492 devices are sorted by the types.
24493 (grub_efidisk_get_device_handle): New function.
24494 (grub_efidisk_get_device_name): Likewise.
24495
24496 * configure.ac (--enable-mm-debug): New option to enable the
24497 memory manager debugging feature. This makes the binary much
24498 bigger, so is disabled by default.
24499
9cacaa17 245002006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
24501
24502 Use grub_abort instead of grub_stop, and grub_exit must be
24503 define in each architecture now. Also, this change adds support
24504 for EFI disks.
f19dbdb7 24505
9cacaa17 24506 * util/i386/pc/grub-probefs.c: Include grub/term.h.
24507 (grub_getkey): New function.
24508 (grub_term_get_current): Likewise.
24509
24510 * util/i386/pc/grub-setup.c: Include grub/term.h.
24511 (grub_getkey): New function.
24512 (grub_term_get_current): Likewise.
24513
24514 * util/misc.c (grub_stop): Renamed to ...
24515 (grub_exit): ... this.
24516
24517 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
24518 (grub_exit): ... this.
24519 (grub_machine_init): Use grub_abort instead of abort.
24520 (grub_stop): Removed.
24521
24522 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
24523 abort.
24524
24525 * kern/i386/pc/startup.S (grub_exit): New function.
24526 (cold_reboot): New label.
24527
24528 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
24529 (grub_efi_init): Call grub_efidisk_init.
24530 (grub_efi_fini): Call grub_efidisk_fini.
24531
24532 * kern/efi/efi.c: Include grub/mm.h.
24533 (grub_efi_console_control_guid): Renamed to ...
24534 (console_control_guid): ... this.
24535 (grub_efi_loaded_image_guid): Renamed to ...
24536 (loaded_image_guid): ... this.
24537 (grub_efi_locate_handle): New function.
24538 (grub_efi_open_protocol): Likewise.
24539 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
24540 GRUB_EFI_CONSOLE_CONTROL_GUID.
24541 (grub_efi_exit): Removed.
24542 (grub_stop): Likewise.
24543 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
24544 (grub_exit): New function.
24545 (grub_print_device_path): Likewise.
24546
24547 * kern/rescue.c (grub_rescue_cmd_exit): New function.
24548 (grub_enter_rescue_mode): Register "exit".
24549
24550 * kern/misc.c (grub_real_dprintf): A cosmetic change.
24551 (grub_abort): New function.
24552
24553 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
24554
24555 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
24556
24557 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
24558
24559 * include/grub/efi/efi.h (grub_efi_exit): Removed.
24560 (grub_print_device_path): New prototype.
24561 (grub_efi_locate_handle): Likewise.
24562 (grub_efi_open_protocol): Likewise.
24563
24564 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
24565 * disk/efi/efidisk.c: Likewise.
24566
24567 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
24568
24569 * include/grub/efi/console_control.h
24570 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
24571
24572 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
24573 last 8 bytes as an array.
24574 (GRUB_EFI_DISK_IO_GUID): New macro.
24575 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
24576 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
24577 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
24578 grub_uint8_t.
24579 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
24580 (struct grub_efi_device_path): Rename the member "sub_type" to
24581 "subtype".
24582 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
24583 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
24584 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
24585 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
24586 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
24587 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
24588 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
24589 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
24590 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
24591 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
24592 (struct grub_efi_pci_device_path): New structure.
24593 (grub_efi_pci_device_path_t): New type.
24594 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
24595 (struct grub_efi_pccard_device_path): New structure.
24596 (grub_efi_pccard_device_path_t): New type.
24597 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
24598 (struct grub_efi_memory_mapped_device_path): New structure.
24599 (grub_efi_memory_mapped_device_path_t): New type.
24600 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
24601 (struct grub_efi_vendor_device_path): New structure.
24602 (grub_efi_vendor_device_path_t): New type.
24603 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
24604 (struct grub_efi_controller_device_path): New structure.
24605 (grub_efi_controller_device_path_t): New type.
24606 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
24607 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
24608 (struct grub_efi_acpi_device_path): New structure.
24609 (grub_efi_acpi_device_path_t): New type.
24610 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
24611 (struct grub_efi_expanded_acpi_device_path): New structure.
24612 (grub_efi_expanded_acpi_device_path_t): New type.
24613 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
24614 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
24615 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
24616 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
24617 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
24618 (struct grub_efi_atapi_device_path): New structure.
24619 (grub_efi_atapi_device_path_t): New type.
24620 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
24621 (struct grub_efi_fibre_channel_device_path): New structure.
24622 (grub_efi_fibre_channel_device_path_t): New type.
24623 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
24624 (struct grub_efi_1394_device_path): New structure.
24625 (grub_efi_1394_device_path_t): New type.
24626 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
24627 (struct grub_efi_usb_device_path): New structure.
24628 (grub_efi_usb_device_path_t): New type.
24629 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
24630 (struct grub_efi_usb_class_device_path): New structure.
24631 (grub_efi_usb_class_device_path_t): New type.
24632 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
24633 (struct grub_efi_i2o_device_path): New structure.
24634 (grub_efi_i2o_device_path_t): New type.
24635 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
24636 (struct grub_efi_mac_address_device_path): New structure.
24637 (grub_efi_mac_address_device_path_t): New type.
24638 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
24639 (struct grub_efi_ipv4_device_path): New structure.
24640 (grub_efi_ipv4_device_path_t): New type.
24641 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
24642 (struct grub_efi_ipv6_device_path): New structure.
24643 (grub_efi_ipv6_device_path_t): New type.
24644 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
24645 (struct grub_efi_infiniband_device_path): New structure.
24646 (grub_efi_infiniband_device_path_t): New type.
24647 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
24648 (struct grub_efi_uart_device_path): New structure.
24649 (grub_efi_uart_device_path_t): New type.
24650 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
24651 (struct grub_efi_vendor_messaging_device_path): New structure.
24652 (grub_efi_vendor_messaging_device_path_t): New type.
24653 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
24654 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
24655 (struct grub_efi_hard_drive_device_path): New structure.
24656 (grub_efi_hard_drive_device_path_t): New type.
24657 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
24658 (struct grub_efi_cdrom_device_path): New structure.
24659 (grub_efi_cdrom_device_path_t): New type.
24660 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
24661 (struct grub_efi_vendor_media_device_path): New structure.
24662 (grub_efi_vendor_media_device_path_t): New type.
24663 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
24664 (struct grub_efi_file_path_device_path): New structure.
24665 (grub_efi_file_path_device_path_t): New type.
24666 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
24667 (struct grub_efi_protocol_device_path): New structure.
24668 (grub_efi_protocol_device_path_t): New type.
24669 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
24670 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
24671 (struct grub_efi_bios_device_path): New structure.
24672 (grub_efi_bios_device_path_t): New type.
24673 (struct grub_efi_disk_io): New structure.
24674 (grub_efi_disk_io_t): New type.
24675 (struct grub_efi_block_io_media): New structure.
24676 (grub_efi_block_io_media_t): New type.
24677 (struct grub_efi_block_io): New structure.
24678 (grub_efi_block_io_t): New type.
24679
24680 * include/grub/misc.h (grub_stop): Removed.
24681 (grub_exit): New prototype.
24682 (grub_abort): Likewise.
24683
24684 * include/grub/disk.h (enum grub_disk_dev_id): Added
24685 GRUB_DISK_DEVICE_EFIDISK_ID.
24686
24687 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
24688 disk/efi/efidisk.c.
24689 (kernel_syms.lst): Remove the target if an error occurs.
24690
49986a9f 246912006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
24692
24693 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
24694 as it was simply too buggy.
24695
970d3b8a 246962006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
24697
24698 * kern/misc.c (grub_lltoa): New function.
24699 (grub_vsprintf): Added support for the long long suffix,
24700 i.e. "ll".
24701
ff04ec24 247022006-04-20 Hollis Blanchard <hollis@penguinppc.org>
24703
24704 * Makefile.in (LDFLAGS): Add variable.
24705 (LD): Remove variable.
24706 * configure.ac: Add -m32 to LDFLAGS.
24707 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
24708 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
24709 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
24710 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
24711 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
24712 variables.
24713 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
24714 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
24715 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
24716
37e5e1a4 247172006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
24718
24719 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
24720 length for unknown glyph.
24721
c352d8dd 247222006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
24723
2eab1c0d 24724 Add support for pre-loaded modules into the EFI port.
f19dbdb7 24725
2eab1c0d 24726 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
24727 completely. Accept one more argument DIR. The caller has changed.
24728
24729 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
24730
24731 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
24732 (grub_efi_loaded_image_guid): New variable.
24733 (grub_efi_get_loaded_image): New function.
24734 (grub_arch_modules_addr): Likewise.
24735
24736 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
24737 prototype.
24738
24739 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
24740 (struct grub_efi_loaded_image): New structure.
24741 (grub_efi_loaded_image_t): New type.
24742
247432006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 24744
c352d8dd 24745 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
24746 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
24747 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
24748
6d01d6b4 247492006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
24750
24751 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
24752
976a4ea0 247532006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
24754
24755 * DISTLIST: Added include/grub/efi/console.h,
24756 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
24757 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
24758
24759 * include/grub/efi/console.h: New file.
24760 * include/grub/efi/time.h: Likewise.
24761 * include/grub/i386/efi/kernel.h: Likewise.
24762 * kern/efi/init.c: Likewise.
24763 * kern/efi/mm.c: Likewise.
24764 * term/efi/console.c: Likewise.
f19dbdb7 24765
976a4ea0 24766 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
24767 (grub_stop): Removed.
24768 (grub_get_rtc): Likewise.
24769 (grub_machine_init): Simply call grub_efi_init.
24770 (grub_machine_fini): Call grub_efi_fini.
24771
24772 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
24773 (grub_efi_output_string): Removed.
24774 (grub_efi_stall): New function.
24775 (grub_stop): Likewise.
24776 (grub_get_rtc): Likewise.
24777
24778 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
24779 (grub_efi_stall): New prototype.
24780 (grub_efi_allocate_pages): Likewise.
24781 (grub_efi_free_pages): Likewise.
24782 (grub_efi_get_memory_map): Likewise.
24783 (grub_efi_mm_init): Likewise.
24784 (grub_efi_mm_fini): Likewise.
24785 (grub_efi_init): Likewise.
24786 (grub_efi_fini): Likewise.
24787
24788 * include/grub/i386/efi/time.h: Do not include
24789 grub/symbol.h. Include grub/efi/time.h.
24790 (GRUB_TICKS_PER_SECOND): Removed.
24791 (grub_get_rtc): Likewise.
24792
24793 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
24794 Added padding. The EFI spec is buggy.
24795 (GRUB_EFI_BLACK): New macro.
24796 (GRUB_EFI_BLUE): Likewise.
24797 (GRUB_EFI_GREEN): Likewise.
24798 (GRUB_EFI_CYAN): Likewise.
24799 (GRUB_EFI_RED): Likewise.
24800 (GRUB_EFI_MAGENTA): Likewise.
24801 (GRUB_EFI_BROWN): Likewise.
24802 (GRUB_EFI_LIGHTGRAY): Likewise.
24803 (GRUB_EFI_BRIGHT): Likewise.
24804 (GRUB_EFI_DARKGRAY): Likewise.
24805 (GRUB_EFI_LIGHTBLUE): Likewise.
24806 (GRUB_EFI_LIGHTGREEN): Likewise.
24807 (GRUB_EFI_LIGHTCYAN): Likewise.
24808 (GRUB_EFI_LIGHTRED): Likewise.
24809 (GRUB_EFI_LIGHTMAGENTA): Likewise.
24810 (GRUB_EFI_YELLOW): Likewise.
24811 (GRUB_EFI_WHITE): Likewise.
24812 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
24813 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
24814 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
24815 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
24816 (GRUB_EFI_BACKGROUND_RED): Likewise.
24817 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
24818 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
24819 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
24820 (GRUB_EFI_TEXT_ATTR): Likewise.
24821
24822 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
24823 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
24824 (kernel_mod_HEADERS): Added efi/time.h.
24825
83709125 248262006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
24827
24828 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
24829 include/grub/efi/api.h, include/grub/efi/console_control.h,
24830 include/grub/efi/efi.h, include/grub/efi/pe32.h,
24831 include/grub/i386/efi/time.h, kern/efi/efi.c,
24832 kern/i386/efi/init.c, kern/i386/efi/startup.S,
24833 and util/i386/efi/grub-mkimage.c.
24834
24835 * Makefile.in (RMKFILES): Added i386-efi.rmk.
24836
24837 * genmk.rb (PModule#rule): Do not export symbols if
24838 #{prefix}_EXPORTS is set to "no".
24839
24840 * conf/i386-efi.mk: New file.
24841 * conf/i386-efi.rmk: Likewise.
24842 * include/grub/efi/api.h: Likewise.
24843 * include/grub/efi/console_control.h: Likewise.
24844 * include/grub/efi/efi.h: Likewise.
24845 * include/grub/efi/pe32.h: Likewise.
24846 * include/grub/i386/efi/time.h: Likewise.
24847 * kern/efi/efi.c: Likewise.
24848 * kern/i386/efi/init.c: Likewise.
24849 * kern/i386/efi/startup.S: Likewise.
24850 * util/i386/efi/grub-mkimage.c: Likewise.
24851
248522006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 24853
24854 * include/grub/script.h: Include <grub/parser.h> and
24855 "grub_script.tab.h".
24856 (struct grub_lexer_param): New struct.
24857 (struct grub_parser_param): Likewise.
24858 (grub_script_create_arglist): Pass the state in an argument.
24859 (grub_script_add_arglist): Likewise.
24860 (grub_script_create_cmdline): Likewise.
24861 (grub_script_create_cmdblock): Likewise.
24862 (grub_script_create_cmdif): Likewise.
24863 (grub_script_create_cmdmenu): Likewise.
24864 (grub_script_add_cmd): Likewise.
24865 (grub_script_arg_add): Likewise.
24866 (grub_script_lexer_ref): Likewise.
24867 (grub_script_lexer_deref): Likewise.
24868 (grub_script_lexer_record_start): Likewise.
24869 (grub_script_lexer_record_stop): Likewise.
24870 (grub_script_mem_record): Likewise.
24871 (grub_script_mem_record_stop): Likewise.
24872 (grub_script_malloc): Likewise.
24873 (grub_script_yylex): Likewise.
24874 (grub_script_yyparse): Likewise.
24875 (grub_script_yyerror): Likewise.
24876 (grub_script_yylex): Likewise.
24877 (grub_script_lexer_init): Return the state.
24878
24879 * normal/lexer.c (grub_script_lexer_state): Removed variable.
24880 (grub_script_lexer_done): Likewise.
24881 (grub_script_lexer_getline): Likewise.
24882 (grub_script_lexer_refs): Likewise.
24883 (script): Likewise.
24884 (newscript): Likewise.
24885 (record): Likewise.
24886 (recording): Likewise.
24887 (recordpos): Likewise.
24888 (recordlen): Likewise.
24889 (grub_script_lexer_init): Return the state instead of setting
24890 global variables.
24891 (grub_script_lexer_ref): Use the newly added argument for state
24892 instead of globals.
24893 (grub_script_lexer_deref): Likewise.
24894 (grub_script_lexer_record_start): Likewise.
24895 (grub_script_lexer_record_stop): Likewise.
24896 (recordchar): Likewise.
24897 (nextchar): Likewise.
24898 (grub_script_yylex2): Likewise.
24899 (grub_script_yylex): Likewise.
24900 (grub_script_yyerror): Likewise.
24901
24902 * normal/parser.y (func_mem): Removed variable.
24903 (menu_entry): Likewise.
24904 (err): Likewise.
24905 (%lex-param): New parser option.
24906 (%parse-param): Likewise.
24907 (script): Always return the AST.
24908 (argument): Pass the state around.
24909 (arguments): Likewise.
24910 (grubcmd): Likewise.
24911 (commands): Likewise.
24912 (function): Likewise.
24913 (menuentry): Likewise.
24914 (if_statement): Likewise.
24915 (if): Likewise.
24916
24917 * normal/script.c (grub_script_memused): Removed variable.
24918 (grub_script_parsed): Likewise.
24919 (grub_script_malloc): Added a state argument. Use that instead of
24920 global variables.
24921 (grub_script_mem_record): Likewise.
24922 (grub_script_mem_record_stop): Likewise.
24923 (grub_script_arg_add): Likewise.
24924 (grub_script_add_arglist): Likewise.
24925 (grub_script_create_cmdline): Likewise.
24926 (grub_script_create_cmdif): Likewise.
24927 (grub_script_create_cmdmenu): Likewise.
24928 (grub_script_add_cmd): Likewise.
24929 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 24930
e2a8c904 249312006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 24932
24933 * normal/command.c (grub_command_init): Remove the title command.
24934
24935 * normal/lexer.c (grub_script_yylex): Renamed from this...
24936 (grub_script_yylex2): ... to this.
24937 (grub_script_yylex): New function. Temporary
24938 introduced to filter some tokens.
24939 (grub_script_yyerror): Print a newline.
24940
24941 * normal/main.c (read_config_file): Output information about the
24942 lines that contain errors. Wait for a key after all lines have
24943 been processed. Don't return an empty menu.
24944
24945 * normal/parser.y (func_mem): Don't initialize.
24946 (menu_entry): Likewise.
24947 (err): New variable.
24948 (script): Don't return anything when an error was encountered.
24949 (ws, returns): Removed rules.
24950 (argument): Disabled concatenated variable support.
24951 (arguments): Remove explicit separators.
24952 (grubcmd): Likewise.
24953 (function): Likewise.
24954 (menuentry): Likewise.
24955 (if): Likewise.
24956 (commands): Likewise. Add error handling.
24957
24958 * normal/script.c (grub_script_create_cmdline): If
24959 `grub_script_parsed' is 0, assume the parser encountered an error.
24960
c9a86192 249612006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
24962
24963 * configure.ac: Add support for EFI. Fix the typo
24964 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
24965
70f3b243 249662006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24967
24968 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
24969 foreign multibyte characters should be shown correctly.
24970
65f201ad 249712006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24972
24973 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
24974 calculation.
24975 (read_config_file): Made it to close file before returning.
24976
b4b93674 249772006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
24978
24979 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
24980 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
24981 video/i386/pc/vbefill.c.
24982
24983 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
24984 video/i386/pc/vbefill.c.
24985
24986 * include/grub/video.h (grub_video_blit_format): New enum.
24987 (grub_video_mode_info): Added new member blit_format.
24988 (grub_video_get_blit_format): New function prototype.
24989
24990 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
24991 function prototype.
24992 (grub_video_vbe_map_rgb): Likewise.
24993 (grub_video_vbe_unmap_color): Likewise.
24994
24995 * include/grub/i386/pc/vbeblit.h: New file.
24996
24997 * include/grub/i386/pc/vbefill.h: New file.
24998
24999 * video/video.c (grub_video_get_blit_format): New function.
25000 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
25001 (grub_video_vbe_map_rgb): Likewise.
25002 (grub_video_vbe_unmap_color): Likewise.
25003
25004 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
25005 optimized fills.
25006 (grub_video_vbe_blit_render_target): Changed to use more optimized
25007 blits.
25008 (grub_video_vbe_setup): Added detection for optimized settings.
25009 (grub_video_vbe_create_render_target): Likewise.
25010
25011 * video/i386/pc/vbeblit.c: New file.
25012
25013 * video/i386/pc/vbefill.c: New file.
25014
c2379b9c 250152006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
25016
25017 * font/manager.c (grub_font_get_glyph): Removed font fixup from
25018 here...
25019
25020 * util/unifont2pff.rb: ... and moved it to here. Improved argument
25021 parsing to support both hex and dec ranges. If filename was missing
25022 show usage information.
25023
bd0d7896 250242006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
25025
25026 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
25027 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
25028
25029 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
25030 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
25031 (video_mod_SOURCES): Added.
25032 (video_mod_CFLAGS): Likewise.
25033 (video_mod_LDFLAGS): Likewise.
25034 (gfxterm_mod_SOURCES): Likewise.
25035 (gfxterm_mod_CFLAGS): Likewise.
25036 (gfxterm_mod_LDFLAGS): Likewise.
25037 (videotest_mod_SOURCES): Likewise.
25038 (videotest_mod_CFLAGS): Likewise.
25039 (videotest_mod_LDFLAGS): Likewise.
25040 (vesafb_mod_SOURCES): Removed.
25041 (vesafb_mod_CFLAGS): Likewise.
25042 (vesafb_mod_LDFLAGS): Likewise.
25043 (vga_mod_SOURCES): Likewise.
25044 (vga_mod_CFLAGS): Likewise.
25045 (vga_mod_LDFLAGS): Likewise.
25046
25047 * commands/videotest.c: New file.
25048
25049 * font/manager.c (fill_with_default_glyph): Modified to use
25050 grub_font_glyph.
25051 (grub_font_get_glyph): Likewise.
25052 (fontmanager): Renamed from this...
25053 (font_manager): ... to this.
25054
25055 * include/grub/font.h (grub_font_glyph): Added new structure.
25056 (grub_font_get_glyph): Modified to use grub_font_glyph.
25057
25058 * include/grub/misc.h (grub_abs): Added as inline function.
25059
25060 * include/grub/video.h: New file.
25061
25062 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
25063 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
25064 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
25065 (grub_vbe_get_controller_info): Renamed from this...
25066 (grub_vbe_bios_get_controller_info): ... to this.
25067 (grub_vbe_get_mode_info): Renamed from this...
25068 (grub_vbe_bios_get_mode_info): ... to this.
25069 (grub_vbe_set_mode): Renamed from this...
25070 (grub_vbe_bios_set_mode): ... to this.
25071 (grub_vbe_get_mode): Renamed from this...
25072 (grub_vbe_bios_get_mode): ... to this.
25073 (grub_vbe_set_memory_window): Renamed from this...
25074 (grub_vbe_bios_set_memory_window): ... to this.
25075 (grub_vbe_get_memory_window): Renamed from this...
25076 (grub_vbe_bios_get_memory_window): ... to this.
25077 (grub_vbe_set_scanline_length): Renamed from this...
25078 (grub_vbe_set_scanline_length): ... to this.
25079 (grub_vbe_get_scanline_length): Renamed from this...
25080 (grub_vbe_bios_get_scanline_length): ... to this.
25081 (grub_vbe_set_display_start): Renamed from this...
25082 (grub_vbe_bios_set_display_start): ... to this.
25083 (grub_vbe_get_display_start): Renamed from this...
25084 (grub_vbe_bios_get_display_start): ... to this.
25085 (grub_vbe_set_palette_data): Renamed from this...
25086 (grub_vbe_bios_set_palette_data): ... to this.
25087 (grub_vbe_set_pixel_rgb): Removed.
25088 (grub_vbe_set_pixel_index): Likewise.
25089
25090 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
25091 from this...
25092 (grub_vbe_bios_get_controller_info): ... to this.
25093 (grub_vbe_get_mode_info): Renamed from this...
25094 (grub_vbe_bios_get_mode_info): ... to this.
25095 (grub_vbe_set_mode): Renamed from this...
25096 (grub_vbe_bios_set_mode): ... to this.
25097 (grub_vbe_get_mode): Renamed from this...
25098 (grub_vbe_bios_get_mode): ... to this.
25099 (grub_vbe_set_memory_window): Renamed from this...
25100 (grub_vbe_bios_set_memory_window): ... to this.
25101 (grub_vbe_get_memory_window): Renamed from this...
25102 (grub_vbe_bios_get_memory_window): ... to this.
25103 (grub_vbe_set_scanline_length): Renamed from this...
25104 (grub_vbe_set_scanline_length): ... to this.
25105 (grub_vbe_get_scanline_length): Renamed from this...
25106 (grub_vbe_bios_get_scanline_length): ... to this.
25107 (grub_vbe_set_display_start): Renamed from this...
25108 (grub_vbe_bios_set_display_start): ... to this.
25109 (grub_vbe_get_display_start): Renamed from this...
25110 (grub_vbe_bios_get_display_start): ... to this.
25111 (grub_vbe_set_palette_data): Renamed from this...
25112 (grub_vbe_bios_set_palette_data): ... to this.
25113 (grub_vbe_bios_get_controller_info): Fixed problem with registers
25114 getting corrupted after calling it. Added more pushes and pops.
25115 (grub_vbe_bios_set_mode): Likewise.
25116 (grub_vbe_bios_get_mode): Likewise.
25117 (grub_vbe_bios_get_memory_window): Likewise.
25118 (grub_vbe_bios_set_scanline_length): Likewise.
25119 (grub_vbe_bios_get_scanline_length): Likewise.
25120 (grub_vbe_bios_get_display_start): Likewise.
25121 (grub_vbe_bios_set_palette_data): Likewise.
25122
25123 * normal/cmdline.c (cl_set_pos): Refresh the screen.
25124 (cl_insert): Likewise.
25125 (cl_delete): Likewise.
25126
25127 * term/gfxterm.c: New file.
25128
25129 * term/i386/pc/vesafb.c: Removed file.
25130
25131 * video/video.c: New file.
25132
25133 * video/i386/pc/vbe.c (real2pm): Added new function.
25134 (grub_video_vbe_draw_pixel): Likewise.
25135 (grub_video_vbe_get_video_ptr): Likewise.
25136 (grub_video_vbe_get_pixel): Likewise
25137 (grub_video_vbe_init): Likewise.
25138 (grub_video_vbe_fini): Likewise.
25139 (grub_video_vbe_setup): Likewise.
25140 (grub_video_vbe_get_info): Likewise.
25141 (grub_video_vbe_set_palette): Likewise.
25142 (grub_video_vbe_get_palette): Likewise.
25143 (grub_video_vbe_set_viewport): Likewise.
25144 (grub_video_vbe_get_viewport): Likewise.
25145 (grub_video_vbe_map_color): Likewise.
25146 (grub_video_vbe_map_rgb): Likewise.
25147 (grub_video_vbe_map_rgba): Likewise.
25148 (grub_video_vbe_unmap_color): Likewise.
25149 (grub_video_vbe_fill_rect): Likewise.
25150 (grub_video_vbe_blit_glyph): Likewise.
25151 (grub_video_vbe_blit_bitmap): Likewise.
25152 (grub_video_vbe_blit_render_target): Likewise.
25153 (grub_video_vbe_scroll): Likewise.
25154 (grub_video_vbe_swap_buffers): Likewise.
25155 (grub_video_vbe_create_render_target): Likewise.
25156 (grub_video_vbe_delete_render_target): Likewise.
25157 (grub_video_vbe_set_active_render_target): Likewise.
25158 (grub_vbe_set_pixel_rgb): Remove function.
25159 (grub_vbe_set_pixel_index): Likewise.
25160 (index_color_mode): Remove static variable.
25161 (active_mode): Likewise.
25162 (framebuffer): Likewise.
25163 (bytes_per_scan_line): Likewise.
25164 (grub_video_vbe_adapter): Added new static variable.
25165 (framebuffer): Likewise.
25166 (render_target): Likewise.
25167 (initial_mode): Likewise.
25168 (mode_in_use): Likewise.
25169 (mode_list): Likewise.
25170
5f97350b 251712006-03-10 Marco Gerards <marco@gnu.org>
25172
25173 * configure.ac (AC_INIT): Bumped to 1.93.
25174
25175 * DISTLIST: Added `include/grub/hfs.h'.
25176
a3c5c6f8 251772006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
25178
25179 * boot/i386/pc/boot.S (general_error): Before looping, try INT
25180 18H, which might help the BIOS falling back to next boot media.
25181
6de53d26 251822006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
25183
25184 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
25185 Poe Chen <poe.poechen@gmail.com>.
25186
77c4a393 251872006-01-17 Marco Gerards <marco@gnu.org>
25188
25189 * include/grub/normal.h: Include <grub/script.h>.
25190 (grub_command_list): Removed struct.
25191 (grub_command_list_t): Removed type.
25192 (grub_menu_entry): Remove members `num' and `command_list'. Add
25193 members `commands' and `sourcecode'.
25194 * include/grub/script.h: Add inclusion guards.
25195 (grub_script_cmd_menuentry): New struct.
25196 (grub_script_execute_menuentry): New prototype.
25197 (grub_script_lexer_record_start): Likewise.
25198 (grub_script_lexer_record_stop): Likewise.
25199 * normal/execute.c (grub_script_execute_menuentry): New function.
25200 * normal/lexer.c (record, recording, recordpos, recordlen): New
25201 variables.
25202 (grub_script_lexer_record_start): New function.
25203 (grub_script_lexer_record_stop): Likewise.
25204 (recordchar): Likewise.
25205 (nextchar): Likewise.
25206 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
25207 2048 as the buffer size. Add the tokens `menuentry' and `@'.
25208 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
25209 (current_menu): New variable.
25210 (free_menu): Mainly rewritten.
25211 (grub_normal_menu_addentry): New function.
25212 (read_config_file): Rewritten.
25213 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 25214 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 25215 the menu entry.
25216 (run): Mainly rewritten.
25217 * normal/parser.y (menu_entry): New variable.
25218 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
25219 (menuentry): New rule.
25220 (command): Add `menuentry'.
25221 (if_statement): Allow additional returns before `fi'.
25222 * normal/script.c (grub_script_create_cmdmenu): New function.
25223
144f1f98 252242006-01-03 Marco Gerards <marco@gnu.org>
25225
25226 * INSTALL: GNU Bison is required.
25227 * configure.ac: Rewritten the test to detect Bison.
25228 * Makefile.in (YACC): New variable. Reported by Xun Sun
25229 <xun.sun.cn@gmail.com>.
25230
af4b2d89 252312006-01-03 Marco Gerards <marco@gnu.org>
25232
25233 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
25234 the HFS+ filesystem to filesystem blocks.
25235 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
25236 GCC warning is silenced.
25237
15643b71 252382006-01-03 Marco Gerards <marco@gnu.org>
25239
25240 * partmap/apple.c (apple_partition_map_iterate): Convert the data
25241 read from disk from big endian to host byte order.
25242
00905879 252432006-01-03 Hollis Blanchard <hollis@penguinppc.org>
25244
25245 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
25246 documentation.
25247 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
25248 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
25249 embedded HFS+ filesystem.
25250 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
25251 (grub_hfs_sblock): Move from here...
25252 * include/grub/hfs.h: To here... New file.
25253 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
25254 documentation.
25255 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
25256 New macros.
25257 (grub_hfsplus_volheader): Change type of member `magic' to
25258 `grub_uint16_t'.
25259 (grub_hfsplus_data): Add new member `embedded_offset'.
25260 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
25261 returned block.
25262 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
25263 Calculate the offset.
25264
8899bc3e 252652005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
25266
25267 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
25268 Removed.
25269 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
25270
ae8c0277 252712005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
25272
25273 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
25274 ENV->NAME is NULL after allocating ENV->VALUE.
25275
07084456 252762005-12-25 Marco Gerards <marco@gnu.org>
25277
25278 * kern/env.c (grub_env_set): Rewritten the error handling code.
25279
4750f5f1 252802005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
25281
25282 * geninit.sh: Made more robust, and more portable.
25283
50214199 252842005-12-25 Marco Gerards <marco@gnu.org>
25285
25286 Add support for Apple HFS+ filesystems.
f19dbdb7 25287
50214199 25288 * fs/hfsplus.c: New file.
25289
25290 * DISTLIST: Added `fs/hfsplus.c'.
25291
25292 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
25293 (hfsplus_mod_SOURCES): New variable.
25294 (hfsplus_mod_CFLAGS): Likewise.
25295 (hfsplus_mod_LDFLAGS): Likewise.
25296 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
25297 (grub_setup_SOURCES): Likewise.
25298 (grub_mkdevicemap_SOURCES): Likewise.
25299 (grub_emu_SOURCES): Likewise.
25300 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25301
25302 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
25303
25304 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
25305
befaed6c 253062005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
25307
25308 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
25309 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
25310 include/grub/parser.h, include/grub/script.h, kern/parser.c,
25311 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
25312 normal/lexer.c, normal/parser.y, normal/script.c, and
25313 partmap/gpt.c.
25314 Removed kern/sparc64/cache.c.
25315
25316 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
25317 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
25318 grub_emu_init.c.
25319
25320 * configure.ac (AC_INIT): Bumped to 1.92.
25321
6a124103 253222005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
25323
25324 * kern/err.c (grub_error_push): Added new function to support error
25325 stacks.
25326 (grub_error_pop): Likewise.
25327 (grub_error_stack_items): New local variable to support error stacks.
25328 (grub_error_stack_pos): Likewise.
25329 (grub_error_stack_assert): Likewise.
25330 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
25331 stack depth.
25332 (grub_print_error): Added support to print errors from error stack.
25333
25334 * include/grub/err.h (grub_error_push): Added function prototype.
25335 (grub_error_pop): Likewise.
25336
be973c1b 253372005-12-09 Hollis Blanchard <hollis@penguinppc.org>
25338
25339 * configure.ac: Accept `powerpc64' as host_cpu.
25340 (amd64): Rename to `biarch32'.
25341
25342 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
25343 non-cacheline-aligned addresses.
25344
25345 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
25346 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
25347 if `size' is non-zero.
25348
b04216ab 253492005-12-03 Marco Gerards <mgerards@xs4all.nl>
25350
25351 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
25352 and `cd' to make sure the filename is not prefixed with a
25353 directory name.
25354 (pkgdata_MODULES): Add `gpt.mod'.
25355 (gpt_mod_SOURCES): New variable.
25356 (gpt_mod_CFLAGS): Likewise.
25357 (gpt_mod_LDFLAGS): Likewise.
25358
25359 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
25360
25361 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
25362 New macro.
25363
25364 * partmap/gpt.c: New file.
25365
25366 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
25367 GPT partition map is detected.
25368
41730ed9 253692005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
25370
25371 * commands/i386/pc/play.c: New file.
25372 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
25373 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
25374 macros.
f19dbdb7 25375
95dc3643 253762005-11-27 Marco Gerards <mgerards@xs4all.nl>
25377
25378 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
25379 ((unused))' to silence gcc warning.
25380
1569ec51 253812005-11-26 Hollis Blanchard <hollis@penguinppc.org>
25382
25383 * configure.ac: Correct `AC_PROG_YACC' test.
25384
9abde152 253852005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25386
25387 * util/powerpc/ieee1275/grub-install.in: Run the mount point
25388 check before installing files.
25389
44b83271 253902005-11-22 Mike Small <smallm@panix.com>
25391
25392 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
25393 number regex so multidigit numbers are recognized correctly.
25394
253952005-11-22 Mike Small <smallm@panix.com>
25396
25397 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
25398 debugging message before attempting to claim memory.
25399 (grub_rescue_cmd_initrd): Add a claim debugging message and try
25400 multiple addresses in case of failure.
25401
9c12956b 254022005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25403
25404 * term/tparm.c (get_space): Remove empty `if' statement.
25405
25406 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
25407
25408 * kern/parser.c (check_varstate): Rename `state' to 's'.
25409
aeaf81d9 254102005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25411
25412 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
25413 variable definitions to the beginning of each function. Sort stack
25414 variables by size.
25415 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
25416 `buf' argument to `char *'.
25417
79bbb63f 254182005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25419
25420 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
25421 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 25422 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 25423 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
25424 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
25425 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
25426 configfile.mod, search.mod, gzio.mod and test.mod.
25427 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
25428 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
25429 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
25430 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
25431 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
25432 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
25433 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
25434 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
25435 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
25436 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
25437 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25438 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25439 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
25440 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
25441 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
25442 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
25443 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
25444 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
25445 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
25446 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
25447 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
25448 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
25449 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
25450
25451 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
25452 `grep --include'.
25453 (pkgdata_MODULES): Add test.mod.
25454
233b1628 254552005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25456
25457 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
25458 appending to variables with "+=".
25459 (PModule): Use full pathname to generate *.lst filenames.
25460
25461 * Makefile.in: Fixed list rules moved from genmk.rb.
25462 (.DELETE_ON_ERROR): New special target.
25463 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
25464
25465 * conf/i386-pc.rmk: Include conf/common.mk.
25466 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 25467 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 25468 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
25469 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
25470 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
25471 configfile.mod, search.mod, gzio.mod and test.mod.
25472 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
25473 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
25474 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
25475 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
25476 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
25477 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
25478 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
25479 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
25480 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
25481 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
25482 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25483 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25484 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
25485 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
25486 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
25487 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
25488 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
25489 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
25490 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
25491 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
25492 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
25493 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
25494 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
25495 here...
25496 * conf/common.rmk: ... to here. New file.
25497
25498 * conf/common.mk: New file.
25499
16f820c8 255002005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
25501
25502 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
25503 (grub_script.tab.c): ... here.
25504
25505 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
25506 (grub_script.tab.c): ... here.
25507
25508 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
25509 (grub_script.tab.c): ... here.
25510
25511 * normal/command.c (grub_command_find): Fixed a memory leak of
25512 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
25513
63ba1554 255142005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25515
25516 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
25517 "@" which marks the start of a comment on ARM.
25518 (VARIABLE): Likewise.
25519
7f67dc13 255202005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25521
79bbb63f 25522 Add support for Linux/ADFS partition tables.
7f67dc13 25523
25524 * partmap/acorn.c: New file.
25525
25526 * include/grub/acorn_filecore.h: Likewise.
25527
25528 * DISTLIST: Added `partmap/acorn.c' and
25529 `include/grub/acorn_filecore.h'.
f19dbdb7 25530
7f67dc13 25531 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25532 `partmap/acorn.c'.
25533 (pkgdata_MODULES): Add `acorn.mod'.
25534 (acorn_mod_SOURCES): New variable.
25535 (acorn_mod_CFLAGS): Likewise.
25536
25537 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
25538 `partmap/acorn.c'.
25539 (pkgdata_MODULES): Add `acorn.mod'.
25540 (acorn_mod_SOURCES): New variable.
25541 (acorn_mod_CFLAGS): Likewise.
25542
25543 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
25544 (pkgdata_MODULES): Add `acorn.mod'.
25545 (acorn_mod_SOURCES): New variable.
25546 (acorn_mod_CFLAGS): Likewise.
25547 (acorn_mod_LDFLAGS): Likewise.
25548
25549 * include/types.h (grub_disk_addr_t): New typedef.
25550
6d099807 255512005-11-13 Marco Gerards <mgerards@xs4all.nl>
25552
25553 * geninit.sh: New file.
25554
25555 * geninitheader.sh: Likewise.
25556
25557 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
25558 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
25559 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
25560 * commands/configfile.c (grub_configfile_init)
25561 (grub_configfile_fini): Likewise.
25562 * commands/default.c (grub_default_init, grub_default_fini):
25563 Likewise.
25564 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
25565 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
25566 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
25567 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
25568 Likewise.
25569 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
25570 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
25571 Likewise.
25572 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 25573 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 25574 Likewise.
25575 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
25576 Likewise.
fe6b695a 25577 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 25578 Likewise.
25579 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
25580 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
25581 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
25582 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
25583 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
25584 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
25585 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
25586 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
25587 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
25588 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
25589 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
25590 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
25591 * partmap/amiga.c (grub_amiga_partition_map_init)
25592 (grub_amiga_partition_map_fini): Likewise.
25593 * partmap/apple.c (grub_apple_partition_map_init)
25594 (grub_apple_partition_map_fini): Likewise.
25595 * partmap/pc.c (grub_pc_partition_map_init)
25596 (grub_pc_partition_map_fini): Likewise.
25597 * partmap/sun.c (grub_sun_partition_map_init,
25598 grub_sun_partition_map_fini): Likewise.
25599 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
25600 Likewise.
25601
25602 * util/grub-emu.c: Include <grub_modules_init.h>.
25603 (main): Don't initialize and de-initialize any modules directly,
25604 use `grub_init_all' and `grub_fini_all' instead.
25605
25606 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
25607 `grub_vesafb_mod_init'.
25608 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
25609 all users.
25610 * term/i386/pc/vga.c (grub_vga_init): Renamed to
25611 `grub_vga_mod_init'. Updated all users.
25612 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 25613
6d099807 25614 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
25615 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
25616 rules.
25617
25618 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
25619 Generate a function to initialize the module in utilities.
25620 Updated all callers.
25621 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
25622 initialize the module in utilities. Updated all callers.
25623
9046bcf0 256242005-11-09 Hollis Blanchard <hollis@penguinppc.org>
25625
25626 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
25627 escape sequence and a literal ^L to clear the screen.
25628
25629 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
25630 when returning from Open Firmware.
25631
d13ea639 256322005-11-09 Hollis Blanchard <hollis@penguinppc.org>
25633
25634 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
25635 (grub_ofconsole_height): Likewise.
25636 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
25637 manually insert a '\n'.
25638 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
25639 `grub_ofconsole_height'. Return early if these are already set.
25640
a8fcf206 256412005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
25642
25643 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
25644 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
25645 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
25646 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
25647 and `normal/script.c'.
25648 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25649 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25650 (test_mod_SOURCES): New variable.
25651 (test_mod_CFLAGS): Likewise.
25652 (test_mod_LDFLAGS): Likewise.
25653 (pkgdata_MODULES): Add `test.mod'.
25654 (grub_script.tab.c): New rule.
25655 (grub_script.tab.h): Likewise.
25656
b6b32745 256572005-11-07 Marco Gerards <mgerards@xs4all.nl>
25658
25659 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25660 `commands/test.c', `normal/execute.c', `normal/lexer.c',
25661 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25662 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25663 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25664 (test_mod_SOURCES): New variable.
25665 (test_mod_CFLAGS): Likewise.
25666 (pkgdata_MODULES): Add `test.mod'.
25667 (grub_script.tab.c): New rule.
25668 (grub_script.tab.h): Likewise.
25669
daac212a 256702005-11-06 Marco Gerards <mgerards@xs4all.nl>
25671
25672 Add initial scripting support.
25673
25674 * commands/test.c: New file.
25675 * include/grub/script.h: Likewise.
25676 * normal/execute.c: Likewise.
25677 * normal/function.c: Likewise.
25678 * normal/lexer.c: Likewise.
25679 * normal/parser.y: Likewise.
25680 * normal/script.c: Likewise.
25681
25682 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 25683
daac212a 25684 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
25685 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
25686 `normal/function.c' and `normal/script.c'.
25687 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25688 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 25689 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
25690 variables.
daac212a 25691 (pkgdata_MODULES): Add `test.mod'.
25692 (grub_script.tab.c): New rule.
25693 (grub_script.tab.h): Likewise.
25694
25695 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
25696
25697 * include/grub/normal.h (grub_test_init): New prototype.
25698 (grub_test_fini): Likewise.
f19dbdb7 25699
daac212a 25700 * normal/command.c: Include <grub/script.h>.
25701 (grub_command_execute): Rewritten.
f19dbdb7 25702
daac212a 25703 * util/grub-emu.c (main): Call `grub_test_init' and
25704 `grub_test_fini'.
25705
77500b2b 257062005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25707
25708 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
25709 to 0.
25710 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
25711 there are no pending characters.
25712
e45deb9e 257132005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25714
25715 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
25716 `grub_strndup' to drop device arguments. Replace unnecessary
25717 `grub_strndup' with `grub_strdup'.
25718
4ce32619 257192005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25720
25721 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
25722 `debug' environment variable has been set.
25723
257242005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 25725
4ce32619 25726 * Makefile.in (install-local): Use $(DATA).
25727 (uninstall): Likewise.
25728 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
25729 (sbin_UTILITIES): ... to here.
25730 (sbin_SCRIPTS): New variable.
25731 (grub_install_SOURCES): New variable.
25732 * util/powerpc/ieee1275/grub-install.in: New file.
25733 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
25734 variable.
25735 (add_segments): Call `grub_util_get_path'.
25736
25fe6f03 257372005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
25738
25739 From Timothy Baldwin:
25740 * commands/ls.c (grub_ls_list_files): Close FILE with
25741 grub_file_close.
25742 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
25743
04ccf3ec 257442005-10-24 Marco Gerards <mgerards@xs4all.nl>
25745
25746 * include/grub/parser.h: New file.
25747
25748 * kern/parser.c: Likewise.
25749
25750 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
25751 (grub_setup_SOURCES): Likewise.
25752 (grub_probefs_SOURCES): Likewise.
25753 (grub_emu_SOURCES): Likewise.
25754 (kernel_img_HEADERS): Add `parser.h'.
25755
25756 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
25757 (grub_emu_SOURCES): Add `kern/parser.c'.
25758 (grubof_SOURCES): Likewise.
25759
25760 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
25761 (grubof_SOURCES): Add `kern/parser.c'.
25762
25763 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
25764
25765 * kern/misc.c (grub_split_cmdline): Removed function.
25766
25767 * kern/rescue.c: Include <grub/parser.h>.
25768 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
25769 of `grub_split_cmdline'.
25770
25771 * normal/command.c: Include <grub/parser.h>.
25772 (grub_command_execute): Use `grub_parser_split_cmdline' instead
25773 of `grub_split_cmdline'.
25774
25775 * normal/completion.c: Include <grub/parser.h>.
25776 (cmdline_state): New variable.
25777 (iterate_dir): End the filename with a quote depending on the
25778 command line state.
25779 (get_state): new function.
25780 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
25781 split the arguments and determine the current argument. When the
25782 argument string is not quoted, escape all spaces.
25783
6d8f4b0e 257842005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25785
25786 * normal/sparc64/setjmp.S: New file.
25787
15cf03ed 257882005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25789
25790 * include/grub/sparc64/libgcc.h: New file.
25791 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
25792 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
25793 normal/sparc64/setjmp.c.
25794
03e8661a 257952005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25796
25797 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
25798 * kern/sparc64/cache.S: New file.
25799 * kern/sparc64/cache.c: Removed.
25800 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
25801 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
25802 -mtune=ultrasparc.
25803 (COMMON_LDFLAGS): Add -melf64_sparc.
25804 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
25805 (grubof_SOURCES): Use cache.S instead of cache.c.
25806 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
25807 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
25808 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
25809 commented though.
25810 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
25811 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
25812 (linux_mod_CFLAGS): Commented out.
25813 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
25814 out because module isn't built.
25815 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
25816 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
25817 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
25818 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
25819 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
25820 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
25821 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
25822 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
25823 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
25824 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
25825 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25826 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25827 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
25828 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
25829
34eeec8a 258302005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
25831
25832 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
25833 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
25834 longer, because HFS should not be used on PC.
25835
708367a3 258362005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25837
25838 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
25839 consistently within the loop.
25840
6fa1251a 258412005-10-15 Marco Gerards <mgerards@xs4all.nl>
25842
25843 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
25844 directory can not be read.
25845
4801580b 258462005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25847
25848 * configure.ac (AC_INIT): Increase the version number to 1.91.
25849
25850 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
25851 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
25852 term/i386/pc/serial.c.
25853
219ad426 258542005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25855
25856 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
25857 file size must be permitted.
25858
25859 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
25860 between %ah and %al.
25861
688e5699 258622005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25863
25864 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
25865 grub_uint64_t.
25866 Call the hook with a NUL-terminated filename.
25867 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
25868 grub_cpu_to_be32.
25869
25870 * kern/term.c (cursor_state): New variable.
25871 (grub_term_set_current): Reset the cursor state on a new
25872 terminal.
25873 (grub_setcursor): Rewritten to use CURSOR_STATE.
25874 (grub_getcursor): New function.
25875
25876 * include/grub/term.h (grub_getcursor): New prototype.
25877
25878 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
25879 integers on ARM. Reported by Timothy Baldwin
25880 <T.E.Baldwin99@members.leeds.ac.uk>.
25881
bb34586c 258822005-10-11 Marco Gerards <mgerards@xs4all.nl>
25883
25884 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
25885 allocated.
25886 (grub_sfs_dir): Likewise.
25887
9a909877 258882005-10-09 Marco Gerards <mgerards@xs4all.nl>
25889
25890 Add support for the SFS filesystem.
25891
25892 * fs/sfs.c: New file.
25893
25894 * DISTLIST: Added `fs/sfs.c'.
25895
25896 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
25897 (grub_probefs_SOURCES): Likewise.
25898 (grub_emu_SOURCES): Likewise.
25899 (pkgdata_MODULES): Add `sfs.mod'.
25900 (sfs_mod_SOURCES): New variable.
25901 (sfs_mod_CFLAGS): Likewise.
25902 (sfs_mod_LDFLAGS): Likewise.
25903
25904 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
25905 (pkgdata_MODULES): Add `sfs.mod'.
25906 (sfs_mod_SOURCES): New variable.
25907 (sfs_mod_CFLAGS): Likewise.
25908
25909 * util/grub-emu.c (main): Call `grub_sfs_init' and
25910 `grub_sfs_fini'.
25911
25912 * include/grub/fs.h (grub_sfs_init): New prototype.
25913 (grub_sfs_fini): Likewise.
25914
57bdbde3 259152005-10-07 Marco Gerards <mgerards@xs4all.nl>
25916
25917 Add support for the AFFS filesystem.
25918
25919 * fs/affs.c: New file.
25920
25921 * DISTLIST: Added `fs/affs.c'.
25922
25923 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
25924 (grub_probefs_SOURCES): Likewise.
25925 (grub_emu_SOURCES): Likewise.
25926 (pkgdata_MODULES): Add `affs.mod'.
25927 (affs_mod_SOURCES): New variable.
25928 (affs_mod_CFLAGS): Likewise.
25929 (affs_mod_LDFLAGS): Likewise.
25930
25931 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
25932 (pkgdata_MODULES): Add `affs.mod'.
25933 (affs_mod_SOURCES): New variable.
25934 (affs_mod_CFLAGS): Likewise.
25935
25936 * util/grub-emu.c (main): Call `grub_affs_init' and
25937 `grub_affs_fini'.
25938
25939 * include/grub/fs.h (grub_affs_init): New prototype.
25940 (grub_affs_fini): Likewise.
25941
047b67e0 259422005-10-01 Marco Gerards <mgerards@xs4all.nl>
25943
25944 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
25945
59b8208a 259462005-10-01 Marco Gerards <mgerards@xs4all.nl>
25947
25948 * configure.ac: Accept `x86_64' as host_cpu. In that case add
25949 `-m32' to CFLAGS.
25950
25951 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
25952 linking.
f19dbdb7 25953
59b8208a 25954 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
25955 (COMMON_LDFLAGS): New variable.
25956 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
25957 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
25958 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
25959 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
25960 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
25961 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
25962 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
25963 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
25964 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
25965 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
25966 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
25967 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
25968 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
25969 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
25970 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
25971 variables.
25972 (normal_mod_ASFLAGS): Add `-m32'.
25973
25974 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
25975 (grub_host_size_t, grub_host_ssize_t): New types.
25976 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 25977 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 25978 `GRUB_HOST_SIZEOF_VOID_P'.
25979
25980 * include/grub/kernel.h (struct grub_module_header): Type of
25981 member offset changed to `grub_host_off_t'. Type of member size
25982 changed to `grub_host_size_t'.
25983 (struct grub_module_info): Type of member offset changed to
25984 `grub_host_off_t'. Type of member size changed to
25985 `grub_host_size_t'.
25986
b4093103 259872005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
25988
25989 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 25990
b4093103 25991 * kern/i386/pc/startup.S (multiboot_header): New label.
25992 (multiboot_entry): Likewise.
25993 (multiboot_trampoline): Likewise.
25994
25995 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25996 Increased to 0x4A0.
25997
25998 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
25999 put parentheses after a question mark.
26000 [!GRUB_UTIL] (my_mod): New variable.
26001
26002 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
26003
b2499b29 260042005-09-28 Marco Gerards <mgerards@xs4all.nl>
26005
26006 Adds support for the XFS filesystem. Btrees are not supported
26007 yet.
26008
26009 * fs/xfs.c: New file.
26010
26011 * DISTLIST: Added `fs/xfs.c'.
26012
26013 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
26014 (grub_probefs_SOURCES): Likewise.
26015 (grub_emu_SOURCES): Likewise.
26016 (pkgdata_MODULES): Add `xfs.mod'.
26017 (xfs_mod_SOURCES): New variable.
26018 (xfs_mod_CFLAGS): Likewise.
26019
26020 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
26021 (pkgdata_MODULES): Add `xfs.mod'.
26022 (xfs_mod_SOURCES): New variable.
26023 (xfs_mod_CFLAGS): Likewise.
26024
26025 * util/grub-emu.c (main): Call `grub_xfs_init' and
26026 `grub_xfs_fini'.
26027
26028 * include/grub/fs.h (grub_xfs_init): New prototype.
26029 (grub_xfs_fini): Likewise.
26030
f19dbdb7 26031
83d37a62 260322005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
26033
26034 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
26035 color modes, allow greater than 16 colors to be configured as
26036 a default palette.
26037
47d2d65e 260382005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
26039
26040 * normal/completion.c (complete_arguments): Add the qualifier
26041 const into OPTIONS.
26042
26043 From Omniflux <omniflux+lists@omniflux.com>:
26044 * include/grub/terminfo.h: New file.
26045 * include/grub/tparm.h: Likewise.
26046 * include/grub/i386/pc/serial.h: Likewise.
26047 * term/terminfo.c: Likewise.
26048 * term/tparm.c: Likewise.
26049 * term/i386/pc/serial.c: Likewise.
26050 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
26051 serial.mod.
26052 (terminfo_mod_SOURCES): New variable.
26053 (terminfo_mod_CFLAGS): Likewise.
26054 (serial_mod_SOURCES): Likewise.
26055 (serial_mod_CFLAGS): Likewise.
26056
48b671ff 260572005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
26058
26059 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
26060 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
26061 and kern/powerpc/ieee1275/cmain.c, respectively.
26062
26063 * boot/powerpc/ieee1275/crt0.S: Moved to ...
26064 * kern/powerpc/ieee1275/crt0.S: ... here.
26065
26066 * boot/powerpc/ieee1275/cmain.c: Moved to ...
26067 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 26068
48b671ff 26069 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
26070 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
26071 instead of boot/powerpc/ieee1275/crt0.S and
26072 boot/powerpc/ieee1275/cmain.c, respectively.
26073
26074 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
26075 sectors. It was not used anyway.
26076
09fc77a7 260772005-08-30 Hollis Blanchard <hollis@penguinppc.org>
26078
26079 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
26080 `unused parameter' warning.
26081
003789c7 260822005-08-30 Hollis Blanchard <hollis@penguinppc.org>
26083
26084 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
26085 function.
26086 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
26087 getcharwidth.
26088
67f44c86 260892005-08-28 Marco Gerards <metgerards@student.han.nl>
26090
26091 * include/grub/normal.h (enum grub_completion_type): Added
26092 `GRUB_COMPLETION_TYPE_ARGUMENT'.
26093
26094 * normal/cmdline.c (print_completion): Handle
26095 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
26096 * normal/menu_entry.c (store_completion): Likewise.
26097
26098 * normal/completion.c (complete_arguments): New function.
26099 (grub_normal_do_completion): Call `complete_arguments' when the
26100 current words start with a dash.
26101
0b5abe02 261022005-08-27 Marco Gerards <metgerards@student.han.nl>
26103
26104 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
26105 `gzio.mod' instead of `io.mod').
26106
d9864ee1 261072005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
26108
26109 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
26110 (DISTDIRS): Added io and video.
26111 Rewrite the search routine to make an output consistently.
26112
26113 * DISTLIST: Added conf/sparc64-ieee1275.mk,
26114 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
26115 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
26116 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
26117 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
26118 util/powerpc/ieee1275/misc.c.
f19dbdb7 26119
d9864ee1 26120 * include/grub/gzio.h: New file.
26121 * io/gzio.c: Likewise.
f19dbdb7 26122
d9864ee1 26123 * kern/file.c (grub_file_close): Call grub_device_close only if
26124 FILE->DEVICE is not NULL.
26125
26126 * include/grub/mm.h [!NULL] (NULL): New macro.
26127
26128 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
26129
26130 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
26131 (pkgdata_MODULES): Added gzio.mod.
26132 (gzio_mod_SOURCES): New variable.
26133 (gzio_mod_CFLAGS): Likewise.
26134
26135 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
26136 (pkgdata_MODULES): Added gzio.mod.
26137 (gzio_mod_SOURCES): New variable.
26138 (gzio_mod_CFLAGS): Likewise.
26139
26140 * commands/cat.c: Include grub/gzio.h.
26141 (grub_cmd_cat): Use grub_gzfile_open instead of
26142 grub_file_open.
f19dbdb7 26143
d9864ee1 26144 * commands/cmp.c: Include grub/gzio.h.
26145 (grub_cmd_cmp): Use grub_gzfile_open instead of
26146 grub_file_open.
26147
26148 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
26149 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
26150 grub_file_open.
26151 (grub_rescue_cmd_module): Likewise.
26152
fa46f4b5 261532005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
26154
26155 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
26156 kern/sparc64/ieee1275/init.c because it contains _start.
26157 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
26158
e9211b5d 261592005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
26160
26161 * configure.ac: Add support for sparc64 host with ieee1275
26162 firmware.
26163 * configure: Generated from configure.ac.
26164 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
26165 instead of int.
26166 (grub_ofdisk_read): Likewise.
26167 (grub_ofdisk_open): Use %p to print pointer values, and cast the
26168 pointers as (void *) to remove a warning.
26169 (grub_ofdisk_close): Likewise.
26170 (grub_ofdisk_read): Likewise.
26171 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
26172 returns, so make it return void to remove a warning.
26173 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
26174 Corresponding prototype change.
26175 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
26176 values, and cast the pointers as (void *) to remove a warning.
26177 (grub_mm_dump): Likewise.
26178 * conf/sparc64-ieee1275.mk: New file.
26179 * conf/sparc64-ieee1275.rmk: Likewise.
26180 * include/grub/sparc64/setjmp.h: Likewise.
26181 * include/grub/sparc64/types.h: Likewise.
26182 * include/grub/sparc64/ieee1275/console.h: Likewise.
26183 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
26184 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26185 * include/grub/sparc64/ieee1275/time.h: Likewise.
26186 * kern/sparc64/cache.c: Likewise.
26187 * kern/sparc64/dl.c: Likewise.
26188 * kern/sparc64/ieee1275/init.c: Likewise.
26189 * kern/sparc64/ieee1275/openfw.c: Likewise.
26190
385c6a92 261912005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
26192
26193 * util/console.c (grub_ncurses_putchar): If C is greater than
26194 0x7f, set C to a question mark.
26195 (grub_ncurses_getcharwidth): New function.
26196 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
26197 getcharwidth.
26198
26199 * normal/menu.c (print_entry): Made aware of Unicode. First,
26200 convert TITLE to UCS-4, and predict the cursor position by
26201 grub_getcharwidth.
26202
26203 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
26204 const to SRC.
26205 * kern/misc.c (grub_utf16_to_utf8): Likewise.
26206
16ccb8b1 262072005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
26208
26209 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
26210 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
26211 grub_strcat.
26212
26213 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
26214 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
26215 grub_strcpy and grub_strlen. Take it into account that a space
26216 character is inserted as a delimiter.
26217
6a85ce79 262182005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
26219
26220 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 26221 invalid magic in the error.
6a85ce79 26222
26223 * commands/search.c: New file.
f19dbdb7 26224
6a85ce79 26225 * util/grub-emu.c (main): Call grub_search_init and
26226 grub_search_fini.
26227
26228 * kern/rescue.c (grub_rescue_print_disks): Removed.
26229 (grub_rescue_print_devices): New function.
26230 (grub_rescue_cmd_ls): Use grub_device_iterate with
26231 grub_rescue_print_devices instead of grub_disk_dev_iterate with
26232 grub_rescue_print_disks.
26233
26234 * kern/partition.c (grub_partition_iterate): Return the result of
26235 PARTMAP->ITERATE instead of GRUB_ERRNO.
26236
26237 * kern/device.c: Include grub/partition.h.
26238 (grub_device_iterate): New function.
26239
26240 * include/grub/partition.h (grub_partition_iterate): Return int
26241 instead of grub_err_t.
26242
26243 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
26244 prototype.
26245 [GRUB_UTIL] (grub_search_fini): Likewise.
26246
26247 * include/grub/device.h (grub_device_iterate): New prototype.
26248
26249 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
26250 commands/search.c.
26251 (pkgdata_MODULES): Added search.mod.
26252 (search_mod_SOURCES): New variable.
26253 (search_mod_CFLAGS): Likewise.
26254
26255 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
26256 (pkgdata_MODULES): Added search.mod.
26257 (search_mod_SOURCES): New variable.
26258 (search_mod_CFLAGS): Likewise.
26259
26260 * commands/ls.c (grub_ls_list_disks): Renamed to ...
26261 (grub_ls_list_devices): ... this, and use grub_device_iterate.
26262 All callers changed.
26263
26264 * DISTLIST: Added commands/search.c.
26265
ef095434 262662005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
26267
26268 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
26269 conversion.
26270 (grub_getcharwidth): New function.
26271
26272 * kern/misc.c (grub_utf8_to_ucs4): New function.
26273
26274 * include/grub/term.h (struct grub_term): Added a new member
26275 "getcharwidth".
26276 (grub_getcharwidth): New prototype.
26277
26278 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
26279
26280 * term/i386/pc/console.c (map_char): New function. Segregated from
26281 grub_console_putchar.
26282 (grub_console_putchar): Use map_char.
26283 (grub_console_getcharwidth): New function.
26284 (grub_console_term): Specified grub_console_getcharwidth as
26285 getcharwidth.
26286
26287 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
26288 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
26289
26290 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
26291 GRUB_ERRNO.
26292 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
26293 on grub_strtoul completely.
26294 (write_char): Declare local variables in the beginning of the
26295 function.
26296 (grub_vesafb_getcharwidth): New function.
26297 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
26298 getcharwidth.
26299
1f0a95e4 263002005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
26301
26302 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
26303 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
26304 commands/i386/pc/vbetest.c.
26305
26306 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
26307 call grub_vbe_get_controller_info again, because the returned
26308 information is volatile.
26309 (grub_vbe_set_video_mode): Mostly rewritten.
26310 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
26311 grub_vbe_status_t correctly.
26312 (grub_vbe_get_video_mode_info): Likewise.
26313 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
26314 several if statements.
26315
26316 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
26317 * commands/i386/pc/vbeinfo.c: ... this.
26318
26319 * commands/i386/pc/vbe_test.c: Renamed to ...
26320 * commands/i386/pc/vbetest.c: ... this.
26321
26322 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
26323 ...
26324 (grub_cmd_vbeinfo): ... this. Save video modes before
26325 iterating. Skip a video mode, if it is not available, not enough
26326 information is given or it is monochrome. Show the memory
26327 model. Leave the interpretation of MODEVAR to grub_strtoul
26328 completely.
26329 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
26330 (GRUB_MOD_FINI): Likewise.
26331
26332 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
26333 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
26334 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
26335 duplicated grub_env_get. Leave the interpretation of MODEVAR to
26336 grub_strtoul completely.
26337 (real2pm): Removed.
26338 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
26339 (GRUB_MOD_FINI): Likewise.
26340
26341 * normal/misc.c: Include grub/mm.h.
26342
26343 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
26344 vbe_list_modes with vbetest.mod and vbeinfo.mod.
26345 (vbe_list_modes_mod_SOURCES): Removed.
26346 (vbe_list_modes_mod_CFLAGS): Likewise.
26347 (vbe_test_mod_SOURCES): Likewise.
26348 (vbe_test_mod_CFLAGS): Likewise.
26349 (vbeinfo_mod_SOURCES): New variable.
26350 (vbeinfo_mod_CFLAGS): Likewise.
26351 (vbetest_mod_SOURCES): Likewise.
26352 (vbetest_mod_CFLAGS): Likewise.
26353
992ffbbe 263542005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
26355
26356 * normal/misc.c: New file.
26357
26358 * DISTLIST: Added normal/misc.c.
f19dbdb7 26359
992ffbbe 26360 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
26361 DISK to HOOK. Call HOOK with DISK.
26362 * partmap/apple.c (apple_partition_map_iterate): Likewise.
26363 * partmap/pc.c (pc_partition_map_iterate): Likewise.
26364 * partmap/sun.c (sun_partition_map_iterate): Likewise.
26365
26366 * normal/menu_entry.c (struct screen): Added a new member
26367 "completion_shown".
26368 (completion_buffer): New global variable.
26369 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
26370 (store_completion): New function.
26371 (complete): Likewise.
26372 (clear_completions): Likewise.
26373 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
26374 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
26375 a tab, call complete.
26376
26377 * normal/completion.c (disk_dev): Removed.
26378 (print_simple_completion): Likewise.
26379 (print_partition_completion): Likewise.
26380 (print_func): New global variable.
26381 (add_completion): Do not take the arguments WHAT or PRINT any
26382 longer. Added a new argument TYPE. Instead of printing directly,
26383 call PRINT_FUNC if not NULL.
26384 All callers changed.
26385 (complete_device): Use a local variable DEV instead of
26386 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
26387 (grub_normal_do_completion): Take a new argument HOOK. Do not
26388 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
26389 empty string, return NULL instead.
26390 All callers changed.
26391
26392 * normal/cmdline.c (print_completion): New function.
26393
26394 * kern/partition.c (grub_partition_iterate): Add an argument DISK
26395 to HOOK.
26396 All callers changed.
26397
26398 * kern/disk.c (grub_print_partinfo): Removed.
26399
26400 * include/grub/partition.h (struct grub_partition_map): Add a new
26401 argument DISK into HOOK of ITERATE.
26402 (grub_partition_iterate): Add a new argument DISK to HOOK.
26403
26404 * include/grub/normal.h (enum grub_completion_type): New enum.
26405 (grub_completion_type_t): New type.
26406 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
26407 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
26408 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
26409 (GRUB_COMPLETION_TYPE_FILE): Likewise.
26410 (grub_normal_do_completion): Added a new argument HOOK.
26411 (grub_normal_print_device_info): New prototype.
26412
26413 * include/grub/disk.h (grub_print_partinfo): Removed.
26414
26415 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
26416 (normal_mod_SOURCES): Likewise.
26417 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26418 (normal_mod_SOURCES): Likewise.
26419
26420 * commands/ls.c (grub_ls_list_disks): Use
26421 grub_normal_print_device_info instead of grub_print_partinfo. Free
26422 PNAME.
26423 (grub_ls_list_files): Use grub_normal_print_device_info instead of
26424 duplicating the code.
26425
0bd41162 264262005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
26427
26428 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 26429 follow GCS more precisely.
26430 * commands/i386/pc/vbe_test.c: Likewise.
26431 * include/grub/i386/pc/vbe.h: Likewise.
26432 * term/i386/pc/vesafb.c: Likewise.
26433 * video/i386/pc/vbe.c: Likewise.
0bd41162 26434
6323696a 264352005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
26436
26437 * DISTLIST: Added term/i386/pc/vesafb.c
26438 DISTLIST: Added video/i386/pc/vbe.c
26439 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
26440 DISTLIST: Added commands/i386/pc/vbe_test.c.
26441 * commands/i386/pc/vbe_list_modes.c: New file.
26442 * commands/i386/pc/vbe_test.c: Likewise.
26443 * term/i386/pc/vesafb.c: Likewise.
26444 * video/i386/pc/vbe.c: Likewise.
26445 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
26446 (grub_vbe_probe) Added prototype.
26447 (grub_vbe_set_video_mode) Likewise.
26448 (grub_vbe_get_video_mode) Likewise.
26449 (grub_vbe_get_video_mode_info) Likewise.
26450 (grub_vbe_set_pixel_rgb) Likewise.
26451 (grub_vbe_set_pixel_index) Likewise.
26452 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
26453 (pkgdata_MODULES): Added vesafb.mod.
26454 (pkgdata_MODULES): Added vbe_list_modes.mod.
26455 (pkgdata_MODULES): Added vbe_test.mod.
26456 (vbe_mod_SOURCES): Added.
26457 (vbe_mod_CFLAGS): Likewise.
26458 (vesafb_mod_SOURCES): Likewise.
26459 (vesafb_mod_CFLAGS): Likewise.
26460 (vbe_list_modes_mod_SOURCES): Likewise.
26461 (vbe_list_modes_mod_CFLAGS): Likewise.
26462 (vbe_test_mod_SOURCES): Likewise.
26463 (vbe_test_mod_CFLAGS): Likewise.
26464
0a74e62f 264652005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
26466
0a74e62f 26467 * normal/command.c (grub_command_execute): If INTERACTIVE is
26468 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
26469 CMDLINE. Disable the pager if INTERACTIVE is true.
26470 All callers are changed.
26471
26472 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
26473 before reading a config file.
26474 * normal/main.c (read_config_file): Even if a command is not
26475 found, register it if it is within an entry.
26476
26477 * util/grub-emu.c: Include sys/types.h and unistd.h.
26478 (options): Added --hold.
26479 (struct arguments): Added a new member "hold".
26480 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
26481 missing.
26482 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
26483 cleared by a debugger, if it is not zero.
26484
26485 * include/grub/normal.h (grub_command_execute): Add an argument
26486 INTERACTIVE.
26487
e51f85ae 264882005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
26489
26490 * DISTLIST: Added include/grub/i386/pc/vbe.h.
26491
e9c6f39b 264922005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
26493
26494 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
26495 program with another one, because the old one didn't detect a bug
26496 in gcc-3.4. Always use regparm 2, because the new test is still
26497 not enough for gcc-4.0. Someone must investigate a simple test
26498 case which detects a bug in gcc-4.0.
26499
8de3495c 265002005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
26501
26502 * DISTLIST: Added normal/completion.c.
26503
26504 * normal/completion.c: New file.
f19dbdb7 26505
8de3495c 26506 * term/i386/pc/console.c (grub_console_getwh): New function.
26507 (grub_console_term): Assign grub_console_getwh to getwh.
26508
26509 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
26510 function is defined in normal/completion.c as
26511 grub_normal_do_completion.
26512 (grub_cmdline_get): Use grub_normal_do_completion instead of
26513 grub_tab_complete.
26514
26515 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
26516 returns non-zero, otherwise return 0.
26517 (grub_partition_iterate): First, probe the partition map. Then,
26518 call ITERATE only for this partition map.
26519
26520 * kern/misc.c (grub_strncmp): Rewritten.
26521
26522 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
26523 returns non-zero. Otherwise return 0.
26524
26525 * include/grub/partition.h (grub_partition_map_iterate): Return
26526 int instead of void.
26527
26528 * include/grub/normal.h (grub_normal_do_completion): New prototype.
26529
26530 * include/grub/misc.h (grub_strncmp): Change the type of N to
26531 grub_size_t.
26532
26533 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
26534 of void.
26535
26536 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 26537 unsigned explicitly before comparing it with I.
8de3495c 26538
26539 * kern/main.c (grub_env_write_root): Add the attribute unused into
26540 VAR.
26541
26542 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
26543 normal/completion.c.
26544 (normal_mod_SOURCES): Likewise.
26545 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26546 (normal_mod_SOURCES): Likewise.
26547
26548 * normal/command.c (grub_iterate_commands): If ITERATE returns
26549 non-zero, return one immediately.
26550
e85e144b 265512005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
26552
26553 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
26554 * kern/i386/pc/startup.S: Updated Global Descriptor table's
26555 descriptions.
26556 (grub_vbe_get_controller_info): New function.
26557 (grub_vbe_get_mode_info): Likewise.
26558 (grub_vbe_set_mode): Likewise.
26559 (grub_vbe_get_mode): Likewise.
26560 (grub_vbe_set_memory_window): Likewise.
26561 (grub_vbe_get_memory_window): Likewise.
26562 (grub_vbe_set_scanline_length): Likewise.
26563 (grub_vbe_get_scanline_length): Likewise.
26564 (grub_vbe_set_display_start): Likewise.
26565 (grub_vbe_get_display_start): Likewise.
26566 (grub_vbe_set_palette_data): Likewise.
26567 * include/grub/i386/pc/vbe.h: New file.
26568
c46153d2 265692005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26570
26571 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
26572 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
26573 * DISTLIST: Likewise.
26574 * kern/ieee1275/of.c: Moved to ...
26575 * kern/ieee1275/ieee1275.c: ... here.
26576
0cb90c45 265772005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26578
26579 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
26580 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
26581 Pass 0 as `end' parameter to grub_strtoul().
26582
a19fb360 265832005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26584
26585 * include/grub/powerpc/ieee1275/console.h: Do not include
26586 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
26587 ifdef.
26588 (grub_console_cur_color): Remove i386-specific prototype.
26589 (grub_console_real_putchar): Likewise.
26590 (grub_console_checkkey): Likewise.
26591 (grub_console_getkey): Likewise.
26592 (grub_console_getxy): Likewise.
26593 (grub_console_gotoxy): Likewise.
26594 (grub_console_cls): Likewise.
26595 (grub_console_setcursor): Likewise.
26596 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
26597 Include <grub/machine/console.h>.
26598 * term/ieee1275/ofconsole.c: Likewise.
26599
4ac9bd04 266002005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
26601
26602 * Makefile.in (LIBLZO): New variable.
26603
26604 * configure.ac: Check for LZO version 2.
26605
26606 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
26607 lzo/lzo1x.h instead of lzo1x.h.
26608
26609 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
26610 of -llzo.
26611
26612 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
26613 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
26614
26615 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
26616 copying the data from PARTITION to P.
26617
f4917dfd 266182005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26619
26620 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
26621 negative, unload the module.
26622
26623 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
26624 map is "pc_partition_map" but not "pc".
26625 (usage): Fix the description. The options are --boot-image and
26626 --core-image but not --boot-file or --core-file.
26627 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
26628 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
26629 DEFAULT_DIRECTORY.
26630
26631 * util/i386/pc/grub-install.in: Do not specify --boot-file or
26632 --core-file. Specify INSTALL_DEVICE as an argument.
26633
26634 * util/console.c: Include config.h.
26635 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
26636 [HAVE_NCURSES_H]: Include ncurses.h.
26637 [HAVE_CURSES_H]: Include curses.h.
26638 [!A_NORMAL] (A_NORMAL): Defined as zero.
26639 [!A_STANDOUT] (A_STANDOUT): Likewise.
26640
26641 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
26642 -lncurses.
26643 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
26644
26645 * configure.ac: Check for curses libraries and headers.
26646
26647 * Makefile.in (LIBCURSES): New variable.
26648
26649 * genmk.rb (Script::rule): Set the executable bits.
26650
26651 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
26652 name of the PC partition map is "pc_partition_map" but not "pc".
26653
0e143073 266542005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26655
26656 * util/i386/pc/grub-install.in (grub_probefs): New variable.
26657 (modules): Likewise.
26658 (usage): Added descriptions for --modules and --grub-probefs.
26659 Handle --modules and --grub-probefs. Save the arguments in MODULES
26660 and GRUB_PROBEFS, respectively.
26661 Auto-detect a filesystem module against GRUBDIR. If the result is
26662 empty and modules are not specified explicitly, abort the
26663 installation. Add the result to MODULES.
26664
26665 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
26666 disk/powerpc/ieee1275/ofdisk.c,
26667 include/grub/powerpc/ieee1275/init.h and
26668 term/powerpc/ieee1275/ofconsole.c.
26669 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
26670 term/ieee1275/ofconsole.c.
26671
26672 * include/grub/powerpc/ieee1275/console.h: Resurrected.
26673
26674 * COPYING: Upgraded to the latest version. Only the address of the
26675 FSF office has changed.
f19dbdb7 26676
efd6e6d5 266772005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26678
26679 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
26680 kern/ieee1275.c with kern/ieee1275/of.c.
26681
26682 * kern/ieee1275.c: Moved to ...
26683 * kern/ieee1275/of.c: ... here.
26684
8ceafda2 266852005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
26686
26687 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 26688 readability.
8ceafda2 26689
26690 * config.guess: Updated to the latest version from gnulib.
26691 * config.sub: Likewise.
26692 * install.sh: Likewise.
26693 * mkinstalldirs: Likewise.
26694
26695 * include/grub/console.h: Removed. This file is arch-specific. Do
26696 not put this in include/grub.
26697
26698 * include/grub/i386/pc/console.h: Resurrected.
26699
26700 * util/console.c: Include grub/machine/console.h instead of
26701 grub/console.h.
26702 * util/grub-emu.c: Likewise.
26703
267f6cd9 267042005-08-04 Marco Gerards <metgerards@student.han.nl>
26705
26706 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
26707 hardcoded value.
f19dbdb7 26708
267f6cd9 26709 From Vincent Pelletier <subdino2004@yahoo.fr>
26710 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
26711 Redefined to use grub_getwh.
26712 (grub_term): New member named getwh.
26713 (grub_getwh): New prototype.
26714 * kern/term.c (grub_getwh): New function.
26715 * term/i386/pc/console.c (grub_console_getwh): New function.
26716 (grub_console_term): New member `getwh'.
26717 * term/i386/pc/vga.c (grub_vga_getwh): New function.
26718 (grub_vga_term): New member `getwh'.
0b5abe02 26719 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 26720 grub_ssize_t.
26721 (grub_ofconsole_getw): New function.
26722 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
26723 (grub_ofconsole_term): New field named getwh and new initial
26724 value.
26725
3be7266d 267262005-08-03 Hollis Blanchard <hollis@penguinppc.org>
26727
26728 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
26729 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
26730 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
26731 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
26732 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
26733 of <grub/machine/ieee1275.h>.
26734 * commands/ieee1275/reboot.c: Likewise.
26735 * boot/powerpc/ieee1275/ieee1275.c: Move ...
26736 * kern/ieee1275.c: ... to here. All users updated. Change all
26737 parameter structs to use new type `grub_ieee1275_cell_t'.
26738 * term/powerpc/ieee1275/ofconsole.c: Move ...
26739 * term/ieee1275/ofconsole.c: ... to here. All users updated.
26740 * disk/powerpc/ieee1275/ofdisk.c: Move ...
26741 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
26742 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
26743 to return int.
26744 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
26745 Remove unused prototypes. All users updated.
26746 * include/grub/powerpc/ieee1275/console.h: Removed.
26747 * include/grub/powerpc/ieee1275/ieee1275.h: Define
26748 `grub_ieee1275_cell_t'.
26749 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
26750 Cast comparisons with -1 to the correct type.
26751 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
26752 type to match `grub_ieee1275_entry_fn'.
26753
8b5f3938 267542005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
26755
26756 * DISTLIST: Added util/i386/pc/grub-probefs.c.
26757
26758 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
26759 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
26760 partmap/sun.c.
26761 (grub_probefs_SOURCES): New variable.
26762
26763 * util/i386/pc/grub-probefs.c: New file.
26764
26765 * util/i386/pc/grub-setup.c (main): Call
26766 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
26767 grub_hfs_init and grub_jfs_init to initialize the system. Call
26768 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
26769 grub_pc_partition_map_fini to finish the system.
26770
ea409713 267712005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
26772
26773 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
26774 function.
26775 (grub_multiboot_load_elf32): Likewise.
26776 (grub_multiboot_is_elf64): Likewise.
26777 (grub_multiboot_load_elf64): Likewise.
26778 (grub_multiboot_load_elf): Likewise.
26779 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
26780 an ELF32 or ELF64 file.
26781 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
26782
26783 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
26784 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
26785 NULL before calling FS->LABEL.
26786 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
26787 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
26788 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
26789 before calling FS->LABEL.
26790
141a288b 267912005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
26792
26793 * util/i386/pc/grub-install.in (datadir): New variable.
26794 (libdir): Removed.
26795 (pkgdatadir): New variable.
26796 (pkglibdir): Removed.
26797
0d5f8a54 267982005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
26799
26800 * DISTLIST: Added util/i386/pc/grub-install.in.
26801
26802 * util/i386/pc/grub-install.in: New file.
26803
26804 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
26805 (grub_install_SOURCES): Likewise.
26806
26807 * genmk.rb: Added support for scripts.
26808 (Script): New class.
26809 (scripts): New variable.
26810
26811 * Makefile.in (install-local): Install sbin_SCRIPTS by
26812 INSTALL_SCRIPT.
26813 (uninstall): Remove sbin_SCRIPTS.
26814
26815 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
26816 device, try to get a GRUB device by
26817 grub_util_biosdisk_get_grub_dev.
26818 Free DEST_DEV.
26819
26820 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
26821 description for --device-map.
26822
5f968e1e 268232005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
26824
26825 Change the semantics of variable hooks. They now return strings
26826 instead of error values.
f19dbdb7 26827
5f968e1e 26828 * util/i386/pc/grub-setup.c: Include grub/env.h.
26829 (setup): Use grub_device_set_root instead of grub_env_set.
26830
26831 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
26832 grub_env_get instead of grub_device_set_root and
26833 grub_device_get_root, respectively.
26834
26835 * kern/main.c (grub_env_write_root): New function.
26836 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
26837 grub_env_set instead of grub_device_set_root.
26838
26839 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
26840 many variables.
26841 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
26842 rather than calling ENV->WRITE_HOOK afterwards.
26843 (grub_env_get): Return the result of ENV->READ_HOOK rather than
26844 passing a pointer of a pointer.
26845 (grub_register_variable_hook): Change the types of "read_hook" and
26846 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
26847 respectively.
26848 Allocate the default empty string on the heap, because this string
26849 may be freed later.
26850
26851 * kern/device.c: Include grub/env.h.
26852 (grub_device_set_root): Removed.
26853 (grub_device_get_root): Likewise.
26854 (grub_device_open): Use grub_env_get instead of
26855 grub_device_get_root.
26856
26857 * include/grub/env.h (grub_env_read_hook_t): New type.
26858 (grub_env_write_hook_t): Likewise.
26859 (grub_env_var): Change the types of "read_hook" and "write_hook"
26860 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
26861 (grub_register_variable_hook): Likewise.
26862
26863 * include/grub/device.h (grub_device_set_root): Removed.
26864 (grub_device_set_root): Likewise.
26865
26866 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
26867 make sure that DIRNAME terminates with '/', so that
26868 grub_fat_find_dir will fail if PATH is not a directory.
26869
26870 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
26871 from DIRNAME.
26872 Use the qualifier auto for print_files and print_files_long.
26873 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
26874 as a regular file.
26875 Put a newline only if there is no error.
26876 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
26877 used.
26878
896f0afd 268792005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
26880
26881 * kern/partition.c (grub_partition_probe): Initialize PART to
26882 NULL. Otherwise, when no partition map is registered, this returns
26883 a garbage.
26884
b28b81b2 268852005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
26886
26887 * partmap/apple.c (apple_partition_map_iterate): Check if POS
26888 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
26889 valid.
26890
5f3607e0 268912005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
26892
26893 * commands/ls.c (grub_ls_list_disks): Print the filesystem
26894 information on each device, if it does not have partitions. Print
26895 "Device" instead of "Disk", because this function is not specific
26896 to disk devices.
26897
26898 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
26899 static to ensure that it is put on the memory rather than a
26900 register.
26901
502c87e8 269022005-07-17 Yoshinori Okuji <okuji@enbug.org>
26903
26904 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
26905 (grub_cat_init): Likewise.
26906 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
26907 (options): Likewise.
26908 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
26909 (grub_configfile_init): Likewise.
26910 * font/manager.c (GRUB_MOD_INIT): Likewise.
26911 * commands/help.c (GRUB_MOD_INIT): Likewise.
26912 (grub_help_init): Likewise.
26913 * normal/command.c (grub_command_init): Likewise.
26914 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
26915 * disk/loopback.c (grub_loop_init): Likewise.
26916 (GRUB_MOD_INIT): Likewise.
26917 * commands/ls.c (grub_ls_init): Likewise.
26918 (GRUB_MOD_INIT): Likewise.
26919 (options): Likewise.
26920 * commands/boot.c (grub_boot_init): Likewise.
26921 (GRUB_MOD_INIT): Likewise.
26922 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
26923 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
26924 (GRUB_MOD_INIT): Likewise.
26925 * commands/cmp.c (grub_cmp_init): Likewise.
26926 (GRUB_MOD_INIT): Likewise.
26927
26928 * normal/arg.c: Use <> instead of "" to include header files.
26929 (SHORT_ARG_HELP): New macro.
26930 (SHORT_ARG_USAGE): Likewise.
26931 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
26932 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
26933 descriptions.
26934 (find_short): Check if C is 'h' or 'u' explicitly.
26935 (grub_arg_show_help): Use space characters instead of tabs. Treat
26936 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
26937 are shown with --help and --usage only if they are not used for
26938 the command itself.
26939 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
26940 'h' and 'u'.
26941
26942 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
26943 const into "longarg". Change the type of "shortarg" to int.
26944
f806d18e 269452005-07-17 Yoshinori Okuji <okuji@enbug.org>
26946
26947 * boot/i386/pc/boot.S (boot_drive_check): New label.
26948
26949 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
26950 macro.
26951
26952 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
26953 which do not pass a boot drive correctly. Copied from GRUB Legacy.
26954
e293232b 269552005-07-17 Yoshinori Okuji <okuji@enbug.org>
26956
26957 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
26958 When turning off Gate A20, skip the check and return immediately,
26959 because this is not fatal usually.
26960
ebedfd00 269612005-07-17 Yoshinori Okuji <okuji@enbug.org>
26962
26963 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
26964 be 0x7C00 instead of 0x8000.
26965
26966 * boot/i386/pc/pxeboot.S: Rewritten.
26967
26968 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
26969 EXT_C.
26970 (gate_a20_check_state): Read a byte from 0x108000. Invert the
26971 result.
26972
654fc59f 269732005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
26974
26975 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
26976 robustness. This routine now supports a BIOS call and System
26977 Control Port A to modify the gate A20.
26978
26979 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26980 Increased to 0x440.
26981
09f9923f 269822005-07-12 Hollis Blanchard <hollis@penguinppc.org>
26983
26984 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
26985 device path and resulting ihandle.
26986 (grub_ofdisk_close): dprintf the ihandle being closed.
26987 (grub_ofdisk_read): dprintf function parameters.
26988 * kern/mm.c (grub_mm_init_region): Likewise.
26989 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
26990 (grub_linux_boot): dprintf the Linux entry point, initrd address and
26991 size, and boot arguments.
26992 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
26993 before loading into memory.
26994 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
26995 before loading into memory.
26996
7ef504d8 269972005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
26998
26999 * kern/mm.c: Added much documentation.
27000 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
27001 8, set to 5 instead of 8.
27002
e0f050c2 270032005-07-10 Yoshinori Okuji <okuji@enbug.org>
27004
27005 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
27006
27007 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
27008 (grub_mkdevicemap_SOURCES): New variable.
27009
27010 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
27011 lib/device.c of GRUB Legacy.
27012
7224189a 270132005-07-10 Yoshinori Okuji <okuji@enbug.org>
27014
27015 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
27016 instead of PATH is NULL.
27017
68c864eb 270182005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
27019
27020 * commands/cmp.c (BUFFER_SIZE): New macro.
27021 (grub_cmd_cmp): Close the right file at the right time. Compare
27022 only data just read. Don't report files of different size as
27023 identical. Dynamically allocate buffers. Move variable
27024 declarations at the beginning of function.
27025
e6f3e614 270262005-07-09 Yoshinori Okuji <okuji@enbug.org>
27027
27028 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
27029 reverse.
27030
f8f1559a 270312004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
27032
27033 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
27034 when backspace is pressed at beginning of line.
27035
39c9d41d 270362005-07-03 Yoshinori Okuji <okuji@enbug.org>
27037
27038 * DISTLIST: Added genfslist.sh.
27039
27040 * normal/main.c (fs_module_list): New variable.
27041 (autoload_fs_module): New function.
27042 (read_fs_list): Likewise.
27043 (grub_normal_execute): Call read_fs_list.
27044
27045 * kern/fs.c (grub_fs_autoload_hook): New variable.
27046 (grub_fs_probe): Added support for auto-loading.
27047
27048 * include/grub/normal.h (struct grub_fs_module_list): New struct.
27049 (grub_fs_module_list_t): New type.
27050
27051 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
27052 (grub_fs_autoload_hook): New prototype.
27053
27054 * genfslist.sh: New file.
f19dbdb7 27055
39c9d41d 27056 * genmk.rb: Added a rule to generate a filesystem list.
27057
121c1d83 270582005-06-30 Marco Gerards <metgerards@student.han.nl>
27059
27060 * configure.ac: Fix the test for cross-compiling.
27061
27062 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
27063 define GRUB_UTIL anymore.
27064
27065 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
27066 so this function works on other systems than just big endian.
27067 (load_modules): Likewise.
27068 (add_segments): Likewise.
27069
e75d76e1 270702005-06-23 Hollis Blanchard <hollis@penguinppc.org>
27071
27072 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
27073 contains `l' modifier, get a long from va_arg().
27074
50b5a0a7 270752005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
27076
27077 * kern/mm.c (grub_free): If the next free block which is being
27078 merged is the first free block, set the first block to the block
27079 being freed.
27080 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
27081
89371b20 270822005-05-08 Hollis Blanchard <hollis@penguinppc.org>
27083
27084 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
27085 `grub_ieee1275_chosen'.
27086
168d6e58 270872005-05-08 Hollis Blanchard <hollis@penguinppc.org>
27088
27089 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
27090 (grub_ieee1275_chosen): New variable.
27091 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
27092 `chosen'.
27093 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
27094 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
27095 Rename first argument to `phandle' for consistency.
27096 (grub_ieee1275_get_property_length): Likewise.
27097 (grub_ieee1275_next_property): Likewise. Change type of first argument
27098 to grub_ieee1275_phandle_t.
27099 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
27100 Move export next to declaration.
27101 (grub_ieee1275_chosen): New variable.
27102 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
27103 Correct cosmetic typo.
27104 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
27105 `grub_ieee1275_chosen'.
27106 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
27107 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
27108 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
27109 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
27110 `grub_ieee1275_chosen'.
27111
ca5baa3f 271122005-05-10 Hollis Blanchard <hollis@penguinppc.org>
27113
27114 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
27115 /chosen/bootargs.
27116 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
27117 /chosen/bootargs as "variable=value" pairs.
27118
708b345f 271192005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
27120
27121 * include/grub/misc.h (grub_dprintf): New macro.
27122 (grub_real_dprintf): New prototype.
27123 (grub_strword): Likewise.
27124 (grub_iswordseparator): Likewise.
27125 * kern/misc.c (grub_real_dprintf): New function.
27126 (grub_strword): Likewise.
27127 (grub_iswordseparator): Likewise.
27128
f4c5e67c 271292005-04-30 Hollis Blanchard <hollis@penguinppc.org>
27130
27131 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
27132 (roundup): Remove macro.
27133 (grub_ieee1275_flags): Make static.
27134 (grub_ieee1275_realmode): Remove.
27135 (grub_ieee1275_test_flag): New function.
27136 (grub_ieee1275_set_flag): Likewise.
27137 (find_options): Rename to `grub_ieee1275_find_options'; update
27138 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
27139 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
27140 (cmain): New prototype.
27141 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
27142 `grub_ieee1275_flags' directly.
27143 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
27144 machine/biosdisk.h.
27145 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
27146 Don't include grub/machine/init.h.
27147 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
27148 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
27149 Remove prototype.
27150 (grub_ieee1275_realmode): Likewise.
27151 (grub_ieee1275_flag): New enum.
27152 (grub_ieee1275_test_flag): New prototype.
27153 (grub_ieee1275_set_flag): New prototype.
27154 * include/grub/powerpc/ieee1275/init.h: Remove file.
27155 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
27156 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
27157 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
27158 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
27159 comment.
27160 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
27161 `grub_ieee1275_test_flag'.
27162 (grub_ieee1275_encode_devname): Likewise.
27163
ed16607e 271642005-04-21 Hollis Blanchard <hollis@penguinppc.org>
27165
27166 * include/grub/powerpc/ieee1275/ieee1275.h
27167 (grub_ieee1275_encode_devname): New prototype.
27168 (grub_ieee1275_get_filename): Likewise.
27169 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
27170 function.
27171 (grub_set_prefix): Likewise.
27172 (grub_machine_init): Call grub_set_prefix.
27173 * kern/powerpc/ieee1275/openfw.c: Fix typos.
27174 (grub_parse_type): New enum.
27175 (grub_ieee1275_get_devargs): New function.
27176 (grub_ieee1275_get_devname): Likewise.
27177 (grub_ieee1275_parse_args): Likewise.
27178 (grub_ieee1275_get_filename): Likewise.
27179 (grub_ieee1275_encode_devname): Likewise.
27180
be369920 271812005-03-30 Marco Gerards <metgerards@student.han.nl>
27182
27183 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
27184 `grub_loader_unset'.
27185
a5ce3a4a 271862005-03-26 Hollis Blanchard <hollis@penguinppc.org>
27187
27188 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
27189 instead of grub_ieee1275_interpret.
27190 (grub_halt_init): New function.
27191 (grub_halt_fini): Likewise.
27192 (GRUB_MOD_INIT): Correct message grammar.
27193 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
27194 instead of grub_ieee1275_interpret.
27195 (grub_reboot_init): New function.
27196 (grub_reboot_fini): Likewise.
27197 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
27198 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
27199 util/i386/pc/misc.c with commands/ieee1275/halt.c,
27200 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
27201 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
27202 function.
27203 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
27204 Add prototype.
27205 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
27206 prototype.
27207 (grub_halt): Likewise.
27208 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
27209 (cmain): Remove __attribute__((unused)).
27210 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
27211 (grub_heap_len): Likewise.
27212 (grub_machine_fini): New function.
27213 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
27214 (grub_halt): Likewise.
27215 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
27216 function.
27217 * util/powerpc/ieee1275/misc.c: New file.
27218
0058f771 272192005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
27220
27221 * DISTLIST: New file.
27222 * gendistlist.sh: Likewise.
f19dbdb7 27223
0058f771 27224 * Makefile.in (COMMON_DISTFILES): Removed.
27225 (BOOT_DISTFILES): Likewise.
27226 (CONF_DISTFILES): Likewise.
27227 (DISK_DISTFILES): Likewise.
27228 (FS_DISTFILES): Likewise.
27229 (INCLUDE_DISTFILES): Likewise.
27230 (KERN_DISTFILES): Likewise.
27231 (LOADER_DISTFILES): Likewise.
27232 (TERM_DISTFILES): Likewise.
27233 (UTIL_DISTFILES): Likewise.
27234 (DISTFILES): Likewise.
27235 (uninstall): Uninstall files in $(pkgdata_DATA).
27236 (DISTLIST): New target.
27237 (distdir): Use the contents of the file DISTLIST to get a list of
27238 distributed files.
27239
46b3b8a5 272402005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
27241
27242 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
27243 descriptor. This is ported from GRUB Legacy.
27244
27245 * gencmdlist.sh: Added an extra semicolon to make it work with
27246 old sed versions. Reported by Robert Bihlmeyer
27247 <robbe@orcus.priv.at>.
27248
5822ff87 272492005-03-08 Yoshinori Okuji <okuji@enbug.org>
27250
27251 Automatic loading of commands is supported.
f19dbdb7 27252
5822ff87 27253 * normal/main.c (read_command_list): New function.
27254 (grub_normal_execute): Call read_command_list.
27255
27256 * normal/command.c (grub_register_command): Return zero or CMD.
27257 Allocate CMD->NAME from the heap.
27258 Initialize CMD->MODULE_NAME to zero.
27259 Find the same name as well. If the same command is found and it is
27260 a dummy command, overwrite members. If it is not a dummy command,
27261 return zero.
27262 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
27263 (grub_command_find): If a dummy command is found, load a module
27264 and retry to find a command only once.
27265
27266 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
27267 make sure that each command is loaded.
27268
27269 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
27270 macro.
27271 (struct grub_command): Remove const from the member `name'.
27272 Add a new member `module_name'.
27273 (grub_register_command): Return grub_command_t.
27274
27275 * commands/help.c (grub_cmd_help): Call grub_command_find to make
27276 sure that each command is loaded.
27277
27278 * genmk.rb (PModule::rule): Specify a module name without the
27279 suffix ".mod" to gencmdlist.sh.
27280
7b1f4b57 272812005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
27282
27283 * gencmdlist.sh: New file.
f19dbdb7 27284
7b1f4b57 27285 * genmk.rb (PModule::rule): Generate a rule for a command list.
27286 Clean command.lst.
27287 Generate command.lst from $(COMMANDFILES).
27288
27289 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
27290 (DATA): Added $(pkgdata_DATA).
27291 (install-local): Install files in $(pkgdata_DATA).
27292
062aaf39 272932005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
27294
27295 * term/i386/pc/vga.c (debug_command): Removed.
27296 (GRUB_MOD_INIT): Do not register the command "debug".
27297
27298 From Hollis Blanchard:
27299 * commands/configfile.c: New file.
27300 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27301 commands/configfile.c.
27302 (pkgdata_MODULES): Added configfile.mod.
27303 (configfile_mod_SOURCES): New variable.
27304 (configfile_mod_CFLAGS): Likewise.
27305 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
27306 commands/configfile.c.
27307 (pkgdata_MODULES): Added configfile.mod.
27308 (configfile_mod_SOURCES): New variable.
27309 (configfile_mod_CFLAGS): Likewise.
27310 * util/grub-emu.c (main): Call grub_configfile_init and
27311 grub_configfile_fini.
27312 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
27313 prototype.
27314 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 27315
cee01aa6 273162005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
27317
27318 * normal/arg.c (grub_arg_show_help): Do not show the bug report
27319 address.
27320
27321 * commands/help.c (grub_cmd_help): Do not print newlines after
27322 the last command in print_command_help.
27323
93f3a1d8 273242005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
27325
27326 * commands/default.h: New file.
27327 * commands/timeout.h: Likewise.
27328 * normal/context.c: Likewise.
f19dbdb7 27329
93f3a1d8 27330 * util/misc.c: Do not include sys/times.h.
27331 Include sys/time.h and grub/machine/time.h.
27332 (grub_get_rtc): Rewritten with gettimeofday.
27333
27334 * util/grub-emu.c (main): Call grub_default_init and
27335 grub_timeout_init before grub_normal_init, and call
27336 grub_timeout_fini and grub_default_fini after grub_main.
27337
27338 * util/console.c (grub_ncurses_checkkey): Return the read
27339 character or -1.
27340
27341 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
27342 timeouts.
27343
27344 * normal/main.c (read_config_file): Push MENU. If this fails,
27345 print an error and wait for a user input.
27346 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
27347 If a menu is empty or an error occurs, pop MENU.
27348 (grub_normal_execute): Pop and free MENU after grub_menu_run
27349 returns.
27350
27351 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
27352
27353 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
27354 include time.h.
27355 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
27356 without GRUB_UTIL.
27357 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
27358 time.h.
27359 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
27360 without GRUB_UTIL.
27361
27362 * include/grub/normal.h (struct grub_menu_list): New struct.
27363 (grub_menu_list_t): New type.
27364 (struct grub_context): New struct.
27365 (grub_context_t): New type.
27366 (grub_register_command): Got rid of EXPORT_FUNC.
27367 (grub_unregister_command): Likewise.
27368 (grub_context_get): New prototype.
27369 (grub_context_get_current_menu): Likewise.
27370 (grub_context_push_menu): Likewise.
27371 (grub_context_pop_menu): Likewise.
27372 [GRUB_UTIL] (grub_default_init): Likewise.
27373 [GRUB_UTIL] (grub_default_fini): Likewise.
27374 [GRUB_UTIL] (grub_timeout_init): Likewise.
27375 [GRUB_UTIL] (grub_timeout_fini): Likewise.
27376
27377 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
27378 commands/timeout.c and normal/context.c.
27379 (pkgdata_MODULES): Added default.mod and timeout.mod.
27380 (normal_mod_SOURCES): Added normal/context.c.
27381 (default_mod_SOURCES): New variable.
27382 (default_mod_CFLAGS): Likewise.
27383 (timeout_mod_SOURCES): Likewise.
27384 (timeout_mod_CFLAGS): Likewise.
27385 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
27386 conf/i386-pc.rmk.
27387 (pkgdata_MODULES): Added default.mod and timeout.mod.
27388 (normal_mod_SOURCES): Added normal/context.c.
27389 (default_mod_SOURCES): New variable.
27390 (default_mod_CFLAGS): Likewise.
27391 (timeout_mod_SOURCES): Likewise.
27392 (timeout_mod_CFLAGS): Likewise.
27393
27394 * Makefile.in (all-local): Added $(MKFILES).
27395
4ed2e1dd 273962005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
27397
27398 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
27399 (grub_emu_SOURCES): Likewise.
27400 (pkgdata_MODULES): Add `sun.mod'.
27401 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
27402 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27403 `partmap/sun.c'.
27404 (pkgdata_MODULES): Add `sun.mod'.
27405 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
27406 * include/grub/partition.h (grub_sun_partition_map_init): New
27407 prototype.
27408 (grub_sun_partition_map_fini): Likewise.
27409 * partmap/sun.c: New file.
27410 * util/grub-emu.c (main): Initialize and de-initialize the sun
27411 partitionmap support.
27412
4d4e372e 274132005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
27414
27415 This implements an Emacs-like menu entry editor.
f19dbdb7 27416
4d4e372e 27417 * normal/menu_entry.c: New file.
f19dbdb7 27418
4d4e372e 27419 * util/console.c (grub_ncurses_putchar): Translate some Unicode
27420 characters to ASCII.
27421 (saved_char): New variable.
27422 (grub_ncurses_checkkey): Rewritten completely.
27423 (grub_ncurses_getkey): Likewise.
27424 (grub_ncurses_init): Call raw instead of cbreak.
27425
27426 * normal/menu.c (print_entry): Do not put a space.
27427 (init_page): Renamed to ...
27428 (grub_menu_init_page): ... this. All callers changed.
27429 (edit_menu_entry): Removed.
27430 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
27431
27432 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
27433
27434 * kern/misc.c (grub_vprintf): Call grub_refresh.
27435
27436 * normal/menu.c (DISP_LEFT): Renamed to ...
27437 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
27438 * normal/menu.c (DISP_UP): Renamed to ...
27439 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
27440 * normal/menu.c (DISP_RIGHT): Renamed to ...
27441 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
27442 * normal/menu.c (DISP_DOWN): Renamed to ...
27443 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
27444 * normal/menu.c (DISP_HLINE): Renamed to ...
27445 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
27446 * normal/menu.c (DISP_VLINE): Renamed to ...
27447 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
27448 * normal/menu.c (DISP_UL): Renamed to ...
27449 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
27450 * normal/menu.c (DISP_UR): Renamed to ...
27451 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
27452 * normal/menu.c (DISP_LL): Renamed to ...
27453 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
27454 * normal/menu.c (DISP_LR): Renamed to ...
27455 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
27456 * normal/menu.c (TERM_WIDTH): Renamed to ...
27457 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
27458 * normal/menu.c (TERM_HEIGHT): Renamed to ...
27459 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
27460 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
27461 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
27462 * normal/menu.c (TERM_MARGIN): Renamed to ...
27463 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
27464 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
27465 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
27466 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
27467 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
27468 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
27469 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
27470 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
27471 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
27472 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
27473 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
27474 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
27475 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
27476 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
27477 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
27478 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
27479 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
27480 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
27481 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
27482 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
27483 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
27484 All callers changed.
27485
27486 * include/grub/normal.h: New prototype.
27487
27488 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27489 normal/menu_entry.c.
27490 (normal_mod_SOURCES): Likewise.
27491 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27492 (normal_mod_SOURCES): Likewise.
27493
e6b92c8a 274942005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
27495
27496 * include/grub/normal.h (grub_halt_init): New prototype.
27497 (grub_halt_fini): Likewise.
27498 (grub_reboot_init): Likewise.
27499 (grub_reboot_fini): Likewise.
27500
27501 * util/grub-emu.c: Include signal.h.
27502 (main_env): New global variable.
27503 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
27504 catch C-c.
27505 (grub_machine_fini): New function.
27506 (main): Call grub_halt_init and grub_reboot_init before
27507 grub_main, and grub_reboot_fini and grub_halt_fini after it.
27508 Call setjmp with MAIN_ENV to go back afterwards.
27509 Call grub_machine_fini right before return.
27510
27511 * include/grub/util/misc.h: Include setjmp.h.
27512 (main_env): New prototype.
27513
27514 * include/grub/kernel.h (grub_machine_fini): New prototype.
27515 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
27516 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
27517
27518 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
27519 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
27520 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 27521
e6b92c8a 27522 * util/i386/pc/misc.c: New file.
f19dbdb7 27523
e6b92c8a 27524 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27525 util/i386/pc/misc.c, commands/i386/pc/halt.c and
27526 commands/i386/pc/reboot.c.
27527
c642636f 275282005-02-14 Guillem Jover <guillem@hadrons.org>
27529
27530 * include/grub/dl.h (grub_dl_check_header): New prototype.
27531 (grub_arch_dl_check_header): Change return type to grub_err_t,
27532 remove size parameter and export function. Update all callers.
27533 * kern/dl.c (grub_dl_check_header): New function.
27534 (grub_dl_load_core): Use `grub_dl_check_header' instead of
27535 `grub_arch_dl_check_header'. Check ELF type. Check if sections
27536 are inside the core.
27537 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
27538 independent ELF header checks.
27539 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
27540 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
27541 `grub_dl_check_header' instead of explicit checks. Check for the
27542 ELF type.
27543 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
27544 `grub_dl_check_header' instead of explicit checks. Remove arch
27545 specific ELF header checks.
27546
e6b92c8a 27547 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
27548 argument SIZE.
27549
5eabe94b 275502005-02-13 Hollis Blanchard <hollis@penguinppc.org>
27551
27552 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
27553 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
27554
1b14a681 275552005-02-12 Hollis Blanchard <hollis@penguinppc.org>
27556
27557 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 27558 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 27559 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 27560 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 27561 * partmap/amiga.c (amiga_partition_map_iterate): Return
27562 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
27563 * partmap/apple.c (apple_partition_map_iterate): Likewise.
27564
aca108aa 275652005-02-01 Guillem Jover <guillem@hadrons.org>
27566
27567 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
27568 help info.
27569
c9f9c556 275702005-01-31 Marco Gerards <metgerards@student.han.nl>
27571
27572 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
27573 Removed prototype.
27574 (grub_rescue_cmd_linux): New prototype.
27575 (grub_rescue_cmd_initrd): Likewise.
27576 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
27577 `bi_rec'.
27578 (grub_linux_release_mem): Release the memory for the initrd.
27579 (grub_load_linux): Renamed from this...
27580 (grub_rescue_cmd_linux): ...To this. Changed all callers.
27581 Changed `entry' not to be static. Loop over memory regions to
27582 find another one when the default fails.
27583 (grub_rescue_cmd_initrd): New function.
27584 (grub_linux_init): Remove function.
27585 (grub_linux_fini): Likewise.
27586 (GRUB_MOD_INIT): Register `initrd'.
27587 (GRUB_MOD_FINI): Unregister `initrd'.
27588 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
27589 Function removed.
27590 (grub_linux_normal_fini): Likewise.
27591 (GRUB_MOD_INIT): Register `initrd'.
27592 (GRUB_MOD_FINI): Unregister `initrd'.
27593
990cf3aa 275942005-01-31 Marco Gerards <metgerards@student.han.nl>
27595
27596 * commands/help.c: New file.
27597 * normal/arg.c (show_help): Renamed to...
27598 (grub_arg_show_help): ... this.
27599 * commands/i386/pc/halt.c: New file.
27600 * commands/i386/pc/reboot.c: Likewise.
27601 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
27602 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
27603 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
27604 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
27605 variables.
27606 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27607 `commands/help.c'.
27608 (pkgdata_MODULES): Add `help.mod'.
27609 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
27610 * grub/i386/pc/init.h (grub_reboot): New prototype.
27611 (grub_halt): Likewise.
27612 * include/grub/normal.h (grub_arg_show_help): New prototype.
27613 (grub_help_init): Likewise.
27614 (grub_help_fini): Likewise.
27615 * util/grub-emu.c (main): Initialize and deinitialize the help
27616 command.
27617
27618 * normal/cmdline.c (grub_cmdline_get): Doc fix.
27619
27620 * normal/command.c (grub_command_init): Fixed the description of
27621 the `set' and `unset' commands.
27622
276232005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 27624
27625 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
27626 function.
27627 * commands/ieee1275/halt.c: New file.
27628 * commands/ieee1275/reboot.c: Likewise.
27629 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
27630 `__attribute__ ((unused))'. Some GCS related fixed.
27631 (grub_suspend_init) [GRUB_UTIL]: Function removed.
27632 (grub_suspend_fini): Likewise.
27633 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
27634 and `halt.mod'.
27635 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
27636 (halt_mod_CFLAGS): New variables.
27637 * include/grub/powerpc/ieee1275/ieee1275.h
27638 (grub_ieee1275_interpret): New prototype.
27639
1ab09cc7 276402005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
27641
27642 * include/grub/misc.h (memmove): New prototype.
27643 (memcpy): Likewise.
27644
8b8cbdb2 276452005-01-22 Hollis Blanchard <hollis@penguinppc.org>
27646
27647 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
27648 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
27649
e3741a27 276502005-01-22 Marco Gerards <metgerards@student.han.nl>
27651
27652 * kern/misc.c (grub_strndup): Function rewritten.
27653
776bd780 276542005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
27655
27656 * normal/menu.c (TERM_WIDTH): Macro redefined.
27657 (TERM_TOP_BORDER_Y): Likewise.
27658 (draw_border): Replaced while-loop by a for-loop. Make the number
27659 of lines consistent with the number of lines displayed in
27660 print_entries. Added a margin below the rectangle.
27661 (print_entry): Make the entry fit in the rectangle.
27662 (print_entries): Display the scroll arrows next to the right
27663 border.
27664
78026bce 276652005-01-21 Marco Gerards <metgerards@student.han.nl>
27666
27667 * fs/minix.c (grub_minix_find_file): Reserve more space for
27668 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
27669 `grub_strncpy' to copy `path' into it.
27670
67bbaf0f 276712005-01-21 Marco Gerards <metgerards@student.han.nl>
27672
27673 Add the loopback device, a device via which files can be accessed
27674 as devices.
f19dbdb7 27675
67bbaf0f 27676 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
27677 (pkgdata_MODULES): Add loopback.mod.
27678 (loopback_mod_SOURCES): New variable.
27679 (loopback_mod_CFLAGS): Likewise.
27680 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27681 `disk/loopback.c'.
27682 (pkgdata_MODULES): Add loopback.mod.
27683 (loopback_mod_SOURCES): New variable.
27684 (loopback_mod_CFLAGS): Likewise.
27685 * disk/loopback.c: new file.
27686 * include/grub/normal.h (grub_loop_init): New prototype.
27687 (grub_loop_fini): New prototype.
27688 * util/grub-emu.c (main): Initialize and de-initialize loopback
27689 support.
27690 * include/grub/disk.h (grub_disk_dev_id): Add
27691 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
27692
6f1c18bd 276932005-01-20 Hollis Blanchard <hollis@penguinppc.org>
27694
27695 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
27696 function.
27697 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
27698 (suspend_mod_SOURCES): New variable.
27699 (suspend_mod_CFLAGS): Likewise.
27700 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
27701 New prototype.
27702 * commands/ieee1275/suspend.c: New file.
27703
b38551da 277042005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
27705
27706 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 27707 ((unused))' to `__attribute__ ((used))'.
b38551da 27708 (GRUB_MOD_FINI): Likewise.
27709 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
27710 * genmk.rb (PModule): Assign space to common symbols when linking
27711 modules.
27712
777aff39 277132005-01-20 Marco Gerards <metgerards@student.han.nl>
27714
27715 * include/grub/mm.h (grub_mm_init_region): Change the type of the
27716 `unsigned' arguments to `grub_size_t'.
27717 (grub_malloc): Likewise.
27718 (grub_realloc): Likewise.
27719 (grub_memalign): Likewise.
27720 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
27721 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
27722 * util/misc.c (grub_malloc): Likewise.
27723 (grub_realloc): Likewise.
27724 * kern/mm.c (get_header_from_pointer): Change the casts to
27725 `unsigned' into a cast to `grub_size_t'.
27726
27727 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
27728 point to `currnode' when `currnode' is changed.
27729
27730 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
27731 Schottelius <nico-linux@schottelius.org>.
27732
d0ff18e1 277332005-01-09 Hollis Blanchard <hollis@penguinppc.org>
27734
27735 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
27736 (note_path): Remove variable.
27737 (GRUB_IEEE1275_NOTE_NAME): New macro.
27738 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
27739 (grub_ieee1275_note_hdr): New structure.
27740 (grub_ieee1275_note_desc): Likewise.
27741 (grub_ieee1275_note): Likewise.
27742 (load_note): Remove `dir' argument. All callers updated. Remove
27743 `note_img' and `path'. Do not load a file from `note_path'.
27744 Initialize a struct grub_ieee1275_note and write that to `out'.
27745 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
27746
4ca7004c 277472005-01-05 Marco Gerards <metgerards@student.han.nl>
27748
27749 * util/misc.c (grub_util_read_image): Revert last change. It
27750 called `grub_util_read_at', which seeks from the beginning of the
27751 file.
27752
0b412211 277532005-01-04 Hollis Blanchard <hollis@penguinppc.org>
27754
27755 * TODO: Add note about endianness in grub-mkimage.
27756 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
27757 section.
27758 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
27759 (grub_mkimage_SOURCES): New target.
27760 * include/grub/kernel.h (grub_start_addr): Remove variable.
27761 (grub_end_addr): Likewise.
27762 (grub_total_module_size): Likewise.
27763 (grub_kernel_image_size): Likewise.
27764 (GRUB_MODULE_MAGIC): New constant.
27765 (grub_module_info): New structure.
27766 (grub_arch_modules_addr): New prototype.
27767 (grub_get_end_addr): Remove prototype.
27768 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
27769 * include/grub/powerpc/ieee1275/kernel.h: New file.
27770 * include/grub/util/misc.h (grub_util_get_fp_size): New
27771 prototype.
27772 (grub_util_read_at): Likewise.
27773 (grub_util_write_image_at): Likewise.
27774 * kern/main.c (grub_get_end_addr): Remove function.
27775 (grub_load_modules): Call grub_arch_modules_addr instead of using
27776 grub_end_addr. Look for a grub_module_info struct in memory. Use
27777 the grub_module_info fields instead of calling grub_get_end_addr
27778 as loop conditions. Move grub_add_unused_region code here.
27779 (grub_add_unused_region): Remove function.
27780 * kern/i386/pc/init.c: Include grub/cache.h.
27781 (grub_machine_init): Remove call to grub_get_end_addr. Remove
27782 one call to add_mem_region.
27783 (grub_arch_modules_addr): New function.
27784 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
27785 (grub_total_module_size): Likewise.
27786 Include grub/machine/kernel.h.
27787 (grub_arch_modules_addr): New function.
27788 * util/grub-emu.c (grub_end_addr): Remove variable.
27789 (grub_total_module_size): Likewise.
27790 (grub_arch_modules_addr): New function.
27791 * util/misc.c: Include unistd.h.
27792 (grub_util_get_fp_size): New function.
27793 (grub_util_read_at): Likewise.
27794 (grub_util_write_image_at): Likewise.
27795 (grub_util_read_image): Call grub_util_read_at.
27796 (grub_util_write_image): Call grub_util_write_image_at.
27797 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
27798 additional memory in kernel_img for a struct grub_module_info.
27799 Fill in that grub_module_info.
27800 * util/powerpc/ieee1275/grub-mkimage.c: New file.
27801
458786f8 278022005-01-03 Hollis Blanchard <hollis@penguinppc.org>
27803
27804 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
27805 New function.
27806 * include/grub/powerpc/ieee1275/ieee1275.h
27807 (grub_ieee1275_milliseconds): New prototype.
27808 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
27809 Change to 1000.
27810 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
27811 grub_ieee1275_milliseconds.
27812
ac507d1b 278132005-01-03 Hollis Blanchard <hollis@penguinppc.org>
27814
27815 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
27816 variable.
27817 (find_options): New function.
27818 (cmain): Call find_options.
27819 * include/grub/powerpc/ieee1275/ieee1275.h
27820 (grub_ieee1275_realmode): New extern variable.
27821 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
27822 grub_map if grub_ieee1275_realmode is false.
27823
6b8fd1c4 278242004-12-29 Marco Gerards <metgerards@student.han.nl>
27825
27826 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
27827 lines are inserted and make it work like readline. Reported by
27828 Vincent Pelletier <subdino2004@yahoo.fr>.
27829
8514a1e0 278302004-12-28 Marco Gerards <metgerards@student.han.nl>
27831
27832 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
27833
27834 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
27835 `kern/powerpc/cache.S'.
27836
924b6140 278372004-12-27 Marco Gerards <metgerards@student.han.nl>
27838
27839 * genmk.rb: Handle the `Program' class in the main loop. Written
27840 by Johan Rydberg <jrydberg@gnu.org>.
27841 (Program): New class.
27842 (programs): New variable.
27843 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
27844 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
27845 instead of "grub/kernel.h". Include <grub/machine/init.h>.
27846 (help_arch): Function removed.
27847 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
27848 `powerpc/libgcc.h' and `loader.h'.
27849 (pkgdata_PROGRAMS): New variable.
27850 (sbin_UTILITIES): Variable removed.
27851 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
27852 (grubof_SOURCES): Variable re-defined so it only includes the
27853 core functionality.
27854 (grubof_CFLAGS): Remove `-DGRUBOF'.
27855 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
27856 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
27857 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
27858 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
27859 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
27860 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
27861 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
27862 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
27863 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
27864 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
27865 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
27866 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
27867 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
27868 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
27869 (pc_mod_CFLAGS): New variables.
27870 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
27871 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
27872 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
27873 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
27874 Moved from here...
27875 * include/grub/i386/pc/init.h (grub_os_area_addr)
27876 (rub_os_area_size): ... to here.
27877 * include/grub/powerpc/ieee1275/ieee1275.h
27878 (grub_ieee1275_entry_fn): Export symbol.
27879 * include/grub/powerpc/ieee1275/init.h: New file.
27880 * include/grub/powerpc/libgcc.h: Likewise.
27881 * include/grub/cache.h: Likewise.
27882 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
27883 <hollis@penguinppc.org>.
27884 * kern/dl.c: Include <grub/cache.h>.
27885 (grub_dl_flush_cache): New function.
27886 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
27887 for this module.
27888 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
27889 (grub_console_init): Removed prototypes.
27890 (grub_machine_init): Don't initialize the modules anymore.
27891 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
27892 static.
27893 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
27894 Macro undef removed.
27895 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
27896 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
27897 relocation `R_PPC_REL32'. Return an error when the relocation is
27898 unknown.
27899 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
27900 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
27901 * util/misc.c (grub_arch_sync_caches): Likewise.
27902
e4b47e0c 279032004-12-19 Marco Gerards <metgerards@student.han.nl>
27904
27905 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
27906 `symlist.c', add `grubof_symlist.c'.
27907 (symlist.c): Variable removed.
27908 (grubof_HEADERS): Variable added.
27909 (grubof_symlist.c): New target.
27910 (kernel_syms.lst): Use `grubof_HEADERS' instead of
27911 `kernel_img_HEADERS'.
27912 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
27913 * kern/powerpc/dl.c: New file.
27914 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
27915 Function removed.
27916 (grub_arch_dl_relocate_symbols): Likewise.
27917 (grub_register_exported_symbols): Likewise.
27918
4ceb3636 279192004-12-13 Marco Gerards <metgerards@student.han.nl>
27920
27921 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
27922 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
27923 to fail instead. Reported by Vincent Pelletier
27924 <subdino2004@yahoo.fr>.
27925
27926 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
27927 it is not allocated. Reported by Vincent Pelletier
27928 <subdino2004@yahoo.fr>.
27929
27930 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
27931 output so the output looks better.
f19dbdb7 27932
3f1578fe 279332004-12-04 Marco Gerards <metgerards@student.han.nl>
27934
27935 Modulize the partition map support and add support for the amiga
27936 partition map.
f19dbdb7 27937
3f1578fe 27938 * commands/ls.c: Include <grub/partition.h> instead of
27939 <grub/machine/partition.h>.
27940 * kern/disk.c: Likewise.
27941 * kern/rescue.c: Likewise.
27942 * loader/i386/pc/chainloader.c: Likewise.
27943 * normal/cmdline.c: Likewise.
27944 * kern/powerpc/ieee1275/init.c: Likewise.
27945 (grub_machine_init): Call `grub_pc_partition_map_init',
27946 `grub_amiga_partition_map_init' and
27947 `grub_apple_partition_map_init'.
27948 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
27949 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
27950 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
27951 `partition.h' and `pc_partition.h'.
27952 (grub_setup_SOURCES): Remove
27953 `disk/i386/pc/partition.c'. Add `kern/partition.c',
27954 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27955 (grub_emu_SOURCES): Likewise.
27956 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
27957 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
27958 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
27959 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
27960 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
27961 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27962 (grubof_SOURCES): Likewise.
27963 * disk/i386/pc/partition.c: File removed.
27964 * disk/powerpc/ieee1275/partition.c: Likewise.
27965 * include/grub/powerpc/ieee1275/partition.h: Likewise.
27966 * include/grub/i386/pc/partition.h: Likewise.
27967 * kern/partition.c: New file.
27968 * partmap/amiga.c: Likewise.
27969 * partmap/apple.c: Likewise.
27970 * partmap/pc.c: Likewise.
27971 * include/grub/partition.h: Likewise..
27972 * include/grub/pc_partition.h: Likewise.
27973 * util/grub-emu.c: Include <grub/partition.h> instead of
27974 <grub/machine/partition.h>.
27975 (main): Call `grub_pc_partition_map_init',
27976 `grub_amiga_partition_map_init' and
27977 `grub_apple_partition_map_init' and deinitialize afterwards.
27978 * util/i386/pc/biosdisk.c: Include `#include
27979 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
27980 `<grub/machine/partition.h>'.
27981 * util/i386/pc/grub-setup.c: Likewise.
27982 * util/i386/pc/biosdisk.c: Likewise.
27983 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
27984 partition information in case of a PC partition.
27985 * util/i386/pc/grub-setup.c: Include `#include
27986 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
27987 `<grub/machine/partition.h>'.
27988 (setup): Only access the PC specific partition information in case
27989 of a PC partition.
27990
0ef4ced9 279912004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 27992
0ef4ced9 27993 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
27994 (grub_longjmp): Likewise.
27995 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
27996 20.
27997 * normal/powerpc/setjmp.S: New file.
27998 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
27999 `normal/powerpc/setjmp.S'.
28000 (grubof_CFLAGS): Add `-DGRUBOF'.
28001 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
28002 [GRUB_UTIL && !GRUBOF].
f19dbdb7 28003
19950e29 280042004-11-16 Marco Gerards <metgerards@student.han.nl>
28005
28006 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
28007 property named `name'. Correctly handle the error returned by
28008 `grub_ieee1275_finddevice' if a device can not be opened.
28009
a2fea427 280102004-11-02 Hollis Blanchard <hollis@penguinppc.org>
28011
28012 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
28013 `actual' for negativity.
28014 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
28015 kern/fshelp.c.
28016
41ea0ea3 280172004-11-01 Marco Gerards <metgerards@student.han.nl>
28018
28019 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
28020 (PAGE_OFFSET): New macro.
28021 (CRTC_ADDR_PORT): Likewise.
28022 (CRTC_DATA_PORT): Likewise.
28023 (START_ADDR_HIGH_REGISTER): Likewise.
28024 (START_ADDR_LOW_REGISTER): Likewise.
28025 (GRAPHICS_ADDR_PORT): Likewise.
28026 (GRAPHICS_DATA_PORT): Likewise.
28027 (READ_MAP_REGISTER): Likewise.
28028 (INPUT_STATUS1_REGISTER): Likewise.
28029 (INPUT_STATUS1_VERTR_BIT): Likewise.
28030 (page): New variable.
28031 (wait_vretrace): New function.
28032 (set_read_map): Likewise.
28033 (set_start_address): Likewise.
28034 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
28035 the right page.
28036 (check_vga_mem): Take the page into account.
28037 (write_char): Likewise.
28038 (write_cursor): Likewise.
28039 (scroll_up): Likewise. Copy the page to the page that is not
28040 shown and switch between both pages.
28041 (grub_vga_putchar): Fix off by one error.
28042 (grub_vga_cls): Wait for the vertical retrace. Take the page into
28043 account.
28044
ad0bd20b 280452004-11-01 Marco Gerards <metgerards@student.han.nl>
28046
28047 Add support for iso9660 (including rockridge).
f19dbdb7 28048
ad0bd20b 28049 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
28050 (iso9660_mod_SOURCES): New variable.
28051 (iso9660_mod_CFLAGS): Likewise.
28052 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
28053 * include/grub/fs.h (grub_iso9660_init): New prototype.
28054 * util/grub-emu.c (main): Call `grub_iso9660_init'.
28055 * fs/iso9660.c: New file.
28056
28057 * include/grub/misc.h (grub_strncat): New prototype.
28058 * kern/misc.c (grub_strncat): New function.
f19dbdb7 28059
ad0bd20b 28060 * fs/hfs.c (grub_hfs_mount): Translate the error
28061 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
28062 * fs/jfs.c (grub_jfs_mount): Likewise.
28063 * fs/ufs.c (grub_ufs_mount): Likewise.
28064
a5477a59 280652004-10-28 Hollis Blanchard <hollis@penguinppc.org>
28066
28067 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
28068 which initialized BAT registers.
28069 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
28070 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
28071 Move from here...
28072 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
28073 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
28074 ... to here.
28075 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
28076 (grub_mapclaim): Likewise.
28077 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
28078 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
28079 hand.
28080
9304c1f8 280812004-10-19 Hollis Blanchard <hollis@penguinppc.org>
28082
28083 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
28084 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
28085 -ffreestanding and -msoft-float.
28086
86f4ae25 280872004-10-15 Hollis Blanchard <hollis@penguinppc.org>
28088
28089 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
28090 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
28091 set in grub_ieee1275_flags.
28092
38912228 280932004-10-14 Hollis Blanchard <hollis@penguinppc.org>
28094
28095 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
28096 prototype.
28097 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
28098 grub_console_init first.
28099 Change the memory range used for grub_ieee1275_claim and
28100 grub_mm_init_region.
28101 Print an error message if the claim fails.
28102 Include <grub/misc.h>.
28103
d1923dc8 281042004-10-13 Hollis Blanchard <hollis@penguinppc.org>
28105
28106 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
28107 Call grub_children_iterate for device nodes of type `scsi',
28108 `ide', or `ata'.
28109 (grub_ofdisk_open): Remove manual device alias resolution.
28110 Fix memory leak when device cannot be opened.
f19dbdb7 28111 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 28112 (grub_children_iterate): New prototype.
28113 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
28114 New function.
28115 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
28116 Return -1 if args.size was -1.
28117
4512e4f3 281182004-10-11 Hollis Blanchard <hollis@penguinppc.org>
28119
28120 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
28121 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
28122 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
28123 Open Firmware's memory for it; claim memory from _start to _end.
28124 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
28125 (_end): New extern.
28126 (_start): Zero BSS from __bss_start to _end.
28127 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
28128 New extern.
28129 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
28130
4d61feb0 281312004-10-11 Hollis Blanchard <hollis@penguinppc.org>
28132
ad0bd20b 28133 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
28134 -1 if args.base was -1.
4d61feb0 28135
026fa2f9 281362004-10-08 Hollis Blanchard <hollis@penguinppc.org>
28137
28138 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
28139 escape sequence instead of a literal ^L. Also call
28140 grub_ofconsole_gotoxy.
28141
9f2220ef 281422004-10-03 Hollis Blanchard <hollis@penguinppc.org>
28143
28144 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
28145 void * arguments to grub_addr_t. All callers updated. Also make
28146 the `result' argument optional.
28147 (grub_ieee1275_release): change void * arguments to grub_addr_t.
28148 All callers updated.
28149
8a572cd7 281502004-09-22 Hollis Blanchard <hollis@penguinppc.org>
28151
28152 * commands/ls.c (grub_ls_list_files): Use the string following the
28153 initial ')', if present, as the filesystem path.
28154 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
28155
28156 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
28157
18aa81f2 281582004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
28159
28160 Make the source code of the menu interface more readable.
f19dbdb7 28161
18aa81f2 28162 * normal/menu.c: Include grub/mm.h.
28163 (TERM_WIDTH): New macro.
28164 (TERM_HEIGHT): Likewise.
28165 (TERM_INFO_HEIGHT): Likewise.
28166 (TERM_MARGIN): Likewise.
28167 (TERM_SCROLL_WIDTH): Likewise.
28168 (TERM_TOP_BORDER_Y): Likewise.
28169 (TERM_LEFT_BORDER_X): Likewise.
28170 (TERM_BORDER_WIDTH): Likewise.
28171 (TERM_MESSAGE_HEIGHT): Likewise.
28172 (TERM_BORDER_HEIGHT): Likewise.
28173 (TERM_NUM_ENTRIES): Likewise.
28174 (TERM_FIRST_ENTRY_Y): Likewise.
28175 (TERM_ENTRY_WIDTH): Likewise.
28176 (TERM_CURSOR_X): Likewise.
28177 (draw_border): Use macros instead of magic numbers.
28178 (print_entry): Likewise.
28179 (print_entries): Likewise.
28180 (run_menu): Likewise. Also, handle the key 'e'.
28181 (run_menu_entry): Ignore empty command lines.
28182 (print_message): Added a new argument EDIT. If EDIT is true,
28183 print a different message.
28184 (init_page): Likewise.
28185 (edit_menu_entry): New function. Not implemented yet.
28186
b47efe30 281872004-09-17 Marco Gerards <metgerards@student.han.nl>
28188
28189 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
28190 can be loaded from normal mode.
f19dbdb7 28191
b47efe30 28192 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
28193 `multiboot.mod'.
28194 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
28195 (multiboot_mod_CFLAGS): New variables.
28196 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 28197 * loader/i386/pc/multiboot_normal.c: Likewise.
28198
b47efe30 28199 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
28200 attribute `unused'.
f19dbdb7 28201
b47efe30 28202 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
28203 `fdiro' to read the mode information from instead of `diro'.
28204
28205 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
28206 looking up a symlink.
28207
28208 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
28209 macro.
28210 * normal/command.c (grub_command_execute): Don't parse the
28211 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
28212 flags of the command.
28213
28214 * normal/menu.c (grub_menu_run): Fix typo.
28215
da75ac71 282162004-09-14 Hollis Blanchard <hollis@penguinppc.org>
28217
28218 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
28219
28220 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
28221 `y + 1' instead of `y - 1'.
28222
28223 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 28224
062b24c2 282252004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
28226
28227 From Hollis Blanchard <hollis@penguinppc.org>:
28228 * kern/misc.c (memmove): New alias for grub_memmove.
28229 (memcmp): New alias for grub_memcmp.
28230 (memset): New alias for grub_memset.
f19dbdb7 28231 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 28232 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 28233 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 28234 (grub_ieee1275_get_property): Likewise.
f19dbdb7 28235
8ddad845 282362004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
28237
28238 Added normal mode command `chainloader' as module chain.mod, which
28239 depends on normal.mod and _chain.mod.
f19dbdb7 28240
8ddad845 28241 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
28242 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
28243 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
28244 Deleted prototype.
28245 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
28246 but arguments parsing moved to ...
28247 (grub_chainloader_cmd): ... here. New function.
28248 * include/grub/i386/pc/chainloader.h: New file.
28249 * loader/i386/pc/chainloader_normal.c: Likewise.
28250
2c1f4ce3 282512004-09-11 Marco Gerards <metgerards@student.han.nl>
28252
28253 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
28254 (grub_mkimage_LDFLAGS): Likewise.
28255 (grub_emu_SOURCES): Likewise.
28256 (kernel_img_HEADERS): Added fshelp.h.
28257 * fs/ext2.c: Include <grub/fshelp.h>.
28258 (FILETYPE_REG): New macro.
28259 (FILETYPE_INO_REG): Likewise.
28260 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
28261 Changed all users.
28262 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
28263 all users.
28264 (grub_fshelp_node): New struct.
28265 (grub_ext2_data): Added member `diropen'. Changed member `inode'
28266 to a pointer.
28267 (grub_ext2_get_file_block): Removed function.
28268 (grub_ext2_read_block): New function.
28269 (grub_ext2_read_file): Replaced parameter `data' by `node'.
28270 This function was written.
28271 (grub_ext2_mount): Read the root inode. Create a diropen struct.
28272 (grub_ext2_find_file): Removed function.
28273 (grub_ext2_read_symlink): New function.
28274 (grub_ext2_iterate_dir): Likewise.
28275 (grub_ext2_open): Rewritten.
28276 (grub_ext2_dir): Rewritten.
28277 * include/grub/fshelp.h: New file.
28278 * fs/fshelp.c: Likewise.
28279
3c52136a 282802004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
28281
28282 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
28283 (print_message): Add a missing newline.
28284 (run_menu): Added timeout support.
28285 (run_menu_entry): New local function.
28286 (grub_menu_run): Added support for booting.
28287
28288 * kern/loader.c (grub_loader_is_loaded): New function.
28289
28290 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
28291 (grub_get_rtc): Exported.
28292
28293 * include/grub/i386/pc/time.h: Include grub/symbol.h.
28294 (grub_get_rtc): Exported.
28295
28296 * include/grub/normal.h (struct grub_command_list): Remove
28297 constant from the member `command'.
28298
28299 * include/grub/loader.h (grub_loader_is_loaded): Declared.
28300
28301 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
28302
28303 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
28304
aa033560 283052004-08-28 Marco Gerards <metgerards@student.han.nl>
28306
28307 Add support for the JFS filesystem.
28308
28309 * fs/jfs.c: New file.
28310 * include/grub/fs.h (grub_jfs_init): New prototype.
28311 (grub_jfs_fini): New prototype.
28312 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
28313 (grub_emu_SOURCES): Likewise.
28314 (pkgdata_MODULES): Add jfs.mod.
28315 (jfs_mod_SOURCES): New variable.
28316 (jfs_mod_CFLAGS): Likewise.
28317 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
28318 (grubof_SOURCES): Likewise.
28319 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
28320
28321 * fs/fat.c (grub_fat_find_dir): Convert the filename little
28322 endian to the host endian.
28323 (grub_fat_utf16_to_utf8): Move function from there...
28324 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 28325 the endianness of the source string anymore.
aa033560 28326 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
28327
94bc45af 283282004-08-24 Marco Gerards <metgerards@student.han.nl>
28329
28330 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
28331 (grub_boot_fini) [GRUB_UTIL]: Likewise.
28332 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
28333 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 28334
94bc45af 28335 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
28336 (grub_hfs_iterate_dir): Make the function static. Add prototypes
28337 for `node_found' and `it_dir'.
28338 (grub_hfs_dir): Add prototype for `dir_hook'.
28339
28340 * fs/minix.c (grub_minix_get_file_block): Add prototype for
28341 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
28342 and `indir32' to silence a gcc warning.
28343
28344 * include/grub/fs.h (grub_hfs_init): New prototype.
28345 (grub_hfs_fini): Likewise.
f19dbdb7 28346
28347
97543f08 283482004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
28349
28350 Each disk device has its own id now. This is useful to make use
28351 of multiple disk devices.
f19dbdb7 28352
97543f08 28353 * include/grub/disk.h (grub_disk_dev_id): New enum.
28354 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
28355 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
28356
28357 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
28358 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
28359
28360 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
28361 GRUB_DISK_DEVICE_OFDISK_ID as an id.
28362
28363 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
28364 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
28365
28366 * include/grub/disk.h (struct grub_disk_dev): Added a new member
28367 "id" which is used by the cache manager.
28368
28369 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
28370 of just "GRUB".
28371
64372eb4 283722004-08-18 Marco Gerards <metgerards@student.han.nl>
28373
28374 * fs/hfs.c: New file.
28375 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
28376 (grub_emu_SOURCES): Likewise.
28377 (pkgdata_MODULES): Add hfs.mod.
28378 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
28379 (grubof_SOURCES): Likewise.
28380 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
28381
28382 * include/grub/misc.h (grub_strncasecmp): Add prototype.
28383 * kern/misc.c (grub_strncasecmp): Add function.
28384
cc61b58f 283852004-08-14 Marco Gerards <metgerards@student.han.nl>
28386
28387 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
28388 with parentheses.
28389
28390 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
28391 (grub_ext2_dir): In case the directory entry type is unknown, read
28392 it from the inode.
28393
0ef123f6 283942004-08-02 Peter Bruin <pjbruin@dds.nl>
28395
28396 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
28397 grub_load_linux instead of grub_rescue_cmd_linux as second
28398 argument of grub_rescue_register_command.
28399
28400 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
28401
a447c5df 284022004-07-27 Marco Gerards <metgerards@student.han.nl>
28403
28404 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
28405 function.
28406 * commands/boot.c: Remove the check for `GRUB_UTIL'.
28407 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
28408 `loader/powerpc/ieee1275/linux.c',
28409 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
28410 * include/grub/powerpc/ieee1275/ieee1275.h
28411 (grub_ieee1275_release): New prototype.
28412 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
28413 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
28414 normal, boot, linux and linux_normal.
28415 * loader/powerpc/ieee1275/linux.c: New file.
28416 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
28417
5a9e3546 284182004-07-12 Marco Gerards <metgerards@student.han.nl>
28419
28420 * normal/arg.c (grub_arg_parse): Correct error handling after
28421 reallocating the argumentlist (check if `argl' is not null instead
28422 of checking if `args' is not null).
28423 * kern/mm.c (grub_realloc): Return the same pointer when using the
28424 same region, instead of returning the header address.
28425
e15199cb 284262004-07-11 Marco Gerards <metgerards@student.han.nl>
28427
28428 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
28429 one block instead of two when looking for the initial partition.
28430 (grub_partition_probe): Initialize the local variable `p' with 0.
28431 Use base 10 for the grub_strtoul call.
28432 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
28433 need for one local variable.
28434 (grub_strtoul): Don't add the new value to `num', instead of that
28435 just assign it.
28436
020616c2 284372004-07-11 Marco Gerards <metgerards@student.han.nl>
28438
28439 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
28440 (pxeboot_img_SOURCES): New variable.
28441 (pxeboot_img_ASFLAGS): Likewise.
28442 (pxeboot_img_LDFLAGS): Likewise.
28443 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
28444 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
28445 <lode_leroy@hotmail.com>.
28446
6c51eb64 284472004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
28448
28449 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
28450 there was no input.
28451
cfb12aff 284522004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
28453
28454 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
28455 the history buffer logic.
28456
6eabba74 284572004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
28458
28459 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
28460 (FILETYPE_INO_SYMLINK): New macros.
28461 (grub_ext2_find_file): Check if the node is a directory using the
28462 inode stat information instead of using the filetype in the
28463 dirent. Exclude the first character of an absolute symlink.
28464 (grub_ext2_dir): Mask out the filetype part of the mode member of
28465 the inode.
28466
66e19ef8 284672004-05-24 Marco Gerards <metgerards@student.han.nl>
28468
28469 Add support for UFS version 1 and 2. Add support for the minix
28470 filesystem version 1 and 2, both the variants with 14 and 30 long
28471 filenames.
f19dbdb7 28472
66e19ef8 28473 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
28474 fs/minix.c.
28475 (grub_emu_SOURCES): Likewise.
28476 (pkgdata_MODULES): Add ufs.mod and minix.mod.
28477 (ufs_mod_SOURCES): New variable.
28478 (ufs_mod_CFLAGS): Likewise.
28479 (minix_mod_SOURCES): Likewise.
28480 (minix_mod_CFLAGS): Likewise.
28481 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
28482 fs/minix.c.
28483 (grubof_SOURCES): Likewise.
28484 * fs/ufs.c: New file.
28485 * fs/minix.c: New file.
28486 * include/grub/fs.h (grub_ufs_init): New prototype.
28487 (grub_ufs_fini): Likewise.
28488 (grub_minix_init): Likewise.
28489 (grub_minix_fini): Likewise.
28490 * util/grub-emu.c (main): Initialize and deinitialize UFS and
28491 minix fs.
28492
cc2e748a 284932004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
28494
28495 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
28496 commands/ls.c, commands/terminal.c, commands/boot.c,
28497 commands/cmp.c and commands/cat.c.
28498 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
28499
28500 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
28501 "env.h"
28502
4b13b216 285032004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28504
28505 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
28506 and grub_, respectively. Because the conversion is trivial and
28507 mechanical, I omit the details here. Please refer to the CVS
28508 if you need more information.
28509
6a142551 285102004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28511
28512 * include/pupa: Renamed to ...
28513 * include/grub: ... this.
28514 * util/i386/pc/pupa-mkimage.c: Renamed to ...
28515 * util/i386/pc/grub-mkimage.c: ... this.
28516 * util/i386/pc/pupa-setup.c: Renamed to ...
28517 * util/i386/pc/grub-setup.c: ... this.
28518 * util/pupa-emu.c: Renamed to ...
28519 * util/grub-emu.c: ... this.
28520
e56cdf21 285212004-03-29 Marco Gerards <metgerards@student.han.nl>
28522
28523 Add support for the newworld apple macintosh (PPC). This has been
28524 tested on the powerbook 2000 only. It only adds support for
28525 generic ieee1275 functions, console and disk support. This should
28526 be easy to port to other architectures with support for Open
28527 Firmware.
f19dbdb7 28528
e56cdf21 28529 * configure.ac: Accept the powerpc as host_cpu. In the case of
28530 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
28531 specific tests are only executed while building for the i386.
28532 Inverse test for crosscompile.
28533 * genmk.rb (Utility): Allow assembler files.
28534 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
28535 * conf/powerpc-ieee1275.rmk: New file.
28536 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
28537 * disk/powerpc/ieee1275/partition.c: Likewise.
28538 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
28539 * include/pupa/powerpc/ieee1275/console.h: Likewise.
28540 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
28541 * include/pupa/powerpc/ieee1275/time.h: Likewise.
28542 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
28543 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
28544 * include/pupa/powerpc/ieee1275/loader.h
28545 * include/pupa/powerpc/setjmp.h: Likewise.
28546 * include/pupa/powerpc/types.h: Likewise.
28547 * kern/powerpc/ieee1275/init.c: Likewise.
28548 * kern/powerpc/ieee1275/openfw.c: Likewise.
28549 * term/powerpc/ieee1275/ofconsole.c: Likewise.
28550
28551 These files were written by Johan Rydberg
28552 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 28553
e56cdf21 28554 * boot/powerpc/ieee1275/cmain.c: New file.
28555 * boot/powerpc/ieee1275/crt0.S: Likewise.
28556 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
28557 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
28558
8c8cc205 285592004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
28560
28561 * Makefile.in: Update copyright.
28562 * genmodsrc.sh: Likewise.
28563 * gensymlist.sh: Likewise.
28564 * term/i386/pc/vga.c: Indent correctly.
28565
28566 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
28567 bugreporting address.
28568 * util/i386/pc/pupa-setup.c (usage): Likewise,
28569 (main): Call pupa_ext2_init and pupa_ext2_fini.
28570
f19dbdb7 28571 * fs/fat.c (log2): Renamed to ...
8c8cc205 28572 (fat_log2): ... this.
28573 All callers changed.
28574 * kern/misc.c (memcpy): Alias to pupa_memmove.
28575 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
28576 lvalue cast.
28577 * util/console.c (pupa_ncurses_fini): Return 0.
28578
28579 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
28580 Move fail label here.
28581 [__GNU__]: Don't warn when using stat.
28582 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
28583 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
28584 long int. Use strtol instead of strtoul.
f19dbdb7 28585
db1771cf 285862004-03-14 Marco Gerards <metgerards@student.han.nl>
28587
28588 * commands/boot.c: New file.
28589 * commands/cat.c: Likewise.
28590 * commands/cmp.c: Likewise.
28591 * commands/ls.c: Likewise.
28592 * commands/terminal.c: Likewise.
28593 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
28594 (pupa_register_command): Changed interface to match the new
28595 argument parser.
28596 (pupa_command_execute): Changed (almost rewritten) so it uses
28597 pupa_split_command. Added support for setting variables using the
28598 syntax `foo=bar'.
28599 (rescue_command): Changed to work with the new argument parser.
28600 (terminal_command): Moved from here to commands/terminal.c.
28601 (set_command): New function.
28602 (unset_command): New function.
28603 (insmod_command): New function.
28604 (rmmod_command): New function.
28605 (lsmod_command): New function.
28606 (pupa_command_init): Don't initialize the command terminal
28607 anymore. Initialize the commands set, unset, insmod, rmmod and
28608 lsmod.
28609 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
28610 (kernel_img_HEADERS): Add arg.h and env.h.
28611 (pupa_mkimage_LDFLAGS): Add kern/env.c.
28612 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
28613 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
28614 normal/arg.c.
28615 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
28616 terminal.mod.
28617 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
28618 (boot_mod_SOURCES): New variable.
28619 (terminal_mod_SOURCES): Likewise.
28620 (ls_mod_SOURCES): Likewise.
28621 (cmp_mod_SOURCES): Likewise.
28622 (cat_mod_SOURCES): Likewise.
28623
28624 * normal/arg.c: New file.
28625 * kern/env.c: Likewise.
28626 * include/pupa/arg.h: Likewise.
28627 * include/pupa/env.h: Likewise.
28628 * font/manager.c (font_command): Changed to match argument parsing
28629 interface changes.
28630 (PUPA_MOD_INIT): Likewise.
28631 * hello/hello.c (pupa_cmd_hello): Likewise.
28632 (PUPA_MOD_INIT): Likewise.
28633 * include/pupa/disk.h: Include <pupa/device.h>.
28634 (pupa_print_partinfo): New prototype.
28635 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
28636 (pupa_dl_get_prefix): Likewise.
28637 * include/pupa/misc.h: Include <pupa/err.h>.
28638 (pupa_isgraph): New prototype.
28639 (pupa_isdigit): Likewise.
28640 (pupa_split_cmdline): Likewise.
28641 * include/pupa/normal.h: Include <pupa/arg.h>.
28642 (pupa_command): Changed the prototype of the member `func' to
28643 match the argument parsing interface. Added member `options'.
28644 (pupa_register_command): Updated to match function.
28645 (pupa_arg_parse): New prototype.
28646 (pupa_hello_init) [PUPA_UTIL]: New prototype.
28647 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
28648 (pupa_ls_init) [PUPA_UTIL]: Likewise.
28649 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
28650 (pupa_cat_init) [PUPA_UTIL]: Likewise.
28651 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
28652 (pupa_boot_init) [PUPA_UTIL]: Likewise.
28653 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
28654 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
28655 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
28656 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
28657 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
28658 * kern/disk.c: Include <pupa/file.h>.
28659 (pupa_print_partinfo): New function.
28660 * kern/dl.c: Include <pupa/env.h>.
28661 (pupa_dl_dir): Variable removed.
28662 (pupa_dl_load): Use the environment variable `prefix' instead of
28663 the variable pupa_dl_dir.
28664 (pupa_dl_set_prefix): Function removed.
28665 (pupa_dl_get_prefix): Likewise.
28666 * kern/i386/pc/init.c: Include <pupa/env.h>.
28667 (pupa_machine_init): Use the environment variable `prefix' instead of
28668 using pupa_dl_set_prefix to set the prefix.
28669 * kern/main.c: Include <pupa/env.h>.
28670 (pupa_set_root_dev): Use the environment variable `prefix' instead of
28671 using pupa_dl_get_prefix to get the prefix.
28672 * kern/misc.c: Include <pupa/env.h>.
28673 (pupa_isdigit): New function.
28674 (pupa_isgraph): Likewise.
28675 (pupa_ftoa): Likewise.
28676 (pupa_vsprintf): Added support for printing values of the type
28677 `double'. Make it possible to format variable output when using
28678 formatting like `%1.2%f'.
28679 (pupa_split_cmdline): New function.
28680 * kern/rescue.c: Include <pupa/env.h>.
28681 (next_word): Removed function.
28682 (pupa_rescue_cmd_prefix): Likewise.
28683 (pupa_rescue_cmd_set): New function.
28684 (pupa_rescue_cmd_unset): New function.
28685 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
28686 split the command line instead of splitting it here. Added
28687 support for setting variables using the syntax `foo=bar'. Don't
28688 initialize the prefix command anymore. Initialized the set and
28689 unset commands.
28690 * normal/cmdline.c: Include <pupa/env.h>.
28691 (pupa_tab_complete): Added prototypes for print_simple_completion,
28692 print_partition_completion, add_completion, iterate_commands,
28693 iterate_dev, iterate_part and iterate_dir. Moved code to print
28694 partition information from here to kern/disk.c.
fe6b695a 28695 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 28696 * normal/main.c: Include <pupa/env.h>.
28697 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
28698 instead of using pupa_dl_get_prefix to get the prefix.
28699 * term/i386/pc/vga.c: Include <pupa/arg.h>.
28700 (check_vga_mem): Cast pointers to `void *' to silence a gcc
28701 warning.
28702 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
28703 (pupa_vga_setcolor): Declare unused variables with `__attribute__
28704 ((unused))' to silence a gcc warning.
28705 (pupa_vga_setcolor): Likewise.
28706 (debug_command): Changed to match argument parsing
28707 interface changes.
28708 * util/pupa-emu.c: Include <pupa/env.h>.
28709 (options): Added 0's for unused fields to silence a gcc warning.
28710 (argp): Likewise.
28711 (main): Use the environment variable `prefix' instead of using
28712 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
28713 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
28714 and terminal.
28715
28716 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
28717 * util/misc.c: Include <malloc.h>.
28718 (pupa_malloc): Rewritten so errors are correctly reported.
28719 (pupa_realloc): Likewise.
28720 (pupa_memalign): Likewise.
28721 (pupa_mm_init_region): Declare unused variables with
28722 `__attribute__ ((unused))' to silence a gcc warning.
28723 * normal/i386/setjmp.S: Remove tab at the end of the file to
28724 silence a gcc warning.
28725 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
28726 variables with `__attribute__ ((unused))' to silence a gcc
28727 warning.
28728 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
28729 local variable i unsigned to silence a gcc warning.
28730
28731 * kern/term.c: Include <pupa/misc.h>.
28732 (pupa_more_lines): New variable.
28733 (pupa_more): Likewise.
28734 (pupa_putcode): When the pager is active pause at the end of every
28735 screen.
28736 (pupa_set_more): New function.
28737 * include/pupa/term.h (pupa_set_more): New prototype.
28738
28739
3b1139cb 287402004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
28741
28742 Now this project is GRUB 2 rather than PUPA. The location of
28743 the CVS repository was moved to GRUB's.
f19dbdb7 28744
3b1139cb 28745 * configure.ac: Use bug-grub as the reporting address.
28746 Use GRUB instead of PUPA.
28747 Change the version number to 1.90.
28748
8367695c 287492004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
28750
28751 * genkernsyms.sh: Updated copyright information.
28752 * genmk.rb: Likewise.
28753 * genmodsrc.sh: Likewise.
28754 * gensymlist.sh: Likewise.
28755 * boot/i386/pc/boot.S: Likewise.
28756 * boot/i386/pc/diskboot.S: Likewise.
28757 * disk/i386/pc/biosdisk.c: Likewise.
28758 * disk/i386/pc/partition.c: Likewise.
28759 * font/manager.c: Likewise.
28760 * fs/ext2.c: Likewise.
28761 * fs/fat.c: Likewise.
28762 * include/pupa/boot.h: Likewise.
28763 * include/pupa/device.h: Likewise.
28764 * include/pupa/disk.h: Likewise.
28765 * include/pupa/dl.h: Likewise.
28766 * include/pupa/elf.h: Likewise.
28767 * include/pupa/err.h: Likewise.
28768 * include/pupa/file.h: Likewise.
28769 * include/pupa/font.h: Likewise.
28770 * include/pupa/fs.h: Likewise.
28771 * include/pupa/kernel.h: Likewise.
28772 * include/pupa/loader.h: Likewise.
28773 * include/pupa/misc.h: Likewise.
28774 * include/pupa/mm.h: Likewise.
28775 * include/pupa/net.h: Likewise.
28776 * include/pupa/normal.h: Likewise.
28777 * include/pupa/rescue.h: Likewise.
28778 * include/pupa/setjmp.h: Likewise.
28779 * include/pupa/symbol.h: Likewise.
28780 * include/pupa/term.h: Likewise.
28781 * include/pupa/types.h: Likewise.
28782 * include/pupa/i386/setjmp.h: Likewise.
28783 * include/pupa/i386/types.h: Likewise.
28784 * include/pupa/i386/pc/biosdisk.h: Likewise.
28785 * include/pupa/i386/pc/boot.h: Likewise.
28786 * include/pupa/i386/pc/console.h: Likewise.
28787 * include/pupa/i386/pc/init.h: Likewise.
28788 * include/pupa/i386/pc/kernel.h: Likewise.
28789 * include/pupa/i386/pc/linux.h: Likewise.
28790 * include/pupa/i386/pc/loader.h: Likewise.
28791 * include/pupa/i386/pc/memory.h: Likewise.
28792 * include/pupa/i386/pc/multiboot.h: Likewise.
28793 * include/pupa/i386/pc/partition.h: Likewise.
28794 * include/pupa/i386/pc/time.h: Likewise.
28795 * include/pupa/i386/pc/vga.h: Likewise.
28796 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
28797 * include/pupa/util/getroot.h: Likewise.
28798 * include/pupa/util/misc.h: Likewise.
28799 * include/pupa/util/resolve.h: Likewise.
28800 * kern/device.c: Likewise.
28801 * kern/disk.c: Likewise.
28802 * kern/dl.c: Likewise.
28803 * kern/err.c: Likewise.
28804 * kern/file.c: Likewise.
28805 * kern/fs.c: Likewise.
28806 * kern/loader.c: Likewise.
28807 * kern/main.c: Likewise.
28808 * kern/misc.c: Likewise.
28809 * kern/mm.c: Likewise.
28810 * kern/rescue.c: Likewise.
28811 * kern/term.c: Likewise.
28812 * kern/i386/dl.c: Likewise.
28813 * kern/i386/pc/init.c: Likewise.
28814 * kern/i386/pc/lzo1x.S: Likewise.
28815 * kern/i386/pc/startup.S: Likewise.
28816 * loader/i386/pc/chainloader.c: Likewise.
28817 * loader/i386/pc/linux.c: Likewise.
28818 * loader/i386/pc/multiboot.c: Likewise.
28819 * normal/cmdline.c: Likewise.
28820 * normal/command.c: Likewise.
28821 * normal/main.c: Likewise.
28822 * normal/menu.c: Likewise.
28823 * normal/i386/setjmp.S: Likewise.
28824 * term/i386/pc/console.c: Likewise.
28825 * term/i386/pc/vga.c: Likewise.
28826 * util/console.c: Likewise.
28827 * util/genmoddep.c: Likewise.
28828 * util/misc.c: Likewise.
28829 * util/pupa-emu.c: Likewise.
28830 * util/resolve.c: Likewise.
28831 * util/unifont2pff.rb: Likewise.
28832 * util/i386/pc/biosdisk.c: Likewise.
28833 * util/i386/pc/getroot.c: Likewise.
28834 * util/i386/pc/pupa-mkimage.c: Likewise.
28835 * util/i386/pc/pupa-setup.c: Likewise.
28836
e6eced71 288372004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
28838
28839 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
28840 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
28841 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
28842 reading and reset it after reading.
28843 (pupa_ext2_close): Return PUPA_ERR_NONE.
28844
28845 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
28846 Correct value.
28847 (struct linux_kernel_header): Add kernel_version and
28848 initrd_addr_max.
28849 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
28850 pupa_file_read succeeds.
28851 (pupa_rescue_cmd_initrd): Implement.
28852
5aded270 288532003-12-03 Marco Gerards <metgerards@student.han.nl>
28854
28855 * fs/ext2.c (pupa_ext2_label): New function.
28856 (pupa_ext2_fs): Added label.
28857 * fs/fat.c (pupa_fat_label): New function.
28858 (pupa_fat_fs): Added label.
28859 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
28860
28861 * kern/misc.c (pupa_strndup): New function.
28862 * include/pupa/misc.h (pupa_strndup): New prototype.
28863
28864 * include/pupa/normal.h: Include <pupa/err.h>.
28865 (pupa_set_history): New prototype.
28866 (pupa_iterate_commands): New prototype.
28867 * normal/cmdline.c: Include <pupa/machine/partition.h>,
28868 <pupa/disk.h>, <pupa/file.h>.
28869 (hist_size): New variable.
28870 (hist_lines): Likewise.
28871 (hist_end): Likewise.
28872 (hist_used): Likewise.
28873 (pupa_set_history): New function.
28874 (pupa_history_get): Likewise.
28875 (pupa_history_add): Likewise.
28876 (pupa_history_replace): Likewise.
28877 (pupa_tab_complete): Likewise.
28878 (pupa_cmdline_run): Added tab completion and history buffer. Tab
28879 completion shows partitionnames while completing partitions, this
28880 feature was suggested by Jeff Bailey.
28881 * normal/command.c (pupa_iterate_commands): New function.
28882 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
28883 (pupa_normal_init): Initialize history buffer.
28884 (PUPA_MOD_INIT): Likewise.
28885 (pupa_normal_fini): Free the history buffer.
28886 (PUPA_MOD_FINI): Likewise.
28887
28888 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
28889 key.
28890
28891 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
28892 * configure.ac [i386]: Check for regparam bug.
28893 (NESTED_FUNC_ATTR) [! i386]: Defined.
28894
1f7315a3 288952003-11-17 Marco Gerards <metgerards@student.han.nl>
28896
28897 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
28898 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
28899 (pupa_emu_SOURCES): New variable.
28900 (pupa_emu_LDFLAGS): Likewise.
28901 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
28902 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
28903 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
28904 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
28905 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
28906 (pupa_jmp_buf): New typedef.
28907 (pupa_setjmp) [PUPA_UTIL]: New macro.
28908 (pupa_longjmp) [PUPA_UTIL]: Likewise.
28909 * include/pupa/term.h (struct pupa_term): New member `refresh'.
28910 (pupa_refresh): New prototype.
28911 * include/pupa/util/getroot.h: New file.
28912 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
28913 it.
28914 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
28915 (pupa_rescue_cmd_cat): Likewise.
28916 (pupa_rescue_cmd_ls): Likewise.
28917 (pupa_rescue_cmd_testload): Likewise.
28918 (pupa_rescue_cmd_lsmod): Likewise.
28919 * normal/cmdline.c (pupa_cmdline_get): Likewise.
28920 * normal/menu.c (run_menu): Likewise.
28921 * kern/term.c (pupa_cls): Likewise.
28922 (pupa_refresh): New function.
28923 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
28924 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
28925 * util/console.c: New file.
f19dbdb7 28926
1f7315a3 28927 * util/i386/pc/getroot.c: New file.
28928 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
28929 (pupa_putchar): New function.
28930 (pupa_refresh): Likewise.
28931 (xgetcwd): Function moved to ...
28932 (strip_extra_slashes): Likewise.
28933 (get_prefix): Likewise.
f19dbdb7 28934 * util/i386/pc/getroot.c: ... here.
1f7315a3 28935 (find_root_device): Function moved and renamed to...
28936 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
28937 Changed all callers.
28938 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
28939 and renamed to...
28940 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
28941 Changed all callers.
28942 * util/misc.c (pupa_memalign): New function.
28943 (pupa_mm_init_region): Likewise.
28944 (pupa_register_exported_symbols): Likewise.
28945 (pupa_putchar): Function removed.
28946 * util/pupa-emu.c: New file.
28947
9a5c1ade 289482003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
28949
28950 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
28951 (_multiboot_mod_SOURCES): New variable.
28952 (_multiboot_mod_CFLAGS): Likewise.
28953 * loader/i386/pc/multiboot.c: New file.
28954 * include/pupa/i386/pc/multiboot.h: Likewise.
28955 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
28956 (pupa_multiboot_real_boot): New function.
28957 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
28958 (pupa_multiboot_real_boot): New prototype.
28959 (pupa_rescue_cmd_multiboot): Likewise
28960 (pupa_rescue_cmd_module): Likewise.
28961
28962 * kern/loader.c (pupa_loader_set): Continue when
28963 pupa_loader_unload_func() fails.
28964 (pupa_loader_unset): New function.
28965 * include/pupa/loader.h (pupa_loader_unset): New prototype.
28966
28967 * kern/misc.c (pupa_stpcpy): New function.
28968 * include/pupa/misc.h (pupa_stpcpy): New prototype.
28969
8e72a9c0 289702003-11-12 Marco Gerards <metgerards@student.han.nl>
28971
28972 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
28973 for available extensions.
28974
28975 * include/pupa/i386/pc/time.h: New file.
28976 * kern/disk.c: Include <pupa/machine/time.h>.
28977 (PUPA_CACHE_TIMEOUT): New macro.
28978 (pupa_last_time): New variable.
28979 (pupa_disk_open): Flush the cache when there was a timeout.
28980 (pupa_disk_close): Reset the timer.
28981 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
28982 pupa_currticks.
28983 * util/misc.c: Include <sys/times.h>
28984 (pupa_get_rtc): New function.
28985
c4adbd32 289862003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
28987
28988 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
28989 as blocks.
28990 (pupa_ext2_get_file_block): Use blocks member.
28991
28992 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
28993 first block. Return -1 instead of pupa_errno on error.
28994
bfd30f06 289952003-10-27 Marco Gerards <metgerards@student.han.nl>
28996
28997 * README: In the pupa-mkimage example use _chain instead of chain
28998 and ext2 instead of fat.
28999 * TODO: Replace ext2fs with jfs as an example. Add an item for
29000 adding journal playback for ext2fs.
29001 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
29002 (pkgdata_MODULES): Added ext2.mod.
29003 (ext2_mod_SOURCES): New variable.
29004 (ext2_mod_CFLAGS): Likewise.
29005 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
29006 * include/pupa/misc.h (pupa_strncpy): New prototype.
29007 (pupa_strcat): Likewise.
29008 (pupa_strncmp): Likewise.
29009 * kern/misc.c (pupa_strcat): Enable function.
29010 (pupa_strncpy): New function.
29011 (pupa_strncmp): Likewise.
29012 * fs/ext2.c: New file.
f19dbdb7 29013
bfd30f06 29014 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
29015 when the read failed before retrying.
29016 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
29017 (_FILE_OFFSET_BITS): Likewise.
29018 * configure.ac: Added AC_SYS_LARGEFILE.
29019
98d15063 290202003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
29021
29022 * genmk.rb (PModule#rule): Make sure to get only symbol names
29023 from the output of nm.
59cad637 29024 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 29025
18d9c7cd 290262003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
29027
29028 I forgot to check in these changes for a long time. This adds
29029 incomplete support for VGA console, and this is still very
29030 buggy. Also, a lot of consideration is required for I18N,
29031 UNICODE, and VGA font issues. Therefore, assume that this is
29032 such that "better than nothing".
f19dbdb7 29033
18d9c7cd 29034 * font/manager.c: New file.
29035 * include/pupa/font.h: Likewise.
29036 * include/pupa/i386/pc/vga.h: Likewise.
29037 * term/i386/pc/vga.c: Likewise.
29038 * util/unifont2pff.rb: Likewise.
29039
29040 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
29041 (pkgdata_MODULES): Added vga.mod and font.mod.
29042 (vga_mod_SOURCES): New variables.
29043 (vga_mod_CFLAGS): Likewise.
29044 (font_mod_SOURCES): Likewise.
29045 (font_mod_CFLAGS): Likewise.
29046
29047 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
29048
29049 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 29050 (struct pupa_term): Added init and fini.
18d9c7cd 29051 Changed the argument of putchar to pupa_uint32_t.
29052
29053 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
29054 (pupa_console_real_putchar): New prototype.
29055 (pupa_console_putchar): Removed.
29056 (pupa_console_checkkey): Exported.
29057 (pupa_console_getkey): Likewise.
29058
29059 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
29060 characters.
29061
29062 * kern/term.c (pupa_term_set_current): Rewritten.
29063 (pupa_putchar): Likewise.
29064 (pupa_putcode): New function.
29065
29066 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
29067 (pupa_console_real_putchar): ... this.
29068 (pupa_vga_set_mode): New function.
29069 (pupa_vga_get_font): Likewise.
29070
29071 * normal/command.c: Include pupa/term.h.
29072 (terminal_command): New function.
29073 (pupa_command_init): Register the command "terminal".
29074
29075 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
29076 (DISP_UP): Likewise.
29077 (DISP_RIGHT): Likewise.
29078 (DISP_DOWN): Likewise.
29079 (DISP_HLINE): Likewise.
29080 (DISP_VLINE): Likewise.
29081 (DISP_UL): Likewise.
29082 (DISP_UR): Likewise.
29083 (DISP_LL): Likewise.
29084 (DISP_LR): Likewise.
29085
29086 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 29087
977329f5 290882003-02-08 NIIBE Yutaka <gniibe@m17n.org>
29089
29090 * util/resolve.c (pupa_util_resolve_dependencies): BUG
29091 FIX. Reverse the path_list.
29092
29093 * include/pupa/normal.h: Export pupa_register_command and
29094 pupa_unregister_command.
29095
29096 * hello/hello.c (pupa_cmd_hello): New module.
29097 * conf/i386-pc.rmk: Added hello.mod.
29098
1f5ab428 290992003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
29100
29101 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 29102
1f5ab428 29103 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
29104 (compress_kernel): New variable.
29105 (generate_image): Heavily modified to support compressing a
29106 large part of the core image.
29107
29108 * util/misc.c (pupa_util_read_image): Fix a file descriptor
29109 leak.
29110 (pupa_util_load_image): New function.
29111
29112 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
29113 (pupa_compressed_size): New variable.
29114 (codestart): Enable Gate A20 here.
29115 Decompress the compressed part of the core image.
29116 Rearrange the code to put functions and variables which are
29117 required for initialization in the non-compressed part.
29118 Include lzo1x.S.
29119
29120 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
29121 here.
29122
29123 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
29124
f19dbdb7 29125 * include/pupa/i386/pc/kernel.h
1f5ab428 29126 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
29127 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
29128 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
29129 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
29130 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
29131
29132 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
29133
29134 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
29135 (Utility#rule): Likewise.
29136
29137 * configure.ac: Check if LZO is available.
29138
ce5bf700 291392003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
29140
29141 * include/pupa/normal.h: New file.
29142 * include/pupa/setjmp.h: Likewise.
29143 * include/pupa/i386/setjmp.h: Likewise.
29144 * normal/cmdline.c: Likewise.
29145 * normal/command.c: Likewise.
29146 * normal/main.c: Likewise.
29147 * normal/menu.c: Likewise.
29148 * normal/i386/setjmp.S: Likewise.
f19dbdb7 29149
ce5bf700 29150 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
29151 (pupa_rescue_cmd_initrd): Likewise.
29152
29153 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
29154 Likewise.
29155
29156 * kern/i386/pc/startup.S (translation_table): New variable.
29157 (translate_keycode): New function.
29158 (pupa_console_getkey): Call translate_keycode.
29159
29160 * kern/rescue.c (attempt_normal_mode): New function.
29161 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
29162 it failed, print a message.
29163
29164 * kern/mm.c (pupa_real_malloc): Print more information when a
29165 free magic is broken.
29166 (pupa_free): If the first free header is not free actually, set
29167 it to P.
29168
29169 * kern/main.c (pupa_load_normal_mode): Just load the module
29170 "normal".
29171 (pupa_main): Don't print the message
29172 "Entering into rescue mode..." here.
29173
29174 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
29175 Declared.
29176 (pupa_rescue_cmd_initrd): Likewise.
29177 (pupa_rescue_cmd_initrd): Likewise.
29178
29179 * include/pupa/symbol.h (FUNCTION): Specify the type.
29180 (VARIABLE): Likewise.
29181
29182 * include/pupa/err.h (pupa_err_t): Added
29183 PUPA_ERR_UNKNOWN_COMMAND.
29184
29185 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
29186 (pupa_dl_get_prefix): Likewise.
29187
29188 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
29189 Added _chain.mod and _linux.mod instead of chain.mod and
29190 linux.mod.
29191 (chain_mod_SOURCES): Renamed to ...
29192 (_chain_mod_SOURCES): ... this.
29193 (chain_mod_CFLAGS): Renamed to ...
29194 (_chain_mod_CFLAGS): ... this.
29195 (linux_mod_SOURCES): Renamed to ...
29196 (_linux_mod_SOURCES): ... this.
29197 (linux_mod_CFLAGS): Renamed to ...
29198 (_linux_mod_CFLAGS): ... this.
29199 (normal_mod_SOURCES): New variable.
29200 (normal_mod_CFLAGS): Likewise.
29201 (normal_mod_ASFLAGS): Likewise.
29202
292032003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
29204
29205 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
29206 possible.
29207
fe6b695a 29208 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 29209 recursively.
29210 (pupa_dl_unref): Unrefer depending modules recursively.
29211 Don't call pupa_dl_unload implicitly, because PUPA can crash if
29212 a module is unloaded before one depending on that module is
29213 unloaded.
29214 (pupa_dl_unload): Unload depending modules explicitly,
29215 if possible.
29216
c04da074 292172003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
29218
29219 * include/pupa/i386/pc/linux.h: New file.
29220 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 29221
c04da074 29222 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
29223 Removed.
29224 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
29225 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
29226 of PUPA_CHAINLOADER_BOOT_SECTOR.
29227
29228 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
29229 (pupa_linux_prot_size): New variable.
29230 (pupa_linux_tmp_addr): Likewise.
29231 (pupa_linux_real_addr): Likewise.
29232 (pupa_linux_boot_zimage): New function.
29233 (pupa_linux_boot_bzimage): Likewise.
29234
29235 * kern/i386/pc/init.c (struct mem_region): New structure.
29236 (MAX_REGIONS): New macro.
29237 (mem_regions): New variable.
29238 (num_regions): Likewise.
29239 (pupa_os_area_addr): Likewise.
29240 (pupa_os_area_size): Likewise.
29241 (pupa_lower_mem): Likewise.
29242 (pupa_upper_mem): Likewise.
29243 (add_mem_region): New function.
29244 (compact_mem_regions): Likewise.
29245 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
29246 the size of the conventional memory and that of so-called upper
29247 memory (before the first memory hole).
29248 Instead of adding each found region to free memory, use
29249 add_mem_region and add them after removing overlaps.
29250 Also, add only 1/4 of the upper memory to free memory. The rest
29251 is used for loading OS images. Maybe this is ad hoc, but this
29252 makes it much easier to relocate OS images when booting.
29253
29254 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
29255 (pupa_enter_rescue_mode): Don't register initrd and module.
29256
29257 * kern/mm.c: Include pupa/dl.h.
29258
29259 * kern/main.c: Include pupa/file.h and pupa/device.h.
29260
29261 * kern/loader.c (pupa_loader_load_module_func): Removed.
29262 (pupa_loader_load_module): Likewise.
29263
29264 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
29265 ``.o''.
29266
29267 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
29268 (pupa_linux_tmp_addr): Likewise.
29269 (pupa_linux_real_addr): Likewise.
29270 (pupa_linux_boot_zimage): Likewise.
29271 (pupa_linux_boot_bzimage): Likewise.
29272
29273 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
29274 (pupa_upper_mem): Likewise.
29275 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
29276 module is too dangerous.
29277
29278 * include/pupa/loader.h (pupa_os_area_addr): Declared.
29279 (pupa_os_area_size): Likewise.
29280 (pupa_loader_set): Remove the first argument. Loader doesn't
29281 manage modules or initrd any longer.
29282 (pupa_loader_load_module): Removed.
29283
29284 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
29285 (linux_mod_SOURCES): New variable.
29286 (linux_mod_CFLAGS): Likewise.
29287
a13f9237 292882003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
29289
29290 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
29291 the length of a blocklist correctly.
29292
29293 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
29294 Use ioctl only if the OS file is a block device.
29295 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
29296 not very useful for normal files.
29297
29298 * kern/main.c (pupa_set_root_dev): New function.
29299 (pupa_load_normal_mode): Likewise.
29300 (pupa_main): Call those above.
29301
29302 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
29303 pupa_uint16_t.
29304
29305 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
29306
a5ffe966 293072003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
29308
29309 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
29310 (setup): Configure the installed partition information and the
29311 dl prefix.
29312
29313 * loader/i386/pc/chainloader.c (my_mod): New variable.
29314 (pupa_chainloader_unload): New function.
29315 (pupa_rescue_cmd_chainloader): Refer itself.
29316 (PUPA_MOD_INIT): Save its own module in MY_MOD.
29317
29318 * kern/i386/pc/startup.S (install_partition): Removed.
29319 (version_string): Likewise.
29320 (config_file): Likewise.
29321 (pupa_install_dos_part): New variable.
29322 (pupa_install_bsd_part): Likewise.
29323 (pupa_prefix): Likewise.
29324 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
29325
29326 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
29327 and pupa/misc.h.
29328 (make_install_device): New function.
29329 (pupa_machine_init): Set the dl prefix.
29330
29331 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
29332 (buf): Renamed to ...
29333 (linebuf): ... this.
29334 (pupa_rescue_cmd_prefix): New function.
29335 (pupa_rescue_cmd_insmod): Likewise.
29336 (pupa_rescue_cmd_rmmod): Likewise.
29337 (pupa_rescue_cmd_lsmod): Likewise.
29338 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
29339 rmmod and lsmod.
29340
29341 * kern/mm.c (pupa_memalign): If failed even after invalidating
29342 disk caches, unload unneeded modules and retry.
29343
29344 * kern/misc.c (pupa_memmove): New function.
29345 (pupa_memcpy): Removed.
29346 (pupa_strcpy): New function.
29347 (pupa_itoa): Made static.
29348
29349 * kern/dl.c (pupa_dl_iterate): New function.
29350 (pupa_dl_ref): Likewise.
29351 (pupa_dl_unref): Likewise.
29352 (pupa_dl_unload): Return if succeeded or not.
29353 (pupa_dl_unload_unneeded): New function.
29354 (pupa_dl_unload_all): Likewise.
29355 (pupa_dl_init): Renamed to ...
29356 (pupa_dl_set_prefix): ... this.
29357 (pupa_dl_get_prefix): New function.
29358
29359 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
29360 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
29361 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
29362 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
29363 (pupa_install_dos_part): Declared.
29364 (pupa_install_bsd_part): Likewise.
29365 (pupa_prefix): Likewise.
29366 (pupa_boot_drive): Likewise.
29367
29368 * include/pupa/types.h: Fix a typo.
29369
29370 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
29371 pupa_memmove.
29372 (pupa_memmove): Declared.
29373 (pupa_strcpy): Likewise.
29374
29375 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
29376 pupa_mod_init takes one argument, its own module.
29377 (pupa_dl_unload_unneeded): Declared.
29378 (pupa_dl_unload_all): Likewise.
29379 (pupa_dl_ref): Likewise.
29380 (pupa_dl_unref): Likewise.
29381 (pupa_dl_iterate): Likewise.
29382 (pupa_dl_init): Renamed to ...
29383 (pupa_dl_set_prefix): ... this.
29384 (pupa_dl_get_prefix): Declared.
29385
29386 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 29387 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 29388 unloaded.
29389 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
29390 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
29391
29392 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
29393 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
29394
012d7999 293952003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
29396
29397 * util/i386/pc/pupa-setup.c (setup): Define the internal
29398 function find_first_partition_start at the top level, because GCC
29399 3.0.x cannot compile internal functions in deeper scopes
29400 correctly.
29401 (find_root_device): Use lstat instead of stat.
29402 Don't follow symbolic links.
29403 Fix the path-constructing code.
29404
29405 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
29406 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
29407 by a BLKGETSIZE ioctl first, because block devices don't fill
29408 the member st_mode of the structure stat on Linux.
29409 [__linux__] (linux_find_partition): Use a temporary buffer
29410 REAL_DEV for the working space. Copy it to DEV before returning.
29411 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
29412 buffer cache consistent.
29413 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
29414 strncmp. The previous value was merely wrong.
29415 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
29416
29417 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
29418 FAT size is 12. The previous value was merely wrong.
29419
29420 * kern/main.c (pupa_main): Don't split the starting message from
29421 newlines.
29422
29423 * kern/term.c (pupa_putchar): Put CR after LF instead of before
29424 LF, because BIOS goes crazy about character attributes in this
29425 case.
29426
1cc73a62 294272003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
29428
29429 * include/i386/pc/util/biosdisk.h: New file.
29430 * util/i386/pc/biosdisk.c: Likewise.
29431 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 29432
1cc73a62 29433 * Makefile.in (INCLUDE_DISTFILES): Added
29434 include/pupa/i386/pc/util/biosdisk.h.
29435 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
29436 directory util/i386/pc.
29437 (install-local): Added a rule for sbin_UTILITIES.
29438 (uninstall): Likewise.
29439
29440 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
29441
29442 * util/misc.c (xrealloc): New function.
29443 (pupa_malloc): Likewise.
29444 (pupa_free): Likewise.
29445 (pupa_realloc): Likewise.
29446 (pupa_stop): Likewise.
29447 (pupa_putchar): Likewise.
29448
29449 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
29450
29451 * include/pupa/util/misc.h (xrealloc): Declared.
29452
29453 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
29454 macro.
29455 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
29456 (PUPA_BOOT_MACHINE_BPB_END): ... this.
29457
29458 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
29459 [PUPA_UTIL] (pupa_fat_fini): Likewise.
29460
29461 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
29462 way should be implemented.
29463 [PUPA_UTIL] (pupa_fat_fini): Likewise.
29464
29465 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
29466 the size of NAME for safety.
29467 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
29468 0x88.
29469
29470 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
29471 (pupa_setup_SOURCES): Likewise.
29472
29473 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
29474
08b70fe8 294752002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
29476
29477 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
29478 bunch of pushl's from pusha, because this destroys the return
29479 value.
29480
62ddcc8f 294812002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
29482
29483 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
29484 This means that any missing prototypes could be fatal. Also, you
29485 must take care when writing assembly code. See the comments at
29486 the beginning of startup.S, for more details.
f19dbdb7 29487
62ddcc8f 29488 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
29489 compilation mechanism.
29490 (pupa_chainloader_real_boot): Likewise.
29491 (pupa_biosdisk_rw_int13_extensions): Likewise.
29492 (pupa_biosdisk_rw_standard): Likewise.
29493 (pupa_biosdisk_check_int13_extensions): Likewise.
29494 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
29495 (pupa_biosdisk_get_diskinfo_standard): Likewise.
29496 (pupa_get_memsize): Likewise.
29497 (pupa_get_mmap_entry): Likewise.
29498 (pupa_console_putchar): Likewise.
29499 (pupa_console_setcursor): Likewise.
29500 (pupa_getrtsecs): Use pushl instead of push.
29501
29502 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
29503 memory instead of the stack for a mmap entry, because some
29504 BIOSes may ignore the maximum size and overflow.
29505
29506 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
29507
29508 * genmk.rb (PModule#rule): Compile automatically generated
29509 sources with module-specific CFLAGS as well as other sources.
29510
9962ed99 295112002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29512
29513 * configure.ac: Check ld.
29514 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
29515 respectively, before checking endianness and sizes.
29516
29517 * Makefile.in (LD): New variable.
f19dbdb7 29518
abdfc3c5 295192002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29520
29521 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
29522
6a161fa9 295232002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29524
29525 * Changelog: New file.
29526