]> git.proxmox.com Git - grub2.git/blob - ChangeLog
Add configure flag to control libzfs integration.
[grub2.git] / ChangeLog
1 2012-02-27 Mike Gilbert <floppym@gentoo.org>
2
3 Add configure flag to control libzfs integration.
4
5 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
6
7 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8
9 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
10 device.
11 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
12 small devices.
13
14 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15
16 Remove grub_{modname}_init and grub_{modname}_fini. They should never
17 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
18 be used on non-modules.
19
20 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
21 Rename to grub_boot_init.
22 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
23 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
24 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
25 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
26 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
27 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
28 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
29 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
30 includes.
31 (grub_machine_init): Remove empty inits.
32 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
33 includes.
34 (grub_machine_init): Remove empty inits.
35 * grub-core/term/arc/console.c: Remove explicit proto.
36 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
37 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
38 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
39 grub_at_keyboard_fini.
40 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
41 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
42 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
43 grub_gfxterm_fini.
44 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
45 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
46 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
47 grub_vgatext_fini.
48 * grub-core/term/ieee1275/console.c: Remove explicit proto.
49 * grub-core/term/serial.c (GRUB_MOD_INIT)
50 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
51 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
52 grub_serial_fini.
53 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
54 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
55 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
56 grub_terminfo_fini.
57 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
58 (GRUB_MOD_FINI): Likewise.
59 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
60 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
61 (GRUB_MOD_FINI) [LOONGSON]: Rename to
62 grub_video_radeon_fuloong2e_fini.
63 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
64 [LOONGSON]: Rename to grub_video_sis315pro_init.
65 (GRUB_MOD_FINI) [LOONGSON]: Rename to
66 grub_video_sis315pro_fini.
67 * grub-core/video/sm712.c (GRUB_MOD_INIT)
68 [LOONGSON]: Rename to grub_video_sm712_init.
69 (GRUB_MOD_FINI) [LOONGSON]: Rename to
70 grub_video_sm712_fini.
71 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
72 (grub_at_keyboard_fini): Likewise.
73 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
74 Don't declare grub_{modname}_init.
75 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
76 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
77 New proto.
78 (grub_keylayouts_fini) [!EMU]: Likewise.
79 * include/grub/serial.h (grub_serial_init) [!EMU]:
80 New proto.
81 (grub_serial_fini) [!EMU]: Likewise.
82 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
83 New proto.
84 (grub_terminfo_fini) [!EMU]: Likewise.
85 * include/grub/video.h (grub_font_init) [!EMU]:
86 New proto.
87 (grub_font_fini) [!EMU]: Likewise.
88 (grub_gfxterm_init) [!EMU]: Likewise.
89 (grub_gfxterm_fini) [!EMU]: Likewise.
90 (grub_video_sm712_init) [!EMU]: Likewise.
91 (grub_video_sm712_fini) [!EMU]: Likewise.
92 (grub_video_sis315pro_init) [!EMU]: Likewise.
93 (grub_video_sis315pro_fini) [!EMU]: Likewise.
94 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
95 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
96
97 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
98
99 Make nand a prefix for nand devices.
100
101 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
102
103 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
106 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
107
108 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
109
110 * include/grub/env.h (grub_env_find): Remove prototype.
111 * grub-core/kern/env.c (grub_env_find): Make static.
112 (grub_env_set): Remove useless set.
113
114 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
115
116 * grub-core/kern/i386/realmode.S: Remove useless align.
117
118 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
119
120 * include/grub/dl.h (grub_dl_load_file): Don't export.
121
122 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
123
124 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
125 grub_dprintf.
126
127 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
128
129 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
130 grub_errors.
131 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
132 not reloading whole superblock but only the part which is really needed.
133 Remove useless grub_errors.
134 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
135 grub_errors.
136
137 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
138
139 Don't export grub_get_rtc.
140
141 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
142 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
143
144 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
145
146 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
147
148 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
149
150 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
151 argument since it can be deduced from diskfilter. All users updated.
152
153 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
154
155 Remove prio_list.
156
157 * include/grub/list.h (grub_prio_list): Removed.
158 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
159 GRUB_COMMAND_PRIO_MASK.
160 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
161 GRUB_COMMAND_FLAG_ACTIVE.
162 (grub_prio_list_insert): Removed.
163 (grub_prio_list_remove): Likewise.
164 (GRUB_AS_PRIO_LIST): Likewise.
165 (GRUB_AS_PRIO_LIST_P): Likewise.
166 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
167 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
168 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
169 * grub-core/kern/command.c (grub_register_command_prio): Inline
170 the prio_list code.
171 (grub_unregister_command): Likewise.
172
173 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
174
175 Fix interrupt mixup from previous commit.
176
177 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
178 (grub_realidt): New var.
179 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
180 Load idt.
181 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
182 New declaration.
183 (grub_relocator16_boot): Set grub_relocator16_idt.
184 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
185 (LOCAL(realidt)): ... this.
186 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
187 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
188 (grub_realidt): New variable.
189
190 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
191
192 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
193 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
194 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
195 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
196 Gettextize.
197 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
198 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
199 * po/POTFILES.in: Regenerate.
200
201 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
202
203 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
204 errors.
205
206 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
207
208 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
209 \0.
210 (add_length): Likewise.
211
212 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
213 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
214
215 GDB serial and backtrace support.
216
217 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
218 (prot_to_real): Likewise.
219 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
220 * grub-core/Makefile.core.def (backtrace): New module.
221 (gdb): Likewise.
222 * grub-core/gdb/cstub.c: New file.
223 * grub-core/gdb/gdb.c: Likewise.
224 * grub-core/gdb/i386/idt.c: Likewise.
225 * grub-core/gdb/i386/machdep.S: Likewise.
226 * grub-core/gdb/i386/signal.c: Likewise.
227 * grub-core/lib/i386/backtrace.c: Likewise.
228 * grub-core/lib/backtrace.c: Likewise.
229 * include/grub/backtrace.h: Likewise.
230 * include/grub/gdb.h: Likewise.
231 * include/grub/i386/gdb.h: Likewise.
232
233 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
236 New function.
237 (add_length): Likewise.
238 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
239 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
240 proto.
241 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
242 __argp_get_display_len.
243
244 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
245
246 $"..." support in scripts.
247
248 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
249 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
250 * grub-core/script/yylex.l: Likewise.
251 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
252 value.
253
254 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
255
256 * gentpl.py: Remove obsolete pkglib_DATA handling.
257
258 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
259
260 Don't transform PACKAGE_TARNAME following a discussion on autoconf
261 mailing list.
262
263 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
264 * util/grub-kbdcomp.in: Likewise.
265 * util/grub-mkconfig.in: Likewise.
266 * util/grub-mkconfig_lib.in: Likewise.
267 * util/grub-mknetdir.in: Likewise.
268 * util/grub-mkrescue.in: Likewise.
269 * util/grub-mkstandalone.in: Likewise.
270 * util/grub-reboot.in: Likewise.
271 * util/grub-set-default.in: Likewise.
272 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
273
274 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
275
276 Remove GRUB_PREFIX.
277
278 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
279 * util/grub.d/00_header.in: Compute prefix in the only place it's still
280 used for backward compatibility.
281
282 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
283
284 Add new all_video module.
285
286 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
287 * grub-core/Makefile.core.def (all_video): New module.
288 * grub-core/genmoddep.awk: Generate dependency of all_video from
289 video.lst.
290 * grub-core/lib/fake_module.c: New file.
291 * grub-core/normal/main.c (features): Add feature_all_video_module.
292 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
293 don't do explicit search again.
294 insmod all_video in load_video if available.
295
296 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
297
298 Another round of string clarification and adding TRANSLATORS comments.
299
300 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
301
302 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
303
304 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
305
306 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
307 to grub_ssize_t.
308 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
309 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
310
311 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
312
313 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
314 trailing newline implicitly. All users updated.
315
316 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
317
318 Implement serial on IEEE1275 and EFI.
319
320 * docs/grub.texi (Platform-specific limitations): Fix the columen video
321 on emu. Mention arc and emu as the only platforms without serial
322 support.
323 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
324 ieee1275 platforms.
325 * grub-core/term/efi/serial.c: New file.
326 * grub-core/term/ieee1275/serial.c: Likewise.
327 * grub-core/term/serial.c (grub_serial_find): Disable direct port
328 specification if no ns8250 driver is available.
329 (grub_cmd_serial): Likewise.
330 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
331 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
332 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
333 (grub_efi_parity_type_t): New type.
334 (grub_efi_stop_bits_t): Likewise.
335 (grub_efi_serial_io_interface): New struct.
336 * include/grub/serial.h (grub_serial_port): Make 'broken' field
337 available for all interfaces.
338 Add EFI and IEEE1275 fields.
339 (grub_ofserial_init): New proto.
340 (grub_efiserial_init): Likeiwse.
341 * util/grub.d/00_header.in: Don't check for the presence of serial
342 module.
343
344 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
347 name as if it was an alias.
348
349 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
350
351 * grub-core/commands/lsacpi.c (options): Fix typo.
352
353 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
354
355 Convert grub-emu to argp.
356
357 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
358 emu.
359 * util/argp_common.c: Rename to ...
360 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
361 Add missing includes.
362 * grub-core/kern/emu/main.c: Convert to argp.
363 * po/POTFILES.in: Regenerate.
364 * util/grub-install.in (usage): Make first letter lowcase in messages
365 for uniformity.
366 * util/grub-setup.c (options): Likewise.
367
368 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
369
370 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
371 Put back accidently commented-out code.
372
373 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
374
375 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
376 loop check using Brent algorithm.
377 (grub_hfsplus_btree_search): Likewise.
378
379 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
380
381 * util/grub-install.in: Fix usage of wrong device for PreP install.
382
383 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * conf/Makefile.common (CFLAGS_GNULIB): Add
386 -Wno-unsafe-loop-optimizations.
387 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
388 on tools.
389 * grub-core/commands/legacycfg.c: Add pragma to skip
390 -Wunsafe-loop-optimizations.
391 (check_password_md5_real): Fix loop counter type.
392 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
393 reading.
394 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
395 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
396 loop condition.
397 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
398 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
399 * grub-core/net/net.c (grub_net_route_address): Add safety loop
400 condition.
401 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
402 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
403 avoid possible infinite loops.
404 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
405 and -Wunsafe-loop-optimizations.
406 * grub-core/script/yylex.l: Likewise.
407 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
408 (print_glyphs): Avoid infinite loops.
409 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
410
411 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
412
413 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
414 to avoid infinite loop.
415 (disp_acpi_rsdt_table): Likewise.
416
417 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
418
419 * grub-core/font/font.c (grub_font_load): Add support for default
420 path for fonts ($prefix/fonts).
421 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
422 for checking if string is a path.
423 * grub-core/normal/main.c (features): Add feature_default_font_path.
424 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
425 * util/grub.d/00_header.in: Use default directory if possible.
426 * util/grub-install.in: Install unicode.pf2.
427
428 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
429
430 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
431 * po/Rules-swiss: New file.
432 * po/swiss.sed: Likewise.
433
434 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * grub-core/fs/btrfs.c (find_device): Fix typos.
437 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
438 * util/grub-mkrelpath.c (argp_parser): Likewise.
439 Reported by: Yuri Chornoivan.
440
441 2012-02-23 Dalet Omega <daletomega@gmail.com>
442
443 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
444 for usual informative messages.
445
446 2012-02-23 Dalet Omega <daletomega@gmail.com>
447
448 Starfield theme.
449
450 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
451 * conf/Makefile.common: Define starfielddir.
452 * configure.ac: Configure starfield.
453 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
454 * themes/starfield/README: Likewise.
455 * themes/starfield/blob_w.png: Likewise.
456 * themes/starfield/boot_menu_c.png: Likewise.
457 * themes/starfield/boot_menu_e.png: Likewise.
458 * themes/starfield/boot_menu_n.png: Likewise.
459 * themes/starfield/boot_menu_ne.png: Likewise.
460 * themes/starfield/boot_menu_nw.png: Likewise.
461 * themes/starfield/boot_menu_s.png: Likewise.
462 * themes/starfield/boot_menu_se.png: Likewise.
463 * themes/starfield/boot_menu_sw.png: Likewise.
464 * themes/starfield/boot_menu_w.png: Likewise.
465 * themes/starfield/slider_c.png: Likewise.
466 * themes/starfield/slider_n.png: Likewise.
467 * themes/starfield/slider_s.png: Likewise.
468 * themes/starfield/src/blob_nw.xcf: Likewise.
469 * themes/starfield/src/bootmenu/: Likewise.
470 * themes/starfield/src/bootmenu/center.xcf: Likewise.
471 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
472 * themes/starfield/src/bootmenu/side.xcf: Likewise.
473 * themes/starfield/src/slider_c.xcf: Likewise.
474 * themes/starfield/src/slider_n.xcf: Likewise.
475 * themes/starfield/src/slider_s.xcf: Likewise.
476 * themes/starfield/src/terminalbox/: Likewise.
477 * themes/starfield/src/terminalbox/center.xcf: Likewise.
478 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
479 * themes/starfield/src/terminalbox/side.xcf: Likewise.
480 * themes/starfield/starfield.png: Likewise.
481 * themes/starfield/terminal_box_c.png: Likewise.
482 * themes/starfield/terminal_box_e.png: Likewise.
483 * themes/starfield/terminal_box_n.png: Likewise.
484 * themes/starfield/terminal_box_ne.png: Likewise.
485 * themes/starfield/terminal_box_nw.png: Likewise.
486 * themes/starfield/terminal_box_s.png: Likewise.
487 * themes/starfield/terminal_box_se.png: Likewise.
488 * themes/starfield/terminal_box_sw.png: Likewise.
489 * themes/starfield/terminal_box_w.png: Likewise.
490 * themes/starfield/theme.txt: Likewise.
491
492 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
493
494 * util/grub.d/00_header.in: Add missing export theme.
495
496 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
497
498 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
499 already included.
500 Reported by: Eren D.
501
502 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
503
504 * conf/Makefile.common (grubdatadir): Removed.
505 (Makefile.am): Move eveything grubdata to pkgdata.
506
507 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
508
509 * grub-core/commands/acpihalt.c (get_sleep_type):
510 Remove unused variable.
511
512 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
513
514 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
515 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
516 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
517 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
518 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
519 i18n with gettext no-op.
520 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
521 GRUB_ACPI_OPCODE_STRING_CONST.
522 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
523 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
524
525 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
526
527 * po/POTFILES.in: Regenerate.
528
529 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
530
531 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
532 -Wno-error=missing-noreturn.
533
534 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
535
536 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
537 condition to avoid possibly infinite loops.
538 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
539 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
540
541 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
542
543 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
544 condition to avoid possibly infinite loops.
545
546 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
547
548 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
549 on show_error.
550
551 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
552
553 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
554
555 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
556
557 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
558
559 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
560
561 * util/bin2h.c (usage): Add missing attribute noreturn.
562
563 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
566 if the size isn't divisible by 512.
567
568 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
569
570 Make list_push and list_remove functions rather than inline functions
571 to decrease size and avoid aliasing violations.
572
573 * include/grub/list.h (grub_list_push): Move to ...
574 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
575 * include/grub/list.h (grub_list_remove): Move to ...
576 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
577
578 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
579
580 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
581 and -Wunused-result.
582
583 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
584
585 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
586 Reported by: Seth Goldberg
587
588 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
589
590 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
591
592 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
593
594 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
595 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
596 command line.
597 * docs/grub.texi (Simple configuration): Document
598 GRUB_CMDLINE_GNUMACH.
599
600 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
601
602 * conf/Makefile.common (platform_SCRIPTS): New variable.
603 (platform_PROGRAMS): Likewise.
604 * gentpl.py: Mark *,module and *.image for install.
605 * grub-core/gdb_grub.in: Add a notice of expected environment.
606 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
607 (gmodule.pl): Likewise.
608
609 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
610
611 Replace grub_checkkey with grub_getkey_noblock.
612
613 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
614 (grub_getkey_noblock): ... this. All users updated.
615
616 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * grub-core/kern/emu/console.c: Move to ...
619 * grub-core/term/emu/console.c: ...here.
620 (grub_ncurses_getkey): Fix return value if no key is detected.
621
622 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
623
624 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
625 (grub_unit_test_fini): Likewise.
626 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
627
628 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
629
630 * include/grub/test.h (GRUB_UNIT_TEST)
631
632 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
633
634 * grub-core/script/execute.c (grub_script_break): Clarify logic.
635 Better error handling.
636 (grub_script_return): Likewise.
637 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
638
639 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
642 rimplicit redifinition.
643
644 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
645
646 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
647 GRUB.
648
649 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
650
651 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
652 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
653 prompt here.
654
655 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
656
657 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
658 as GRUB_ERR_BUG. Don't malloc if no device is available.
659
660 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
661
662 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
663 Mark calling with invalid term as GRUB_ERR_BUG.
664
665 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
666
667 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
668 packets rather than raising an error.
669
670 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
671
672 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
673 in if.
674
675 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
676
677 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
678 diagnostic to dprintf.
679 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
680
681 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
684 device name.
685
686 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
687
688 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
689 (grub_ntfs_iterate_dir): Likewise.
690
691 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
692
693 Efiemu stylistic fixes and gettext.
694
695 * grub-core/efiemu/i386/loadcore32.c
696 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
697 * grub-core/efiemu/i386/loadcore64.c
698 (grub_arch_efiemu_relocate_symbols64): Likewise.
699 * grub-core/efiemu/i386/pc/cfgtables.c
700 (grub_machine_efiemu_init_tables): Likewise.
701 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
702 (grub_efiemu_loadcore_initXX): Add a filename argument.
703 All users updated.
704 Improved error message.
705 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
706 Add a filename argument.
707 All users updated.
708 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
709 Reclassify double relocation as GRUB_ERR_BUG.
710
711 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
714 handling.
715
716 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
719 on partition.
720
721 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
724
725 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
726
727 Improve string. Gettextize.
728
729 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
730
731 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
732 utils.
733 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
734
735 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
736
737 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
738 [GRUB_UTIL]: New function.
739 (insert_array) [GRUB_UTIL]: Store partmaps.
740 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
741 partmaps.
742 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
743 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
744 (probe_abstraction): Print diskfilter and not raid.
745 Reported by: Lennart Sorensen
746
747 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
748
749 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
750 * util/grub-mkimagexx.c (MASK3): New define.
751 (add_value_to_slot_20b): Use MASK3.
752 (add_value_to_slot_21): Likewise.
753 (relocate_addresses): Fix format specification.
754 (load_image): Explicitly init symtab_section.
755
756 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
757
758 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
759 (grub_util_biosdisk_get_grub_dev): Fix format specification.
760
761 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
762
763 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
764 on powerpc.
765 Reported by: Lennart Sorensen
766
767 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
768
769 * gentpl.py: Add missing license header.
770 * docs/grub.texi: Update copyright year.
771
772 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
773
774 Source grub-mkconfig_lib from the build directory at build time.
775 Suggested by: Vladimir Serbinenko.
776
777 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
778 * util/grub-install.in: Define pkgdatadir if not already set, and source
779 grub-mkconfig_lib from there.
780 * util/grub-kbdcomp.in: Likewise.
781 * util/grub-mkconfig.in: Likewise.
782 * util/grub-mknetdir.in: Likewise.
783 * util/grub-mkrescue.in: Likewise.
784 * util/grub-mkstandalone.in: Likewise.
785 * util/grub-reboot.in: Likewise.
786 * util/grub-set-default.in: Likewise.
787 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
788
789 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
790
791 Increase warning level.
792
793 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
794 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
795 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
796 (TARGET_CFLAGS): Likewise.
797 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
798 * grub-core/Makefile.core.def (decompressor_xz): Add
799 -Wno-unreachable-code.
800 (normal): Add -Wno-redundant-decls.
801 (xzio): Add -Wno-unreachable-code.
802 (lzopio): Add -Wno-redundant-decls -Wno-error.
803 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
804 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
805 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
806 * grub-core/kern/dl.c: Add exception to -Wcast-align.
807 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
808 * grub-core/kern/i386/coreboot/init.c: Add exception to
809 -Wsuggest-attribute=noreturn.
810 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
811 * grub-core/kern/ia64/dl_helper.c: Likewise.
812 * grub-core/kern/mips/dl.c: Likewise.
813 * grub-core/kern/sparc64/dl.c: Likewise.
814 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
815 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
816 (memcmp): Likewise.
817 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
818 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
819 * grub-core/loader/mips/linux.c: Likewise.
820 * grub-core/loader/multiboot_elfxx.c: Likewise.
821 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
822 * grub-core/video/sm712.c: Add exception to -Wcast-align.
823 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
824 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
825 fixme.
826 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
827 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
828 Fix prototype.
829
830 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
833 address.
834
835 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
836
837 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
838 Avoid improper use of strings.
839 (grub_cmd_legacy_initrdnounzip): Likewise.
840
841 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
842
843 * include/grub/emu/misc.h (grub_util_warn): Add missing format
844 attribute.
845 (grub_util_info): Likewise.
846 (grub_util_error): Likewise.
847
848 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
849
850 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
851 * util/grub-fstest.c (fstest): Likewise.
852
853 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
856 (grub_md_sha512_real): Likewise.
857 (grub_util_get_geli_uuid): Likewise.
858 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
859 (grub_util_biosdisk_open): Fix format specification.
860 Respect format security.
861 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
862 (xrealloc): Likewise.
863 (xasprintf): Likewise.
864
865 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * util/import_gcry.py: Include grub/crypto.h in init.c.
868
869 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
870
871 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
872 (generate_image): Make prefix a const char *.
873 Fix format specifications. Respect format security.
874 Avoid void * arithmetics.
875 Avoid shadowing.
876 (argp_parser): Remove unused variable. Respect format security.
877 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
878 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
879 (count_funcs): Remove unused variable.
880 (relocate_addresses): Fix format specification.
881 Disable x86-64 with elf32. Remove unused variables.
882 (add_fixup_entry): Avoid shadowing.
883 (make_reloc_section): Fix format specification.
884 Use assert.
885 (locate_sections): Fix format specifications.
886 (load_image): Avoid shadowing.
887
888 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
889
890 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
891 Fix format specifications. Respect format security.
892 Don't translate already translated grub_errmsg.
893 (argp_parser): Remove unused variable
894
895 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
896
897 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
898
899 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
900
901 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
902 (main): Likewise. Use xmalloc. Respect format security.
903
904 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
905
906 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
907 a const char *.
908 (argp_parser): Remove unused variable.
909
910 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
911
912 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
913 (add_pixel): Make static.
914 (add_font): Likewise.
915 (write_string_section): Make name and str a const char *.
916 (write_be16_section): Make name a const char *.
917 (print_glyphs): Make static.
918 (write_font_ascii_bitmap): Likewise.
919 (write_font_width_spec): Likewise.
920 (write_font_pf2): Likewise.
921 (argp_parser): Remove unused variable.
922 Respect format security.
923 (main): Avoid shadowing. Respect format security.
924
925 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
926
927 * util/grub-editenv.c (argp_parser): Make static.
928 (create_envblk_file): Use xmalloc.
929 (open_envblk_file): Likewise.
930 Resepect format security.
931 (set_variables): Respect format security.
932
933 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
934
935 * util/getroot.c (grub_find_device): Respect format security.
936 (get_mdadm_uuid): Remove unused variable.
937 (grub_util_pull_device): Dont call gettext on already translated
938 grub_errmsg.
939 (find_system_device): Remove unused variable.
940 (grub_util_get_grub_dev): Likewise.
941 (grub_make_system_path_relative_to_its_root): Respect format security.
942
943 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
944
945 * util/grub-fstest.c (execute_command): Make first argument
946 a const char *.
947 (read_file): Avoid shadowing.
948 Reuse underlying error message if device open fails.
949 (cmd_cmp): Respect format security.
950 (root): Make const char *.
951 (fstest): Remove args argument and use global copy.
952 Respect format security.
953 (argp_parser): Make static.
954 (main): Make default_root const char *.
955
956 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
957
958 * util/grub-mount.c (root): Make const char *.
959 (execute_command): Make first argument a const char *.
960 (fuse_init): Respect format security.
961 (argp_parser): Make static. Remove unused variable.
962 (main): Make default_root a const char *.
963 Respect format security.
964
965 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
966
967 * util/grub-probe.c (probe): Don't call gettext on already translated
968 grub_errmsg.
969 Remove unused variables.
970 (argp_parser): Remove unused variable.
971
972 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
973
974 * util/grub-script-check.c (argp_parser): Remove unused variable.
975 (main): Rename read to curread to avoid shadowing.
976
977 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
978
979 * util/misc.c (grub_util_write_image_at): Fix format specification.
980 (grub_util_write_image): Likewise.
981 (grub_script_execute_argument_to_string): Removed (unused).
982 (grub_script_execute_menuentry): Likewise.
983 (grub_putchar): Likewise.
984
985 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
986
987 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
988 (FUNCTION) [GRUB_UTIL]: Likewise.
989 (VARIABLE) [GRUB_UTIL]: Likewise.
990
991 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
992
993 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
994 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
995
996 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
997
998 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
999 buffer.
1000
1001 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1002
1003 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
1004 (LzmaEnc_SaveState): Removed (unused).
1005 (LzmaEnc_RestoreState): Likewise.
1006 (LzmaEnc_InitPriceTables): Made static.
1007 (LzmaEnc_Construct): Likewise.
1008 (LzmaEnc_FreeLits): Likewise.
1009 (LzmaEnc_Destruct): Likewise.
1010 (LzmaEnc_Init): Likewise.
1011 (LzmaEnc_InitPrices): Likewise.
1012 (LzmaEnc_Finish): Likewise.
1013 (LzmaEnc_PrepareForLzma2): Removed (unused).
1014 (LzmaEnc_MemPrepare): Likewise.
1015 (LzmaEnc_GetNumAvailableBytes): Likewise.
1016 (LzmaEnc_GetCurBuf): Likewise.
1017 (LzmaEnc_CodeOneMemBlock): Likewise.
1018
1019 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
1022 (grub_util_ldm_embed): Likewise.
1023
1024 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1025
1026 * util/grub-editenv.c (print_var): Rename name to varname to
1027 avoid shadowing.
1028 (main): Rename index to curindex to avoid shadowing.
1029 Make filename a const char *.
1030
1031 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
1034 to arg_getline to avoid shadowing.
1035
1036 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
1039 disk_ to avoid shadowing.
1040
1041 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
1044 curindex to avoid shadowing.
1045 Make static.
1046 (MatchFinder_GetNumAvailableBytes): Make static.
1047
1048 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
1051 avoid shadowing.
1052
1053 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
1056 argument from encrypt to do_encrypt to avoid shadowing.
1057
1058 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
1061 incorrect nesting of #if's.
1062
1063 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
1066 checks which are always false on some platforms.
1067 (grub_cmd_lsacpi): Likewise.
1068 * grub-core/kern/misc.c (grub_strtoul): Likewise.
1069 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
1070 Likewise.
1071
1072 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
1075 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
1076
1077 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
1080 re_dfa_t to avoid breaking alignment invariants.
1081 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
1082 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
1083
1084 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
1087 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
1088
1089 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1090
1091 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
1092 Fix declaration.
1093
1094 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1095
1096 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
1097 conserve alignment invariants.
1098 (grub_ehci_ehcc_read16): Likewise.
1099 (grub_ehci_oper_read32): Likewise.
1100 (grub_ehci_oper_write32): Likewise.
1101 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
1102 Conserve alignment invariants.
1103
1104 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
1107 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
1108 declarations.
1109
1110 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
1113 Remove unused variable.
1114
1115 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
1118 Remove set in if.
1119
1120 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 * include/grub/net.h: Remove double declarations.
1123
1124 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 Remove "payload" command in ia64 Linux loader since I couldn't
1127 find any evidence of it being used for anything.
1128 Replace "relocate" command with an environment variable
1129
1130 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
1131 fields.
1132 (ia64_boot_payload): Removed.
1133 (last_payload): Likewise.
1134 (RELOCATE_OFF): Likewise.
1135 (RELOCATE_ON): Likewise.
1136 (RELOCATE_FORCE): Likewise.
1137 (relocate): Likewise.
1138 (free_pages): Don't free payloads.
1139 (grub_load_elf64): Use common error messages.
1140 Use "linux_relocate" variable.
1141 Increase the space after boot_params.
1142 (grub_cmd_payload): Removed.
1143 (grub_cmd_relocate): Likewise.
1144 (grub_cmd_fpswa): Improve messages.
1145 (cmd_payload): Removed.
1146 (cmd_relocate): Likewise.
1147 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
1148 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
1149
1150 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1151
1152 Convert UHCI to DMA framework.
1153
1154 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
1155 (grub_uhci_pci_iter): Fill new members
1156 (grub_alloc_td): Use P2V and V2P functions.
1157 (grub_free_queue): Likewise.
1158 (grub_alloc_qh): Likewise.
1159 (grub_uhci_setup_transfer): Likewise.
1160 (grub_uhci_check_transfer): Likewise.
1161
1162 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
1165 Remove assignment in if while on it.
1166
1167 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * util/grub-mkstandalone.in: Fix modules directory.
1170
1171 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
1174 on i386-pc target.
1175 (argp_parser): Accept "auto" as compression specification.
1176
1177 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 Fix `help' with unloaded modules.
1180
1181 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
1182 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
1183 (grub_dyncmd_dispatcher): Small stylistic fix.
1184 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
1185 explicit help is requested.
1186
1187 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1188
1189 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
1190 Explicitly init restart while on it.
1191
1192 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
1195 uninited variable.
1196
1197 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 * util/grub-mknetdir.in: Use . rather than source for POSIX
1200 compatibility.
1201
1202 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
1205
1206 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1207
1208 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
1209 variable.
1210
1211 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
1214 without quotes.
1215
1216 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
1219
1220 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1221
1222 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
1223 iteration of partitions.
1224
1225 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1226
1227 Improve gettext support. Stylistic fixes and error handling fixes while
1228 on it.
1229
1230 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
1233 part. Instead setup the correct stack in RM.
1234 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
1235 for stack.
1236 * include/grub/i386/relocator_private.h: New file.
1237
1238 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
1241 argument.
1242 * util/grub-fstest.c (options): Add missing DEVICE part.
1243
1244 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 Clarify and unify messages.
1247
1248 * grub-core/commands/hashsum.c (options): Unify messages.
1249 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
1250 literal-only message as translatable.
1251 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
1252 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
1253 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
1254 commands.
1255 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
1256 key, not the key used to unlock. Clarify what it's used for.
1257 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
1258 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
1259 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
1260 * util/grub-editenv.c (options): Unify "verbose" message.
1261 * util/grub-fstest.c (read_file): Unify error message.
1262 (fstest): Add quotes around commands.
1263 (options): Unify "verbose" message.
1264 * util/grub-install.in: Add quotes around variable name.
1265 * util/grub-kbdcomp.in: Unify error message.
1266 * util/grub-mkfont.c (main): Likewise.
1267 * util/grub-mkrescue.in: Likewise.
1268 * util/grub-mklayout.c (options): Unify "verbose" message.
1269 * util/grub-mkstandalone.in: Unify help and verbose messages.
1270 * util/grub-mount.c (options): Unify "verbose" message.
1271 * util/grub-probe.c (options): Likewise.
1272 * util/grub-script-check.c (options): Likewise.
1273 * util/grub-setup.c (setup): Unify no-terminator message.
1274 (options): Use DEVICE and not DEV.
1275 Unify "verbose" message.
1276 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
1277
1278 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 Improve and unify messages.
1281
1282 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
1283 name. All users updated.
1284 Print filename in error.
1285 (read_device_map): Print filename in error.
1286 * util/getroot.c (grub_guess_root_devices): Print filename in error.
1287 (grub_util_get_os_disk): Likewise.
1288 (grub_util_biosdisk_get_grub_dev): Likewise.
1289 (grub_util_check_block_device): Likewise.
1290 (grub_util_check_char_device): Likewise.
1291 (grub_make_system_path_relative_to_its_root): Likewise.
1292 * util/grub-editenv.c (create_envblk_file): Likewise.
1293 (open_envblk_file): Likewise.
1294 (write_envblk): Likewise.
1295 * util/grub-fstest.c (cmd_cp): Likewise.
1296 (cmd_cat): Likewise.
1297 (cmd_cmp): Likewise.
1298 * util/grub-menulst2cfg.c (main): Likewise.
1299 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
1300 (write_font_width_spec): Likewise.
1301 (write_font_pf2): Likewise.
1302 * util/grub-mkimage.c (generate_image): New argument outname.
1303 All users updated.
1304 Remove unreacheable message.
1305 (options): Unify messages.
1306 (help_filter): Likewise.
1307 * util/grub-mklayout.c (usage): Removed (unused).
1308 (main): Print filename in error.
1309 * util/grub-mkrescue.in: Fix wrong quoting.
1310 * util/grub-setup.c (setup): Print filename in error.
1311 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
1312 (check_sas): Likewise.
1313 * util/misc.c (grub_util_get_fp_size): Removed.
1314 (grub_util_get_image_size): Print filename in error.
1315 (grub_util_read_at): Removed.
1316 (grub_util_read_image): Print filename in error.
1317 (grub_util_load_image): Likewise.
1318 (grub_util_write_image_at): New argument filename. All users updated.
1319 Print filename in error.
1320 (grub_util_write_image): New argument filename. All users updated.
1321 Print filename in error.
1322 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
1323 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
1324
1325 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * grub-core/Makefile.core.def (pxechain): New module.
1328 * grub-core/loader/i386/pc/pxechainloader.c: New file.
1329 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
1330 function.
1331 (grub_pc_net_config_real): Use grub_pxe_get_cached.
1332 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
1333
1334 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
1337 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
1338 * include/grub/err.h (grub_error_saved): New struct.
1339 (grub_errmsg): Make array size explicit.
1340 * include/grub/misc.h (grub_error_save): New function.
1341 (grub_error_load): Likewise.
1342 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
1343 (grub_error_push): Update `errno' member name.
1344 (grub_error_pop): Likewise
1345 * grub-core/net/tftp.c (tftp_data): New member save_err.
1346 (tftp_receive): Save error.
1347 (tftp_open): Restore error.
1348
1349 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
1352 to real mode down to execute A20-related code in protected mode as
1353 intended.
1354
1355 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
1356
1357 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
1358 NULL when the argument `level' has an unexpected value.
1359
1360 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 Move platform-dependent files from $prefix to $prefix/$platform.
1363
1364 * config.h.in (GRUB_TARGET_CPU): New definition.
1365 (GRUB_PLATFORM): Likewise.
1366 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
1367 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
1368 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
1369 * grub-core/kern/dl.c (grub_dl_load): Likewise.
1370 * grub-core/normal/autofs.c (read_fs_list): Likewise.
1371 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
1372 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
1373 * grub-core/normal/term.c (read_terminal_list): Likewise.
1374 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
1375 $prefix/locale.
1376 (grub_gettext_init_ext): Likewise.
1377 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
1378 grub_platform.
1379 * util/grub-install.in: Update directories.
1380 * util/grub-mknetdir.in: Likewise.
1381 * util/grub-mkrescue.in: Likewise.
1382
1383 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
1386 grub_error framework. All users updated.
1387
1388 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1389
1390 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
1391 lists (by always binsearching), improve caching (cache strings
1392 used for binsearch, not only results), improve
1393 maintainability (by using more structured binary search) and correct
1394 error handling.
1395
1396 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 * grub-core/script/execute.c (grub_script_return): Fix warning.
1399
1400 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * grub-core/script/execute.c (grub_script_return): Fix potential
1403 NULL-dereference.
1404 Reported by: Jim Meyering.
1405
1406 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 * po/POTFILES.in: Regenerate.
1409 * util/grub-install.in: Gettextize the strings missed in first pass.
1410
1411 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 * Makefile.util.def (grub-mkdevicemap): Removed.
1414 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
1415 * include/grub/util/deviceiter.h: Removed.
1416 * util/deviceiter.c: Likewise.
1417 * util/getroot.c (grub_util_get_os_disk): New function.
1418 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
1419 replacement for EFI.
1420 * util/grub-mkdevicemap.c: Removed.
1421 * util/grub-probe.c (probe): Handle PRINT_DISK.
1422 (argp_parser): Handle -t disk.
1423
1424 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 * util/grub-mkfont.c: Migrate to argp.
1427 * util/grub-mklayout.c: Likewise.
1428 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1429 * util/grub-mkrelpath.c: Likewise.
1430 * util/grub-probe.c: Likewise.
1431 * util/grub-script-check.c: Likewise.
1432
1433 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1434
1435 * util/grub-reboot.in: Add missing datarootdir.
1436 Add missing newline.
1437 * util/grub-set-default.in: Add missing datarootdir.
1438 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
1439 * util/grub-mkrescue.in: Likewise.
1440
1441 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
1444
1445 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * util/grub-kbdcomp.in: Add decent help and gettextize.
1448 * docs/man/grub-kbdcomp.h2m: New file.
1449
1450 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 Migrate grub-mkimage.c to argp.
1453
1454 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
1455 (grub-setup): Likewise.
1456 * util/grub-setup.c (print_version): Move to ...
1457 * util/argp_common.c (print_version): ... here.
1458 * util/grub-setup.c (argp_program_version_hook): Move to ...
1459 * util/argp_common.c (argp_program_version_hook): ... here.
1460 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
1461 safety.
1462 * util/grub-mkimage.c (main): Migrate to argp.
1463
1464 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 * util/grub-mkrescue.in: Use same message as
1467 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
1468 for better translations.
1469
1470 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
1473 options with generic grub-mkrescue.in with the goal of future
1474 merge.
1475
1476 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 * grub-core/kern/mm.c: Add missing include of i18n.h
1479 * grub-core/lib/relocator.c: Likewise.
1480
1481 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
1484 error.
1485 (allocate_pages): Check return value.
1486 Replace fatal with error.
1487 (grub_linux_boot): Replace printf with dprintf.
1488 Check find_mmap_size return value.
1489 Replace fatal with error.
1490 Don't call grub_machine_fini.
1491 (grub_load_elf64): Replace printf with dprintf.
1492 (grub_cmd_linux): Likewise.
1493 (grub_cmd_initrd): Likewise.
1494 (grub_cmd_payload): Likewise.
1495
1496 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
1499 message.
1500 * grub-core/video/radeon_fuloong2e.c
1501 (grub_video_radeon_fuloong2e_setup): Likewise.
1502 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
1503 * grub-core/video/video.c (grub_video_set_mode): Don't override
1504 standard out of memory message.
1505
1506 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1507
1508 NetBSD disk wedge support.
1509
1510 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
1511 [__NetBSD__]: Handle NetBSD disk wedges.
1512 * util/getroot.c (convert_system_partition_to_system_disk)
1513 [__NetBSD__]: Likewise.
1514
1515 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
1516
1517 * util/grub-mkconfig.in: Use umask rather than chmod to create
1518 grub.cfg.new to avoid insecure grub.cfg.
1519
1520 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 * grub-core/commands/ls.c: Gettextize.
1523 * grub-core/commands/setpci.c: Likewise.
1524 * grub-core/commands/videotest.c: Likewise.
1525 * grub-core/disk/geli.c: Likewise.
1526 * grub-core/kern/mm.c: Likewise.
1527 * grub-core/lib/relocator.c: Likewise.
1528 * grub-core/loader/efi/appleloader.c: Likewise.
1529 * grub-core/loader/i386/xnu.c: Likewise.
1530 * grub-core/loader/ia64/efi/linux.c: Likewise.
1531 * grub-core/loader/xnu.c: Likewise.
1532 * grub-core/net/dns.c: Likewise.
1533 * grub-core/net/net.c: Likewise.
1534 * grub-core/script/lexer.c: Likewise.
1535 * grub-core/script/parser.y: Likewise.
1536 * grub-core/script/yylex.l: Likewise.
1537 * util/getroot.c: Likewise.
1538 * util/grub-setup.c: Likewise.
1539
1540 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1541
1542 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
1543 number.
1544
1545 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1546
1547 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
1548
1549 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
1552 macro.
1553 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
1554 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
1555
1556 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
1559 * util/grub-install.in: Gettextize.
1560 * util/grub-mkconfig.in: Likewise.
1561 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
1562 if not available.
1563 (grub_warn): Gettextize.
1564 * util/grub-mknetdir.in: Gettextize.
1565 * util/grub-mkrescue.in: Likewise.
1566 * util/grub-mkstandalone.in: Likewise.
1567 * util/grub-reboot.in: Likewise.
1568 * util/grub-set-default.in: Likewise.
1569 * util/grub.d/00_header.in: Likewise.
1570 * util/grub.d/10_hurd.in: Likewise.
1571 * util/grub.d/10_kfreebsd.in: Likewise.
1572 * util/grub.d/10_linux.in: Likewise.
1573 * util/grub.d/10_netbsd.in: Likewise.
1574 * util/grub.d/10_windows.in: Likewise.
1575 * util/grub.d/20_linux_xen.in: Likewise.
1576 * util/grub.d/30_os-prober.in: Likewise.
1577 * po/POTFILES-shell.in: Regenerate.
1578
1579 2012-02-03 Richard Laager <rlaager@wiktel.com>
1580
1581 * util/grub-mkimage.c (main): Fix format-security warning.
1582 * util/grub-mkrelpath.c (main): Likewise.
1583 * util/grub-probe.c (main): Likewise.
1584
1585 2012-02-03 Richard Laager <rlaager@wiktel.com>
1586
1587 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
1588 failure.
1589 Put back lost PRINT_DRIVE.
1590
1591 2012-02-03 Richard Laager <rlaager@wiktel.com>
1592
1593 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
1594 (grub_guess_root_devices): Replace strlen with sizeof.
1595 Avoid crash.
1596 (find_root_devices_from_poolname): Remove unused variable.
1597 Handle raidzN.
1598
1599 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1600
1601 Support install on multi-device filesystems.
1602
1603 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
1604 (grub_guess_root_devices): ...this. Return char **. All users updated.
1605 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
1606 Removed.
1607 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
1608 (find_root_devices_from_poolname): ... here.
1609 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
1610 Support zfs-fuse.
1611 (grub_guess_root_device): Rename to ...
1612 (grub_guess_root_devices): ... this. Return char **. All users updated.
1613 * util/grub-install.in: Handle multi-device filesystems.
1614 * util/grub-probe.c (probe). Make device_names a char **. Add delim
1615 argument. All users updated.
1616 Handle multi-device filesystems.
1617 Use 'delim' as separator.
1618 Remove device check to allow filesystems on file.
1619 (main): Support -0 argument. Handle multi-device.
1620 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
1621 Fix a cross-device check while on it.
1622 (arguments): Remove root_dev.
1623 (argp_parser): Remove -r.
1624 (main): Remove root_dev.
1625
1626 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
1629
1630 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1631
1632 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
1633 symbol.
1634 Reported by: NODA, Kai <nodakai>.
1635
1636 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1637
1638 Fix ehci on amd64.
1639
1640 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
1641 pointers.
1642 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
1643 (grub_ehci_setup_qh): Likewise.
1644 (grub_ehci_find_qh): Likewise.
1645 (grub_ehci_transaction): Likewise.
1646 (grub_ehci_setup_transfer): Likewise.
1647 (grub_ehci_check_transfer): Likewise.
1648 (grub_ehci_portstatus): Likewise.
1649 (grub_ehci_detect_dev): Likewise.
1650 (grub_ehci_transfer_controller_data): New field td_last_phys.
1651 (grub_ehci_setup_transfer): Fill td_last_phys.
1652 (grub_ehci_check_transfer): Use td_last_phys.
1653
1654 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
1655
1656 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
1657 if no submenu is present.
1658
1659 2012-02-01 Aleš Nesrsta <starous@volny.cz>
1660
1661 CBI support.
1662
1663 * include/grub/usb.h (grub_usbms_protocol_t): New values
1664 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
1665 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
1666 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
1667 (grub_usbms_dev): Add subclass, protocol and intrpt.
1668 Remove in_maxsz and out_maxsz.
1669 (grub_usbms_reset): Rename to ...
1670 (grub_usbms_bo_reset): .. this.
1671 (grub_usbms_cbi_cmd): New function.
1672 (grub_usbms_cbi_reset): Likewise.
1673 (grub_usbms_reset): Likewise.
1674 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
1675 (grub_usbms_transfer): Rename to ...
1676 (grub_usbms_transfer_bo): ... this.
1677 (grub_usbms_transfer_cbi): Likewise.
1678 (grub_usbms_transfer): Likewise.
1679
1680 2012-02-01 Aleš Nesrsta <starous@volny.cz>
1681 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1682
1683 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
1684 the support for the CS5536 modification thereos and few bugfixes.
1685
1686 * grub-core/Makefile.core.def (ehci): New module.
1687 * grub-core/bus/usb/ehci.c: New file.
1688 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
1689 port and hubaddr. All users updated.
1690 Save port and hubaddr into dev structure.
1691 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
1692 define.
1693 * include/grub/pci.h (grub_dma_phys2virt): New function.
1694 (grub_dma_virt2phys): Likewise.
1695 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
1696
1697 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1698
1699 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
1700 check as some mkfs implementations omit it.
1701
1702 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * docs/grub.texi (Unicode): Mention identifier and space limitations.
1705
1706 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1707
1708 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
1709 Add new member volname2.
1710 (grub_jfs_label): Use volname2 if available.
1711
1712 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
1715 over last_mounted as seen in image generated by mkfs.nilfs2.
1716 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
1717
1718 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1719
1720 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
1721 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
1722 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
1723
1724 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1725
1726 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
1727 over the sector.
1728
1729 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1730
1731 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
1732 subvolume name (by removing a bogus and useless check).
1733
1734 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
1737 sizeof while on it.
1738
1739 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
1742 (grub_scsi_read_capacity10): ... this.
1743 (grub_scsi_read_capacity16): New function.
1744 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
1745 0xffffffff.
1746 Fix off-by-one error.
1747 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
1748 64-bit unsigned.
1749 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
1750 (grub_scsi_read_capacity10): ... this.
1751 (grub_scsi_read_capacity_data): Rename to ...
1752 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
1753 (grub_scsi_read_capacity16): New struct.
1754 (grub_scsi_read_capacity16_data): Likewise.
1755 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
1756 grub_scsi_cmd_read_capacity10.
1757 New command grub_scsi_cmd_read_capacity16.
1758
1759 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 SCSI >2TiB support.
1762
1763 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
1764 (grub_scsi_write16): Likewise.
1765 (grub_scsi_read): Use read16 when necessary.
1766 (grub_scsi_write): Likewise.
1767 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
1768 (grub_scsi_write16): Likewise.
1769 (grub_scsi_cmd_t): Add READ16 and WRITE16.
1770
1771 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 SCSI write support (for usbms mainly).
1774
1775 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
1776 a const pointer.
1777 (grub_scsi_write): Implement.
1778 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
1779
1780 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1781
1782 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
1783 variable.
1784
1785 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 * grub-core/lib/posix_wrap/string.h (memchr): New function.
1788
1789 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1790
1791 * po/POTFILES.in: Regenerate.
1792
1793 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1794
1795 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
1796 with grub_printf to avoid unnecessary fatal failure.
1797
1798 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
1801 (INT_MAX): Likewise.
1802 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
1803 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
1804 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
1805 (strcpy): Likewise.
1806 (strstr): Likewise.
1807 (strchr): Likewise.
1808 (strncpy): Likewise.
1809 (strcat): Likewise.
1810 (strncat): Likewise.
1811 (strcoll): Likewise.
1812 * include/grub/types.h (GRUB_SHRT_MAX): New define.
1813 (GRUB_INT_MAX): Likewise.
1814
1815 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
1818 unexpected error.
1819 (optimize_utf8): Likewise.
1820 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
1821
1822 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1823
1824 * grub-core/boot/i386/pc/lnxboot.S: Use
1825 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
1826 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
1827 location.
1828 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
1829 definition.
1830 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
1831
1832 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
1835 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
1836 now to avoid double free.
1837 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
1838 hostdisk.
1839 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
1840 * util/grub-probe.c (escape_of_path): Always return a new copy.
1841 (print_full_name): Escape path.
1842 (probe): Don't call grub_util_devname_to_ofpath on NULL.
1843 Fix hints on abstractions.
1844
1845 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1846
1847 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
1848 Don't add "root" line if no compatibility hont is available.
1849 Suggested by: Seth Goldberg.
1850
1851 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1852
1853 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
1854 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
1855 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
1856 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
1857
1858 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
1861
1862 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * util/grub-pe2elf.c (ehdr): Make static.
1865 (shdr): Likewise.
1866 (num_sections): Likewise.
1867 (offset): Likewise.
1868
1869 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1870
1871 Eliminate ofpath limits and possible overflows.
1872
1873 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
1874 (OF_PATH_MAX): Removed.
1875 (MAX_DISK_CAT): New const.
1876 (find_obppath): Use allocated rather than preallocated buffer.
1877 Return result. Argument of_path removed. All users updated.
1878 Add missing fdstat.
1879 (xrealpath): New function.
1880 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
1881 Allocate rather than use preallocated buffer. All users updated.
1882 (__of_path_common): Use allocated rather than preallocatecd buffer.
1883 Return result. Argument of_path removed. All users updated.
1884 (vendor_is_ATA): Read only needed part form the file.
1885 (check_sas): Allocate depending on contents rather than fixed.
1886 (main) [STANDALONE]: Handle NULL result.
1887
1888 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 * grub-core/normal/completion.c (iterate_dev): Close the disk.
1891
1892 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1893
1894 Cryptodisk write support.
1895
1896 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
1897 (grub_cryptodisk_decrypt): Moved logic to ...
1898 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
1899 (grub_cryptodisk_write): Implement.
1900 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
1901 (grub_util_fd_write): ... this. Make global.
1902 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
1903
1904 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1905
1906 * include/grub/list.h (grub_list_remove): Don't crash if element is
1907 removed twice.
1908
1909 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1910
1911 Rename ofconsole to console.
1912
1913 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
1914 as sysnonym to console.
1915 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
1916 * grub-core/term/ieee1275/console.c: ... this. All users updated.
1917 Rename grub_ofconsole_ to grub_console_. All users updated
1918 (grub_console_term_output): Rename "ofconsole" to "console".
1919 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
1920 as "console".
1921
1922 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
1925 handling.
1926 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
1927 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
1928 GRUB_DISK_DEVICE_FILE_ID.
1929
1930 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
1933 and improve performance.
1934
1935 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
1938 missing ieee1275/ prefix on whole disk.
1939
1940 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
1943 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
1944
1945 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1946
1947 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
1948
1949 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1950
1951 Merge common RAID and LVM logic to an abstract diskfilter.
1952 Add LDM support using the same framework.
1953
1954 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
1955 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
1956 (libgrubmods): Remove grub-core/disk/raid.c and
1957 grub-core/partmap/gpt.c.
1958 * grub-core/Makefile.core.def (ldm): New module.
1959 (raid): Renamed to diskfilter. All users updated.
1960 * grub-core/disk/raid.c: Moved to ...
1961 * grub-core/disk/diskfilter.c: ... here.
1962 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
1963 (lv_num): New var.
1964 (find_array): Renamed to ...
1965 (find_lv): ... this. Support multi-LV. Skip nameless LVs
1966 (grub_is_array_readable): Renamed to ...
1967 (grub_is_lv_readable): ... this. Support multinode hierarchy.
1968 (insert_array): New argument id.
1969 (is_node_readable): New function.
1970 (scan_device): Rename to ...
1971 (scan_disk): .. this. Restrict to one disk.
1972 (scan_devices): New function.
1973 (grub_diskfilter_iterate): Support multi-LV.
1974 Skip invisible and nameless LVs.
1975 (grub_diskfilter_memberlist): Support multi-LV.
1976 (grub_diskfilter_read_node): New function.
1977 (grub_raid_read): Most of logic moved to ...
1978 (read_segment): ... here
1979 (read_lv): New function.
1980 (grub_diskfilter_get_vg_by_uuid): New function.
1981 (grub_diskfilter_make_raid): Likewise.
1982 * grub-core/disk/ldm.c: New file.
1983 * grub-core/disk/lvm.c (vg_list): Removed.
1984 (lv_count): Likewise.
1985 (scan_depth): Likewise.
1986 (is_lv_readable): Likewise.
1987 (grub_lvm_getvalue): Advance pointer past the number.
1988 (find_lv): Removed.
1989 (do_lvm_scan): Refactored into ...
1990 (grub_lvm_detect): ... this. Support raid.
1991 (grub_lvm_iterate): Removed.
1992 (grub_lvm_memberlist): Likewise.
1993 (grub_lvm_open): Likewise.
1994 (grub_lvm_close): Likewise.
1995 (read_lv): Likewise.
1996 (read_node): Likewise.
1997 (is_node_readable): Likewise.
1998 (is_lv_readable): Likewise.
1999 (grub_lvm_read): Likewise.
2000 (grub_lvm_write): Likewise.
2001 (grub_lvm_dev): Use diskfilter
2002 (GRUB_MOD_INIT): Likewise.
2003 (GRUB_MOD_FINI): Likewise.
2004 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
2005 new interface.
2006 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
2007 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2008 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
2009 grub_diskfilter_read_node.
2010 Fix a bug with xor.
2011 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
2012 grub_diskfilter_read_node.
2013 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
2014 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
2015 (grub_disk_dev_iterate): Move from here...
2016 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
2017 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
2018 Make global.
2019 (grub_hostdisk_find_partition_start): Likewise.
2020 (grub_hostdisk_os_dev_to_grub_drive): New function.
2021 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
2022 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
2023 * util/getroot.c (make_device_name): ... here.
2024 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
2025 Move to ...
2026 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
2027 * grub-core/kern/emu/hostdisk.c
2028 (convert_system_partition_to_system_disk): Move to ...
2029 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
2030 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
2031 * util/getroot.c (device_is_wholedisk): ... here.
2032 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
2033 * util/getroot.c (find_system_device): ... here.
2034 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
2035 Move to ...
2036 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
2037 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
2038 Move to ...
2039 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
2040 Handle LDM.
2041 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
2042 Move to ...
2043 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
2044 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
2045 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
2046 DISKFILTER.
2047 * include/grub/raid.h: Renamed to ...
2048 * include/grub/diskfilter.h: ... this.
2049 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
2050 (GRUB_RAID_LAYOUT_*): Make into array.
2051 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
2052 (grub_diskfilter_vg): New struct.
2053 (grub_diskfilter_pv_id): Likewise.
2054 (grub_raid_member): Removed.
2055 (grub_raid_array): Likewise.
2056 (grub_diskfilter_pv): New struct.
2057 (grub_diskfilter_lv): Likewise.
2058 (grub_diskfilter_segment): Likewise.
2059 (grub_diskfilter_node): Likewise.
2060 (grub_diskfilter_get_vg_by_uuid): New proto.
2061 (grub_raid_register): Inline.
2062 (grub_diskfilter_unregister): Likewise.
2063 (grub_diskfilter_make_raid): New proto.
2064 (grub_diskfilter_vg_register): Likewise.
2065 (grub_diskfilter_read_node): Likewise.
2066 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
2067 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
2068 (grub_util_is_ldm): Likewise.
2069 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
2070 (grub_hostdisk_find_partition_start): Likewise.
2071 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
2072 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
2073 New definition.
2074 (grub_gpt_partition_map_iterate): New proto.
2075 * include/grub/lvm.h (grub_lvm_vg): Removed.
2076 (grub_lvm_pv): Likewise.
2077 (grub_lvm_lv): Likewise.
2078 (grub_lvm_segment): Likewise.
2079 (grub_lvm_node): Likewise.
2080 * util/getroot.c [...]
2081 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
2082 (probe_abstraction): Likewise.
2083 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
2084 (main): Remove dead logic.
2085
2086 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 Simplify root device discover and don't fail when trying to open
2089 incorrect devices.
2090
2091 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
2092 function.
2093 (get_diskname_from_path): Likewise.
2094 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
2095 of iterating.
2096
2097 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2098
2099 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
2100
2101 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2102
2103 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
2104 pastthe end.
2105
2106 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 * util/grub-install.in: Add missing \.
2109 Reported by: gentoofan
2110
2111 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
2114 (direct_read): Use correct compressed size.
2115 (grub_squash_read_data): Likewise.
2116
2117 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
2118
2119 * docs/grub.texi (Platform limitations): New section.
2120 (Platform-specific operations): Likewise.
2121 * docs/grub-dev.texi (Porting): Likewise.
2122
2123 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 IEEE1275 disk write support.
2126
2127 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
2128 const void *.
2129 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
2130 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
2131 and seek loginc to ...
2132 (grub_ofdisk_prepare): ... here.
2133 (grub_ofdisk_write): Implement.
2134
2135 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2136
2137 ARC disk write support.
2138
2139 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
2140 (reopen): New argument writable. All users updated.
2141 Handle required access mode.
2142 (grub_arcdisk_write): Implement.
2143 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
2144 (grub_arc_firmware_vector): Make buffer to write a const buffer.
2145
2146 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
2149 (read_sblock): Don't attempt to read superblocks outside the disk size.
2150
2151 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
2154 first superblock to find the second one when possible.
2155
2156 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * util/grub-install.in: Fix an ARC bug.
2159 Print a warning if no platform-specific setup is available.
2160
2161 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 Use static allocation rather than scratch pointer in reed_solomon.
2164 It decreases its size significantly and avoids a variable in .text.
2165
2166 * grub-core/lib/reed_solomon.c (scratch): Removed.
2167 (chosenstat): New const or static array.
2168 (sigma): Likewise.
2169 (errpot): Likewise.
2170 (errpos): Likewise.
2171 (sy): Likewise.
2172 (mstat): Likewise.
2173 (errvals): Likewise.
2174 (eqstat): Likewise.
2175 (pol_evaluate): Replace x with log_x argument. All users updated.
2176 (syndroms): Removed.
2177 (gauss_solve): Use statically allocated arrays.
2178 (rs_recover): Likewise.
2179 Calculate syndroms directly.
2180 (decode_block): Use statically allocated arrays.
2181 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
2182 (main) [TEST]: Allow -DTEST -DSTANDALONE.
2183
2184 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 Eliminate fixed limit on reed solomon decoder length.
2187
2188 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
2189 rather than hardcoding the address.
2190 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
2191 no_reed_solomon_length.
2192 Move gate_a20 to no-reed-solomon part.
2193 Don't force a particular size of no reed-solomon part.
2194 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
2195 Removed.
2196 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
2197 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
2198
2199 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2200
2201 * grub-core/commands/wildcard.c (match_files): Handle filenames
2202 without explicit device.
2203 (wildcard_expand): Don't add explicit device if not already present.
2204 * tests/grub_script_echo1.in: Add a new expansion test.
2205
2206 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 Replace single-linked with double-linked lists. It results in more
2209 compact and more efficient code.
2210
2211 * grub-core/kern/list.c (grub_list_push): Moved from here ...
2212 * include/grub/list.h (grub_list_push): ... to here. Set prev.
2213 (grub_list_remove): Moved from here ...
2214 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
2215 (grub_prio_list_insert): Set prev.
2216 * include/grub/list.h (grub_list): Add prev. All users updated.
2217
2218 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2219
2220 Handle newer autotools. Add some missing quotes while on it.
2221
2222 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
2223 (pkglib_DATA): Move grub-mkconfig_lib from here ...
2224 (pkgdata_DATA): ... here.
2225 * Makefile.util.def (update-grub_lib): Removed.
2226 * conf/Makefile.common (pkglib_DATA): Removed.
2227 (pkglib_SCRIPTS): Likewise.
2228 (pkgdata_DATA): New variable.
2229 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
2230 needed.
2231 Add missing quotes.
2232 Remove unused variable while on it.
2233 * tests/util/grub-shell.in: Likewise.
2234 * util/grub-install.in: Likewise.
2235 * util/grub-mkconfig.in: Likewise.
2236 * util/grub-mknetdir.in: Likewise.
2237 * util/grub-mkrescue.in: Likewise.
2238 * util/grub-mkstandalone.in: Likewise.
2239 * util/grub.d/00_header.in: Likewise.
2240 * util/grub.d/10_hurd.in: Likewise.
2241 * util/grub.d/10_illumos.in: Likewise.
2242 * util/grub.d/10_kfreebsd.in: Likewise.
2243 * util/grub.d/10_linux.in: Likewise.
2244 * util/grub.d/10_netbsd.in: Likewise.
2245 * util/grub.d/10_windows.in: Likewise.
2246 * util/grub.d/20_linux_xen.in: Likewise.
2247 * util/grub.d/30_os-prober.in: Likewise.
2248 * util/update-grub_lib.in: Removed.
2249
2250 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
2251
2252 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
2253 a workaround for intel problem.
2254
2255 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
2256 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
2257 2012-01-23 pfsmorigo
2258
2259 * util/grub-install.in: Support dd'in into PreP partition.
2260 * util/grub-probe.c (probe): Support discovering partition type.
2261 (main): Support -t msdos_parttype.
2262
2263 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
2266 infinite recursion using counter.
2267 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
2268 init to skip it if the magic check fails.
2269 (dec_stream_header): Init s->crc32.
2270
2271 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2272 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
2273 2012-01-22 Richard Laager <rlaager@wiktel.com>
2274
2275 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
2276 All users updated.
2277 (find_bestub): Determine correct size.
2278 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
2279 (scan_disk): Align the size down.
2280 Call check pool before find_bestub to have ashift.
2281
2282 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2283
2284 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
2285 dprintf in no-malloc zone.
2286
2287 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
2288
2289 * configure.ac: Add back in test for limits.h.
2290
2291 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 Support 4K-sector NTFS.
2294
2295 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
2296 (grub_ntfs_data): Remove blocksize.
2297 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
2298 Remove data argument. All users updated.
2299
2300 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
2303 being in .text to avoid dprel references.
2304 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
2305 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
2306 (grub_arch_highmemsize): Likewise.
2307 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
2308 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
2309 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
2310
2311 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
2314
2315 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
2316 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
2317
2318 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2319
2320 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
2321 GRUB_UTIL.
2322 (grub_set_datetime_cmos): Likewise.
2323
2324 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2325
2326 Make XZ compression parameters dependent on target and not host CPU.
2327
2328 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
2329 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
2330
2331 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
2334 set but not used variable.
2335
2336 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
2339 created when no uuid support is compiled into mkfs.reiser.
2340
2341 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
2344 (utf8_to_macroman): Do the opposite.
2345 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
2346
2347 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 * configure.ac: Refise build qemu_mips w/o unifont.
2350
2351 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2352
2353 Eliminate grub_min/grub_max prone to overflow usage.
2354
2355 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
2356 (poll_nonroot_hub): Likewise.
2357 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
2358 (grub_affs_label): Likewise.
2359 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
2360 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
2361 (grub_hfs_label): Likewise.
2362 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
2363 * grub-core/fs/zfs/zfs.c (MIN): Remove.
2364 (zap_leaf_array_equal): Use grub_size. Remove MIN.
2365 (zap_leaf_array_get): Likewise.
2366 (dnode_get_path): Likewise.
2367 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
2368 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
2369 * grub-core/script/execute.c (grub_script_break): Likewise.
2370 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
2371 grub_max.
2372 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
2373 * include/grub/misc.h (grub_min): Removed.
2374 (grub_max): Likewise.
2375
2376 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2377
2378 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
2379 direct.inode = 0.
2380
2381 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2382
2383 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
2384
2385 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
2388
2389 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
2392 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
2393
2394 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
2397 rather than a hack for grub_strncasemap.
2398
2399 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2400
2401 Support multiple initrds
2402 Note: part of this was accidently committed in r3739.
2403
2404 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
2405 initrd.
2406 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
2407 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
2408 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2409 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2410 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2411
2412 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2413
2414 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
2415 disks with unknown size.
2416 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
2417
2418 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 Remove defines pertaining to arbitrary limits not affecting GRUB
2421 anymore.
2422
2423 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
2424 (EXT2_MAX_SYMLINKCNT): Likewise.
2425 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
2426 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
2427 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
2428 (GRUB_PXE_MAX_BLKSIZE): Likewise.
2429 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
2430 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
2431 (DN_MAX_OBJECT_SHIFT): Likewise.
2432 (DN_MAX_OFFSET_SHIFT): Likewise.
2433 (DN_MAX_OBJECT): Likewise.
2434 (DNODES_PER_LEVEL_SHIFT): Likewise.
2435 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
2436 (SPA_MAXBLOCKSIZE): Likewise.
2437 (SPA_BLOCKSIZES): Likewise.
2438 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
2439 (MZAP_MAX_BLKSZ): Likewise.
2440
2441 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
2444 handle NULL appropriately.
2445 Remove MIN.
2446
2447 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 Fix efiemu.
2450
2451 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
2452 cpu/types.h.
2453 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
2454 * configure.ac: Fix efiemu check.
2455
2456 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
2459 grub_probe.
2460 Reported by: adamwill
2461
2462 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
2463
2464 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
2465
2466 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 Fix handling of wide characters in gfxterm.
2469
2470 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
2471 (clear_char): Likewise.
2472 (paint_char): Skip code == NULL chars.
2473 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
2474
2475 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 * grub-core/normal/charset.c: Move comment to right place.
2478
2479 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2480
2481 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
2482 (GRUB_AFFS_FLAG_FFS): Put back where it was.
2483 (grub_affs_mount): Revert the correct version checking.
2484
2485 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 * docs/grub.texi (Unicode): Mention several other unsupported features.
2488
2489 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
2492 case statements as compile-time one.
2493 (direct_read): Prevent spurious warnings.
2494 (grub_squash_read_data): Likewise.
2495
2496 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2497
2498 Various squash4 fixes and LZO and XZ support.
2499
2500 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
2501 Add xzembed source files.
2502 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
2503 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
2504 (grub_squash_inode): New subtype long_dir.
2505 (SQUASH_TYPE_LONG_DIR): New inode type.
2506 (COMPRESSION): New enum.
2507 (XZBUFSIZ): New const.
2508 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
2509 (read_chunk): Use data->decompress.
2510 (zlib_decompress): New function.
2511 (lzo_decompress): Likewise.
2512 (xz_decompress): Likewise.
2513 (squash_mount): Set new data fields.
2514 (grub_squash_iterate_dir): Handle long dir.
2515 (squash_unmount): Free xzdec and xzbuf.
2516 (grub_squash_open): Check ino type.
2517 (direct_read): Stylistic fixes. Use data->decompress.
2518 (grub_squash_read_data): Likewise.
2519 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
2520 (get_byte): Likewise.
2521 (grub_zlib_disk_read): Removed.
2522 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
2523 (GRUB_POSIX_BOOL_DEFINED): New define.
2524 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
2525 * grub-core/lib/xzembed/xz.h: Addmissing includes.
2526 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
2527 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
2528
2529 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 Don't override more informative errors.
2532
2533 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
2534 * grub-core/font/font.c (open_section): Likewise.
2535 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
2536 filename. Don't override errors.
2537 (grub_cmd_openbsd_ramdisk): Don't override errors.
2538 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
2539 (grub_cmd_initrd): Likewise.
2540 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2541 (grub_cmd_initrd): Likewise.
2542 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
2543 (grub_cmd_linux): Likewise.
2544 (grub_cmd_initrd): Likewise.
2545 (grub_cmd_payload): Likewise.
2546 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2547 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
2548 (grub_cmd_module): Likewise.
2549 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2550 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2551 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
2552 (grub_cmd_xnu_mkext): Likewise.
2553 (grub_cmd_xnu_ramdisk): Likewise.
2554 (grub_xnu_check_os_bundle_required): Likewise.
2555 (grub_xnu_load_kext_from_dir): Likewise.
2556 (grub_cmd_xnu_kextdir): Likewise.
2557 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
2558
2559 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2560
2561 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
2562 as 1024 in block size field. Found on one of my test images.
2563 Small optimisation while on it.
2564
2565 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
2568 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
2569 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
2570 performance fixes while on it.
2571 (grub_sfs_close): Fix memory leak while on it.
2572 (grub_sfs_label): Convert Latin1 to UTF-8.
2573
2574 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
2577 space to avoid overflows.
2578 (grub_hfs_label): Convert from macroman to UTF-8.
2579
2580 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
2583
2584 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2585
2586 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
2587
2588 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 * unicode: Import Unicode 6.0 data.
2591
2592 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
2595 outside of range.
2596
2597 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 Avoid cutting in the middle of UTF-8 character.
2600
2601 * include/grub/charset.h (grub_getend): New function.
2602 * grub-core/script/function.c (grub_script_function_find): Use
2603 grub_getend.
2604 * grub-core/normal/completion.c (add_completion): Likewise.
2605
2606 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2607
2608 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
2609 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
2610 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
2611 (GRUB_UNICODE_TAG_END): Likewise.
2612 (GRUB_UNICODE_LAST_VALID): Likewise.
2613
2614 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2615
2616 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
2617 len and make it smaller. All users updated.
2618 * util/import_unicode.py: Put length and not end character.
2619 Check length.
2620
2621 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 Make better Unicode-compliant and unify some UTF-8 code pathes.
2624
2625 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
2626 valid character.
2627 (grub_is_valid_utf8): Use grub_utf8_process.
2628 Check resulting code range.
2629 (grub_utf8_to_ucs4): Use grub_utf8_process.
2630 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
2631 valid character.
2632
2633 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
2636
2637 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2638
2639 * docs/grub.texi (Filesystems): Mention AFS.
2640
2641 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2642
2643 * docs/grub.texi (Filesystems): Clarify restrictions.
2644 (Regexp): Mention non-Unicode regexp behaviour.
2645 (Other): Mention non-Unicode matching behaviour.
2646
2647 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 Make HFS implementation use MacRoman.
2650
2651 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
2652 (macroman): New const array.
2653 (macroman_to_utf8): New function.
2654 (utf8_to_macroman): Likewise.
2655 (grub_hfs_find_dir): Use utf8_to_macroman.
2656 (grub_hfs_dir): Use macroman_to_utf8.
2657 Set case_insensitive.
2658
2659 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2660
2661 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
2662
2663 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 Integrate hints into autogeneration scripts.
2666
2667 * docs/grub.texi (Filesystems): Add a hostdisk example.
2668 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
2669 (grub-probe): Add ofpath.
2670 * gentpl.py: Remove group nosparc64.
2671 * grub-core/commands/search.c (cache_entry): New struct.
2672 (cache): New var.
2673 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
2674 * grub-core/commands/search_wrap.c (options): Add platform-specific
2675 hint options.
2676 (grub_cmd_search): Handle platform-specific hints.
2677 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
2678 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
2679 (grub_util_biosdisk_data): Likewise.
2680 (grub_util_biosdisk_open): Set device_map.
2681 (read_device_map): Handle "" as indication of no map.
2682 Set device_map.
2683 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
2684 (grub_util_biosdisk_get_compatibility_hint): New function.
2685 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
2686 * include/grub/emu/hostdisk.h
2687 (grub_util_biosdisk_get_compatibility_hint): New proto.
2688 * util/grub-install.in: Don't call grub-mkdevicemap.
2689 Add platform-specific hint to load.cfg.
2690 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
2691 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
2692 hints. Set root preliminary to compatibility hint, not to OS name.
2693 * util/grub-probe.c (PRINT_*): Add hints.
2694 (print): Make static.
2695 (escape_of_path): New function.
2696 (guess_bios_drive): Likewise.
2697 (guess_efi_drive): Likewise.
2698 (guess_baremetal_drive): Likewise.
2699 (print_full_name): Likewise.
2700 (probe): Handle hints.
2701 (main): Likewise.
2702 * util/ieee1275/devicemap.c: Removed.
2703 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
2704 updated.
2705 (grub_util_devname_to_ofpath): Return NULL on failure.
2706
2707 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
2708 resource leak.
2709 * util/getroot.c (grub_util_pull_device): Fix memory leak.
2710
2711 * po/POTFILES.in: Regenerated.
2712
2713 Allow purely long options
2714
2715 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
2716 (SHORT_ARG_USAGE): Likewise.
2717 (grub_arg_show_help): Compare opt with help_options.
2718 (parse_option): Receive opt as argument. If makes big simplificatons.
2719 All users updated
2720
2721 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2722
2723 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
2724 Restructure to avoid warning.
2725
2726 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2727
2728 * util/grub-install.in: Account for possible escaped comma in device
2729 name.
2730
2731 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
2734 channel.
2735
2736 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
2739 allocation and zero-setting.
2740 (grub_ieee1275_get_devname): Check that alias is complete.
2741
2742 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
2745 unaligned segments.
2746
2747 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2748
2749 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
2750 prefix.
2751 (grub_ofdisk_open): Check and discard ieee1275 prefix.
2752 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2753 Add ieee1275 prefix.
2754
2755 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2756
2757 * docs/grub.texi (Filesystems): Update.
2758
2759 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2760
2761 Support odc, newc and bigendian cpio formats.
2762
2763 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
2764 * grub-core/Makefile.core.def (newc): New module.
2765 (odc): Likewise.
2766 (cpio_be): Likewise.
2767 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
2768 (MAGIC): Likewise.
2769 (MAGIC2): Likewise.
2770 (head) [MODE_ODC]: Adapt for the format.
2771 (head) [MODE_NEWC]: Likewise.
2772 (head) [!MODE_*]: Write fields of interest as arrays.
2773 (MAGIC_USTAR): Removed.
2774 (read_number) [MODE_NEWC]: Change to hex.
2775 (read_number) [!MODE_*]: Parse binary arrays.
2776 (grub_cpio_find_file): Factor out the code for better structure and
2777 always use read_number.
2778 (grub_cpio_mount): Use MAGIC and MAGIC2.
2779 (grub_cpio_dir): Exit on first hook non-0 return.
2780 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
2781 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
2782 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
2783 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
2784 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
2785 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
2786 * grub-core/fs/newc.c: New file.
2787 * grub-core/fs/odc.c: Likewise.
2788 * grub-core/fs/cpio_be.c: Likewise.
2789
2790 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2791
2792 Fix handling of tar numbers occupying the whole field.
2793
2794 * grub-core/fs/cpio.c (read_number): New function.
2795 (grub_cpio_find_file): Use read_number instead of strtoull.
2796
2797 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2798
2799 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
2800 occupying the whole field size.
2801
2802 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
2803
2804 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
2805
2806 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2807
2808 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
2809
2810 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
2811
2812 * grub-core/Makefile.core.def (lzma_decompress): Add missing
2813 TARGET_IMG_LDFLAGS.
2814
2815 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2816
2817 * util/getroot.c (ESCAPED_PATH_MAX): New define.
2818 (mountinfo_entry): Increase the field size to take escaping into
2819 account.
2820 (find_root_device_from_libzfs): Add one byte to size of strings for
2821 security.
2822
2823 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2824
2825 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
2826 an assert.
2827 * util/grub-setup.c (setup): Likewise.
2828
2829 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2830
2831 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
2832 _LzmaDecodeA.
2833
2834 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2835
2836 * docs/grub.texi (Internationalisation): New section.
2837
2838 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2839
2840 * docs/grub.texi (Loopback booting): New section.
2841
2842 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
2843
2844 * util/grub-mkstandalone.in: Fix minor typo errors.
2845
2846 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2847
2848 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
2849
2850 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
2851 net/icmp.c and net/icmp6.c.
2852 (http): New module.
2853 (priority_queue): Likewise.
2854 * grub-core/io/bufio.c: Rewritten.
2855 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
2856 TYPE_WITH_CONFIGFILE_OPTION.
2857 (legacy_commands): Add bootp and dhcp.
2858 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
2859 (grub_legacy_parse): Likewise.
2860 * grub-core/lib/priority_queue.c: New file.
2861 * grub-core/net/arp.c: Add missing license header.
2862 (arp_find_entry): Removed.
2863 (arp_find_entry): Likewise.
2864 (grub_net_arp_resolve): Rename to ...
2865 (grub_net_arp_send_request): ...this.
2866 (grub_net_arp_receive): New card argument.
2867 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
2868 Set router and DNS server.
2869 (grub_net_configure_by_dhcp_ack): Handle routing information.
2870 (grub_cmd_bootp): Set checksum.
2871 (grub_bootp_init): Remove net_dhcp.
2872 * grub-core/net/dns.c: New file.
2873 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
2874 completion.
2875 (get_card_packet): Handle allocation.
2876 (grub_efinet_findcards): Set mtu.
2877 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
2878 (get_card_packet): Handle allocation.
2879 (emucard): Set mtu.
2880 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
2881 (GRUB_MOD_INIT): Set mtu.
2882 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
2883 mtu.
2884 (get_card_packet): Handle allocation.
2885 (grub_ofnet_findcards): Set mtu.
2886 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
2887 assert.
2888 (grub_net_recv_ethernet_packet): Handle IPv6.
2889 * grub-core/net/http.c: New file.
2890 * grub-core/net/icmp.c: Likewise.
2891 * grub-core/net/icmp6.c: Likewise.
2892 * grub-core/net/ip.c (ip6addr): New type.
2893 (ip6hdr): Likewise.
2894 (reassemble): Likewise.
2895 (cmp): New function.
2896 (reassembles): New variable.
2897 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
2898 (id): New variable.
2899 (send_fragmented): New function.
2900 (grub_net_send_ip_packet): Rename to ...
2901 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
2902 Handle non-UDP.
2903 (grub_net_recv_ip_packets): Rename to ...
2904 (handle_dgram): ... this. Check checksum. Handle non-UDP.
2905 (free_rsm): New function.
2906 (free_old_fragments): Likewise.
2907 (grub_net_recv_ip4_packets): New function.
2908 (grub_net_send_ip6_packet): Likewise.
2909 (grub_net_send_ip_packet): Likewise.
2910 (grub_net_recv_ip6_packets): Likewise.
2911 (grub_net_recv_ip_packets): Likewise.
2912 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
2913 (LINK_LAYER_CACHE_SIZE): New const.
2914 (link_layer_find_entry): New function.
2915 (grub_net_link_layer_add_address): Likewise.
2916 (grub_net_link_layer_resolve_check): Likewise.
2917 (grub_net_link_layer_resolve): Likewise.
2918 (grub_net_ipv6_get_slaac): Likewise.
2919 (grub_net_ipv6_get_link_local): Likewise.
2920 (grub_cmd_ipv6_autoconf): Likewise.
2921 (parse_ip): Handle one number representation.
2922 (parse_ip6): New functoion.
2923 (match_net): Handle IPv6.
2924 (grub_net_resolve_address): Handle IPv6 and DNS.
2925 (grub_net_resolve_net_address): Handle IPv6.
2926 (route_cmp): New function.
2927 (grub_net_route_address): Find best route.
2928 (grub_net_addr_to_str): Handle IPv6.
2929 (grub_net_addr_cmp): New function.
2930 (grub_net_add_addr): Register local route.
2931 (print_net_address): Handle net address.
2932 (grub_net_poll_cards): Retransmit TCP.
2933 (grub_net_poll_cards_idle_real): Likewise.
2934 (have_ahead): New function.
2935 (grub_net_seek_real): Use underlying seek.
2936 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
2937 * grub-core/net/tcp.c: New file.
2938 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
2939 (cmp): New function.
2940 (ack): Likewise.
2941 (tftp_receive): Handle unordered input.
2942 (destroy_pq): New function.
2943 (tftp_close): Close pq.
2944 * grub-core/net/udp.c: Put missing license header.
2945 (grub_net_udp_socket): New function.
2946 (udp_socket_register): Likewise.
2947 (grub_net_udp_close): Likewise.
2948 (grub_net_recv_udp_packet): Check checksum.
2949 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
2950 * include/grub/misc.h (grub_memchr): New function.
2951 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
2952 (grub_net_card_driver): Return buf in recv.
2953 (grub_net_slaac_mac_list): New struct.
2954 (grub_network_level_protocol_id): Add ipv6.
2955 (grub_net_network_level_addr): Likewise.
2956 (grub_net_network_level_net_addr): Likewise.
2957 (grub_net_app_protocol): Add seek.
2958 (grub_net_socket): Removed.
2959 (grub_net_sockets): Likewise.
2960 (grub_net_socket_register): Likewise.
2961 (grub_net_socket_unregister): Likewise.
2962 (FOR_NET_SOCKETS): Likewise.
2963 (grub_net_add_addr): Add const.
2964 (GRUB_NET_BOOTP_*): New enum.
2965 (grub_net_addr_cmp): New proto.
2966 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
2967 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
2968 (grub_net_hwaddr_to_str): NEw proto.
2969 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
2970 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
2971 (grub_dns_init): New proto.
2972 (grub_dns_fini): Likewise.
2973 (grub_net_tcp_retransmit): Likewise.
2974 (grub_net_link_layer_add_address): Likewise.
2975 (grub_net_link_layer_resolve_check): Likewise.
2976 (grub_net_link_layer_resolve): Likewise.
2977 (grub_net_dns_lookup): Likewise.
2978 (grub_net_add_dns_server): Likewise.
2979 (grub_net_remove_dns_server): Likewise.
2980 (GRUB_NET_TRIES): New const.
2981 (GRUB_NET_INTERVAL): Likewise.
2982 * include/grub/net/arp.h: Mostly rewritten.
2983 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
2984 * include/grub/net/ip.h: Mostly rewritten.
2985 * include/grub/net/netbuff.h: Indent.
2986 * include/grub/net/tcp.h: New file.
2987 * include/grub/net/udp.h: Mostly rewritten.
2988 * include/grub/priority_queue.h: New file.
2989 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
2990 (grub_swap_bytes64_compile_time): Likewise.
2991 (grub_cpu_to_be16_compile_time): Likewise.
2992 (grub_cpu_to_be32_compile_time): Likewise.
2993 (grub_cpu_to_be64_compile_time): Likewise.
2994 (grub_be_to_cpu64_compile_time): Likewise.
2995
2996 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
2997
2998 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
2999 UINT_TO_PTR with cast.
3000
3001 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
3004 don't use them.
3005
3006 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
3009 already there.
3010
3011 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3012
3013 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
3014 confusing ipxe.
3015
3016 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
3019 Add missing const attribute.
3020 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
3021 Likewise.
3022 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
3023 Likewise.
3024
3025 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
3028 misaligned access.
3029 (serpent_setkey): Likewise.
3030 (serpent_encrypt_internal): Likewise.
3031 (serpent_decrypt_internal): Likewise.
3032 (serpent_encrypt): Don't put an alignment-increasing cast.
3033 (serpent_decrypt): Likewise.
3034 (serpent_test): Likewise.
3035
3036 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
3039
3040 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
3043
3044 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
3045 grub_addr_t casts.
3046 (PTR_TO_UINT64): Likewise.
3047 (PTR_TO_UINT32): Likewise.
3048
3049 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * util/grub-mkimage.c (generate_image): Decrease the higher limit
3052 because of stack.
3053 * util/grub-setup.c (setup): Don't add redundancy past the higher load
3054 limit.
3055
3056 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
3059 text_width > available width a bit more gracefully.
3060
3061 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3062
3063 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
3064 current address calculation.
3065
3066 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
3069 stack.
3070 (encode_block): Likewise.
3071
3072 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
3075 certainety.
3076
3077 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
3080 non-RS part to avoid RS messing with GDT.
3081 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
3082 Increase to suit in realmode routines.
3083
3084 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 * grub-core/kern/i386/realmode.S: Increase alignment.
3087 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
3088
3089 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3090
3091 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
3092 be deterministic.
3093 (syndroms): Compute 0 syndrom.
3094 (rs_recover): Use 0 syndrom.
3095
3096 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
3099
3100 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
3103 brackets.
3104
3105 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3106
3107 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
3108 account.
3109 (get_top_pad): Likewise.
3110 (get_right_pad): Likewise.
3111 (get_bottom_pad): Likewise.
3112
3113 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
3116
3117 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
3120 attribute as the structure isn't guaranteed to be properly aligned.
3121 (grub_efi_pci_device_path): Likewise.
3122 (grub_efi_pccard_device_path): Likewise.
3123 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
3124 specify the size of `memory_type'.
3125 (grub_efi_vendor_device_path): Likewise.
3126 (grub_efi_controller_device_path): Likewise.
3127 (grub_efi_acpi_device_path): Likewise.
3128 (grub_efi_expanded_acpi_device_path): Likewise.
3129 (grub_efi_atapi_device_path): Likewise.
3130 (grub_efi_scsi_device_path): Likewise.
3131 (grub_efi_fibre_channel_device_path): Likewise.
3132 (grub_efi_1394_device_path): Likewise.
3133 (grub_efi_usb_device_path): Likewise.
3134 (grub_efi_usb_class_device_path): Likewise.
3135 (grub_efi_i2o_device_path): Likewise.
3136 (grub_efi_mac_address_device_path): Likewise.
3137 (grub_efi_ipv4_device_path): Likewise.
3138 (grub_efi_ipv6_device_path): Likewise.
3139 (grub_efi_infiniband_device_path): Likewise.
3140 (grub_efi_uart_device_path): Likewise.
3141 (grub_efi_vendor_messaging_device_path): Likewise.
3142 (grub_efi_hard_drive_device_path): Likewise.
3143 (grub_efi_cdrom_device_path): Likewise.
3144 (grub_efi_vendor_media_device_path): Likewise.
3145 (grub_efi_file_path_device_path): Likewise.
3146 (grub_efi_protocol_device_path): Likewise.
3147 (grub_efi_piwg_device_path): Likewise.
3148 (grub_efi_bios_device_path): Likewise.
3149
3150 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3151
3152 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
3153 (grub_ucs4_to_utf8_alloc): Likewise.
3154 (grub_ucs4_to_utf8): Likewise.
3155 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
3156 (grub_ucs4_to_utf8_alloc): Likewise.
3157
3158 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3159
3160 AFFS never uses unicode.
3161
3162 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
3163 (grub_latin1_to_utf8): New inline function.
3164 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
3165
3166 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
3169 overflow.
3170
3171 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
3174 (grub_squash_dirent_header): Likewise.
3175 (read_chunk): Don't double swap.
3176 (grub_squash_iterate_dir): Fix swap sizes.
3177
3178 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3179
3180 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
3181
3182 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
3185 (grub_hfs_iterate_dir): Likewise.
3186
3187 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3188
3189 Fix video on platforms where unaligned access is forbidden.
3190 Make several optimisations while on it.
3191
3192 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
3193 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
3194 (grub_video_fbblit_replace_32bit_1bit): Likewise.
3195 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
3196 Disable.
3197 (grub_video_fbblit_replace_16bit_1bit):
3198 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
3199 (grub_video_fbblit_replace_8bit_1bit): Likewise.
3200 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
3201 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
3202 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
3203 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
3204 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
3205 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
3206 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
3207 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
3208 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
3209 (grub_video_fbblit_replace_index_RGB888): Likewise.
3210 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
3211 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
3212 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
3213 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
3214 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
3215 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
3216 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
3217 Disable.
3218 (grub_video_fbblit_blend_XXX565_1bit):
3219 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
3220 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
3221 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
3222 void *.
3223 * grub-core/video/fb/video_fb.c (common_blitter)
3224 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
3225 (grub_video_fb_create_render_target_from_pointer)
3226 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
3227 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
3228 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
3229 definition.
3230 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
3231
3232 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3233
3234 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
3235 HH22 and HM10 relocations.
3236
3237 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
3240
3241 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3242
3243 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
3244 allocation succeeded.
3245
3246 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
3249 argument a u8 pointer. All users updated.
3250 Handle unaligned buffers.
3251
3252 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
3255 add_part to workaround compiler bug.
3256
3257 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3258
3259 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
3260
3261 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3262
3263 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
3264 Reserve alignment invariants.
3265 (grub_multiboot_load): Likewise.
3266 (retrieve_video_parameters): Likewise.
3267 (grub_multiboot_make_mbi): Likewise.
3268
3269 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
3272 incorrect pointer.
3273
3274 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3275
3276 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
3277 (grub_pata_pio_write): Likewise.
3278
3279 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3280
3281 Add noreturn attributes and remove unreachable code.
3282
3283 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
3284 code.
3285 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
3286 code. Mark as noreturn.
3287 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
3288 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
3289 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
3290 unreachable code.
3291 * grub-core/kern/main.c (grub_main): Mark as noreturn.
3292 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
3293 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
3294 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
3295 * include/grub/kernel.h (grub_main): Mark as noreturn.
3296 * include/grub/reader.h (grub_rescue_run): Likewise.
3297
3298 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3299
3300 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
3301 redundant declaration.
3302
3303 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3304
3305 * include/grub/net.h (grub_net_network_level_interfaces): Remove
3306 redundant declaration.
3307 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
3308
3309 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3310
3311 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
3312 to ensure alignment.
3313 (grub_hdparm_print_identify): Make argument uint16 * to ensure
3314 alignment. Ensure tmp alignment.
3315 (grub_cmd_hdparm): Ensure buf alignment.
3316 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
3317 to ensure alignment.
3318 (grub_ata_dumpinfo): Ensure text alignment.
3319 (grub_atapi_identify): Preserve alignment invariant.
3320 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
3321
3322 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
3325 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
3326 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
3327 * include/grub/misc.h (grub_reboot)
3328 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
3329 (grub_halt) [__mips__]: Likewise.
3330
3331 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
3334 Remove redundant declaration.
3335 (grub_mmap_get_post64): Likewise.
3336 (grub_mmap_get_upper): Likewise.
3337 (grub_mmap_get_lower): Likewise.
3338
3339 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
3342 uint32_t * to ensure alignment.
3343 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
3344
3345 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3346
3347 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
3348 uint16_t * to ensure alignment.
3349 (sun_pc_partition_map_iterate): Make `block' a union to ensure
3350 alignment.
3351
3352 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
3355 to ensure alignment.
3356 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
3357
3358 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 * grub-core/fs/ntfs.c (u16at): Make into inline function.
3361 Handle unaligned pointers.
3362 (u32at): Likewise.
3363 (u64at): Likewise.
3364 (fixup): Use byte access instead of v16at.
3365 (find_attr): Fix imporper usage of v32at.
3366 (read_data): Likewise.
3367 (list_file): Handle byte-swapping and unaligned strings.
3368 (grub_ntfs_label): Likewise.
3369
3370 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3371
3372 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
3373 as it's not necessarily aligned.
3374
3375 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
3378 redundant declaration.
3379 (grub_serial_init): Likewise.
3380 (grub_terminfo_init): Likewise.
3381
3382 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
3385 function.
3386 (ZAP_HASH_IDX): Likewise.
3387 (ZAP_LEAF_HASH_SHIFT): Likewise.
3388 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
3389 (LEAF_HASH): Likewise.
3390 (ZAP_LEAF_NUMCHUNKS): Likewise.
3391 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
3392 alignment invariants. Return pointer. All users updated.
3393 (ZAP_LEAF_ENTRY): Make into inline function.
3394 (NBBY): Removed.
3395 (xor): LIkewise.
3396 (xor_out): Use grub_crypto_xor.
3397 (dnode_get_path): Use grub_get_unaligned.
3398 (nvlist_find_value): Likewise.
3399 (grub_zfs_nvlist_lookup_uint64): Likewise.
3400 (grub_zfs_nvlist_lookup_string): Likewise.
3401 (get_nvlist_size): Likewise.
3402 (grub_zfs_open): Likewise.
3403 (fill_fs_info): Likewise.
3404 (grub_zfs_dir): Likewise.
3405 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
3406 alignment invariants.
3407 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
3408 necessarily aligned.
3409
3410 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
3413
3414 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
3417 arithmetic to conserve alignment invariants.
3418
3419 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3420
3421 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
3422 redundant declaration.
3423 (grub_efiemu_mm_obtain_request): Likewise.
3424 (grub_efiemu_prepare): Likewise.
3425
3426 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3427
3428 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
3429 to match types.
3430
3431 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
3434 case of aunaligned recptr.
3435 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
3436 alignment.
3437 (grub_hfsplus_btree_search): Handle unaligned index.
3438
3439 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3440
3441 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
3442 to get freetag and skip.
3443
3444 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
3447 array.
3448 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
3449 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
3450
3451 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3452
3453 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
3454 name for checksum and fix allocation algorithm.
3455
3456 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3457
3458 * include/grub/types.h (grub_properly_aligned_t): New type.
3459 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
3460 (grub_get_unaligned16): Add explicit casts.
3461 (grub_get_unaligned32): Likewise.
3462 (grub_get_unaligned64): Likewise.
3463 (grub_set_unaligned16): New function.
3464 (grub_set_unaligned32): Likewise.
3465
3466 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3467
3468 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
3469
3470 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
3473 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
3474 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
3475
3476 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3477
3478 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
3479 conditionals.
3480
3481 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3482
3483 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
3484 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
3485
3486 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 Unify and improve RAID and crypto xor.
3489
3490 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
3491 changed to grub_crypto_xor
3492 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
3493 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
3494 Use bigger types when possible.
3495
3496 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 * grub-core/disk/raid.c (scan_devices): Fix condition.
3499
3500 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
3503 Make name a const ptr.
3504
3505 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
3508 first argument a const pointer.
3509 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
3510 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
3511 proto.
3512 (grub_children_iterate): Likewise.
3513 (grub_machine_mmap_iterate): Remove redundant declaration.
3514
3515 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
3518 (grub_cmd_acpi) [!x86]: Disable EBDA.
3519
3520 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 Enable UTF8 in gnulib regexp.
3523
3524 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
3525 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
3526 (isupper): Use grub_isupper.
3527 (isascii): New inline function.
3528 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
3529 * grub-core/lib/posix_wrap/wctype.h: Likewise.
3530 * grub-core/normal/charset.c (grub_utf8_process): New function.
3531 (grub_utf8_to_utf16): Use grub_utf8_process.
3532 (grub_encode_utf8_character): New function.
3533 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
3534 * include/grub/charset.h (grub_utf8_process): New declaration.
3535 (grub_encode_utf8_character): Likewise.
3536 * include/grub/misc.h (grub_islower): New inline function.
3537 (grub_isupper): Likewise.
3538 (grub_strchrsub): Moved down to fix the definitions.
3539
3540 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
3543 specification.
3544
3545 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 * include/grub/loader.h (grub_loader_register_preboot_hook):
3548 Use struct preboot * and not void * for handle. All users updated.
3549 (grub_loader_unregister_preboot_hook): Likewise.
3550
3551 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
3552
3553 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
3554 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
3555 UTF-16-BE. All users updated.
3556 (grub_hfsplus_cmp_catkey): Fix unicode handling.
3557 (grub_hfsplus_iterate_dir): Likewise.
3558 (grub_hfsplus_label): Likewise.
3559
3560 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
3561
3562 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
3563
3564 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
3565
3566 Add missing const qualifiers.
3567
3568 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
3569 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
3570 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
3571 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
3572 (grub_lvm_check_flag): Likewise.
3573 * grub-core/efiemu/i386/coredetect.c
3574 (grub_efiemu_get_default_core_name): Likewise
3575 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
3576 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
3577 * grub-core/fs/ntfs.c (fixup): Likewise.
3578 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
3579 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
3580 (fzap_lookup): Likewise.
3581 (zap_lookup): Likewise.
3582 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
3583 * grub-core/lib/legacy_parse.c (check_option): Likewise.
3584 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
3585 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
3586 (grub_freebsd_add_meta_module): Likewise.
3587 (grub_cmd_freebsd_module): Likewise.
3588 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
3589 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
3590 (grub_xnu_writetree_get_size): Likewise.
3591 (grub_xnu_writetree_toheap_real): Likewise.
3592 (grub_xnu_find_key): Likewise.
3593 (grub_xnu_create_key): Likewise.
3594 (grub_xnu_create_value): Likewise.
3595 (grub_xnu_register_memory): Likewise.
3596 (grub_xnu_check_os_bundle_required): Likewise.
3597 (grub_xnu_scan_dir_for_kexts): Likewise.
3598 (grub_xnu_load_kext_from_dir): Likewise.
3599 * grub-core/normal/color.c (color_list): Likewise.
3600 * grub-core/normal/completion.c (current_word): Likewise.
3601 * grub-core/normal/menu_entry.c (insert_string): Likewise.
3602 * grub-core/term/serial.c (grub_serial_find): Likewise.
3603 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
3604 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
3605 Likewise.
3606 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
3607 (grub_freebsd_add_meta_module): Likewise.
3608 * include/grub/lib/arg.h (grub_arg_option): Likewise.
3609 * include/grub/net.h (grub_net_card_driver): Likewise.
3610 (grub_net_card): Likewise.
3611 (grub_net_app_protocol): Likewise.
3612 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
3613 * include/grub/serial.h (grub_serial_find): Likewise.
3614 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
3615 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
3616 (grub_xnu_create_value): Likewise.
3617 (grub_xnu_find_key): Likewise.
3618 (grub_xnu_scan_dir_for_kexts): Likewise.
3619 (grub_xnu_load_kext_from_dir): Likewise.
3620
3621 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
3622 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
3623 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
3624 Moved from here ...
3625 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
3626
3627 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
3628
3629 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
3630
3631 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
3632
3633 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
3634 (read_device): Fix size calculation.
3635
3636 2011-11-25 Robert Millan <rmh@gnu.org>
3637
3638 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
3639 (find_root_device_from_libzfs): Add zpool output parser to be used
3640 as fallback when libzfs isn't available.
3641
3642 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
3643
3644 * po/Makefile.in.in: Add missing escape-continuation.
3645
3646 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
3647
3648 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
3649
3650 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
3653
3654 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
3657
3658 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3659
3660 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
3661
3662 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3663
3664 * grub-core/lib/adler32.c: Add missing license specification.
3665 * grub-core/lib/crc64.c: Likewise.
3666 * grub-core/loader/i386/pc/plan9.c: Likewise.
3667 * grub-core/partmap/plan.c: Likewise.
3668
3669 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
3670
3671 Add facility to debug GRUB with gdb under qemu.
3672
3673 * grub-core/gdb_grub.in: New file.
3674 * grub-core/gmodule.pl.in: Likewise.
3675 * grub-core/Makefile.core.def (gmodule.pl): New script.
3676 (gdb_grub): Likewise.
3677
3678 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3679
3680 * util/grub-mount.c (argp_parser): Accept relative pathes.
3681 * util/grub-fstest.c (argp_parser): Likewise.
3682
3683 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3684
3685 Plan9 support.
3686
3687 * Makefile.util.def (libgrubmods): Add
3688 grub-core/partmap/plan.c.
3689 * docs/grub.texi: Notice Plan9 support.
3690 * grub-core/Makefile.core.def (plan9): New module.
3691 (part_plan): Likewise.
3692 * grub-core/loader/i386/pc/plan9.c: New file.
3693 * grub-core/partmap/plan.c: Likewise.
3694 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
3695 define.
3696 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
3697 * include/grub/mm.h (grub_extend_alloc): New inline function.
3698
3699 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3700
3701 Make Reed-Solomon faster by using power of generator representation of
3702 GF(256)*.
3703
3704 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
3705 (gf_double_t): Likewise.
3706 (gf_invert): Removed.
3707 (gf_powx): New array.
3708 (gf_powx_inv): Likewise.
3709 (scratch): Move higher.
3710 (gf_reduce): Removed.
3711 (gf_mul): Use powx.
3712 (gf_invert): Likewise.
3713 (init_inverts): Replaced with ...
3714 (init_powx): ...this. All users updated.
3715 (pol_evaluate): Replace multiplications with additions.
3716 (rs_encode): Likewise.
3717 (gauss_eliminate): Call gf_invert.
3718 (grub_reed_solomon_add_redundancy): Call init_powx.
3719 (grub_reed_solomon_recover): Call init_powx unconditionally.
3720
3721 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3722
3723 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
3724
3725 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3726
3727 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
3728 disk->partiton for safety.
3729
3730 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3731
3732 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
3733 Fix a memory leak.
3734 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
3735
3736 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3737
3738 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
3739
3740 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3741
3742 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
3743
3744 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3745
3746 Fix spaces handling in proc/self/mountinfo.
3747
3748 * util/getroot.c (unescape): New function.
3749 (grub_find_root_device_from_mountinfo): Use unescape.
3750
3751 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3752
3753 Support ZFS embedding.
3754
3755 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
3756 (grub_zfs_fs): Register grub_zfs_embed.
3757
3758 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3759
3760 Fix MIPS compilation.
3761
3762 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
3763 * include/grub/offsets.h: Rename decompressor fields from
3764 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
3765 * util/grub-mkimage.c (image_targets): Use new names.
3766
3767 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3768
3769 Defer multiboot device parsing until we're in compressed part.
3770
3771 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
3772 bsd_part. setdevice has fallen into disuse.
3773 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
3774 (bsd_part): Likewise.
3775 (boot_dev): New variable.
3776 (multiboot_trampoline): Don't parse multiboot device.
3777 Pass multiboot device in %edx.
3778 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
3779 grub_boot_device.
3780 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
3781 Likewise.
3782 * grub-core/kern/i386/pc/startup.S: Save edx.
3783 (grub_boot_drive): Removed.
3784 (grub_install_dos_part): Likewise.
3785 (grub_install_bsd_part): Likewise.
3786 (grub_boot_device): New variable.
3787 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
3788 (grub_install_bsd_part): Likewise.
3789 (grub_boot_drive): Likewise.
3790 (grub_boot_device): New variable.
3791 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
3792 Removed.
3793 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
3794 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
3795 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
3796 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
3797 * util/grub-install.in: Remove redundant condition.
3798
3799 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3800
3801 Fix bug introduced by previous commit.
3802
3803 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
3804
3805 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 Use decompressors framework on i386-pc. It increases core size
3808 by 46 bytes but improves compatibility and maintainability.
3809
3810 * grub-core/Makefile.core.def (lzma_decompress): New image.
3811 (kernel): Add i386_pc_ldflags.
3812 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
3813 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
3814 to real_to_prot, prot_to_real and device info.
3815 * include/grub/offsets.h: Renamed decompressor offsets.
3816 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
3817 (image_target_desc): Remove raw_size and rename decompressor fields.
3818 (compress_kernel): Handle lzma.
3819 (generate_image): Handle decompressors on i386-pc.
3820
3821 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3822
3823 * configure.ac: Add -fno-asynchronous-unwind-tables.
3824
3825 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3826
3827 Move assembly code to C by using intwrap. It increases core size
3828 by 88 bytes but improves compatibility and maintainability.
3829
3830 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
3831 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
3832 ... here. Translated to C.
3833 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
3834 * grub-core/term/i386/pc/console.c (grub_console_getkey):
3835 ... here. Translated to C.
3836 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
3837 * grub-core/term/i386/pc/console.c (grub_console_getxy):
3838 ... here. Translated to C.
3839 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
3840 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
3841 ... here. Translated to C.
3842 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
3843 * grub-core/term/i386/pc/console.c (grub_console_cls):
3844 ... here. Translated to C.
3845 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
3846 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
3847 ... here. Translated to C.
3848 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
3849 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
3850 Translated to C.
3851 * grub-core/term/i386/pc/console.c (int10_9): New function.
3852 (grub_console_putchar): Likewise.
3853 * include/grub/i386/pc/console.h: Removed the not anymore shared
3854 functions.
3855
3856 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 Move grub_chainloader_real_boot out of the kernel.
3859
3860 * grub-core/Makefile.am: Remove machine/loader.h.
3861 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
3862 Removed.
3863 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
3864 variable.
3865 (grub_relocator16_keep_a20_enabled): Likewise.
3866 (grub_relocator16_boot): Fill new variables.
3867 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
3868 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
3869 relocator.
3870 (grub_chainloader_unload): Likewise.
3871 (grub_chainloader_cmd): Likewise.
3872 * include/grub/i386/pc/loader.h: Removed.
3873 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
3874 and esi. All initialisers updated.
3875
3876 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3877 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
3878
3879 * Makefile.util.def (grub-mount): New util.
3880 * .bzrignore: Add grub-mount.
3881 * configure.ac: Check for fuse and enable grub-mount if available.
3882 * docs/man/grub-mount.h2m: New file.
3883 * util/grub-mount.c: Likewise.
3884
3885 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3886
3887 * grub-core/commands/efi/fixvideo.c: Gettextize.
3888 * grub-core/commands/hashsum.c: Likewise.
3889 * grub-core/commands/i386/cmostest.c: Likewise.
3890 * grub-core/commands/i386/pc/drivemap.c: Likewise.
3891 * grub-core/commands/i386/pc/lsapm.c: Likewise.
3892 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3893 * grub-core/commands/lsmmap.c: Likewise.
3894 * grub-core/commands/menuentry.c: Likewise.
3895 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3896 * grub-core/commands/setpci.c: Likewise.
3897 * grub-core/loader/i386/bsd.c: Likewise.
3898 * grub-core/loader/i386/linux.c: Likewise.
3899 * util/getroot.c: Likewise.
3900 * util/grub-editenv.c: Likewise.
3901 * util/grub-fstest.c: Likewise.
3902 * util/grub-mkfont.c: Likewise.
3903 * util/grub-mkimage.c: Likewise.
3904 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3905 * util/grub-pe2elf.c: Likewise.
3906 * util/grub-probe.c: Likewise.
3907 * util/grub-setup.c: Likewise.
3908 * util/ieee1275/ofpath.c: Likewise.
3909 * util/misc.c: Likewise.
3910 * util/raid.c: Likewise.
3911
3912 2011-11-11 Robert Millan <rmh@gnu.org>
3913
3914 * util/getroot.c (grub_util_get_geom_abstraction): Remove
3915 __attribute__((unused)) from `os_dev', which *is* being used.
3916
3917 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3918
3919 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
3920 forgotten define.
3921 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
3922 GRUB_IA64_DL_GOT_ALIGN.
3923 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
3924 GRUB_IA64_DL_TRAMP_ALIGN.
3925
3926 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 Replace grub_fatal with normal errors in i386 linux loader.
3929
3930 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
3931 (allocate_pages): Check find_efi_mmap_size return value.
3932 (grub_e820_add_region): Return error.
3933 (grub_linux_boot): Check mmap return value.
3934
3935 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3936
3937 * grub-core/commands/acpihalt.c: Gettextized.
3938 * grub-core/commands/cacheinfo.c: Likewise.
3939 * grub-core/commands/cmp.c: Likewise.
3940 * grub-core/commands/efi/loadbios.c: Likewise.
3941 * grub-core/commands/gptsync.c: Likewise.
3942 * grub-core/commands/ieee1275/suspend.c: Likewise.
3943 * grub-core/commands/legacycfg.c: Likewise.
3944 * grub-core/commands/memrw.c: Likewise.
3945 * grub-core/commands/minicmd.c: Likewise.
3946 * grub-core/commands/parttool.c: Likewise.
3947 * grub-core/commands/time.c: Likewise.
3948 * grub-core/commands/videoinfo.c: Likewise.
3949 * grub-core/disk/geli.c: Likewise.
3950 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
3951 * grub-core/disk/luks.c: Likewise.
3952 * grub-core/disk/lvm.c: Likewise.
3953 * grub-core/font/font_cmd.c: Likewise.
3954 * grub-core/fs/zfs/zfscrypt.c: Likewise.
3955 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3956 * grub-core/gfxmenu/view.c: Likewise.
3957 * grub-core/kern/emu/hostdisk.c: Likewise.
3958 * grub-core/kern/emu/main.c: Likewise.
3959 * grub-core/kern/emu/misc.c: Likewise.
3960 * grub-core/kern/emu/mm.c: Likewise.
3961 * grub-core/kern/mips/arc/init.c: Likewise.
3962 * grub-core/kern/mips/loongson/init.c: Likewise.
3963 * grub-core/kern/partition.c: Likewise.
3964 * grub-core/lib/i386/halt.c: Likewise.
3965 * grub-core/lib/mips/arc/reboot.c: Likewise.
3966 * grub-core/lib/mips/loongson/reboot.c: Likewise.
3967 * grub-core/loader/i386/pc/chainloader.c: Likewise.
3968 * grub-core/loader/i386/xnu.c: Likewise.
3969 * grub-core/loader/multiboot.c: Likewise.
3970 * grub-core/net/bootp.c: Likewise.
3971 * grub-core/net/net.c: Likewise.
3972 * grub-core/normal/term.c: Likewise.
3973 * grub-core/partmap/bsdlabel.c: Likewise.
3974 * grub-core/parttool/msdospart.c: Likewise.
3975 * grub-core/term/gfxterm.c: Likewise.
3976 * grub-core/term/terminfo.c: Likewise.
3977 * grub-core/video/i386/pc/vbe.c: Likewise.
3978 * util/grub-menulst2cfg.c: Likewise.
3979 * util/grub-mkdevicemap.c: Likewise.
3980 * util/grub-mklayout.c: Likewise.
3981 * util/grub-mkrelpath.c: Likewise.
3982 * util/grub-script-check.c: Likewise.
3983 * util/ieee1275/grub-ofpathname.c: Likewise.
3984 * util/resolve.c: Likewise.
3985
3986 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3987
3988 Support %1$d syntax.
3989
3990 * tests/printf_unit_test.c: New file.
3991 * Makefile.util.def (printf_test): New test.
3992 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
3993
3994 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3995
3996 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
3997 fix.
3998
3999 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
4002 dprintf.
4003 * grub-core/font/font.c (grub_font_load): Likewise.
4004
4005 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4006
4007 * util/grub-macho2img.c: Add comment concerning gettext.
4008 * grub-core/lib/legacy_parse.c: Likewise.
4009
4010 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4011
4012 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
4013 (grub_xvasprintf): Likewise.
4014
4015 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4016
4017 Add const keyword to grub_env_get and gettextize week days.
4018
4019 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
4020 (grub_read_hook_datetime): Return const char *.
4021 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
4022 updated.
4023 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
4024 Mark for gettext.
4025 (grub_get_weekday_name): Return const char *. Call gettext.
4026 * grub-core/script/argv.c (grub_script_argv_append): Receive const
4027 char * and len as the argument. All users updated.
4028 (grub_script_argv_split_append): Receive const char *.
4029 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
4030 * include/grub/env.h (grub_env_get): Likewise.
4031 (grub_env_read_hook_t): Return const char *.
4032 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
4033 (grub_script_argv_split_append): Likewise.
4034
4035 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4036
4037 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
4038
4039 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
4042 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
4043
4044 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
4047 Fix prototype.
4048
4049 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4050
4051 Fix mips compilation.
4052
4053 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
4054 normal decoder.
4055 (hashes): Use in embed decoder as well (for sizes).
4056 (dec_stream_header): Fix embed decompressor logic.
4057 (dec_stream_footer): Likewise.
4058
4059 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4060
4061 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
4062 an error and not a fatal on unrecognised relocation types.
4063
4064 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4065
4066 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
4067 Issue error rather than printf on unknown arguments.
4068
4069 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
4072 Make buf a const.
4073
4074 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4075
4076 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
4077 Fix module name.
4078
4079 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4080
4081 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
4082 leftover debug printf.
4083
4084 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4085
4086 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
4087
4088 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4089
4090 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
4091 A stylistic fix.
4092
4093 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
4096
4097 2011-11-10 Shea Levy <slevy@tieronedesign.com>
4098
4099 Allow all modules to perform serial IO
4100
4101 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
4102 * include/grub/serial.h (grub_serial_port_configure): New inline
4103 function.
4104 (grub_serial_port_fetch): Likewise.
4105 (grub_serial_port_put): Likewise.
4106 (grub_serial_port_fini): Likewise.
4107 (grub_serial_find): New proto.
4108
4109 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4110
4111 Put symlink at the end of the node and fix a potential
4112 memory corruption.
4113
4114 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
4115 Make symlink into an array.
4116 (set_rockridge): Set have_symlink and alloc_dirents.
4117 (grub_iso9660_read_symlink): Use new layout.
4118 (grub_iso9660_iterate_dir): Fix memory corruption.
4119 Use new layout.
4120 (grub_iso9660_dir): Set have_symlink.
4121 (grub_iso9660_open): Likewise.
4122
4123 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4124
4125 Remove local keyword.
4126
4127 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
4128 (version_test_gt): Likewise.
4129 (version_find_latest): Likewise.
4130 (gettext_printf): Likewise.
4131 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
4132
4133 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
4136
4137 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4138
4139 Fix ZFS memory and resource leaks.
4140
4141 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
4142 All users updated.
4143 Free type on exit.
4144 (fill_vdev_info): New parameter inserted. All users updated.
4145 (check_pool_label): Likewise.
4146 (scan_disk): Likewise.
4147 (scan_devices): Close non-inserted disks.
4148 (fzap_iterate): Free l.
4149 (unmount_device): Free children descripto memory.
4150
4151 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4152
4153 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
4154 argument (access out of bounds).
4155
4156 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4157
4158 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
4159 >= 6 drives.
4160
4161 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
4164 Fix declaration.
4165
4166 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4167
4168 Fix several memory leaks.
4169
4170 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
4171 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
4172 (grub_cpio_dir): Likewise.
4173 * grub-core/fs/fat.c (grub_fat_label): Likewise.
4174 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
4175 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
4176 (grub_romfs_label): Likewise.
4177 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
4178 (squash_unmount): New function.
4179 (grub_squash_dir): Fix memory leak.
4180 (grub_squash_open): Likewise.
4181 (grub_squash_read): Likewise.
4182 (grub_squash_mtime): Likewise.
4183 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
4184 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
4185 * util/grub-fstest.c (fstest): Likewise.
4186
4187 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4188
4189 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
4190 avoid accessing beyond the array.
4191
4192 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4193
4194 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
4195
4196 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 Several AFFS fixes.
4199
4200 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
4201 (GRUB_AFFS_FLAG_FFS): Removed.
4202 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
4203 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
4204 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
4205 (grub_fshelp_node): Make block 32-bit.
4206 Add block_cache and last_block_cache.
4207 (grub_affs_read_block): Fill and use block cache.
4208 (grub_affs_read_file): Removed.
4209 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
4210 boot block.
4211 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
4212 safety.
4213 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
4214 space.
4215 (grub_affs_close): Free block cache.
4216 (grub_affs_read): Use grub_fshelp_read_file directly.
4217
4218 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4219
4220 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
4221 with no error set.
4222
4223 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
4226 used variable.
4227 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
4228 Likewise.
4229
4230 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4231
4232 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
4233
4234 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
4235 byteswap when needed.
4236
4237 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4238
4239 Fix FreeBSD compilation.
4240
4241 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
4242 to avoid circular dependency.
4243 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
4244 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
4245 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
4246
4247 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 Fix ZFS crypto error types.
4250
4251 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
4252 (grub_gcm_decrypt): Likewise.
4253 (grub_zfs_load_key_real): Fix error code type. Handle possible error
4254 from PBKDF2.
4255
4256 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4257
4258 Illumos support.
4259
4260 * Makefile.util.def (10_illumos): New script.
4261 * configure.ac: Set COND_HOST_ILLUMOS.
4262 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
4263 Support Illumos calls.
4264 (find_partition_start) [__sun__]: Likewise.
4265 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
4266 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
4267 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
4268 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
4269 device.
4270 * util/grub-probe.c (probe) [__sun__]: Do character check.
4271 * util/grub.d/10_illumos.in: New file.
4272
4273 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 Support escaped commas in hostdisk.
4276
4277 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
4278 (find_grub_drive): Use unescape_cmp.
4279 (make_device_name): Escape commas.
4280
4281 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
4284
4285 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
4288 variable.
4289
4290 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 Support trampoline jumps on powerpc.
4293
4294 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
4295 __ia64__ path.
4296 (grub_dl_load_segments): Set mod->sz.
4297 (grub_dl_flush_cache): Flush whole space occupied by module, not just
4298 segments.
4299 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
4300 (jump): Likewise.
4301 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
4302 function.
4303 (trampoline): New struct.
4304 (trampoline_template): New const.
4305 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
4306 * include/grub/dl.h (grub_dl): Add sz element.
4307 [__powerpc__]: Follow __ia64__.
4308 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
4309 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
4310 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
4311 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
4312
4313 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 ZFS crypto support.
4316
4317 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
4318 * grub-core/Makefile.core.def (zfscrypt): New module.
4319 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
4320 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
4321 it. All users updated.
4322 (grub_zfs_decrypt): New var.
4323 (grub_zfs_load_key): Likewise.
4324 (zio_checksum_functions): Add SHA256+MAC.
4325 (zio_checksum_verify): Handle incomplete comparison due to MAC.
4326 (zio_read): Handle encrypted blocks.
4327 (zap_verify): Remove incorrect check.
4328 (fzap_iterate): Handle non-standard fzap.
4329 (zap_iterate): Likewise.
4330 (zap_iterate_u64): New function.
4331 (dnode_get_fullpath): Load keys.
4332 * grub-core/fs/zfs/zfscrypt.c: New file.
4333 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
4334 (grub_crypto_ecb_encrypt): Make input const.
4335 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
4336 (grub_crypto_ecb_encrypt): Make input const.
4337 (GRUB_CIPHER_AES): New macro.
4338 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
4339 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
4340 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
4341 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
4342 prefix. All users updated.
4343 (grub_zfs_add_key): New proto.
4344 (grub_zfs_decrypt): Likewise.
4345 (grub_zfs_load_key): Likewise.
4346 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
4347 * util/grub-fstest.c (options): Add -K option.
4348 (argp_parser): Likewise.
4349
4350 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4351
4352 Support zle compression on ZFS.
4353
4354 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
4355 (decomp_table): Add zle.
4356 * include/grub/zfs/zio.h (zio_compress): Add zle.
4357
4358 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4359
4360 Support BtrFS embedding.
4361
4362 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
4363 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
4364 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
4365 * util/grub-setup.c (setup): Use fs embedding if available.
4366 Add additional sanity check.
4367
4368 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4369
4370 * util/grub-install.in: Fix condition for config_opt.
4371
4372 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 Support third redundancy strip on raidz3.
4375
4376 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
4377 Return error on singularity. All users updated.
4378 (read_device): Don't stop on 3rd failure on raidz3.
4379
4380 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 Support case-insensitive ZFS subvolumes.
4383
4384 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
4385 All users updated.
4386 (zap_hash): Likewise.
4387 (name_cmp): New function.
4388 (zap_leaf_array_equal): New parameter case_insensitive.
4389 All users updated.
4390 (zap_leaf_lookup): Likewise.
4391 (fzap_lookup): Likewise.
4392 (zap_lookup): Likewise.
4393 (dnode_get_path): New parameter case_insensitive. Retrieve case
4394 sensitiviness of a volume. All users updated.
4395 (dnode_get_fullpath): New parameter case_insensitive.
4396 All users updated.
4397 (grub_zfs_dir): Set info.case_insensitiveness.
4398
4399 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 Support second redundancy strip on raidz(2,3).
4402
4403 * grub-core/fs/zfs/zfs.c (powx): New array.
4404 (powx_inv): Likewise.
4405 (poly): New const.
4406 (xor_out): New function.
4407 (gf_mul): Likewise.
4408 (recovery): Likewise.
4409 (read_device): Use second redundancy strip.
4410
4411 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4412
4413 Use a power of generator representation of GF(256) multiplication group
4414 to save space time and complexity.
4415
4416 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
4417 (raid6_table2): Likewise.
4418 (powx): New array.
4419 (powx_inv): Likewise.
4420 (poly): New const.
4421 (grub_raid_block_mul): Replace with ...
4422 (grub_raid_block_mulx): ...this.
4423 (grub_raid6_init_table): Rewritten.
4424 (grub_raid6_recover): Use power of generator representation.
4425
4426 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4427
4428 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
4429 for the right device.
4430
4431 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4432
4433 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
4434 expected by grub-mkimage and it's more clear since there is no implicit
4435 padding.
4436
4437 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4438
4439 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
4440 disk.
4441 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
4442
4443 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
4444
4445 * util/grub-mkrescue.in: Fix handling xorriso option.
4446
4447 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4448
4449 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
4450 NULL.
4451
4452 2011-11-03 crocket <crockabiscuit@gmail.com>
4453
4454 * util/grub.d/10_linux.in: Add Slackware initrd naming.
4455
4456 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 XZ CRC64 and SHA256 support.
4459
4460 * Makefile.util.def (libgrubmods): Add crc64.c.
4461 * grub-core/Makefile.core.def (crc64): New module.
4462 * grub-core/lib/crc64.c: New file.
4463 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
4464 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
4465 Fix the type.
4466 (MAX_HASH_SIZE): New define.
4467 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
4468 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
4469 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
4470 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
4471 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
4472 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
4473 Handle non-crc32 hashes.
4474 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
4475 (dec_stream_header): Handle non-crc32 hashes.
4476 (dec_stream_footer): Likewise.
4477 (dec_block_header): Likewise.
4478 (dec_main): Likewise.
4479 (xz_dec_init): Likewise.
4480 (xz_dec_reset): Likewise.
4481 (xz_dec_end): Likewise.
4482 * util/import_gcry.py: Add CRC64 line.
4483
4484 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4485
4486 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
4487 as well.
4488
4489 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4490
4491 Make reiserfs label retrieval similar to other *_label functions.
4492
4493 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
4494 (REISERFS_MAX_LABEL_LENGTH): Removed.
4495 (REISERFS_LABEL_OFFSET): Likewise.
4496 (grub_reiserfs_label): Rewritten.
4497
4498 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4499
4500 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
4501 field.
4502
4503 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4504
4505 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
4506
4507 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
4510 drive failure on both raidz and raidz2.
4511
4512 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
4513
4514 Fix RAIDZ(2) for >= 5 devices.
4515
4516 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
4517 asize argument. All users updated.
4518
4519 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4520
4521 Fix RAIDZ(2).
4522
4523 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
4524 (fill_vdev_info_real): Set ashift.
4525 (read_device): Rewrite RAIDZ part based on reverse engineering.
4526
4527 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4528
4529 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
4530 don't report potentially unavialiable fields in debug output.
4531 (find_path): Fix double-free and memory leak.
4532
4533 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4534
4535 Read label on UFS1.
4536
4537 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
4538 (grub_ufs_fs): Always set .label.
4539
4540 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4541
4542 Use shifts in UFS.
4543
4544 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
4545 (grub_ufs_data): New field log2_blksz.
4546 (grub_ufs_read_file): Use shifts.
4547 (grub_ufs_mount): Check block size and logarithm it.
4548
4549 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4550
4551 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
4552 long symlinks.
4553
4554 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4555
4556 Handle symlinks and long names on tar and cpio.
4557
4558 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
4559 (ATTR_FILE): Likewise.
4560 (ATTR_DIR): Likewise.
4561 (ATTR_LNK): Likewise.
4562 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
4563 (grub_cpio_find_file): Fill mode, handle linkname field as well as
4564 L and K entries.
4565 (grub_cpio_mount): Zero-fill data.
4566 (handle_symlink): New function.
4567 (grub_cpio_dir): Handle symlinks.
4568 (grub_cpio_open): Likewise.
4569 (grub_cpio_close) [MODE_USTAR]: Free linkname.
4570
4571 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4572
4573 Fix iso9660 filename limitations and fix memory leaks.
4574
4575 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
4576 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
4577
4578 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 Fix JFS file name length limitations.
4581
4582 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
4583 (grub_jfs_diropen): Fix maximum filename length.
4584 (grub_jfs_getent): Fix filename length.
4585 (grub_jfs_lookup_symlink): Fix size checks.
4586
4587 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4588
4589 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
4590 string.
4591
4592 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4593
4594 Leverage BFS implementation to read AFS.
4595
4596 * Makefile.util.def (libgrubmods): Add afs.c.
4597 * grub-core/Makefile.core.def (afs): New module
4598 * grub-core/fs/afs.c: New file.
4599 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
4600
4601 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
4604
4605 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4606
4607 * grub-core/fs/bfs.c: Run indent.
4608
4609 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4610
4611 BFS implementation based on the specification.
4612
4613 * grub-core/fs/bfs.c: New file.
4614 * Makefile.util.def (libgrubmods): Add bfs.c.
4615 * grub-core/Makefile.core.def (bfs): New module.
4616
4617 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4618
4619 * util/grub-fstest.c (cmd_cp): Clarify error message.
4620 (cmd_cmp): Likewise.
4621
4622 2011-10-30 Yves Blusseau <blusseau@zetam.org>
4623
4624 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
4625 and befs_be.
4626
4627 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 Remove afs and befs because of copyright problem.
4630
4631 * grub-core/fs/afs.c: Removed.
4632 * grub-core/fs/afs_be.c: Removed.
4633 * grub-core/fs/befs.c: Removed.
4634 * grub-core/fs/befs_be.c: Removed.
4635 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
4636 * grub-core/Makefile.core.def (afs): Removed.
4637 (afs_be): Likewise.
4638 (befs): Likewise.
4639 (befs_be): Likewise.
4640
4641 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 Prefer rockridge over Joliet.
4644
4645 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
4646 to ...
4647 (set_rockridge): ... here.
4648 (grub_iso9660_mount): Check rockridge on the primary label when
4649 discovering. Ignore Joliet if Rockridge is present.
4650
4651 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4652
4653 Use shifts in nilfs2.
4654
4655 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
4656 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
4657 (grub_nilfs2_palloc_entries_per_group): Replace with ...
4658 (grub_nilfs2_log_palloc_entries_per_group): ... this.
4659 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
4660 (grub_nilfs2_entries_per_block): Replaced with ...
4661 (grub_nilfs2_log_entries_per_block_log): ... this.
4662 (grub_nilfs2_blocks_per_group): Replaced with ...
4663 (grub_nilfs2_blocks_per_group_log): ... this.
4664 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
4665 (grub_nilfs2_blocks_per_desc_block_log): ... this.
4666 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
4667 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
4668 (grub_nilfs2_palloc_entry_offset): Replaced ...
4669 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
4670 (grub_nilfs2_dat_translate): Use shifts.
4671 (grub_nilfs2_read_inode): Likewise.
4672 (GRUB_MOD_INIT): Ensure that logs are correct.
4673
4674 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4675
4676 Use shifts in minix filesystem.
4677
4678 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
4679 (GRUB_MINIX_ZONE2SECT): Likewise.
4680 (grub_minix_data): Replace block_size with log_block_size.
4681 (grub_minix_read_file): Use shifts.
4682 (grub_minix_mount): Check block size and take a logarithm.
4683
4684 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4685
4686 Use shifts in squash4.
4687
4688 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
4689 (squash_mount): Check block size and take logarithm.
4690 (direct_read): Use shifts.
4691
4692 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4693
4694 Correct befs block counting logic.
4695
4696 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
4697 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
4698 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
4699 (grub_afs_read_inode): Use block_shift.
4700 (RANGE_SHIFT): New definition.
4701 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
4702 unexpected conditions, use shifts and appropriate types.
4703 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
4704
4705 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * grub-core/disk/raid.c (scan_devices): Check partition.
4708 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
4709
4710 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 Support BFS (befs) UUID.
4713
4714 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
4715 (grub_afs_small_data_element_header): New struct.
4716 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
4717 (grub_afs_read_attribute) [MODE_BFS]: New function.
4718 (grub_afs_iterate_dir): Allocate for complete inode.
4719 (grub_afs_mount): Likewise.
4720 (grub_afs_uuid) [MODE_BFS]: New function.
4721 (grub_afs_fs) [MODE_BFS]: Add .uuid.
4722
4723 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4724
4725 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
4726 (zfs_unmount): Fix memory leak.
4727
4728 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4729
4730 Support NTFS reparse points.
4731
4732 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
4733 (symlink_descriptor): New struct.
4734 (grub_ntfs_read_symlink): New function.
4735 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
4736 (grub_ntfs_open): Likewise.
4737
4738 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4739
4740 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
4741
4742 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4743
4744 fstest xnu_uuid subcommand.
4745
4746 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
4747 grub-core/commands/xnu_uuid.c.
4748 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
4749 (fstest): Handle xnu_uuid.
4750 (options): Document xnu_uuid.
4751 (argp_parser): Parse xnu_uuid.
4752
4753 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
4756 -l argument. Add newline at the end if printing.
4757 (GRUB_MOD_INIT): Document -l.
4758
4759 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
4762
4763 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4764
4765 ZFS multi-device and version 33 support.
4766
4767 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
4768 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
4769 (grub_zfs_data): Add multidev-ice-related fields.
4770 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
4771 (dva_get_offset): Make dva const.
4772 (zfs_fetch_nvlist): New function.
4773 (fill_vdev_info_real): Likewise.
4774 (fill_vdev_info): Likewise.
4775 (check_pool_label): Likewise.
4776 (scan_disk): Likewise.
4777 (scan_devices): Likewise.
4778 (read_device): Likewise.
4779 (read_dva): Likewise.
4780 (zio_read_gang): Use read_dva.
4781 (zio_read_data): Likewise.
4782 (zap_leaf_lookup): Add missing endian conversion.
4783 (zap_verify): Add missing endian conversion. All users updated.
4784 (fzap_lookup): Likewise.
4785 (fzap_iterate): Likewise.
4786 (dnode_get_path): Handle SA bonus.
4787 (nvlist_find_value): Make input const. All users updated.
4788 (unmount_device): New function.
4789 (zfs_unmount): Use unmount_device.
4790 (zfs_mount): Use scan_disk.
4791 (zfs_mtime): New function.
4792 (grub_zfs_open): Handle system attributes.
4793 (fill_fs_info): Likewise.
4794 (grub_zfs_dir): Likewise.
4795 (grub_zfs_fs): Add mtime.
4796 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
4797 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
4798 (SA_MTIME_OFFSET): Likewise.
4799 (SA_SYMLINK_OFFSET): Likewise.
4800 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
4801 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
4802 (fstest): Support zfsinfo.
4803 (argp_parser): Likewise.
4804
4805 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4806
4807 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
4808 error.
4809
4810 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4811
4812 ZFS fixes.
4813
4814 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
4815 sharing the same block. Iterate over correct number of indices.
4816 (dnode_get_path): Handle symlinks correctly.
4817
4818 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4819
4820 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
4821
4822 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4823
4824 Read label on HFS+.
4825
4826 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
4827 (grub_hfsplus_btree_search): Fix types.
4828 (grub_hfsplus_label): Implement.
4829
4830 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4831
4832 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
4833
4834 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4835
4836 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
4837
4838 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 Fix symlink handling on iso9660.
4841
4842 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
4843 All users updated.
4844 (grub_iso9660_susp_iterate): Accept zero-size iterate.
4845 (grub_iso9660_read_symlink): Moved most of code ...
4846 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
4847
4848 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4849
4850 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4851 Use union to avoid breaking strict-aliasing rules.
4852
4853 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 Support multi-extent iso files.
4856
4857 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
4858 Add node.
4859 (grub_fshelp_node): Revamp. All users updated.
4860 (FLAG_*): New enum.
4861 (read_node): New function.
4862 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
4863 All users updated.
4864 (grub_iso9660_mount): Don't attempt to read sua when there is none.
4865 (get_node_size): New function.
4866 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
4867 entries.
4868 Fix memory leak on . and ..
4869 (grub_iso9660_read): Use read_node.
4870 (grub_iso9660_close): Free node.
4871
4872 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4873
4874 Fix tar 4G limit and handle paths containing dot.
4875
4876 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
4877 (canonicalize): New function.
4878 (grub_cpio_find_file): Use canonicalize. Store offs in
4879 grub_disk_addr_t.
4880 (grub_cpio_dir): Use grub_disk_addr_t.
4881 (grub_cpio_open): Likewise.
4882
4883 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4884
4885 Fix handling of uncompressed blocks on squashfs and break 4G limit.
4886
4887 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
4888 unused flags.
4889 (grub_squash_inode): Add long_file and block_size.
4890 (grub_squash_cache_inode): New struct.
4891 (grub_squash_dirent): Make types into enum.
4892 (SQUASH_TYPE_LONG_REGULAR): New type.
4893 (grub_squash_frag_desc): Add field size.
4894 (SQUASH_BLOCK_FLAGS): New enum.
4895 (grub_squash_data): Use grub_squash_cache_inode.
4896 (grub_fshelp_node): Make ino_chunk 64-bit.
4897 (read_chunk): Minor argument change. All users updated.
4898 (squash_mount): Use correct le_to_cpu.
4899 (grub_squash_open): Handle LONG_REGULAR.
4900 (direct_read): New function.
4901 (grub_squash_read_data): Handle blocks correctly.
4902
4903 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4904
4905 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
4906
4907 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
4910
4911 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4912
4913 Fix 2G limit on ZFS.
4914
4915 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
4916 types.
4917 (uberblock_verify): Likewise.
4918 (dmu_read): Likewise.
4919 (grub_zfs_read): Likewise. Remove invalid cast.
4920
4921 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4922
4923 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
4924 (grub_jfs_blkno): Fix incorrect shift.
4925 (grub_jfs_read_file): Use more appropriate types.
4926
4927 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 Support triple indirect on minix2 and minix3.
4930
4931 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
4932 Declare triple_indir_zone.
4933 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
4934 indirect.
4935
4936 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4937
4938 Minix FS fixes.
4939
4940 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
4941 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
4942 Rename ctime to mtime. All users updated.
4943 (grub_minix_get_file_block): Fix types and double indirect computations.
4944
4945 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4946
4947 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
4948 if no label is found.
4949 (grub_fat_iterate_dir): Fix file size type.
4950 (grub_fat_iterate_dir): Likewise.
4951
4952 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4953
4954 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
4955 save some space.
4956 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
4957 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
4958
4959 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4960
4961 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
4962
4963 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4964
4965 * util/import_gcry.py: Accept space between # and include.
4966
4967 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4968
4969 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
4970
4971 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4972
4973 Fine grainely disable warnings on lexer. Remove Wno-error on it.
4974
4975 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
4976 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
4977 yylex_strncpy.
4978 * grub-core/script/yylex.l: Add fine-grained #pragma.
4979
4980 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4981
4982 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
4983 New inline function.
4984 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
4985 Likewise.
4986 (memset) [GRUB_UTIL]: Likewise.
4987 (memcmp) [GRUB_UTIL]: Likewise.
4988
4989 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4990
4991 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
4992 inline function rather than a define.
4993
4994 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4995
4996 * util/grub-setup.c: Add missing include.
4997
4998 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4999
5000 * util/ieee1275/grub-ofpathname.c: Add missing include.
5001
5002 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
5005 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
5006 Likewise.
5007
5008 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5009
5010 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
5011 grub_memcmp usage.
5012
5013 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5014
5015 * util/grub-install.in: Add datarootdir as per automake manual
5016 suggestion.
5017 * util/grub-mknetdir.in: Likewise.
5018
5019 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5020
5021 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
5022 suggestion.
5023 * util/grub.d/10_kfreebsd.in: Likewise.
5024 * util/grub.d/10_linux.in: Likewise.
5025 * util/grub.d/10_netbsd.in: Likewise.
5026 * util/grub.d/10_windows.in: Likewise.
5027 * util/grub.d/20_linux_xen.in: Likewise.
5028
5029 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
5030
5031 Remove redundant grub_kernel_image_size.
5032
5033 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
5034 _edata and _start.
5035 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
5036 the small code. It moves it only by few bytes but simplifies the code.
5037 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
5038 _start.
5039 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
5040 (grub_kernel_image_size): Removed.
5041 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
5042 (grub_kernel_image_size): Removed.
5043 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
5044 compiled with Apple toolchain.
5045 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
5046 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
5047 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
5048 (grub_total_module_size): Likewise.
5049 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
5050 Removed.
5051 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
5052 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
5053 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
5054 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
5055 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
5056 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
5057 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
5058 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
5059 Removed.
5060 (grub_total_module_size): Removed.
5061 * util/grub-mkimage.c (image_target_desc): Remove image_size.
5062 (image_targets): Likewise.
5063 Set .compressed_size to no field on sparc.
5064 (generate_image): Remove kernel_image_size handling.
5065
5066 2011-10-19 Szymon Janc <szymon@janc.net.pl>
5067
5068 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
5069 NULL pointer dereference.
5070
5071 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5072
5073 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
5074 done with a dedicated section.
5075
5076 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
5077 Ensure the correct position of boot_path.
5078 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
5079 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
5080 other fields.
5081 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
5082 * include/grub/boot.h: Removed. All references removed.
5083 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
5084 Removed.
5085 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
5086
5087 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5088
5089 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
5090 name.
5091
5092 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5093
5094 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
5095
5096 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5097
5098 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
5099 Don't add the bogus brackets.
5100
5101 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 ExFAT support.
5104
5105 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
5106 * grub-core/Makefile.core.def (exfat): New module.
5107 * grub-core/fs/exfat.c: New file.
5108 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
5109 (GRUB_FAT_ATTR_*): Make into an enum.
5110 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
5111 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
5112 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
5113 (GRUB_FAT_MAXFILE): Removed.
5114 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
5115 (grub_current_fat_bpb_t): New type.
5116 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
5117 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
5118 (grub_fat_dir_node_t): New type.
5119 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
5120 (fat_log2) [MODE_EXFAT]: Removed.
5121 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
5122 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
5123 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
5124 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
5125 (grub_fat_label) [MODE_EXFAT]: New function.
5126 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
5127 reserved_first_sector to 0.
5128
5129 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5130
5131 Move grub_reboot out of the kernel.
5132
5133 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
5134 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
5135 * grub-core/lib/efi/reboot.c: ... here.
5136 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
5137 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
5138 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
5139 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
5140 * grub-core/lib/i386/reboot_trampoline.S: ... here.
5141 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
5142 * grub-core/lib/ieee1275/reboot.c: ... here.
5143 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
5144 * grub-core/lib/mips/arc/reboot.c: ... here.
5145 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
5146 * grub-core/lib/mips/loongson/reboot.c: ...here.
5147 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
5148 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
5149 * include/grub/emu/misc.h (grub_reboot): New function declaration.
5150 * include/grub/i386/reboot.h: New file.
5151 * include/grub/mips/loongson/ec.h: Fix includes.
5152 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
5153 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
5154 * grub-core/lib/i386/reboot.c: New file.
5155
5156 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
5157
5158 Make grub_prefix into module to fix the arbitrary limit and save
5159 some space.
5160
5161 * grub-core/kern/emu/main.c (grub_prefix): Removed.
5162 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
5163 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
5164 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
5165 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
5166 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
5167 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
5168 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
5169 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
5170 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
5171 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
5172 * include/grub/ia64/efi/kernel.h: Removed.
5173 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
5174 (grub_prefix): Removed.
5175 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
5176 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
5177 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
5178 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
5179 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
5180 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
5181 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
5182 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
5183 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
5184 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
5185 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
5186 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
5187 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
5188 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
5189 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
5190 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
5191 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
5192 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
5193 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
5194 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
5195 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
5196 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
5197 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
5198 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
5199 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
5200 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
5201 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
5202 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
5203 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
5204 from module.
5205 * util/grub-mkimage.c (image_target_desc): Removed prefix and
5206 prefix_end.
5207 (image_targets): Likewise.
5208 (generate_image): Put prefix as a module.
5209
5210 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 Replace grub_module_iterate with FOR_MODULES.
5213
5214 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
5215 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
5216 (grub_efi_modules_addr): ...this.
5217 * grub-core/kern/efi/init.c (grub_modbase): New variable.
5218 (grub_efi_init): Set grub_modbase.
5219 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
5220 (grub_modbase): New variable.
5221 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
5222 (grub_modbase): New variable.
5223 (grub_machine_init): Set grub_modbase.
5224 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
5225 (grub_modbase): New variable.
5226 (grub_machine_init): Set grub_modbase.
5227 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
5228 (grub_modbase): New variable.
5229 (grub_machine_init): Set grub_modbase.
5230 * grub-core/kern/main.c (grub_module_iterate): Remove.
5231 (grub_modules_get_end): Use grub_modbase.
5232 (grub_load_modules): Use FOR_MODULES.
5233 (grub_load_config): Likewise.
5234 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
5235 (grub_modbase): New variable.
5236 (grub_machine_init): Set grub_modbase.
5237 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
5238 (grub_modbase): New variable.
5239 (grub_machine_init): Set grub_modbase.
5240 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
5241 Removed.
5242 (grub_modbase): New variable.
5243 (grub_machine_init): Set grub_modbase.
5244 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
5245 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
5246 (grub_module_iterate): Likewise.
5247 (grub_modbase): New variable declaration.
5248 (FOR_MODULES): New macro.
5249
5250 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5251
5252 * configure.ac: Check for __ctzdi2 and __ctzsi2.
5253 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
5254
5255 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 Fix few obvious type discrepancies.
5258
5259 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
5260 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
5261 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
5262 variable.
5263 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
5264 and connected types.
5265 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
5266 offset.
5267 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
5268 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
5269 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
5270 and connected types.
5271
5272 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5273
5274 Fix python 3.x incompatibilities.
5275
5276 * gentpl.py: Put brackets around print strings.
5277 * util/import_gcry.py: Open explicitly as utf-8.
5278 Use in instead of has_key.
5279
5280 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5281
5282 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
5283 (GRUB_XFS_INO_AGBITS): Make into inline function.
5284 (GRUB_XFS_INO_INOINAG): Likewise.
5285 (GRUB_XFS_INO_AG): Likewise.
5286 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
5287 (GRUB_XFS_EXTENT_OFFSET): Likewise.
5288 (GRUB_XFS_EXTENT_BLOCK): Likewise.
5289 (GRUB_XFS_EXTENT_SIZE): Likewise.
5290 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
5291 (GRUB_XFS_NEXT_DIRENT): Likewise.
5292 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
5293 (grub_xfs_read_file): Fix offset type.
5294
5295 2011-10-15 Robert Millan <rmh@gnu.org>
5296
5297 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
5298
5299 2011-10-15 Robert Millan <rmh@gnu.org>
5300
5301 Fix build problem on FreeBSD and GNU/kFreeBSD.
5302
5303 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
5304
5305 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5306
5307 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
5308
5309 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
5310 types.
5311 (grub_hfsplus_btree_recoffset): Likewise.
5312 (grub_hfsplus_btree_recptr): Likewise.
5313 (grub_hfsplus_find_block): Likewise.
5314 (grub_hfsplus_btree_search): Likewise.
5315 (grub_hfsplus_read_block): Likewise.
5316 (grub_hfsplus_read_file): Likewise.
5317 (grub_hfsplus_mount): Likewise.
5318 (grub_hfsplus_btree_iterate_node): Likewise.
5319 (grub_hfsplus_btree_search): Likewise.
5320 (grub_hfsplus_iterate_dir): Likewise.
5321 (grub_hfsplus_read): A small code simplification.
5322
5323 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5324
5325 * grub-core/kern/emu/hostdisk.c
5326 (convert_system_partition_to_system_disk): Don't assume that children
5327 of mapper nodes are mapper nodes.
5328
5329 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5330
5331 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
5332 * include/grub/misc.h (grub_isxdigit): New function.
5333 * grub-core/video/colors.c (my_isxdigit): Removed. All users
5334 switched to grub_isxdigit.
5335 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
5336 number starting with a letter.
5337
5338 2011-10-09 Robert Millan <rmh@gnu.org>
5339
5340 LVM support for FreeBSD and GNU/kFreeBSD.
5341
5342 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
5343 GNU/kFreeBSD.
5344 (LVM_DEV_MAPPER_STRING): Move from here ...
5345 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
5346 * util/getroot.c: Include `<grub/util/lvm.h>'.
5347 (grub_util_get_dev_abstraction): Enable
5348 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
5349 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
5350 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
5351 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
5352 support it.
5353 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
5354 GNU/kFreeBSD.
5355 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
5356 when LVM abstraction is required for ${GRUB_DEVICE}.
5357
5358 2011-10-06 Szymon Janc <szymon@janc.net.pl>
5359
5360 Add support for LZO compression in GRUB:
5361 - import of minilzo library,
5362 - LZO decompression for btrfs,
5363 - lzop files decompression.
5364
5365 * grub-core/io/lzopio.c: New file.
5366 * grub-core/lib/adler32.c: Likewise.
5367 * grub-core/lib/minilzo/lzoconf.h: Likewise.
5368 * grub-core/lib/minilzo/lzodefs.h: Likewise.
5369 * grub-core/lib/minilzo/minilzo.c: Likewise.
5370 * grub-core/lib/minilzo/minilzo.h: Likewise.
5371 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
5372 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
5373 grub-core/lib/minilzo/minilzo.c to common.
5374 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
5375 cflags in cppflags.
5376 * grub-core/Makefile.core.def (btrfs): Likewise.
5377 * grub-core/Makefile.core.def (lzopio): New module.
5378 (adler32): Likewise.
5379 * grub-core/fs/btrfs.c: Include minilzo.h.
5380 (GRUB_BTRFS_COMPRESSION_LZO): New define.
5381 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
5382 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
5383 (grub_btrfs_lzo_decompress): New function.
5384 (grub_btrfs_extent_read): Add support for LZO compression type.
5385 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
5386 (GRUB_USHRT_MAX): Likewise.
5387 (GRUB_UINT_MAX): Likewise.
5388 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
5389 (UINT_MAX): Likewise.
5390 (CHAR_BIT): Likewise.
5391 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
5392 grub-core/lib/posix_wrap/limits.h
5393 (UCHAR_MAX): Likewise.
5394 * include/grub/file.h (grub_file_filter_id): New compression filter
5395 GRUB_FILE_FILTER_LZOPIO.
5396 * include/grub/file.h (grub_file_filter_id): Set
5397 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
5398 * include/grub/types.h (grub_get_unaligned16): New function.
5399 (grub_get_unaligned32): Likewise.
5400 (grub_get_unaligned64): Likewise.
5401 * util/import_gcry.py (cryptolist): Add adler32.
5402
5403 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
5404
5405 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
5406 in perspective decreases the complexity of build system and fixes
5407 compilation right now.
5408
5409 2011-10-01 Ales Nesrsta <starous@volny.cz>
5410
5411 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
5412 (fixed problem related to using UHCI with coreboot).
5413
5414 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
5415
5416 * gentpl.py: Use Autogen macros so that the output template file
5417 (Makefile.tpl) size is reduced.
5418
5419 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
5420
5421 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
5422 extra_dist.
5423
5424 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5425
5426 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
5427 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
5428
5429 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5430
5431 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
5432 _fullpath.
5433
5434 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5435
5436 Remove extra declaration of sleep for mingw32.
5437
5438 * util/misc.c (sleep) [__MINGW32__]: Removed.
5439 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
5440
5441 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
5442
5443 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
5444 type and packname.
5445 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
5446 Resurrected.
5447 (NETBSD_BTINFO_BOOTWEDGE): New definition.
5448 (grub_netbsd_btinfo_bootwedge): New struct.
5449 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5450 New function.
5451 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
5452
5453 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
5454
5455 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
5456 loader.
5457
5458 2011-09-28 Andreas Born <futur.andy@googlemail.com>
5459
5460 Fix incorrect identifiers in bash-completion.
5461
5462 * util/bash-completion.d/grub-completion.bash.in
5463 (_grub_mkpasswd-pbkdf2): Rename to ...
5464 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
5465 (_grub_script-check): Rename to ...
5466 (_grub_script_check): ... this. All users updated.
5467
5468 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
5471 Return 0 if disk isn't biosdisk.
5472
5473 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
5474
5475 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
5476 on NetBSD.
5477 * Makefile.util.def (grub-fstest): Likewise.
5478
5479 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
5480
5481 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
5482 Get sector size from disk label.
5483
5484 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
5485
5486 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
5487 */README* as well as README*.
5488 Reported by: Axel Beckert.
5489
5490 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
5493 case of less than 256 MiB of RAM.
5494
5495 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 * grub-core/commands/wildcard.c (make_regex): Handle @.
5498
5499 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5500
5501 * util/grub-install.in: Move cryptodisk logic to appropriate place.
5502
5503 2011-08-21 Szymon Janc <szymon@janc.net.pl>
5504
5505 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
5506 AC_LANG_CONFTEST macros.
5507
5508 2011-08-20 Szymon Janc <szymon@janc.net.pl>
5509
5510 Add grub-fstest option to uncompress data for commands.
5511
5512 * util/grub-fstest.c (uncompress): New var.
5513 (options): New option -u.
5514
5515 2011-08-20 Szymon Janc <szymon@janc.net.pl>
5516
5517 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
5518 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
5519
5520 2011-08-20 Szymon Janc <szymon@janc.net.pl>
5521
5522 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
5523 file type was not recognized correctly (not gzip or corrupted).
5524
5525 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5526
5527 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
5528 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
5529
5530 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5531
5532 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
5533 loongson.
5534 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
5535 video_radeon_fuloong2e.
5536 * grub-core/video/radeon_fuloong2e.c: New file.
5537 * include/grub/video.h (grub_video_id_t): Add new ID
5538 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
5539
5540 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5541
5542 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
5543 define.
5544 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
5545 that PRID matches the detected subplatform and reset the subplatform
5546 if it doesn't.
5547
5548 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5549
5550 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
5551
5552 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5553
5554 Fix PCI iterating on functions >= 4.
5555
5556 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
5557 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
5558 Removed.
5559 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
5560 (grub_pci_read): Fix bitmask.
5561 (grub_pci_read_word): Likewise.
5562 (grub_pci_read_byte): Likewise.
5563 (grub_pci_write): Likewise.
5564 (grub_pci_write_word): Likewise.
5565 (grub_pci_write_byte): Likewise.
5566
5567 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5568
5569 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
5570 can still be specified in TARGET_CFLAGS)
5571
5572 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
5575
5576 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
5577 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
5578 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
5579 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
5580 (FULOONG): Rename to ...
5581 (FULOONG2F): ... this. All users updated.
5582 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
5583 (machtype_fuloong2f_str): ... this.
5584 (machtype_fuloong2e_str): New string.
5585 Check for machtype_fuloong2e_str.
5586 * grub-core/loader/mips/linux.c (loongson_machtypes)
5587 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
5588 * grub-core/term/serial.c (loongson_defserial)
5589 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
5590 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
5591 loongson_defserial.
5592 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
5593 Rename to ...
5594 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
5595 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
5596 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
5597 to IMAGE_FULOONG2F_FLASH. All users updated.
5598 (image_targets): Rename images.
5599 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
5600
5601 2011-08-19 Szymon Janc <szymon@janc.net.pl>
5602
5603 Make enable of disk cache statistics code configurable.
5604
5605 * configure.ac: --enable-cache-stats added.
5606 * config.h.in (DISK_CACHE_STATS): New define.
5607 * grub-core/Makefile.core.def (cacheinfo): New command.
5608 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
5609 * grub-core/commands/cacheinfo.c: New file.
5610 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
5611 moved to cacheinfo.c.
5612 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
5613 debug code.
5614 * include/grub/disk.h: Likewise.
5615
5616 2011-08-19 Szymon Janc <szymon@janc.net.pl>
5617
5618 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
5619 * grub-core/Makefile.am: Likewise.
5620
5621 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5622
5623 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
5624 non-zero pull.
5625
5626 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5627
5628 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
5629 All users updated.
5630 (grub_jfs_lookup_symlink): Use correct starting inode.
5631
5632 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5633
5634 * util/grub-setup.c (main): Add missing gcry initialisation.
5635
5636 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5637
5638 Don't accept text modes on EFI when booting Linux.
5639
5640 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
5641 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
5642
5643 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
5644 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
5645
5646 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
5647 use of "/path/.." as in grub-install for EFI as well as handling
5648 symlinks correctly.
5649 Fixes Debian bug #637768.
5650
5651 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
5652
5653 * util/grub-probe.c: Remove duplicate #include.
5654
5655 2011-08-10 Robert Millan <rmh@gnu.org>
5656
5657 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
5658
5659 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
5660 function.
5661 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
5662 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
5663
5664 2011-08-03 Robert Millan <rmh@gnu.org>
5665
5666 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
5667 la_array as packed.
5668 Reported by: Zachary Bedell
5669
5670 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
5671
5672 * configure.ac: The Loongson port requires grub-mkfont due to its
5673 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
5674 be built.
5675
5676 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
5677
5678 * util/grub-install.in: Don't source grub-mkconfig_lib until after
5679 processing arguments (otherwise help2man fails when GRUB has not yet
5680 been installed).
5681
5682 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5683
5684 New script grub-mkstandalone.
5685
5686 * Makefile.util.def (grub-mkstandalone): New script.
5687 * docs/man/grub-mkstandalone.h2m: New file.
5688 * util/grub-mkstandalone.in: Likewise.
5689
5690 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5691
5692 Support ATA disks with 4K sectors.
5693
5694 * include/grub/ata.h (grub_ata): New member log_sector_size.
5695 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
5696 (grub_ata_identify): Read sector size.
5697 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
5698
5699 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5700
5701 * util/grub-install.in: Don't use uhci outside of x86.
5702
5703 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5704
5705 * util/grub-mkrescue.in: Add missing quotes.
5706
5707 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5708
5709 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
5710 dereference.
5711
5712 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5713
5714 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
5715
5716 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 * include/grub/video.h: add missing EXPORT_FUND on
5719 grub_video_edid_checksum and grub_video_edid_preferred_mode.
5720
5721 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5722
5723 * include/grub/mips/kernel.h: Fix define conflict.
5724
5725 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
5728 all four ways.
5729
5730 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
5731
5732 Preferred resolution detection for VBE.
5733
5734 * grub-core/video/video.c (grub_video_edid_checksum): New function.
5735 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
5736 the Flat Panel extension, in line with the X.org VESA driver.
5737 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
5738 New function.
5739 (grub_vbe_bios_get_ddc_capabilities): Likewise.
5740 (grub_vbe_bios_read_edid): Likewise.
5741 (grub_vbe_get_preferred_mode): Likewise.
5742 (grub_video_vbe_setup): When the mode is "auto", try to get the
5743 preferred mode from VBE, and use the largest mode that is no larger
5744 than the preferred mode (some BIOSes expose a preferred mode that is
5745 not in their mode list!). If this fails, fall back to 640x480 as a
5746 safe conservative choice.
5747 (grub_video_vbe_get_edid): New function.
5748 (grub_video_vbe_adapter): Add get_edid.
5749 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
5750 (struct grub_video_adapter): Add get_edid.
5751 (grub_video_edid_checksum): Add prototype.
5752 (grub_video_edid_preferred_mode): Likewise.
5753 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
5754 structure.
5755
5756 * grub-core/commands/videoinfo.c (print_edid): New function.
5757 (grub_cmd_videoinfo): Print EDID if available.
5758
5759 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
5760 is more appropriate on a wider range of platforms than 640x480.
5761 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
5762 documentation.
5763
5764 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5765
5766 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
5767
5768 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5769
5770 * po/POTFILES.in: Regenerate.
5771
5772 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5773
5774 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
5775 incorrect memory usage.
5776
5777 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5778
5779 * util/grub-install.in: Source grub-mkconfig_lib.
5780
5781 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 Remove getroot.c from core on emu platform.
5784
5785 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
5786 kern/emu/raid.c.
5787 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
5788 useless.
5789 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
5790 * util/getroot.c (get_win32_path): ... here.
5791 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
5792 * util/getroot.c (fini_libzfs): ... here.
5793 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
5794 * util/getroot.c (grub_get_libzfs_handle): ... here.
5795 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
5796 Moved from here...
5797 * util/getroot.c (grub_find_zpool_from_dir): ... here.
5798 * grub-core/kern/emu/misc.c
5799 (grub_make_system_path_relative_to_its_root): Moved from here...
5800 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
5801 * grub-core/kern/emu/getroot.c: Moved from here ...
5802 * util/getroot.c: ... here. All users updated.
5803 * grub-core/kern/emu/raid.c: Moved from here ...
5804 * util/raid.c: ... here. All users updated.
5805
5806 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
5807
5808 * po/POTFILES.in: Regenerate.
5809
5810 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5811
5812 Fix compilation on GNU/Linux.
5813
5814 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
5815 Disable geli.
5816 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
5817 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
5818 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
5819
5820 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5821 2011-07-07 Michael Gorven <michael@gorven.za.net>
5822 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
5823
5824 LUKS and GELI support.
5825
5826 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
5827 grub-core/disk/luks.c, grub-core/disk/geli.c,
5828 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
5829 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
5830 grub-core/lib/arg.c.
5831 (libgrubmods.a): Remove gcrypts cflags and cppflags.
5832 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
5833 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
5834 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
5835 (grub-bin2h): Add libgcry.a.
5836 (grub-mkimage): Likewise.
5837 (grub-mkrelpath): Likewise.
5838 (grub-script-check): Likewise.
5839 (grub-editenv): Likewise.
5840 (grub-mkpasswd-pbkdf2): Likewise.
5841 (grub-pe2elf): Likewise.
5842 (grub-fstest): Likewise.
5843 (grub-mkfont): Likewise.
5844 (grub-mkdevicemap): Likewise.
5845 (grub-probe): Likewise.
5846 (grub-ofpath): Likewise.
5847 (grub-mklayout): Likewise.
5848 (example_unit_test): Likewise.
5849 (grub-menulst2cfg): Likewise.
5850 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
5851 * grub-core/Makefile.core.def (cryptodisk): New module.
5852 (luks): Likewise.
5853 (geli): Likewise.
5854 * grub-core/disk/AFSplitter.c: New file.
5855 * grub-core/disk/cryptodisk.c: Likewise.
5856 * grub-core/disk/geli.c: Likewise.
5857 * grub-core/disk/luks.c: Likewise.
5858 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
5859 grub_util_is_lvm.
5860 (grub_util_get_dm_abstraction): New function.
5861 (grub_util_follow_gpart_up): Likewise.
5862 (grub_util_get_geom_abstraction): Likewise.
5863 (grub_util_get_dev_abstraction): Use new functions.
5864 (grub_util_pull_device): Pull GELI and LUKS.
5865 (grub_util_get_grub_dev): Handle LUKS and GELI.
5866 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
5867 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
5868 (follow_geom_up): Removed.
5869 (grub_util_fd_seek): New function.
5870 (open_device): Use grub_util_fd_seek.
5871 (nread): Rename to ..
5872 (grub_util_fd_read): ... this. All users updated.
5873 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
5874 (grub_crypto_cbc_decrypt): Likewise.
5875 (grub_crypto_hmac_write): Likewise.
5876 (grub_crypto_hmac_buffer): Likewise.
5877 (grub_password_get): Extend to util.
5878 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
5879 New member modname.
5880 (gcry_md_spec) [GRUB_UTIL]: Likewise.
5881 * include/grub/cryptodisk.h: New file.
5882 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
5883 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
5884 LUKS and GELI.
5885 (grub_util_follow_gpart_up): New proto.
5886 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
5887 (grub_util_fd_read): Likewise.
5888 (grub_cryptodisk_cheat_mount): Likewise.
5889 (grub_util_cryptodisk_print_uuid): Likewise.
5890 (grub_util_get_fd_sectors): Likewise.
5891 * util/grub-fstest.c (mount_crypt): New var.
5892 (fstest): Mount crypto if requested.
5893 (options): New option -C.
5894 (argp_parser): Parse -C.
5895 (main): Init and fini gcry.
5896 * util/grub-install.in: Support cryptodisk install.
5897 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
5898 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
5899 cryptodisk.
5900 (prepare_grub_to_access_device): Likewise.
5901 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
5902 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
5903 (probe_cryptodisk_uuid): New function.
5904 (probe_abstraction): Likewise.
5905 (probe): Use new functions.
5906 * util/import_gcry.py: Create Makefile.utilgcry.def.
5907 Add modname member.
5908
5909 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5910
5911 Lazy device scanning.
5912
5913 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
5914 (grub-setup): Remove util/raid.c.
5915 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
5916 * grub-core/disk/lvm.c (scan_depth): New variable.
5917 (grub_lvm_iterate): Rescan if necessary.
5918 (find_lv): New function based on grub_lvm_open.
5919 (grub_lvm_open): Use find_lv. Rescan on error.
5920 (is_node_readable): New function.
5921 (is_lv_readable): Likewise.
5922 (grub_lvm_scan_device): Skip already found disks.
5923 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
5924 Stop if searched device is found and readable.
5925 * grub-core/disk/raid.c (inscnt): New variable.
5926 (scan_depth): Likewise.
5927 (scan_devices): New function based on grub_raid_register. Abort if
5928 looked for device is found.
5929 (grub_raid_iterate): Rescan if needed.
5930 (find_array): NEw function based on -grub_raid_open.
5931 (grub_raid_open): Use find_array and rescan.
5932 (insert_array): Set became_readable_at.
5933 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
5934 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
5935 New function.
5936 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
5937 (grub_util_pull_device): New function.
5938 (grub_util_get_grub_dev): Call grub_util_pull_device.
5939 * util/raid.c: Moved to ..
5940 * grub-core/kern/emu/raid.c: ... here.
5941 (grub_util_raid_getmembers): New parameter "bootable".
5942 All users updated. Support 1.x.
5943 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
5944 All users updated.
5945 * include/grub/disk.h (grub_disk_pull_t): New enum.
5946 (grub_disk_dev): Change iterate prototype.
5947 All users updated.
5948 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
5949 New proto.
5950 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
5951 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
5952 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
5953 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
5954 All users updated.
5955 * include/grub/util/raid.h: Removed.
5956
5957 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
5958
5959 * po/POTFILES.in: Regenerate.
5960
5961 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
5962
5963 Unify sparc init with other ieee1275.
5964
5965 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
5966 instead of kern/sparc64/ieee1275/init.c.
5967 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
5968 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
5969 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
5970 grub/machine/kernel.h.
5971 (grub_ieee1275_original_stack) [__sparc__]: New variable.
5972 (grub_claim_heap) [__sparc__]: Use sparc version.
5973 (grub_machine_init): Moved args parsing to
5974 (grub_parse_cmdline): ...this.
5975 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
5976 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
5977 New definition.
5978 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
5979
5980 Move BOOTP to separate file.
5981
5982 * grub-core/Makefile.core.def (net): Add net/bootp.c.
5983 * grub-core/net/net.c: Move all BOOTP functions to
5984 * grub-core/net/bootp.c: ... here.
5985
5986 Use frame interface on PXE.
5987
5988 * grub-core/Makefile.core.def (pxecmd): Removed.
5989 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
5990 * grub-core/commands/i386/pc/pxecmd.c: Removed.
5991 * grub-core/i386/pc/pxe.c: Moved from here ...
5992 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
5993 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
5994 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
5995
5996 EFI network support.
5997
5998 * grub-core/Makefile.core.def (efinet): New module.
5999 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
6000 here...
6001 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
6002 All users updated.
6003 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
6004 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
6005 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
6006 * grub-core/net/drivers/efi/efinet.c: New file.
6007 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
6008 (grub_efi_net_config): New extern var.
6009
6010 Various cleanups and bugfixes.
6011
6012 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
6013 error.
6014 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
6015 disk declared as partition.
6016 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
6017 leak on failure.
6018 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
6019 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
6020 (grub_debug_zalloc): Likewise.
6021 (grub_debug_realloc): Likewise.
6022 (grub_debug_memalign): Likewise.
6023 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
6024 Check that target is IPv4.
6025 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
6026 local-mac-address as fallback.
6027 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
6028 memory leak.
6029 * grub-core/net/ip.c (ipchksum): Rename to ...
6030 (grub_net_ip_chksum): ... this. All users updated.
6031 (grub_net_recv_ip_packets): Special handling for DHCP.
6032 * util/grub-mkimage.c (generate_image): Zero-out aout header.
6033
6034 Unify prefix handling
6035
6036 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
6037 (grub_machine_get_bootlocation): ... this.
6038 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
6039 (grub_machine_get_bootlocation): ... this.
6040 (grub_prefix): New variable.
6041 (prefix): Removed.
6042 (root_dev): New variable.
6043 (dir): Likewise.
6044 (main): Use new variables.
6045 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
6046 Revamped into ...
6047 (grub_machine_get_bootlocation): ... this.
6048 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
6049 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
6050 (grub_machine_get_bootlocation): ... this.
6051 (grub_machine_set_prefix): Removed.
6052 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
6053 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
6054 Revamped into ...
6055 (grub_machine_get_bootlocation): ... this.
6056 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
6057 (grub_set_prefix_and_root): ... this. All users updated.
6058 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
6059 Revamped into ...
6060 (grub_machine_get_bootlocation): ... this.
6061 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
6062 (grub_machine_get_bootlocation): New proto.
6063 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
6064
6065 Less intrusive and more reliable seek on network implementation.
6066
6067 * grub-core/kern/file.c (grub_file_net_seek): Removed.
6068 (grub_file_seek): Don't call grub_file_net_seek.
6069 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
6070 (grub_net_fs_read_real): .. this.
6071 (grub_net_seek_real): Use net->offset.
6072 (grub_net_fs_read): Seek if necessary.
6073
6074 Unify IEEE1275 netwotk config with the other platforms.
6075
6076 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
6077 New variable.
6078 (grub_machine_get_bootlocation): Support network.
6079 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
6080 Support type and device parsing.
6081 (grub_ieee1275_get_device_type): New function.
6082 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
6083 into ...
6084 (grub_ieee1275_net_config_real): ... this.
6085 (grub_ofnet_probecards): Removed.
6086 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
6087 * include/grub/ieee1275/ofnet.h: Removed.
6088 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
6089 extern var.
6090 (grub_ieee1275_get_device_type): New function.
6091
6092 Unify network device closing across platforms and make more robust.
6093
6094 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
6095 grub_grubnet_fini.
6096 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
6097 already.
6098 * grub-core/net/net.c (grub_net_network_level_interface_register):
6099 Update num_ifaces.
6100 (grub_net_card_unregister): Close all interfaces.
6101 (receive_packets): Don't poll if no iterfaces are registered.
6102 Open if necessary.
6103 (grub_net_fini_hw): New function.
6104 (grub_net_restore_hw): Likewise.
6105 (fini_hnd): New variable.
6106 (GRUB_MOD_INIT): Register preboot hook.
6107 (GRUB_MOD_FINI): Run and unregister preboot hook.
6108
6109 Poll network cards when idle.
6110
6111 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
6112 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
6113 * grub-core/net/net.c (receive_packets): Save last poll time.
6114 (grub_net_poll_cards_idle_real): New function.
6115 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
6116 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
6117 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
6118
6119 Rename ofnet interfaces.
6120
6121 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
6122 (grub_ofnet_findcards): Use ofnet_%s names.
6123
6124 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
6125
6126 Cleanup socket opening.
6127
6128 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
6129 (grub_net_fs_close): Likewise.
6130 (grub_net_fs_read_real): Use eof member.
6131 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
6132 (+grub_net_udp_close): New inline function.
6133
6134 * include/grub/net/tftp.h: Moved to the top of ...
6135 * grub-core/net/tftp.c: ... here.
6136 * include/grub/net/ip.h: Moved mostly to the top of ...
6137 * grub-core/net/ip.c: ... here.
6138 * include/grub/net/ethernet.h: Moved mostly to the top of ...
6139 * grub-core/net/ethernet.c: ... here.
6140
6141 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
6142
6143 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
6144 FS name.
6145
6146 * include/grub/net/ip.h (ipv4_ini): Removed.
6147 (ipv4_fini): Likewise.
6148
6149 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
6150 (grub_net_send_ip_packets): Likewise.
6151
6152 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6153
6154 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
6155 grub_read_cmos prototype.
6156
6157 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 VGA text support in qemu-mips
6160
6161 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
6162 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
6163 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
6164 text.
6165 * grub-core/kern/i386/qemu/init.c: Renamed to ...
6166 * grub-core/kern/vga_init.c: ... this.
6167 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
6168 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
6169 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
6170 Adjust.
6171 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
6172 GRUB_MACHINE_PCI_IO_BASE.
6173
6174 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6175
6176 MIPS qemu flash support.
6177
6178 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
6179 magic.
6180 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
6181 (grub_machine_init): Probe memory if its size isn't known.
6182 * util/grub-mkimage.c (image_targets): Add flash targets.
6183 (generate_image): Handle flash targets.
6184
6185 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6186
6187 MIPS qemu at_keyboard support.
6188
6189 * gentpl.py (videoinkernel): Add qemu-mips.
6190 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
6191 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
6192 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
6193 modules.
6194 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
6195 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
6196 * grub-core/term/serial.c (grub_serial_register)
6197 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
6198
6199 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6200
6201 CMOS support on sparc.
6202
6203 * gentpl.py (cmos): Add powerpc and sparc.
6204 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
6205 powerpc and sparc.
6206 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
6207 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
6208 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
6209 grub_set_datetime_cmos.
6210 * grub-core/lib/ieee1275/cmos.c: New file.
6211 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
6212 (find_rtc): Set no_ieee1275_rtc on error.
6213 (grub_get_datetime): Call grub_get_datetime_cmos on error.
6214 (grub_set_datetime): Call grub_set_datetime_cmos on error.
6215 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
6216 fail. Move value to argument. All users updated
6217 (grub_cmos_write): Likewise.
6218 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
6219 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
6220 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
6221 grub_get_datetime_cmos and grub_set_datetime_cmos.
6222
6223 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
6224
6225 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
6226 sourcing grub-mkconfig_lib.
6227 * util/update-grub_lib.in: Likewise.
6228 * util/grub.d/00_header.in: Likewise.
6229 * util/grub.d/10_hurd.in: Likewise.
6230 * util/grub.d/10_kfreebsd.in: Likewise.
6231 * util/grub.d/10_linux.in: Likewise.
6232 * util/grub.d/10_netbsd.in: Likewise.
6233 * util/grub.d/10_windows.in: Likewise.
6234 * util/grub.d/20_linux_xen.in: Likewise.
6235 * util/grub.d/30_os-prober.in: Likewise.
6236
6237 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
6238
6239 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
6240 default_bg_color rather than black.
6241 (grub_gfxterm_fullscreen): Likewise.
6242 (grub_gfxterm_background_color_cmd): Save new background color in
6243 default_bg_color.
6244
6245 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6246
6247 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
6248
6249 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6250
6251 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
6252 mismerge.
6253
6254 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6255
6256 Chainloading on coreboot support.
6257
6258 * grub-core/Makefile.core.def (chain): Add coreboot.
6259 * grub-core/loader/i386/coreboot/chainloader.c: New file.
6260
6261 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6262
6263 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
6264 if it happens.
6265
6266 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6267
6268 Implement time command.
6269
6270 * grub-core/Makefile.core.def (time): New module.
6271 * grub-core/commands/time.c: New file.
6272 * grub-core/script/parser.y: Remove "time" keyword.
6273 * grub-core/script/yylex.l: Likewise.
6274
6275 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6276
6277 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
6278
6279 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6280
6281 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
6282 when handling leftovers.
6283
6284 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6285
6286 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
6287 so that help2man doesn't fail.
6288
6289 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6290
6291 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
6292 type in pointers on sparc64.
6293 (get_card_packet): Likewise.
6294
6295 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
6296
6297 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
6298 with `*'.
6299 (grub_cmd_videoinfo): Fetch current video mode.
6300
6301 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6302
6303 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
6304 because of underlying system restrictions.
6305
6306 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
6309 necessary.
6310
6311 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6312
6313 Coreboot video support.
6314
6315 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
6316 (vbe): Likewise.
6317 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
6318 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
6319 here ...
6320 * grub-core/kern/i386/int.S: ... here.
6321 * grub-core/video/i386/pc/vbe.c: Updated includes.
6322 * grub-core/video/i386/pc/vga.c: Likewise.
6323 * include/grub/i386/coreboot/memory.h
6324 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
6325 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
6326 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
6327 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
6328 Disable interrupts.
6329 * include/grub/i386/pc/vga.h: Removed. All users updated.
6330
6331 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6332
6333 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
6334 definitions for dprintf.
6335 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
6336
6337 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6338
6339 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
6340 prototype.
6341 (get_card_packet): Likewise.
6342
6343 2011-06-26 Yves Blusseau <blusseau@zetam.org>
6344
6345 Display the path of the file when file is not found
6346
6347 * grub-core/fs/fat.c: Display the filename when file is not found.
6348 * grub-core/fs/fshelp.c: Likewise.
6349 * grub-core/fs/hfs.c: Likewise.
6350 * grub-core/fs/jfs.c: Likewise.
6351 * grub-core/fs/minix.c: Likewise.
6352 * grub-core/fs/ufs.c: Likewise.
6353 * grub-core/fs/btrfs.c: Likewise.
6354 * grub-core/commands/i386/pc/play.c: Likewise.
6355
6356 2011-06-26 Szymon Janc <szymon@janc.net.pl>
6357
6358 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
6359 pointer checks before calling grub_free().
6360 * grub-core/commands/wildcard.c (match_devices): Likewise.
6361 * grub-core/commands/wildcard.c (match_files): Likewise.
6362 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
6363 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
6364 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
6365 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
6366 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
6367 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
6368 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
6369 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
6370 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
6371
6372 2011-06-25 Patrick <p55@mailinator.com>
6373
6374 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
6375
6376 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6377
6378 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
6379 (grub_pxe_send): Likewise.
6380 (GRUB_MOD_INIT): Fix types.
6381
6382 2011-06-24 Szymon Janc <szymon@janc.net.pl>
6383
6384 * grub-core/io/xzio.c: Fix code style issues
6385
6386 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6387 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
6388
6389 Network infrastructure.
6390 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
6391
6392 * include/grub/net/arp.h: New file.
6393 * include/grub/net/device.h: Likewise.
6394 * include/grub/net/ethernet.h: Likewise.
6395 * include/grub/net/ip.h: Likewise.
6396 * include/grub/net/netbuff.h: Likewise.
6397 * include/grub/net/tftp.h: Likewise.
6398 * include/grub/net/udp.h: Likewise.
6399 * include/grub/ieee1275/ofnet.h: Likewise.
6400 * include/grub/emu/export.h: Likewise.
6401 * include/grub/net.h: Likewise.
6402 * grub-core/net/arp.c: Likewise.
6403 * grub-core/net/ethernet.c: Likewise.
6404 * grub-core/net/ip.c: Likewise.
6405 * grub-core/net/udp.c: Likewise.
6406 * grub-core/net/tftp.c: Likewise.
6407 * grub-core/net/netbuff.c: Likewise.
6408 * grub-core/net/net.c: Likewise.
6409 * grub-core/net/drivers/emu/emunet.c: Likewise.
6410 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
6411 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
6412 export.h.
6413 * grub-core/Makefile.core.def (net): New module.
6414 (tftp): Likewise.
6415 (ofnet): Likewise.
6416 (emunet): Likewise.
6417 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
6418 network protocols.
6419 * grub-core/kern/device.c (grub_net_open) : New variable.
6420 (grub_device_open): Handle network device.
6421 (grub_device_close): Likewise.
6422 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
6423 (grub_grubnet_fini): Likewise.
6424 (grub_file_seek): Seek in network device.
6425 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
6426 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
6427 network root.
6428 (grub_machine_fini): Call grub_grubnet_fini.
6429 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
6430 network.
6431 (grub_ieee1275_get_aliasdevname): New function.
6432 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
6433 Add unofficial Solaris network info.
6434 (grub_multiboot_make_mbi): Likewise.
6435 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
6436 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
6437 * include/grub/device.h (grub_fs): Removed.
6438 * include/grub/err.h (grub_err_t): Add network-related values.
6439 * include/grub/i386/pc/pxe.h: Removed bootp parts.
6440 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
6441 (grub_ieee1275_get_aliasdevname): New proto.
6442 * include/grub/net.h: Rewritten.
6443
6444 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
6447 names.
6448
6449 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
6452 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
6453 it truncates the output.
6454 Reported by: Ximin Luo.
6455
6456 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6457
6458 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
6459
6460 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6461
6462 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
6463 partmap before abstraction.
6464
6465 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
6466
6467 * util/grub-mkconfig_lib.in: Add missing quotes.
6468
6469 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
6472 old method if mountinfo would return /dev/root and /dev/root doesn't
6473 exist.
6474
6475 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6476
6477 ZFS zlib support
6478
6479 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
6480 (decomp_table): Add zlib entries.
6481 (zio_read): USe 8 bits for compression function rather than 3.
6482 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
6483
6484 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 * grub-core/disk/ahci.c: Add missing license statements.
6487 * grub-core/fs/romfs.c: Likewise.
6488 * grub-core/lib/ia64/setjmp.S: Likewise.
6489 * grub-core/loader/i386/pc/freedos.c: Likewise.
6490 * grub-core/loader/ia64/efi/linux.c: Likewise.
6491 * grub-core/video/colors.c: Likewise.
6492 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
6493
6494 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6495
6496 AHCI support.
6497
6498 * grub-core/Makefile.core.def (ata_pthru): Removed.
6499 (ahci): New module.
6500 (pata): Likewise.
6501 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
6502 on unload.
6503 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
6504 readwrite.
6505 (grub_hdparm_do_check_powermode_cmd): Likewise.
6506 (grub_hdparm_do_smart_cmd): Likewise.
6507 (grub_hdparm_set_val_cmd): Likewise.
6508 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
6509 * grub-core/disk/ahci.c: New file.
6510 * grub-core/disk/ata.c: Factor out the low-level part into ...
6511 * grub-core/disk/pata.c: ... here.
6512 * grub-core/disk/ata_pthru.c: Contents moved to ...
6513 * grub-core/disk/pata.c: ... here.
6514 * grub-core/disk/scsi.c (grub_scsi_names): New array.
6515 (grub_scsi_iterate): Use grub_scsi_names.
6516 (grub_scsi_open): Likewise.
6517 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
6518 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
6519 (grub_ata_regs_t): New struct.
6520 (grub_disk_ata_pass_through_parms): Likewise.
6521 (grub_ata_device): Renamed to ...
6522 (grub_ata): ... this.
6523 (grub_ata_dev): New struct.
6524 Removed all low-level inline functions.
6525 * include/grub/scsi.h: Add PATA and AHCI subsystems.
6526 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
6527 iterate hooks and open. All users updated.
6528 * util/grub-install.in: Handle AHCI disk module.
6529
6530 2011-06-23 Szymon Janc <szymon@janc.net.pl>
6531
6532 Add support for DRI and RSTn markers in JPEG files.
6533
6534 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
6535 (JPEG_MARKER_RST0): Likewise.
6536 (JPEG_MARKER_RST1): Likewise.
6537 (JPEG_MARKER_RST2): Likewise.
6538 (JPEG_MARKER_RST3): Likewise.
6539 (JPEG_MARKER_RST4): Likewise.
6540 (JPEG_MARKER_RST5): Likewise.
6541 (JPEG_MARKER_RST6): Likewise.
6542 (JPEG_MARKER_RST7): Likewise.
6543 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
6544 (grub_jpeg_decode_dri): New function.
6545 (grub_jpeg_decode_sos): Move image data related part into
6546 grub_jpeg_decode_data function.
6547 (grub_jpeg_decode_data): New function.
6548 (grub_jpeg_reset): New function.
6549 (grub_jpeg_decode_jpeg): Handle new markers.
6550
6551 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6552
6553 * util/ieee1275/ofpath.c (check_sas): Close fd.
6554 (main): Free of_path.
6555 Reported by: David Volgyes <dvolgyes>.
6556
6557 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6558
6559 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
6560 Reported by: David Volgyes <dvolgyes>.
6561
6562 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6563
6564 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
6565 file after stat.
6566 Reported by: David Volgyes <dvolgyes>.
6567
6568 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6569
6570 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
6571
6572 Reported by: David Volgyes <dvolgyes>.
6573
6574 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6575
6576 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
6577 Prevent memory leak.
6578
6579 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6580
6581 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
6582 (main): Close file.
6583 Reported by: David Volgyes <dvolgyes>.
6584
6585 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6586
6587 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
6588 to continue if allocation is failed.
6589
6590 Reported by: David Volgyes <dvolgyes>.
6591
6592 2011-06-23 David Volgyes <dvolgyes>
6593
6594 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
6595 dereference.
6596
6597 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6598
6599 Fix spurious warning.
6600
6601 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
6602 (acorn_partition_map_find): Use .bin member.
6603
6604 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6605
6606 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
6607 /dev/root as a valid device.
6608
6609 2011-06-23 Jim Meyering <meyering@redhat.com>
6610
6611 Avoid NULL deref in grub_device_open.
6612
6613 * grub-core/kern/device.c (grub_device_open): Don't dereference
6614 a NULL pointer upon failed grub_env_get.
6615
6616 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6617
6618 Support non-512B sectors and agglomerate reads.
6619
6620 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
6621 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
6622 (disk_io_guid): Removed.
6623 (make_devices): Locate solely by BlockIO.
6624 (grub_efidisk_open): Fill log_sector_size and total_sectors.
6625 (grub_efidisk_read): Use read_blocks.
6626 (grub_efidisk_write): Use write_blocks.
6627 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
6628 log_sector_size.
6629 (get_safe_sectors): Handle non-512B sectors.
6630 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
6631 sectors.
6632 (grub_biosdisk_write): Handle non-512B sectors.
6633 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
6634 (grub_scsi_read): Remove special non-512B block handling (now handled
6635 one level up).
6636 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
6637 and do sanity checks.
6638 (grub_disk_adjust_range): Handle non-512B sectors.
6639 (transform_sector): New function.
6640 (grub_disk_read_small): Likewise.
6641 (grub_disk_read): Rewritten.
6642 (grub_disk_write): Handle non-512B sectors.
6643 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
6644 log_sector_size.
6645 (open_device): Use log_sector_size.
6646 (grub_util_biosdisk_read): Likewise.
6647 (grub_util_biosdisk_write): Likewise.
6648 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
6649 non-512B sectors.
6650 (pc_partition_map_embed): Likewise.
6651 * include/grub/disk.h (grub_disk): New field log_sector_size.
6652 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
6653 (GRUB_DISK_CACHE_BITS): Increased to 6.
6654 * util/grub-fstest.c (fstest): New command testload.
6655 (argp_parser): Likewise.
6656
6657 2011-06-16 Robert Millan <rmh@gnu.org>
6658
6659 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
6660 `ata' driver on kernel of FreeBSD 9.
6661
6662 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
6663 (get_ataraid_disk_name): New functions.
6664 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
6665 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
6666 get_ataraid_disk_name() and get_ada_disk_name().
6667
6668 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
6669
6670 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
6671 input format.
6672
6673 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
6674
6675 * docs/grub.texi (Obtaining and Building GRUB): Substitute
6676 `ftp.gnu.org' for `alpha.gnu.org'.
6677
6678 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
6679
6680 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
6681 partitions under /dev/disk/by-id/.
6682
6683 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
6684
6685 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
6686 after ten consecutive open failures. Scanning all the way up to
6687 10000 is excessive and can cause serious performance problems in
6688 some configurations.
6689 Fixes Ubuntu bug #787461.
6690
6691 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6692
6693 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
6694 opening new one.
6695
6696 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
6697 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6698
6699 Don't stat devices unless we have to.
6700
6701 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
6702 dir == /dev/mapper.
6703 (grub_guess_root_device): Use already known os_dev if possible.
6704 * grub-core/kern/emu/hostdisk.c
6705 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
6706 if device is known to be a dm one.
6707
6708 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
6709
6710 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
6711 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
6712 Reported by: Pawel Tecza.
6713
6714 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
6715
6716 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
6717 (lsefisystab): Likewise.
6718 (lssal): Likewise.
6719 (lsefimmap): Likewise.
6720 (hdparm): Enable on qemu-mips.
6721 (setjmp): Add ia64 nodist.
6722 (serial): Simplify tags.
6723
6724 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6725
6726 * Makefile.util.def (grub-ofpathname): Install manual page.
6727
6728 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6729
6730 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
6731
6732 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6733
6734 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
6735
6736 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6737
6738 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
6739 into dprintf.
6740
6741 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6742
6743 Use full 64-bit division.
6744
6745 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
6746 (grub_divmod64): ... this.
6747 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
6748 version.
6749
6750 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6751
6752 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
6753 `source'.
6754
6755 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6756
6757 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
6758 to avoid accidents when debugging with 'sh -x'.
6759 * grub-core/gensyminfo.sh.in: Likewise.
6760 * tests/example_scripted_test.in: Likewise.
6761 * tests/grub_cmd_regexp.in: Likewise.
6762 * tests/grub_script_blanklines.in: Likewise.
6763 * tests/grub_script_dollar.in: Likewise.
6764 * tests/grub_script_expansion.in: Likewise.
6765 * tests/grub_script_final_semicolon.in: Likewise.
6766 * tests/partmap_test.in: Likewise.
6767 * tests/util/grub-shell-tester.in: Likewise.
6768 * tests/util/grub-shell.in: Likewise.
6769
6770 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6771
6772 Move gfxmenu color handling to video, so that gfxterm can use it
6773 too.
6774
6775 * grub-core/gfxmenu/named_colors.c: Move to ...
6776 * grub-core/video/colors.c: ... here. Rename
6777 grub_gui_get_named_color to grub_video_get_named_color.
6778 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
6779 * grub-core/video/colors.c (my_isxdigit): ... here.
6780 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
6781 Move to ...
6782 * grub-core/video/colors.c (parse_hex_color_component): ... here.
6783 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
6784 to ...
6785 * grub-core/video/colors.c (grub_video_parse_color): ... here.
6786
6787 * include/grub/gui.h (grub_gui_color_t): Move to ...
6788 * include/grub/video.h (grub_video_rgba_color_t): ... here.
6789 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
6790 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
6791 * include/grub/gui.h (grub_gui_map_color): Move to ...
6792 * include/grub/video.h (grub_video_map_rgba_color): ... here.
6793 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
6794 to ...
6795 * include/grub/video.h (grub_video_get_named_color): ... here.
6796 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
6797 * include/grub/video.h (grub_video_parse_color): ... here.
6798
6799 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
6800 video/colors.c.
6801 (gfxmenu): Remove gfxmenu/named_colors.c.
6802 (video) [videomodules]: Add video/colors.c.
6803
6804 Add a background_color command.
6805
6806 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
6807 function.
6808 (GRUB_MOD_INIT): Register background_color command.
6809 (GRUB_MOD_FINI): Unregister background_color command.
6810 (redraw_screen_rect): Allow blend/replace of text layer to be
6811 controlled independently from whether there is a background bitmap.
6812 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
6813 changing bitmap.
6814
6815 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6816
6817 Patch BPB in ntldr and chainloader --bpb.
6818
6819 * grub-core/fs/fat.c: Include grub/fat.h.
6820 (grub_fat_bpb): Moved to ...
6821 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
6822 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
6823 grub/ntfs.h.
6824 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
6825 Moved from here...
6826 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
6827 here.
6828 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
6829 New function.
6830 (grub_chainloader_cmd): Patch BPB if --bpb is given.
6831 (GRUB_MOD_INIT): Show --bpb.
6832 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
6833 * grub-core/normal/main.c (features): New variable.
6834 (GRUB_MOD_INIT): Set feature_* variables.
6835 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
6836 proto.
6837 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
6838
6839 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6840
6841 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
6842 for cleanness.
6843
6844 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6845
6846 FreeDOS direct loading support.
6847
6848 * docs/grub.texi (Supported OS): Add FreeDOS.
6849 * grub-core/Makefile.core.def (freedos): New module.
6850 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
6851 variable.
6852 (grub_relocator16_boot): Handle %ebx.
6853 * grub-core/lib/i386/relocator16.S: Likewise.
6854 * grub-core/loader/i386/pc/freedos.c: New file.
6855
6856 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 Long Linux command line support.
6859
6860 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
6861 (maximal_cmdline_size): New variable.
6862 (allocate_pages): Use maximal_cmdline_size.
6863 (grub_cmd_linux): Set and use maximal_cmdline_size.
6864 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
6865 (allocate_pages): Use maximal_cmdline_size.
6866 (grub_cmd_linux): Set and use maximal_cmdline_size.
6867 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
6868 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
6869 and cmdline_size.
6870
6871 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6872 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6873
6874 Improve devmapper support
6875
6876 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
6877 (grub_util_is_lvm): New function.
6878 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
6879 than lvm if not dmraid.
6880 Handle mapped md nodes.
6881 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
6882 (grub_util_device_is_mapped): ... this. Make always available. All users
6883 updated.
6884 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
6885 (convert_system_partition_to_system_disk): Handle lvm, mpath and
6886 dmraid nodes.
6887 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
6888
6889 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
6892
6893 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
6894 * grub-core/modinfo.sh.in: New file.
6895 * grub-core/Makefile.core.def (modinfo.sh): New script.
6896 * util/grub-mknetdir.in: Use modinfo.sh.
6897 * util/grub-mkrescue.in: Likewise.
6898
6899 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6900
6901 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
6902 Fix potential usage of Elf32 instead of Elf64 when compiling on
6903 32-bit architecture. Add endianness macros while on it.
6904
6905 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6906
6907 Use mipsel- rather than mips- in directories involving mipsel ports to
6908 allow both endiannesses coexist.
6909
6910 * configure.ac: proparate target_cpu=mipsel rather than resetting to
6911 mips. All conditions adjusted.
6912 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
6913 variable.
6914 * util/grub-install.in: Adjust conditions to take renaming into account.
6915 * util/grub-mkimage.c (image_targets): Likewise. New target
6916 mips-qemu_mips-elf for bigendian mips.
6917
6918 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6919
6920 Avoid unnecessary copying on MIPS.
6921
6922 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
6923 early if src == dest.
6924 * util/grub-mkimage.c (generate_image): Arange for src == dest if
6925 compression is none.
6926
6927 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6928
6929 Reduce memory footprint on SGI by putting modules before the kernel
6930 as opposed to after.
6931
6932 * grub-core/Makefile.core.def (kernel): Increase linking address.
6933 (none_decompress): Likewise.
6934 (xz_decompress): Likewise.
6935 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
6936 address.
6937 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
6938 layout change.
6939 (grub_arch_modules_addr): New function.
6940 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
6941 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
6942 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
6943 here.
6944 * grub-core/kern/mips/startup.S (total_size): Rename to ...
6945 (grub_total_modules_size): ... this. Make global.
6946 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
6947 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
6948 New definition.
6949 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
6950 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
6951 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
6952 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
6953 * util/grub-mkimage.c (image_target_desc): New flag
6954 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
6955 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
6956 (generate_image): Handle images with modules before kernel.
6957
6958 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6959
6960 Prevent potential loss of memory map by overwrite on qemu-mips.
6961
6962 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
6963 Save ram size in $s4.
6964 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
6965 All users changed to grub_arch_memsize.
6966 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
6967 Loongson.
6968 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
6969 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
6970 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
6971 external variable.
6972
6973 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
6974
6975 * .bzrignore: Remove grub-dumpbios.
6976
6977 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
6978
6979 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
6980 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
6981 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
6982 existing options which append).
6983 * docs/grub.texi (Simple configuration): Document new options.
6984 Reported by: Ian Jackson. Fixes Debian bug #617538.
6985
6986 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
6987
6988 * util/grub-fstest.c (cmd_cat): New function.
6989 (fstest): Handle CMD_CAT.
6990 (options): Add cat.
6991 (argp_parser): Handle cat.
6992
6993 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
6994
6995 * Makefile.util.def (grub-bin2h): Don't install.
6996 * docs/man/grub-bin2h.h2m: Remove.
6997
6998 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6999
7000 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
7001 place.
7002
7003 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7004
7005 Reenable qemu-mips port.
7006
7007 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
7008 Fix small arc bug while on it.
7009 * gentpl.py: Handle qemu_mips.
7010 * grub-core/Makefile.am: Likewise.
7011 * grub-core/Makefile.core.def: Likewise.
7012 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
7013 inappropriate includes.
7014 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
7015 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
7016 * grub-core/kern/main.c (grub_modules_get_end)
7017 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
7018 * grub-core/kern/mips/qemu-mips: Moved to ..
7019 * grub-core/kern/mips/qemu_mips: ... this.
7020 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
7021 (grub_machine_init): Call terminfo_init and serial_init.
7022 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
7023 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
7024 New variable.
7025 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
7026 parameter passing.
7027 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
7028 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
7029 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
7030 * include/grub/mips/qemu_mips/cmos.h: New file.
7031 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
7032 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
7033 Removed.
7034 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
7035 Use correct mips-style address.
7036 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
7037 (GRUB_TICKS_PER_SECOND): Removed.
7038 (grub_get_rtc): Likewise.
7039 (grub_cpu_idle): Likewise.
7040 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
7041 New definition.
7042 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
7043 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
7044 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
7045 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
7046 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
7047 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
7048 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
7049 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
7050
7051 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7052
7053 SGI ARCS port.
7054
7055 * Makefile.util.def (libgrubmods.a): Add dvh.c.
7056 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
7057 platforms.
7058 * configure.ac: New target mips-arc.
7059 * gentpl.py: Likewise.
7060 * grub-core/Makefile.am: Likewise.
7061 * grub-core/Makefile.core.def: Likewise.
7062 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
7063 (none_decompress): Likewise.
7064 (lsdev): New module.
7065 (datetime): Use lib/arc/datetime.c on ARC.
7066 (part_dvh): New module.
7067 * grub-core/commands/arc/lsdev.c: New file.
7068 * grub-core/disk/arc/arcdisk.c: Likewise.
7069 * grub-core/kern/mips/arc/init.c: Likewise.
7070 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
7071 aligned addresses.
7072 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
7073 support.
7074 (grub_arch_dl_relocate_symbols): Likewise.
7075 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
7076 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
7077 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
7078 platforms.
7079 * grub-core/lib/arc/datetime.c: New file.
7080 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
7081 pci.h on non-loongson.
7082 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
7083 (grub_linux_boot): Set unused registers to 0.
7084 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
7085 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
7086 * grub-core/mmap/mips/uppermem.c: ...here.
7087 * grub-core/partmap/dvh.c: New file.
7088 * grub-core/term/arc/console.c: Likewise.
7089 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
7090 (grub_terminfo_set_current): Add terminal "arc".
7091 (grub_terminfo_readkey): Support ARC sequences.
7092 * include/grub/arc/arc.h: New file.
7093 * include/grub/arc/console.h: Likewise.
7094 * include/grub/disk.h (grub_disk_dev_id): Add
7095 GRUB_DISK_DEVICE_ARCDISK_ID.
7096 * include/grub/mips/arc/kernel.h: New file.
7097 * include/grub/mips/arc/memory.h: Likewise.
7098 * include/grub/mips/arc/time.h: Likewise.
7099 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
7100 * include/grub/mips/kernel.h (grub_halt): ... here.
7101 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
7102 here...
7103 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
7104 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
7105 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
7106 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
7107 proto.
7108 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
7109 from here ...
7110 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
7111 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
7112 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
7113 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
7114 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
7115 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
7116 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
7117 (grub_phys_addr_t): Moved from here ...
7118 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
7119 (grub_vtop): Moved from here ...
7120 * include/grub/mips/memory.h (grub_vtop): ... here.
7121 (grub_map_memory): Moved from here ...
7122 * include/grub/mips/memory.h (grub_map_memory): ... here.
7123 (grub_unmap_memory): Moved from here ...
7124 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
7125 (grub_machine_mmap_iterate): Moved from here ...
7126 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
7127 (grub_mmap_get_lower): Moved from here ...
7128 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
7129 (grub_mmap_get_upper): Moved from here ...
7130 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
7131 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
7132 here ...
7133 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
7134 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
7135 here ...
7136 * include/grub/mips/time.h (grub_get_rtc): ... here.
7137 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
7138 here ...
7139 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
7140 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
7141 here ...
7142 * include/grub/mips/time.h (grub_cpu_idle): ... here.
7143 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
7144 definition.
7145 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
7146 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
7147 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
7148 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
7149 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
7150 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
7151 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
7152 (GRUB_MACHINE_LINK_ADDR): Likewise.
7153 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
7154 to 6.
7155 * util/grub-install.in: Run dvhtool on ARC.
7156 * util/grub-mkimage.c (image_targets): Add mips-arc.
7157 (generate_image): Handle ECOFF output for mips-arc.
7158
7159 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7160
7161 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
7162 blocks.
7163
7164 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7165
7166 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
7167 after enabling port.
7168
7169 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7170
7171 Skip incorrect USB devices.
7172
7173 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
7174 configcnt == 0.
7175 * include/grub/usb.h (grub_usb_err_t): New enum value
7176 GRUB_USB_ERR_BADDEVICE.
7177
7178 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7179
7180 Fuloong video init support.
7181
7182 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
7183 well.
7184 (grub_vga_read_arx): New function.
7185 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
7186 definition.
7187 (framebuffer): New members io, mmioptr and mmiobase.
7188 (read_sis_cmd): New function.
7189 (write_sis_cmd): Likewise.
7190 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
7191 rather than 640x400.
7192 * grub-core/video/sis315_init.c: New file.
7193
7194 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7195
7196 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
7197 non-loongson.
7198 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
7199 to grub_dl_register_symbol.
7200
7201 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7202
7203 Fix compilation errors.
7204
7205 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
7206 potentially unused.
7207 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
7208 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
7209 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
7210 to loongson machines.
7211
7212 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7213
7214 Several FS mtime support.
7215
7216 * grub-core/fs/affs.c (grub_affs_time): New struct.
7217 (grub_affs_file): New field mtime.
7218 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
7219 type. Removed 'size'. New field 'di'. All users updated.
7220 (grub_affs_mount): Simplify checsum checking.
7221 (grub_affs_iterate_dir): New helper grub_affs_create_node.
7222 (grub_affs_dir): Handle mtime.
7223 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
7224 (grub_cpio_dir): Likewise.
7225 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
7226 (grub_hfs_filerec): New field mtime.
7227 (grub_hfs_dir): Handle mtime.
7228 (grub_hfs_mtime): New function.
7229 (grub_hfs_fs): Register grub_hfs_mtime.
7230 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
7231 (grub_iso9660_dir): New field mtime.
7232 (grub_fshelp_node): New field dirent.
7233 (iso9660_to_unixtime): New function.
7234 (iso9660_to_unixtime2): Likewise.
7235 (grub_iso9660_read_symlink): Use node->dirent.
7236 (grub_iso9660_iterate_dir): Likewise.
7237 (grub_iso9660_dir): Set mtime.
7238 (grub_iso9660_mtime): New function.
7239 (grub_iso9660_fs): Register grub_iso9660_mtime.
7240 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
7241 (grub_jfs_inode): New fields atime, ctime and mtime.
7242 (grub_jfs_dir): Set mtime.
7243 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
7244 * grub-core/fs/ntfs.c (list_file): Set mtime.
7245 (grub_ntfs_dir): Likewise.
7246 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
7247 (grub_reiserfs_iterate_dir): Set mtime.
7248 (grub_reiserfs_dir): Likewise.
7249 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
7250 (grub_fshelp_node): Likewise.
7251 (grub_sfs_iterate_dir): Set mtime.
7252 (grub_sfs_dir): Likewise.
7253 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
7254 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
7255 (grub_xfs_inode): New fields atime, mtime, ctime.
7256 (grub_xfs_dir): Set mtime.
7257 * include/grub/datetime.h (grub_datetime2unixtime): New function.
7258 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
7259 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
7260
7261 Support UDF symlinks.
7262
7263 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
7264 (grub_ufs_read_symlink): New function. All users updated.
7265
7266 Check amiga partmap checksum.
7267
7268 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
7269 (grub_amiga_partition): Likewise.
7270 (amiga_partition_map_checksum): New function.
7271 (amiga_partition_map_iterate): Check checksum.
7272
7273 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7274
7275 ROMFS support.
7276
7277 * Makefile.util.def (libgrubmods.a): Add romfs.
7278 * grub-core/Makefile.core.def (romfs): New module.
7279 * grub-core/fs/romfs.c: New file.
7280
7281 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7282
7283 Squashfs v4 support.
7284
7285 * Makefile.util.def (libgrubmods.a): Add squash4.
7286 * grub-core/Makefile.core.def (squash4): New module.
7287 * grub-core/fs/squash4.c: New file.
7288 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
7289 disk_input_start, disk_input.
7290 (get_byte): Handle disk_input.
7291 (grub_zlib_disk_read): New function.
7292 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
7293
7294 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7295 2011-05-15 Feiran Zheng <famcool@gmail.com>
7296
7297 * Makefile.util.def (libgrubmods.a): Add minix3.
7298 * grub-core/Makefile.core.def (minix3): New module.
7299 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
7300 (GRUB_MINIX_BSIZE): Removed.
7301 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
7302 (grub_minix_ino_t): New type.
7303 (grub_minix_le_to_cpu_ino): New macro.
7304 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
7305 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
7306 (grub_minix_data): New field block_size.
7307 (grub_minix_read_file): Handle 64-bit correctly.
7308 * grub-core/fs/minix3.c: New file.
7309
7310 2011-05-15 Tristan Gingold <gingold@free.fr>
7311 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
7312 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7313
7314 IA64 support.
7315
7316 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
7317 * configure.ac: Add ia64-efi target.
7318 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
7319 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
7320 * gentpl.py: Add ia64_efi platform.
7321 Rename x86_efi to efi and Add ia64-efi. All users updated.
7322 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
7323 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
7324 Remove kern/generic/rtc_get_time_ms.c on EFI.
7325 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
7326 kern/ia64/dl_helper.c on ia64-efi.
7327 Add kern/emu/cache.c on emu.
7328 (linux): Use on loader/ia64/efi/linux.c on ia64.
7329 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
7330 whether symbol is a function.
7331 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
7332 (grub_symbol): New field 'isfunc'.
7333 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
7334 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
7335 (grub_dl_load_segments): Place all sections into the same region.
7336 [__ia64__]: Create trampolines and got.
7337 [GRUB_MACHINE_EMU]: Call mprotect.
7338 (grub_dl_resolve_symbols): Resolve symbol type as well.
7339 [__ia64__]: Create function descriptors.
7340 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
7341 (grub_rtc_get_time_ms): ... this. Expressions simplified.
7342 (grub_get_rtc): New function.
7343 * grub-core/kern/emu/cache.c [__ia64__]: New file.
7344 * grub-core/kern/emu/cache.S: Renamed to ...
7345 * grub-core/kern/emu/cache_s.S: ... this.
7346 [__ia64__]: Add a nop.
7347 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
7348 [__ia64__]: New function.
7349 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
7350 * grub-core/kern/ia64/dl.c: New file.
7351 * grub-core/kern/ia64/dl_helper.c: Likewise.
7352 * grub-core/kern/ia64/efi/init.c: New file.
7353 * grub-core/kern/ia64/efi/startup.S: Likewise.
7354 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
7355 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
7356 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
7357 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
7358 * grub-core/loader/ia64/efi/linux.c: New file.
7359 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
7360 (GRUB_MOD_DEP): Likewise.
7361 (grub_dl) [__ia64__]: New fields got and tramp.
7362 (grub_dl): New field 'base'.
7363 (grub_dl_register_symbol): New argument isfunc. All users updated.
7364 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
7365 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
7366 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
7367 (grub_ia64_dl_get_tramp_got_size): New proto.
7368 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
7369 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
7370 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
7371 * include/grub/efi/api.h: Skip call wrappers on ia64.
7372 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
7373 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
7374 * include/grub/elf.h (ELF_ST_INFO): New definition.
7375 * include/grub/ia64/efi/kernel.h: New file.
7376 * include/grub/ia64/efi/memory.h: Likewise.
7377 * include/grub/ia64/efi/time.h: Likewise.
7378 * include/grub/ia64/kernel.h: Likewise.
7379 * include/grub/ia64/setjmp.h: Likewise (from glibc).
7380 * include/grub/ia64/time.h: New file.
7381 * include/grub/ia64/types.h: Likewise.
7382 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
7383 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
7384 New protos.
7385 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
7386 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
7387 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
7388 * util/grub-mkimage.c (image_target_desc): New field pe_target.
7389 All users updated.
7390 (EFI64_HEADER_SIZE): New definition. All users updated.
7391 (image_targets): Add ia64-efi.
7392 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
7393 jumpers_addr. All users updated.
7394 Create function descriptors.
7395 (count_funcs): New function.
7396 (unaligned_uint32): New struct.
7397 (MASK20): New definition.
7398 (MASK19): Likewise.
7399 (MASKF21): Likewise.
7400 (add_value_to_slot_20b): New function.
7401 (add_value_to_slot_21_real): Likewise.
7402 (add_value_to_slot_21): Likewise.
7403 (ia64_kernel_trampoline): New struct.
7404 (nopm): New variable.
7405 (jump): Likewise.
7406 (make_trampoline): New function.
7407 (relocate_addresses): Handle ia64.
7408 (make_reloc_section): Likewise.
7409 (load_image): Likewise.
7410
7411 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7412
7413 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
7414 warning. Move variables before code while on it.
7415
7416 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7417
7418 Fuloong support.
7419
7420 * configure.ac: Rename yeeloong platform to loongson. All users updated.
7421 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
7422 * grub-core/boot/mips/loongson/fuloong.S: New file.
7423 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
7424 Explicitly init CS5536.
7425 [FULOONG]: Don't use serial until CS5536 is available.
7426 Set GPIO based on dumps.
7427 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
7428 [FULOONG]: Handle GPIO and memory controller differences.
7429 Parse machine type in $a2.
7430 * grub-core/boot/mips/startup_raw.S: Determine and save the
7431 architecture.
7432 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
7433 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
7434 init on architecture type.
7435 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
7436 SIS315E. Don't init at_keyboard on fuloong.
7437 (grub_halt): Support Fuloong.
7438 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
7439 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
7440 (loongson_machtypes): New array.
7441 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
7442 type.
7443 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
7444 config. All users updated. Handle CS5536 serial.
7445 * grub-core/term/serial.c (grub_serial_register): Conditionalise
7446 default port on machine type. Register serial as inactive.
7447 * grub-core/video/sis315pro.c: New file.
7448 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
7449 definition.
7450 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
7451 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
7452 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
7453 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
7454 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
7455 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
7456 to ...
7457 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
7458 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
7459 definition.
7460 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
7461 (grub_arch_machine): New extern var.
7462 * include/grub/mips/loongson/serial.h
7463 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
7464 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
7465 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
7466 (GRUB_MACHINE_SERIAL_PORT0): ... this.
7467 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
7468 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
7469 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
7470 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
7471 * include/grub/term.h (grub_term_register_input_inactive): New inline
7472 function.
7473 (grub_term_register_output_inactive): Likewise.
7474 * include/grub/video.h (grub_video_driver_id): New value
7475 GRUB_VIDEO_DRIVER_SIS315PRO.
7476 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
7477 New field "names". All users updated.
7478 New field value IMAGE_FULOONG_FLASH.
7479 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
7480
7481 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
7482
7483 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
7484 and add some clarification.
7485
7486 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7487
7488 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
7489 platforms if kernel is compressed.
7490
7491 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7492
7493 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
7494 unused modules since currently referrence counter isn't reliable and
7495 there isn't much memory to recover there anyway.
7496
7497 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7498
7499 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
7500 rather than resetting it to allow modules to reference themselves
7501 in init.
7502
7503 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7504
7505 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
7506 counter on dependencies since grub_dl_unref already handles this.
7507
7508 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7509
7510 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
7511 on error if not already done.
7512
7513 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7514
7515 Fix few potential memory misusage.
7516
7517 * grub-core/font/font.c (load_font_index): Don't free char_index to
7518 avoid double free.
7519 (grub_font_load): Zero-fill font at alloc for safety.
7520 Close file on error.
7521 (free_font): Free bmp_idx.
7522
7523 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7524
7525 * docs/grub.texi (Installation): Fix several outdated claims.
7526
7527 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 Handle module_license on windows.
7530
7531 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
7532 sections shifted.
7533 (insert_string): Make argument const char * instead of char *.
7534 (write_section_data): Handle long section names.
7535 Handle module_license.
7536
7537 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7538
7539 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
7540 handle class-free menuentries.
7541 (grub_normal_add_menu_entry): Add a check to be sure.
7542
7543 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
7546 PgUp and PgDown.
7547
7548 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7549
7550 * configure.ac: Bump version to 1.99.
7551
7552 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7553
7554 Give ATA device a bit more time on first try in order to allow disks
7555 to spin up.
7556
7557 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
7558 if dev->present is 1. Reset dev->present on failure.
7559 (grub_ata_device_initialize): Set dev->present to 1.
7560 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
7561 (grub_ata_device): New member 'present'.
7562
7563 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7564
7565 * util/grub-mkimage.c (generate_image): Update hash.
7566
7567 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 Flush caches on DMA memory.
7570
7571 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
7572 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
7573 (grub_dma_free): Likewise.
7574 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
7575
7576 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7577
7578 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
7579 to avoid asm treating ld and sd as macros.
7580
7581 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7582
7583 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
7584 decompressor.
7585
7586 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
7589 grub_decompress_core since later would fail if grub_decompress_core
7590 is too far.
7591
7592 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7593
7594 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
7595 R_MIPS_JALR since it's used by newer compiler.
7596
7597 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7598
7599 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
7600
7601 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7602
7603 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
7604 file_path to 0 for surety.
7605 (grub_chainloader_boot): Set exit_data to NULL.
7606 Unset the loader once done.
7607 (grub_cmd_chainloader): Fix confusing error message if file is empty.
7608
7609 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7610
7611 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
7612 unknown key into a dprintf.
7613
7614 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7615
7616 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
7617 on first non-existant partition.
7618
7619 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7620
7621 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
7622 openning fails.
7623 Reported by: Mark Korenberg.
7624
7625 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7626
7627 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
7628 overflow.
7629
7630 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7631
7632 * util/grub-mkimage.c (main): Explicitely flush and sync the output
7633 before closing to ensure that it will be readable by grub-setup.
7634
7635 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7636
7637 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
7638 (devpath_1): Use MAKE_PIWG_PATH.
7639 (devpath_2): Likewise.
7640 (devpath_3): Likewise.
7641 (devpath_4): Likewise.
7642 (devpath_5): Likewise.
7643 (devpath_6): Likewise.
7644
7645 The appleldr.mod was checked that to be binary identical to previous
7646 version.
7647
7648 2011-05-05 Zach <mikezackles>
7649
7650 Support 2010 Macbooks.
7651
7652 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
7653 (devs): Add devpath_6.
7654
7655 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7656
7657 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
7658 /dev/random. /dev/urandom is good enough for our purposes (salting).
7659
7660 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7661
7662 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
7663
7664 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7665
7666 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
7667 hexadecimal.
7668
7669 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7670
7671 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
7672 and not 0 on failure.
7673
7674 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
7675
7676 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
7677 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
7678 disk; otherwise grub_fs_probe will not fall back to the next
7679 filesystem.
7680 (grub_pxefs_open): Likewise, for consistency.
7681 Reported and tested by: Ezekiel Grave.
7682
7683 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
7684
7685 * tests/partmap_test.in: Don't hardcode path to parted.
7686 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
7687
7688 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
7689
7690 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
7691 of `ls' to find out which devices are available.
7692
7693 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7694
7695 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
7696 than source address for efi mmap buffer.
7697
7698 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7699
7700 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
7701 wrong action on non-detecting the magic.
7702
7703 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
7706 already supplied by another part of the module (fixes compilation on
7707 FreeBSD).
7708
7709 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7710
7711 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
7712 match the one used by mdadm.
7713
7714 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
7715
7716 * po/README: Add instructions for creating po/LINGUAS.
7717
7718 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
7719
7720 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
7721 #551428.
7722
7723 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
7724 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
7725 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
7726 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
7727 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
7728 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
7729 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
7730 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
7731 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
7732 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
7733 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
7734 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
7735 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
7736 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
7737 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
7738 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
7739 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
7740 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
7741 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
7742 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
7743 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
7744 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
7745
7746 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
7747
7748 * grub-core/kern/emu/getroot.c
7749 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
7750 test that was incorrectly reintroduced in r3214.
7751 Reported by: Ian Dall. Fixes Savannah bug #33133.
7752
7753 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
7754
7755 Fix stack pointer handling in 16-bit relocator.
7756
7757 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
7758 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
7759 Fixes Ubuntu bug #683904.
7760
7761 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7762
7763 * configure.ac: Bump version to 1.99~rc2.
7764
7765 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7766
7767 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
7768 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
7769 * grub-core/lib/x86_64/setjmp.S: Likewise.
7770 * grub-core/lib/mips/setjmp.S: Likewise.
7771 * grub-core/lib/powerpc/setjmp.S: Likewise.
7772 * grub-core/lib/sparc64/setjmp.S: Likewise.
7773
7774 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7775
7776 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
7777 * grub-core/lib/efi/datetime.c: Likewise.
7778
7779 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7780
7781 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
7782 New function.
7783 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
7784 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
7785 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
7786
7787 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7788
7789 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
7790 bitmap.
7791 (grub_gfxterm_term_init): Likewise.
7792
7793 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7794
7795 Take into account the decorations the computing menu entry width.
7796
7797 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
7798 (grub_gfxmenu_create_box): Register get_border_width.
7799 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
7800 if available.
7801 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
7802 get_border_width.
7803
7804 2011-04-18 Endres Puschner <code@e7p.de>
7805
7806 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
7807 Don't skip first class.
7808
7809 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7810
7811 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
7812 chunks.
7813 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
7814
7815 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7816
7817 Complete 64-bit division support.
7818
7819 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
7820 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
7821 * include/grub/misc.h (grub_divmod64): Rename to ...
7822 (grub_divmod64_full): ... this.
7823 (grub_divmod64): New inline function.
7824
7825 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 * util/grub-mkimage.c (generate_image): Add forgotten comma.
7828
7829 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
7832 performing the necessary test.
7833
7834 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
7837 (kfreebsd.elf): Likewise.
7838 (pc-chainloader.elf): Likewise.
7839 (ntldr.elf): Likewise.
7840
7841 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7842
7843 Identify RAID by its UUID rather than (guessed) name.
7844
7845 * grub-core/disk/raid.c (ascii2hex): New function.
7846 (grub_raid_open): Accept mduuid/%s specification.
7847 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
7848 (get_mdadm_uuid): ... this.
7849 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
7850
7851 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
7852
7853 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
7854 to negative size.
7855
7856 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
7857
7858 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
7859 btrfs subvolume.
7860 * util/grub.d/20_linux_xen.in: Likewise.
7861
7862 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
7863
7864 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
7865 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
7866
7867 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
7868 Build a list of relevant visible mounts using the mnt_id and
7869 parent_mnt_id fields, and then scan that list at the end.
7870
7871 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
7872
7873 * docs/grub.texi (normal): New section.
7874 (normal_exit): New section.
7875 (Embedded configuration): Add reference to normal.
7876 (GRUB only offers a rescue shell): Likewise.
7877 * docs/grub-dev.texi (Error Handling): Fix typo.
7878
7879 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
7880
7881 * NEWS: Drop obsolete entry about probe-only btrfs support.
7882
7883 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
7884
7885 * util/import_gcry.py: Fix typo.
7886
7887 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7888
7889 * NEWS: Add btrfs support.
7890
7891 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7892 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
7893
7894 BtrFS support. Written by me (Vladimir) with important bugfixes and
7895 even more important testing by Colin.
7896
7897 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
7898 * grub-core/Makefile.core.def (btrfs): Add crc.c.
7899 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
7900 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
7901 mem_input_off and mem_input. All users updated to accept in-RAM input.
7902 (gzio_seek): New function.
7903 (test_zlib_header): Likewise.
7904 (grub_gzio_read): Likewise.
7905 (grub_zlib_decompress): Likewise.
7906 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
7907 Accept partial and non-virtual mounts.
7908 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
7909 avoid receiving /dev/dm-X as device.
7910 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
7911 Handle bind and partial mounts.
7912 * grub-core/lib/crc.c: New file.
7913 * include/grub/deflate.h: Likewise.
7914 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
7915 proto.
7916 * include/grub/lib/crc.h: New file.
7917
7918 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7919
7920 Implement automatic module license checking according to new GNU
7921 guidelines.
7922
7923 * grub-core/kern/dl.c (grub_dl_check_license): New function.
7924 (grub_dl_load_core): Use grub_dl_check_license.
7925 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
7926 (GRUB_MOD_LICENSE): Likewise.
7927 (GRUB_MOD_DUAL_LICENSE): Likewise.
7928 All modules updated.
7929
7930 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
7931
7932 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
7933 reserved_first_sector to 1. btrfs reserves plenty of space for boot
7934 loaders.
7935 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
7936
7937 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
7940
7941 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7942
7943 * util/grub-fstest.c (read_file): Report GRUB error if file opening
7944 failed.
7945
7946 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7947
7948 * grub-core/kern/file.c (grub_file_open): Don't take into account the
7949 parenthesis in the middle of the filename.
7950
7951 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7952
7953 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
7954 rather than trying to put initrd way too high.
7955 Reported by: Ryan Lortie <desrt@desrt.ca>
7956
7957 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7958
7959 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
7960 improperly removed string.
7961
7962 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7963
7964 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
7965 is_disk.
7966 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
7967 (open_device) Likewise.
7968 (grub_util_biosdisk_close): Likewise.
7969 Reported by: Mark Korenberg.
7970
7971 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
7972
7973 * util/grub-mkconfig_lib.in: Add missing quotes.
7974
7975 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
7976
7977 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
7978 is NULL.
7979
7980 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7981
7982 Dynamically count the number of lines for the lower banner.
7983
7984 * grub-core/normal/menu_entry.c (per_term_screen): New member
7985 num_entries.
7986 (print_down): Use num_entries.
7987 (update_screen): Likewise.
7988 (grub_menu_entry_run): Set num_entries.
7989 * grub-core/normal/menu_text.c (menu_viewer_data): New member
7990 num_entries.
7991 (grub_print_message_indented): Move real part to ...
7992 (grub_print_message_indented_real): ... here. Additional argument
7993 dry_run.
7994 (draw_border): Additional argument num_entries.
7995 (print_message): Additional argument dry_run.
7996 (print_entries): Receive menu viewer data.
7997 (grub_menu_init_page): New argment num_entries.
7998 (menu_text_set_chosen_entry): Use num_entries.
7999 (grub_menu_try_text): Likewise.
8000 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
8001 All users updated.
8002 (grub_ucs4_count_lines): New function.
8003 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
8004 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
8005 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
8006 (grub_term_border_height): Likewise.
8007 (grub_term_num_entries): Likewise.
8008
8009 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8010
8011 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
8012 Remove now unused string.
8013
8014 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
8015
8016 * docs/grub-dev.texi (Finding your way around): Update for 1.99
8017 build system.
8018 (Getting started): GRUB is developed in Bazaar now, not Subversion.
8019
8020 (Comment): Fix typo.
8021 (Getting started): General copy-editing.
8022 (Typical Development Experience): Likewise.
8023 (Error Handling): Likewise.
8024 (Video API): Likewise.
8025
8026 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
8027
8028 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
8029 throughout.
8030
8031 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 * util/grub-mkimage.c (main): Handle special naming of yeeloong
8034 directory.
8035
8036 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
8037
8038 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
8039 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
8040 "development".
8041
8042 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8043
8044 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
8045 grub_strcpy since the lines aren't necessarily 0-terminated.
8046
8047 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8048
8049 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
8050 root on legacy.
8051
8052 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8053
8054 * grub-core/commands/probe.c (options): Argument to set isn't optional.
8055 (GRUB_MOD_INIT): DEVICE isn't optional.
8056
8057 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8058
8059 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
8060 word on new line if it's too long anyway. Fixes a hang.
8061
8062 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8063
8064 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
8065 const.
8066 * util/grub-setup.c (main): Reuse md device name if available.
8067 * util/raid.c (grub_util_raid_getmembers): Receive device name and
8068 not GRUB name as argument.
8069 Based on patch by: Florian Wagner <fwagner>.
8070
8071 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8072
8073 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
8074 Place mbi on low memory for better compatibility.
8075
8076 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8077
8078 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
8079
8080 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8081 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
8082
8083 * autogen.sh: Ensure that collate and ctype locale is C.
8084 * conf/Makefile.common: Likewise.
8085
8086 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8087
8088 * grub-core/normal/menu.c: Add missing include.
8089
8090 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8091
8092 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
8093
8094 2011-04-08 Martin Zuther <mzuther@mzuther.de>
8095
8096 * util/grub-mkconfig.in: Ignore emacsen backup.
8097
8098 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8099
8100 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
8101 on open.
8102 (grub_util_biosdisk_close): Likewise.
8103
8104 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8105
8106 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
8107 const attribute and use grub_isdigit.
8108
8109 2011-04-06 Andrey <dev_null@ukr.net>
8110
8111 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
8112 gcc warning.
8113
8114 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8115
8116 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
8117 useful grub_dprintf's.
8118
8119 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8120
8121 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
8122
8123 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8124
8125 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
8126
8127 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8128
8129 Output errors if theme loading failed.
8130
8131 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
8132 grub_gfxterm_fullscreen on error paths to ...
8133 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
8134 theme loading error.
8135
8136 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8137
8138 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
8139 space for older compilers.
8140 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
8141
8142 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8143
8144 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
8145 and report them as not RAID members since they are useless for GRUB.
8146 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8147
8148 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 Increase LVM implementation robustness in order not to crash on
8151 configurations like pvmove. Previously code assumed that in some places
8152 only lvs or only pvs are used whereas it seems that they are used
8153 interchangeably.
8154
8155 * grub-core/disk/lvm.c (read_node): New function.
8156 (read_lv): Use read_node.
8157 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
8158 Match volumes only at the end when all lvs are found. Take both
8159 pvs (first) and lvs (second) into account.
8160 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
8161 mirror_* into node_*. All users updated.
8162 (grub_lvm_stripe): Merge this ...
8163 (grub_lvm_mirror): ... and this ...
8164 (grub_lvm_node): ... into this. All users updated.
8165
8166 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8167
8168 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
8169 of function to allow further scanning for LVMs.
8170
8171 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8172
8173 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
8174 on failed seek as it breaks open fd reusage.
8175
8176 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8177
8178 * util/grub-install.in: Add a recommendation to use --recheck before
8179 reporting bugs.
8180
8181 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8182
8183 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
8184 are obtained.
8185
8186 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8187
8188 GRUB developper manual based on existing Internals section and
8189 contributions by the various authors with active copyright assignment.
8190
8191 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
8192 * docs/font_char_metrics.png: New file.
8193 * docs/font_char_metrics.txt: Likewise.
8194 * docs/grub-dev.texi: Likewise.
8195 * docs/grub.texi (Internals): Move from here ...
8196 * docs/grub-dev.texi: ... here.
8197
8198 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
8199
8200 Store the loopback device as data on loopback grub_disk structures,
8201 rather than the file it points to. This fixes use of freed memory
8202 if an existing loopback device is replaced.
8203
8204 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
8205 disk->data, not dev->file.
8206 (grub_loopback_read): Adjust file assignment to match.
8207 Fixes Ubuntu bug #742967.
8208
8209 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
8210
8211 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
8212 when replacing an existing device.
8213
8214 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8215
8216 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
8217 memory corruptions.
8218
8219 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
8220 unsigned.
8221 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
8222 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
8223 (grub_jfs_read_inode): Likewise.
8224 (grub_jfs_opendir): Likewise. Remove now useless casts.
8225 (grub_jfs_getent): Likewise.
8226 Make ino a grub_uint32_t rather than int.
8227 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
8228 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
8229 division and module with bit operations.
8230 (grub_jfs_find_file): Make ino a grub_uint32_t.
8231 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
8232
8233 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
8234
8235 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
8236 warning. (This was in fact always initialised before use, but GCC
8237 wasn't smart enough to prove that.)
8238 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
8239
8240 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8241
8242 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
8243 stack alignment.
8244 (efi_wrap_1): Likewise.
8245 (efi_wrap_2): Likewise.
8246 (efi_wrap_3): Likewise.
8247 (efi_wrap_4): Likewise.
8248 (efi_wrap_5): Likewise.
8249 (efi_wrap_6): Likewise.
8250 (efi_wrap_10): Likewise.
8251 Based on information by: Red Hat/Peter Jones.
8252
8253 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
8254
8255 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
8256 set-but-not-used variable.
8257
8258 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
8259
8260 * docs/grub.texi (Simple configuration): Be more explicit about
8261 GRUB_DEFAULT, and add an example.
8262 Reported by: Leslie Rhorer.
8263
8264 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
8265
8266 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
8267 shell".
8268
8269 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
8270
8271 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
8272 * util/grub.d/20_linux_xen.in: Likewise.
8273
8274 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8275
8276 * util/grub.d/10_linux.in: Try alternative config filenames where
8277 we parse config file.
8278 * util/grub.d/20_linux_xen.in: Likewise.
8279
8280 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
8281
8282 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
8283 * util/grub.d/20_linux_xen.in: Likewise.
8284
8285 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8286
8287 * grub-core/disk/raid.c (insert_array): Add few potentially
8288 useful grub_util_info.
8289 (grub_raid_register): Likewise.
8290
8291 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8292
8293 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
8294 Preserve partition number in mdadm code path.
8295
8296 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8297
8298 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
8299 few potentially useful grub_util_info.
8300
8301 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8302
8303 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
8304
8305 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
8306
8307 * docs/grub.texi (default): Use @example rather than nested
8308 itemized lists to avoid breaking gendocs.
8309
8310 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
8311
8312 * docs/grub.texi (Future): Update.
8313
8314 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
8315
8316 * docs/grub.texi (Environment): New chapter.
8317 (Changes from GRUB Legacy): Link to "Environment block" section for
8318 details of limitations.
8319 (Simple configuration): Likewise. Link to documentation of gfxmode
8320 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
8321 respectively.
8322 (Shell-like scripting): Note that normal variables are stored in the
8323 environment.
8324 (gettext): Link to documentation of lang and locale_dir.
8325 (list_env): New section.
8326 (load_env): New section.
8327 (save_env): New section.
8328
8329 (Reporting bugs): Fix typo.
8330
8331 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8332
8333 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
8334 the example.
8335
8336 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8337
8338 * grub-core/term/at_keyboard.c (set_scancodes)
8339 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
8340
8341 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
8342
8343 * docs/grub.texi (Menu-specific commands): Remove some semantics
8344 that were true in GRUB Legacy but not in GRUB 2.
8345 (submenu): New section.
8346 (false): New section.
8347 (read): New section.
8348 (true): New section.
8349
8350 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
8351
8352 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
8353
8354 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
8355
8356 * docs/grub.texi (Simple configuration): Explain some of the
8357 current limitations of grub-mkconfig.
8358 Reported by: Leslie Rhorer.
8359
8360 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8361
8362 Old macs search for boot.efi rather than for bootia32.efi.
8363
8364 * util/grub-install.in: Copy bootia32.efi to boot.efi.
8365 * util/grub-mkrescue.in: Likewise.
8366 Suggested by: Peter Jones.
8367
8368 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8369
8370 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
8371
8372 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8373
8374 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
8375 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
8376 (grub_lvm_mirror): New struct.
8377 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
8378 (grub_lvm_iterate): Iterate only visible volumes.
8379 (grub_lvm_read): Factor out to ..
8380 (read_lv): ... this. Support mirrors.
8381 (grub_lvm_read): New wrapper function.
8382 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
8383 stripped or mirrored.
8384
8385 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8386
8387 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
8388
8389 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
8390
8391 * docs/grub.texi (loopback): New section.
8392
8393 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
8394
8395 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
8396 removed -p option.
8397
8398 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
8399
8400 * docs/grub.texi (BIOS installation): New section, partly based on
8401 previous text in other sections.
8402 (Installing GRUB using grub-install): Replace BIOS discussion with a
8403 cross-reference.
8404 (Images): Likewise.
8405
8406 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8407
8408 * grub-core/kern/emu/hostdisk.c (find_partition_start)
8409 [HAVE_DIOCGDINFO]: Add safety checks.
8410
8411 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8412
8413 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
8414 per default compiled in kernel and prior to 8.0 isn't shipped at all.
8415
8416 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
8417
8418 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
8419 real_sb->size is zero (e.g. RAID-0), get the disk size from
8420 real_sb->data_size instead.
8421 Fixes Ubuntu bug #743136.
8422
8423 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8424
8425 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
8426 printf clauses for printing size and start.
8427
8428 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8429
8430 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
8431 Reported and tested by: Timothy Nikkel.
8432
8433 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8434
8435 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
8436 (dirty_region_add_real): ... this.
8437 (dirty_region_add): Don't discard margin refresh when performing
8438 scheduled repaint.
8439
8440 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8441
8442 * grub-core/lib/relocator.c (allocate_regstart)
8443 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
8444 terminals are capabple of malloc-free operation.
8445 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
8446 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
8447
8448 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
8449
8450 * util/grub-setup.c: Copy the partition table zone if floppy support
8451 is disabled, even if no partition table is found.
8452
8453 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
8454 during POST if an invalid partition table is contained in the PBR
8455 of the active partition when GRUB is installed to a partition.
8456
8457 2011-03-28 Colin Watson <cjwatson@debian.org>
8458
8459 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
8460 comment.
8461
8462 2011-03-28 Colin Watson <cjwatson@debian.org>
8463
8464 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
8465 to be specific about what kind of RAID device we're scanning for.
8466
8467 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
8468
8469 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
8470 return freed string.
8471
8472 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8473
8474 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
8475
8476 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8477
8478 Use libgeom on FreeBSD to detect partitions.
8479
8480 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
8481 (grub-mkrelpath): Likewise.
8482 (grub-script-check): Likewise.
8483 (grub-editenv): Likewise.
8484 (grub-mkpasswd-pbkdf2): Likewise.
8485 (grub-fstest): Likewise.
8486 (grub-mkfont): Likewise.
8487 (grub-mkdevicemap): Likewise.
8488 (grub-probe): Likewise.
8489 (grub-setup): Likewise.
8490 (grub-ofpathname): Likewise.
8491 (grub-mklayout): Likewise.
8492 (example_unit_test): Likewise.
8493 (grub-menulst2cfg): Likewise.
8494 * grub-core/Makefile.core.def (grub-emu): Likewise.
8495 (grub-emu-lite): Likewise.
8496 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
8497 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
8498 define HAVE_DIOCGDINFO.
8499 (follow_geom_up) [FreeBSD]: New function.
8500 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
8501 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
8502 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
8503 unconditionally of HAVE_DIOCGDINFO.
8504
8505 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8506
8507 Fix FreeBSD compilation problem.
8508
8509 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
8510 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
8511
8512 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
8513
8514 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
8515 Switch back to page zero before loading a kernel, since some kernel
8516 drivers expect that.
8517 Thanks to: Felix Kuehling.
8518
8519 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8520
8521 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
8522 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
8523 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
8524
8525 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8526
8527 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
8528 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
8529
8530 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8531
8532 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
8533 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
8534 malloc is disabled.
8535
8536 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8537
8538 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
8539 for modules headers when counting the needed allocation size.
8540
8541 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
8544 if no ASCII character is found to prevent crash.
8545
8546 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
8547
8548 * grub-core/video/bitmap.c (match_extension): Ignore case.
8549
8550 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8551
8552 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
8553
8554 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8555
8556 * grub-core/script/parser.y: Declare "time" as valid argument.
8557
8558 2011-03-23 Peter Jones <pjones@redhat.com>
8559
8560 Fix incorrect assert failure reporting.
8561
8562 * grub-core/tests/example_functional_test.c (example_test): Add
8563 a failure comment.
8564 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
8565 (failure_start): ...this. Check that malloc succeeded.
8566 Don't call xvasprintf. Return failure struct.
8567 (failure_append_vtext): New function.
8568 (failure_append_text): Likewise.
8569 (add_failure): Likewise.
8570 (grub_test_assert_helper): Likewise.
8571 * include/grub/test.h (grub_test_assert_helper): New declaration.
8572 (grub_test_assert): Macro rewritten.
8573
8574 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8575
8576 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
8577
8578 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8579
8580 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
8581
8582 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8583
8584 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
8585 into GRUB-style one.
8586
8587 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
8590 error and not grub_errno.
8591 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
8592
8593 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8594
8595 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
8596 GRUB_USB_SPEED_NONE in case of failure and not the error code.
8597
8598 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8599
8600 * grub-core/efiemu/i386/pc/cfgtables.c
8601 (grub_machine_efiemu_init_tables): Make declaration a prototype.
8602 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
8603 (grub_xnu_unlock): Likewise.
8604 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
8605
8606 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8607
8608 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
8609 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
8610 * grub-core/commands/hashsum.c (aliases): Likewise.
8611 * grub-core/commands/setpci.c (pci_registers): Likewise.
8612 * grub-core/disk/usbms.c (attach_hook): Likewise.
8613 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
8614 (zio_checksum_table): Likewise.
8615 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
8616 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
8617 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
8618 * grub-core/lib/relocator.c (leftovers): Likewise.
8619 (extra_blocks): Likewise.
8620 * grub-core/loader/i386/bsd.c (relocator): Likewise.
8621 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
8622 (modules_last): Likewise.
8623 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
8624 (devices): Likewise.
8625 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
8626 (modules_last): Likewise.
8627 * grub-core/normal/auth.c (users): Likewise.
8628 * grub-core/normal/context.c (initial_menu): Likewise.
8629 (current_menu): Likewise.
8630 * grub-core/normal/crypto.c (crypto_specs): Likewise.
8631 * grub-core/term/serial.c (grub_serial_ports): Likewise.
8632 (grub_serial_terminfo_input_template): Likewise.
8633 (grub_serial_terminfo_output_template): Likewise.
8634 (grub_serial_terminfo_input): Likewise.
8635 (grub_serial_terminfo_output): Likewise.
8636 (registered): Likewise.
8637 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
8638
8639 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8640
8641 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
8642 grub_video_mode_type_t.
8643 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
8644 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
8645 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
8646
8647 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8648
8649 * util/grub-install.in: Correct the x86-64 name as x86_64.
8650
8651 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
8652
8653 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
8654 initial chunk read from the kernel always includes GRUB's multiboot
8655 header, which is now outside the first sector.
8656
8657 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
8658
8659 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
8660 cached mmap_size, so that this works correctly when called multiple
8661 times.
8662 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
8663
8664 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
8665
8666 * docs/grub.texi (Simple configuration): Tidy up formatting.
8667
8668 2011-03-07 Szymon Janc <szymon@janc.net.pl>
8669
8670 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
8671 Set-but-not-used variable removed.
8672
8673 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8674
8675 Workaround yet another IEEE1275 bug.
8676
8677 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8678 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
8679 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
8680 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
8681 is set.
8682 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8683 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
8684
8685 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8686
8687 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
8688 error.
8689
8690 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
8691
8692 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
8693 empty, since in that case we can only generate either nothing or a
8694 syntactically invalid configuration file.
8695 Reported by: Michal Suchanek. Fixes Debian bug #612898.
8696
8697 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
8698
8699 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
8700 (Making a GRUB bootable CD-ROM): Likewise.
8701 (Invoking grub-mkrescue): New section.
8702 Reported by: Yann Dirson. Fixes Debian bug #612585.
8703
8704 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
8705
8706 * util/grub-install.in: Remove unnecessary brackets from tr
8707 arguments.
8708 * util/grub.d/10_hurd.in: Likewise.
8709 * util/grub.d/10_kfreebsd.in: Likewise.
8710 * util/grub.d/10_linux.in: Likewise.
8711 * util/grub.d/20_linux_xen.in: Likewise.
8712 Reported by: Jamie Heilman. Fixes Debian bug #612564.
8713
8714 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
8715
8716 * include/grub/file.h (not_easly_seekable): Rename to ...
8717 (not_easily_seekable): ... this. Update all users.
8718
8719 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
8720
8721 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
8722 grub-mkrescue.
8723
8724 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8725
8726 * util/grub-mkimage.c (generate_image): Refuse to create the images
8727 bigger than the actual flash (512K) in Loongson machines. 512K is also
8728 the biggest chip supported by them.
8729
8730 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8731
8732 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
8733
8734 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
8735
8736 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
8737 super_offset field.
8738
8739 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8740
8741 * util/grub-install.in: Ignore install device on platforms
8742 where it doesn't make sense. Always use UUIDs except on pc, efi and
8743 sparc64.
8744 Reported by: Daniel Kahn Gillmor.
8745
8746 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8747
8748 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
8749
8750 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8751
8752 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
8753 (iterate_real): Don't rely on partition being non-NULL.
8754
8755 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8756
8757 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
8758 supported platforms. Put a compile time assert for this rather than
8759 generate a warning with 32-bit shift.
8760
8761 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8762
8763 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
8764 logical expression more readable.
8765
8766 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8767
8768 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
8769 even if some elements have a name.
8770 Reported by: Alexander GQ Gerasiov.
8771
8772 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
8773
8774 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
8775 path unreadable if `grub-probe -t abstraction' fails, for example if
8776 memberlist fails on an LVM volume group.
8777 Reported by: Darius Jahandarie.
8778
8779 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
8780
8781 * docs/grub.texi (Simple configuration): Document
8782 GRUB_PRELOAD_MODULES.
8783
8784 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
8785
8786 * .bzrignore: Remove nonexistent grub-pbkdf2.
8787
8788 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
8789
8790 * configure.ac: Bump version to 1.99~rc1.
8791
8792 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
8793
8794 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
8795 for safety.
8796
8797 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8798
8799 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
8800 module.
8801
8802 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8803
8804 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
8805
8806 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8807
8808 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
8809 diskdevid.
8810
8811 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8812
8813 Fix compilation on cygwin.
8814
8815 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
8816 -R .drectve on cygwin.
8817 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
8818 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
8819 (COND_CYGWIN): New condition.
8820 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
8821 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
8822 not @TARGET_OBJ2ELF@.
8823 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
8824 type to determine whether aux is to be used.
8825
8826 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8827
8828 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
8829 realpath'ed device string.
8830 Handle floppy (somewhat).
8831 Issue error in unknown case rather than garbage.
8832 Reported by: Axel Beckert.
8833
8834 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8835
8836 * util/grub.d/00_header.in (load_video): Handle the case when no video
8837 drivers available.
8838 Thanks to: Axel Beckert.
8839
8840 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8841
8842 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
8843 variable. Fixes problem on big endian platforms.
8844
8845 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8846
8847 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
8848 It doesn't work well there.
8849
8850 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8851
8852 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
8853 warning.
8854 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
8855 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
8856 counter.
8857
8858 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8859
8860 Use alias->path rather than buggy "canon".
8861
8862 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
8863 (ofdisk_hash_add): New argument curcan. All users updated.
8864
8865 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
8866
8867 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
8868
8869 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8870
8871 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
8872 loadmask before doing any calculations. Use correct type for offset.
8873 (grub_linux_load64): Likewise.
8874
8875 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
8876
8877 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
8878 with NULL.
8879 (console_grub_equivalences_unshift): Likewise.
8880 Reported by: Daniel Dehennin.
8881
8882 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8883
8884 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
8885 (set_env_limn_ro): Likewise.
8886 (GRUB_MOD_INIT): Likewise.
8887 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
8888 ARRAY_SIZE while on it.
8889 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
8890 * grub-core/normal/context.c (grub_env_export): Move from here ...
8891 * grub-core/kern/env.c (grub_env_export): ... here.
8892 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
8893 prefix.
8894 * grub-core/kern/main.c (grub_main): Export root and prefix.
8895 * include/grub/env.h (grub_env_export): Export.
8896 Reported by: Seth Goldberg.
8897
8898 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8899
8900 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
8901 Take into account space used by ELF sections and multiboot palette.
8902 Reported by: Grégoire Sutre.
8903
8904 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8905
8906 * BUGS: New file.
8907
8908 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8909
8910 Pass more appropriate video id to Linux.
8911
8912 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
8913 grub_video_get_driver_id and variable gfxpayloadforcelfb to
8914 fill have_vga.
8915 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
8916 shift params->lfb_size.
8917 * include/grub/i386/linux.h: Make an enume out of have_vga values.
8918
8919 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8920
8921 * util/grub-menulst2cfg.c: Add missing include of misc.h.
8922
8923 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8924
8925 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
8926 separator and pass bootpath/devid even if only one of them is available.
8927 Reported by: Seth Goldberg.
8928
8929 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8930
8931 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
8932 implementations bug on them.
8933
8934 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
8935 memory.
8936 (filter_memory_map): Likewise.
8937
8938 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8939
8940 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
8941 Reported by: nebuchadnezzar.
8942
8943 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8944
8945 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
8946 Reported by: nebuchadnezzar.
8947
8948 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8949
8950 Submenu default support.
8951
8952 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
8953 auto_boot. All users updated.
8954 Declared static.
8955 Handle chosen and default with submenus.
8956 (grub_menu_execute_with_fallback): Declared static.
8957 Don't notify failure if autobooted. Upper level does it.
8958 (menuentry_eq): New function.
8959 (get_entry_number): Use menuentry_eq.
8960 (show_menu): New parameter "autobooted". All users updated.
8961 (grub_show_menu): Likewise.
8962 * include/grub/normal.h (grub_show_menu): Likewise.
8963 * include/grub/menu.h (grub_menu_execute_entry): Removed.
8964 (grub_menu_execute_with_fallback): Likewise.
8965
8966 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8967
8968 * util/grub-mklayout.c (usage): Update help text.
8969
8970 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8971
8972 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
8973
8974 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8975
8976 * util/grub-menulst2cfg.c (main): Trim the line.
8977
8978 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8979
8980 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
8981 (grub_machine_init): Don't check amount of low memory as reportedly
8982 INT 12h can be broken and if low memory is too low we wouldn't have
8983 gotten into grub_machine_init anyway.
8984
8985 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8986
8987 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
8988 (grub_machine_mmap_iterate): Take low memory into account
8989
8990 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8991
8992 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
8993 badfs.
8994 Reported by: TiCPU.
8995
8996 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8997
8998 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
8999 members errors.
9000
9001 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
9002
9003 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
9004 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
9005
9006 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
9007
9008 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
9009 openbsd and netbsd types being in part_bsd module.
9010
9011 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9012
9013 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
9014 (_FILE_OFFSET_BITS): Likewise.
9015 Reported by: Seth Goldberg.
9016
9017 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
9018
9019 * configure.ac: Check for libdevmapper header.
9020
9021 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9022
9023 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
9024 avoid aliasing.
9025 (fzap_lookup): Likewise.
9026 (dnode_get): Likewise.
9027 (make_mdn): Likewise.
9028 (zfs_mount): Likewise.
9029 (fzap_iterate): Use temporary pointer to avoid aliasing.
9030 (grub_zfs_read): Likewise.
9031 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
9032 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
9033 pointers to avoid aliasing.
9034 (grub_cmd_xnu_kernel64): Likewise.
9035 (grub_xnu_load_driver): Likewise.
9036
9037 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9038
9039 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
9040 aliasing warning.
9041 (grub_cmd_terminal_output): Likewise.
9042 Reported and tested by: Grégoire Sutre.
9043
9044 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9045
9046 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
9047 warning.
9048 Reported and tested by: Grégoire Sutre.
9049
9050 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9051
9052 * configure.ac: Do CPU substitution even if it's specified explicitly.
9053 Reported and tested by: Alain Greppin.
9054
9055 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9056
9057 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
9058 Reported and tested by: Alain Greppin.
9059
9060 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9061
9062 Satisfy some bison versions need for inttypes.h.
9063
9064 * grub-core/lib/posix_wrap/inttypes.h: New file.
9065 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
9066 (int16_t): Likewise.
9067 (int32_t): Likewise.
9068 (int64_t): Likewise.
9069 Reported and tested by: Alain Greppin.
9070
9071 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9072
9073 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
9074 Silence spurious warning.
9075 Reported and tested by: Alain Greppin.
9076
9077 2011-01-07 Szymon Janc <szymon@janc.net.pl>
9078
9079 * docs/grub.texi (Support automatic decompression): Update with xz
9080 decompression support.
9081
9082 2011-01-07 Szymon Janc <szymon@janc.net.pl>
9083
9084 Improve loaders' kernel command line handling.
9085
9086 * grub-core/lib/cmdline.c: New file.
9087 * include/grub/lib/cmdline.h: Likewise.
9088 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
9089 grub_create_loader_cmdline to create kernel command line.
9090 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9091 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
9092 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
9093 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
9094 (linux): Add lib/cmdline.c on common.
9095
9096 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9097
9098 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
9099 inopos might be unaligned.
9100
9101 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9102
9103 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
9104 endian transformations.
9105 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9106 Based on report by: Doug Nazar.
9107
9108 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
9109
9110 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
9111 array->members[i].start_sector.
9112 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
9113
9114 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9115
9116 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
9117 Reported and tested by: Grégoire Sutre.
9118
9119 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
9120
9121 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
9122 avoid causing test failures by clearing the screen.
9123
9124 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
9125
9126 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
9127 Fix prefix check to handle the case where dir ends with a slash
9128 (most significantly, "/" itself).
9129 Reported by: Michael Vogt.
9130
9131 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9132
9133 Run terminfo_cls on initing terminfo output to clear the screen and
9134 move the cursor to (0,0).
9135
9136 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
9137 Call grub_terminfo_output_init.
9138 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
9139 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
9140 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
9141
9142 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9143
9144 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
9145 only when needed.
9146
9147 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9148
9149 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
9150 CTRL.
9151
9152 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9153
9154 The E820 type 5 is BADRAM, not EXEC_CODE.
9155
9156 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
9157 (GRUB_E820_BADRAM): New define.
9158 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
9159 into reserved. Propagate BADRAM.
9160 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
9161 (GRUB_E820_BADRAM): New define.
9162
9163 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9164
9165 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
9166 Ignore the memory post-4G.
9167 (grub_relocator_firmware_alloc_region): Additional debug statement.
9168
9169 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9170
9171 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
9172 names.
9173 Reported by: David Pravec.
9174
9175 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9176
9177 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
9178 BIOSes.
9179
9180 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9181
9182 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
9183 Prevent overflow.
9184 (grub_reed_solomon_recover): Likewise.
9185
9186 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9187
9188 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
9189
9190 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9191
9192 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
9193 variable.
9194
9195 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
9196
9197 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
9198 descriptions of extract_legacy_entries_source and
9199 extract_legacy_entries_configfile.
9200 Reported by: Seung Soo, Ha.
9201
9202 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
9203
9204 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
9205 on devices that do not implement function 0.
9206
9207 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
9208
9209 * grub-core/fs/hfsplus.c: Make parent unsigned.
9210 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
9211 overflows.
9212 (grub_hfsplus_cmp_extkey): Likewise
9213
9214 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
9215
9216 * util/grub-install.in: Correctly use bootloader_id and not
9217 GRUB_DISTRIBUTOR on efibootmgr line.
9218
9219 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
9220
9221 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
9222
9223 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
9224
9225 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
9226 Xen and reorder menu item wording to make it clearer that this entry
9227 will launch Xen. Print separate messages when loading Xen and
9228 Linux.
9229
9230 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
9233 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
9234 loop in case of incorrect amiga partmap.
9235
9236 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9237
9238 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
9239 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
9240 Reported by:EHeM.
9241
9242 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9243
9244 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
9245 spurious warning.
9246 Reported by: crocket
9247
9248 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9249
9250 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
9251 Preload EFIemu.
9252 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
9253
9254 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9255
9256 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
9257 is loaded
9258 (grub_cmd_xnu_kextdir): Likewise.
9259 (grub_cmd_xnu_splash): Likewise.
9260
9261 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9262
9263 Avoid using Reed-Solomon with 0 redundancy.
9264
9265 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
9266 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
9267 or 0 redundancy.
9268 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
9269 (grub_reed_solomon_recover): Likewise.
9270
9271 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9272
9273 Don't use disk subsystem in freebsd_boot.
9274
9275 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
9276 (freebsd_biosdev): Likewise.
9277 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
9278 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
9279
9280 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9281
9282 Handling of files of unknown size is currently limited. They can't be
9283 used e.g. for initrd or modules. Moreover gzip handling of not
9284 easily seekable files is buggy. Disable unknown file size for now. May
9285 be inefficient but works.
9286
9287 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
9288 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
9289
9290 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
9291
9292 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
9293 floppy probe.
9294
9295 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
9296
9297 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
9298
9299 2010-12-25 Shea Levy <shlevy>
9300
9301 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
9302
9303 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9304
9305 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
9306 Windows Server 2008.
9307 Reported by: Devin Giddings.
9308
9309 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
9312 writing an error message because of async power management.
9313 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
9314 (grub_reboot): Likewise.
9315
9316 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
9317
9318 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
9319 keep unit tests from failing when they shouldn't.
9320
9321 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
9322
9323 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
9324 previous patch increased the size of the RS code by 20 bytes (at
9325 least with gcc-4.4), so increase this by 20 bytes to match.
9326 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9327
9328 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
9329
9330 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
9331 scratch area. Make sure to initialise chosen in standalone mode as
9332 well as non-standalone.
9333 Reported by: Robert Hooker and Andy Whitcroft.
9334 Tested by: Andy Whitcroft.
9335
9336 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
9337
9338 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
9339 constructing a new unescaped string and passing it to grub_xputs in
9340 one go, rather than passing characters to grub_printf one at a time.
9341
9342 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
9343
9344 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
9345 initialising utf16.
9346
9347 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
9348
9349 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
9350 comment. Add an extra layer of quotation, requiring the output of
9351 this function to be used in a printf format string.
9352 (gettext_printf): New function.
9353 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
9354 Extract translatable strings from here-documents and use a temporary
9355 variable instead, so that xgettext can find them.
9356 * util/grub.d/10_kfreebsd.in: Likewise.
9357 * util/grub.d/10_linux.in: Likewise.
9358 * util/grub.d/20_linux_xen.in: Likewise.
9359
9360 * po/grub.d.sed: New file.
9361 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
9362 arguments. Set c-format flags on all strings extracted from
9363 util/grub.d/ (xgettext refuses to include these itself for strings
9364 it extracted from a shell file, but these really are c-format).
9365
9366 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
9367
9368 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
9369 Avoid next pointing to nowhere.
9370
9371 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9372
9373 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
9374 rather than assuming than rootblock is exactly in the middle.
9375 (grub_affs_label): Likewise.
9376
9377 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9378
9379 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
9380 reserved_first_sector to 0.
9381 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
9382 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
9383 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
9384
9385 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 Fix handling of UTF-16 UDF labels.
9388
9389 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
9390 (read_string): .. here.
9391 (grub_udf_label): Use read_string.
9392
9393 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
9394
9395 * grub-core/normal/menu_entry.c (run): Execute commands from menu
9396 editor under argument scope.
9397 Reported by: Jordan Uggla
9398
9399 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9400
9401 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
9402
9403 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
9404
9405 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
9406 line, and other keys scroll an entire page (previous handling was
9407 for \r and \n to scroll a page and other keys to scroll two lines).
9408
9409 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9410
9411 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9412 Set ptrdest to correct get_physical_target_address rather than
9413 incorrect get_virtual_current_address.
9414
9415 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
9416
9417 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
9418 correct cat to grub_uint8_t * rather than grub_uint32_t *.
9419
9420 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
9421
9422 * .bzrignore: Ignore grub-core/rs_decoder.S.
9423
9424 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
9425
9426 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
9427 .mo/.mo.gz opening sequence to ...
9428 (grub_mofile_open_lang): ... here.
9429 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
9430 * util/grub.d/00_header.in (grub_lang): Include country part of
9431 locale.
9432 Reported by: Mario Limonciello.
9433
9434 2010-12-09 Robert Millan <rmh@gnu.org>
9435
9436 * NEWS: Document addition of ZFS support.
9437
9438 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
9439
9440 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
9441 rather than `/ 2', as the latter requires -Wa,--divide which would
9442 require bumping our minimum binutils version.
9443
9444 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
9445
9446 * util/grub-script-check.c (main): Print script line number on
9447 error.
9448
9449 2010-12-01 Robert Millan <rmh@gnu.org>
9450
9451 * grub-core/fs/zfs/zfs.c: New file.
9452 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
9453 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
9454 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
9455 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9456
9457 * include/grub/zfs/dmu.h: Likewise.
9458 * include/grub/zfs/dmu_objset.h: Likewise.
9459 * include/grub/zfs/dnode.h: Likewise.
9460 * include/grub/zfs/dsl_dataset.h: Likewise.
9461 * include/grub/zfs/dsl_dir.h: Likewise.
9462 * include/grub/zfs/sa_impl.h: Likewise.
9463 * include/grub/zfs/spa.h: Likewise.
9464 * include/grub/zfs/uberblock_impl.h: Likewise.
9465 * include/grub/zfs/vdev_impl.h: Likewise.
9466 * include/grub/zfs/zap_impl.h: Likewise.
9467 * include/grub/zfs/zap_leaf.h: Likewise.
9468 * include/grub/zfs/zfs.h: Likewise.
9469 * include/grub/zfs/zfs_acl.h: Likewise.
9470 * include/grub/zfs/zfs_znode.h: Likewise.
9471 * include/grub/zfs/zil.h: Likewise.
9472 * include/grub/zfs/zio.h: Likewise.
9473 * include/grub/zfs/zio_checksum.h: Likewise.
9474
9475 * Makefile.util.def: Build ZFS into libgrubmods.
9476 * grub-core/Makefile.core.def: Build zfs.mod.
9477
9478 2010-11-30 Szymon Janc <szymon@janc.net.pl>
9479
9480 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
9481 variable.
9482 * grub-core/commands/wildcard.c (match_files): Likewise.
9483
9484 2010-11-30 Robert Millan <rmh@gnu.org>
9485
9486 * grub-core/loader/i386/bsd.c
9487 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
9488 whether kernel is loaded using grub_loader_is_loaded(), rather
9489 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
9490 certain error conditions.
9491
9492 2010-11-30 Robert Millan <rmh@gnu.org>
9493
9494 * grub-core/commands/echo.c: Include `<grub/term.h>'.
9495 (grub_cmd_echo): Call grub_refresh() after printing a message.
9496
9497 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
9498
9499 Avoid using tricks for initialising endian variables.
9500
9501 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
9502 Make const.
9503 (GRUB_MOD_INIT): Don't byte-swap.
9504 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
9505 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
9506 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
9507 (grub_swap_bytes32_compile_time): Likewise.
9508 (grub_cpu_to_le32_compile_time): Likewise.
9509 (grub_cpu_to_le16_compile_time): Likewise.
9510
9511 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
9512
9513 * util/grub-setup.c (setup): Stop recommending --force. People who
9514 understand the dangers of blocklists are able to find this option
9515 anyway and the ones who don't shouldn't use it anyway.
9516
9517 2010-11-26 Robert Millan <rmh@gnu.org>
9518
9519 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
9520 Update all users.
9521
9522 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
9523
9524 Fix LVM-on-RAID probing.
9525
9526 * util/grub-probe.c (probe): Remember which disk was detected as
9527 RAID (perhaps an LVM physical volume). Use that disk's raidname
9528 rather than that of the top-level disk.
9529
9530 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
9531
9532 Fix cmdline argument quotes for setparams command of menuentry
9533 definitions.
9534
9535 * grub-core/commands/menuentry.c (setparams_prefix): Use single
9536 quotes for arguments.
9537 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
9538 grub_strchrsub function instead.
9539
9540 * include/grub/misc.h (grub_strchrsub): New function.
9541
9542 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
9543
9544 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
9545 effort by skipping "." and ".." entries up-front.
9546 Suggested by: Michael Lazarev.
9547
9548 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
9549
9550 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
9551 ldflags to ldadd, to fix link line ordering.
9552 (none_decompress): Likewise.
9553
9554 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
9555
9556 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
9557 platforms.
9558 (grub-emu-lite): Remove kern/emu/cache.S.
9559
9560 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
9561
9562 * util/deviceiter.c (compare_devices): If the by-id link for a
9563 device couldn't be resolved, fall back to sorting by the by-id link
9564 rather than segfaulting.
9565 Reported and tested by: Daniel Mierswa.
9566
9567 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
9568
9569 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
9570 ldflags, to fix link line ordering.
9571
9572 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
9573
9574 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
9575 linkers are picky about this.
9576
9577 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
9578
9579 * grub-core/Makefile.am (command.lst): Adjust sed expression
9580 ordering so that extended and priority commands aren't treated as
9581 ordinary commands.
9582
9583 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
9584
9585 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
9586 Remove byte-swapping function calls, which are not valid in
9587 structure initialisers.
9588 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
9589 non-const.
9590 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
9591 grub_gpt_partition_type_bios_boot.
9592
9593 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
9594
9595 Fix test program build on GNU/kFreeBSD.
9596
9597 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
9598 $(LIBNVPAIR)' library dependencies.
9599
9600 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
9601
9602 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
9603
9604 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
9605
9606 * util/grub-install.in: Remove excessive quoting that broke
9607 installations to RAID devices.
9608
9609 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9610
9611 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
9612 bootloader version instead of 0.
9613
9614 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9615
9616 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
9617 warning.
9618
9619 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9620
9621 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
9622 retrieve the metadat sector if size isn't known.
9623 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9624
9625 2010-11-18 Robert Millan <rmh@gnu.org>
9626
9627 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
9628 with grub_memcmp().
9629
9630 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
9631
9632 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
9633 arrow.
9634 Reported by: Jordan Uggla.
9635
9636 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9637
9638 Make better UTF compliant.
9639
9640 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
9641 sequences as incorrect.
9642 (grub_is_valid_utf8): Likewise.
9643 (grub_utf8_to_ucs4): Likewise.
9644 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
9645 (grub_ucs4_to_utf8_alloc): Likewise.
9646 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
9647
9648 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9649
9650 Make legacy_source behave like source.
9651
9652 * grub-core/commands/legacycfg.c (legacy_file): Don't call
9653 grub_show_menu.
9654 (grub_cmd_legacy_source): Call grub_show_menu if needed.
9655
9656 2010-11-16 Colin Watson <cjwatson@debian.org>
9657
9658 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
9659 (-Wunused implies -Wunused-parameter, but not vice versa).
9660
9661 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
9662
9663 * configure.ac: Make error messages less confusing by testing for
9664 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
9665 accepted, but produces a diagnostic if something else is wrong).
9666
9667 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
9668
9669 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
9670 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
9671 (now unused).
9672 (grub_keyboard_controller_init)
9673 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
9674 read the initial state since controller isn't inited yet.
9675
9676 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
9677
9678 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
9679 allocate_regbeg may need to create new chunk header.
9680
9681 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9682
9683 Fix quoting in legacy parser.
9684
9685 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
9686 single quotes.
9687 (grub_legacy_parse): Likewise.
9688 Reported by: Jordan Uggla.
9689 Tested by: Jordan Uggla.
9690
9691 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9692
9693 Don't add -lgcc on i386 and x86_64.
9694
9695 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
9696 * conf/Makefile.common (LDADD_KERNEL): Likewise.
9697 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
9698
9699 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9700
9701 * configure.ac: Add -Wno-trampolines when supported.
9702
9703 2010-11-14 Modestas Vainius <modax@debian.org>
9704
9705 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
9706 fakeraid.
9707
9708 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9709
9710 Add generic logical block size support for UDF.
9711
9712 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
9713 (GRUB_UDF_BLKSZ): Removed.
9714 (struct grub_udf_data): New field "lbshift" to hold the logical block
9715 size of the file system in log2 format. All users updated.
9716 (sblocklist): Change type to unsigned.
9717 (grub_udf_mount): Change type of "sblklist" to unsigned.
9718 Move AVDP search before VRS recognition, because the latter requires
9719 knowledge of the logical block size, which is detected during the
9720 former.
9721 Detect and validate logical block size during AVDP search, adding
9722 support for block sizes 512, 1024 and 4096.
9723 Make VRS recognition independent of block size.
9724
9725 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9726
9727 Properly handle deleted files on UDF.
9728
9729 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
9730 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
9731 set.
9732
9733 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9734
9735 Support reading files larger than 2 GiB.
9736
9737 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
9738 "offset" to grub_off_t.
9739 (grub_udf_read_file): Likewise for parameter "pos".
9740
9741 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9742
9743 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
9744 unavailable.
9745 (Simple configuration): Refer to Changes from GRUB Legacy about
9746 save_env availability.
9747
9748 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9749
9750 * util/grub-install.in: Ignore empty partition table detection
9751 instead of trying to include part_ module.
9752
9753 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9754
9755 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
9756 LVM on RAID support.
9757
9758 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9759
9760 Properly define WORDS_BIGENDIAN in wrapped environments.
9761
9762 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
9763 definition.
9764 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
9765
9766 Reported by: Manoel Rebelo Abranches.
9767 Tested by: Manoel Rebelo Abranches.
9768
9769 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9770
9771 * util/grub-mkconfig.in: Fix quoting.
9772
9773 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9774
9775 Support big ext2 files.
9776
9777 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
9778 (grub_ext2_read_block): Support triple indirect blocks.
9779 (grub_ext2_read_file): Use 64-bit types and read size_high.
9780 (grub_ext2_open): Read size_high.
9781 Reported by: Ximin Luo.
9782 Tested by: Manoel Rebelo Abranches.
9783
9784 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9785
9786 * util/grub-install.in: Handle filenames containing spaces.
9787 Reported by: Jordan Uggla.
9788 Tested by: Jordan Uggla.
9789
9790 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9791
9792 * util/grub-mkconfig.in (grub_script_check): New variable.
9793 Use grub_script_check instead of grub-script-check.
9794 Reported by: Barry Jackson.
9795
9796 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9797
9798 * docs/grub.texi (menu): Correct the order.
9799 Reported by: D. Hugh Redelmeier.
9800
9801 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9802
9803 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
9804 jump.
9805
9806 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
9807
9808 * include/grub/elfload.h (grub_elf32_size): New parameter.
9809 All users updated.
9810 Return maximum segments alignment.
9811 (grub_elf64_size): Likewise.
9812 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
9813 Return maximum segments alignment.
9814 (grub_elf64_size): Likewise.
9815 * grub-core/loader/powerpc/ieee1275/linux.c:
9816 (grub_linux_claimmap_iterate): New function. Uses the
9817 "available" property in the "memory" node for memory allocation
9818 for kernel in the PowerPC loader.
9819 (grub_linux_load32): Correctly find linux entry point offset.
9820 (grub_linux_load64): Likewise.
9821
9822 2010-11-07 Robert Millan <rmh@gnu.org>
9823
9824 On mips-yeeloong, build with -march=loongson2f when this flag is
9825 available (GCC >= 4.4).
9826 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
9827 `-march=mips3'.
9828 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
9829 or otherwise add -march=mips3.
9830
9831 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
9832
9833 Suppress shell expansion on echo '*' and echo "*" like cases.
9834 Reported by: Jordan Uggla.
9835
9836 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
9837 string arguments before shell expansion.
9838 * tests/grub_cmd_echo.in: New testcases.
9839
9840 2010-11-07 Robert Millan <rmh@gnu.org>
9841
9842 * conf/mips-qemu-mips.rmk: Remove stale file from previous
9843 transition.
9844
9845 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
9846
9847 * grub-core/kern/emu/hostdisk.c
9848 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
9849
9850 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9851
9852 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
9853 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
9854 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
9855
9856 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9857
9858 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
9859
9860 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9861
9862 * util/grub-install.in: Replace useless recomendation to pass
9863 --modules with a recomendation to report a bug.
9864
9865 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9866
9867 Properly register serial terminfo.
9868 Reported by: Jordan Uggla
9869
9870 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
9871 const.
9872 (grub_serial_terminfo_output_template): Likewise.
9873 (grub_cmd_serial): Register "serial" with terminfo.
9874 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
9875 grub_serial_terminfo_output.
9876
9877 2010-11-05 Robert Millan <rmh@gnu.org>
9878
9879 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
9880 needed).
9881
9882 2010-11-05 Robert Millan <rmh@gnu.org>
9883
9884 On Yeeloong, pass machine type information to Linux.
9885
9886 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
9887 (LOONGSON_MACHTYPE): New macro, set to
9888 "machtype=lemote-yeeloong-2f-8.9inches".
9889 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
9890 additional argument to Linux.
9891
9892 2010-11-04 Robert Millan <rmh@gnu.org>
9893
9894 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
9895 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
9896 (its SATA disks are detected as slaveless IDE master drives on
9897 kFreeBSD).
9898 Reported by Carsten Aulbert.
9899
9900 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
9901
9902 * util/bin2h.c (main): Fix spelling error in generated output.
9903
9904 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
9905
9906 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
9907
9908 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9909
9910 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
9911 vga= option is supplied.
9912
9913 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9914
9915 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
9916 * util/grub.d/10_kfreebsd.in: Likewise.
9917 * util/grub.d/10_linux.in: Likewise.
9918 * util/grub.d/20_linux_xen.in: Likewise.
9919
9920 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9921
9922 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
9923 argument as an argument to no-argument option.
9924
9925 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9926
9927 * util/grub.d/10_linux.in: Add missing load_video with explicit
9928 GRUB_GFXPAYLOAD_LINUX.
9929
9930 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9931
9932 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
9933
9934 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9935
9936 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
9937 elements with invlid index.
9938 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9939 * grub-core/disk/raid.c (insert_array): Automatically reallocate
9940 members.
9941 * include/grub/raid.h (grub_raid_member): New struct.
9942 (grub_raid_array): Transform devices and start_sector into usage of
9943 grub_raid_member. All users updated
9944 (allocated_devs): New member.
9945
9946 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9947
9948 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
9949 is modified
9950
9951 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
9952
9953 NetBSD build fix for getline function conflict from gnulib.
9954
9955 * Makefile.util.def (libgrubkern.a): New library for grub kernel
9956 components that depend on gnulib headers.
9957 (libgrubmods.a): Renamed from earlier libgrub.a.
9958 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
9959
9960 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9961
9962 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
9963 install rather than creating a broken install.
9964
9965 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9966
9967 * util/grub-setup.c (argp): Remove misleading example of installing to
9968 a partition.
9969
9970 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9971
9972 * util/grub-setup.c (setup): Clarify the error message.
9973
9974 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9975
9976 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
9977
9978 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 * grub-core/kern/emu/misc.c
9981 (grub_make_system_path_relative_to_its_root)
9982 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
9983
9984 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9985
9986 * grub-core/kern/emu/misc.c
9987 (grub_make_system_path_relative_to_its_root): Revert r2882.
9988
9989 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
9990
9991 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
9992 useless field head. All users updated.
9993 (free_subchunk): Correct handling of IN_REGION subchunk.
9994
9995 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
9996
9997 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
9998 (Supported kernels): Likewise.
9999
10000 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
10001
10002 Make mktemp invocations portable.
10003
10004 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
10005 exit if mktemp fails.
10006 * tests/grub_script_blockarg.in: Likewise.
10007 * tests/partmap_test.in: Likewise.
10008 * tests/util/grub-shell-tester.in: Likewise.
10009 * tests/util/grub-shell.in: Likewise.
10010 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10011 * Makefile.am: Likewise, and chain shell commands with `&&'
10012 instead of ';'.
10013 * util/grub-mkrescue.in: Use the same explicit template as above, and
10014 exit if mktemp fails.
10015
10016 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
10017
10018 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
10019 Linux kernel, reported by Dennis Schridde.
10020
10021 2010-10-17 Szymon Janc <szymon@janc.net.pl>
10022
10023 * grub-core/normal/auth.c (grub_auth_check_authentication):
10024 Set-but-not-used variable removed.
10025
10026 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10027
10028 * docs/grub.texi (GNU/Linux): Document APM unavailability with
10029 32-bit linux protocol.
10030
10031 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10032
10033 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
10034 cursor shape for sanity.
10035
10036 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10037
10038 * docs/grub.texi (Installation): Document buggy BIOS install.
10039
10040 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10041
10042 * docs/grub.texi (Installation): Indent.
10043
10044 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10045
10046 * util/grub-setup.c (setup): New parameter allow_floppy.
10047 (arguments): New member allow_floppy.
10048 (argp_parser): Handle --allow-floppy.
10049 (main): Pass allow_floppy.
10050 * util/grub-install.in: New option --allow-floppy passed though to
10051 grub-setup.
10052
10053 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10054
10055 * util/grub-install.in: Handle partitionless disks.
10056
10057 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10058
10059 * util/grub-setup.c (setup): Don't clean blocklists before readability
10060 verfification.
10061
10062 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10063
10064 * docs/grub.texi (Installation): Document embedding zone. Remove
10065 obsolete grub-install example.
10066
10067 2010-10-16 Szymon Janc <szymon@janc.net.pl>
10068
10069 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
10070 Set-but-not-used variable ifdef'ed.
10071 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
10072 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
10073 variable removed.
10074 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
10075 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
10076 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
10077 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
10078 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
10079 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
10080 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
10081 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
10082 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
10083 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
10084 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
10085 Likewise.
10086
10087 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10088
10089 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
10090 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
10091 enum value.
10092
10093 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
10096 synonym to _S5_. Needed for some DSDTs.
10097
10098 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10099
10100 Userspace ACPI parser debugging.
10101
10102 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
10103 headers and add relevant defines. Don't include standard headers.
10104 (main) [GRUB_DSDT_TEST]: New function.
10105 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
10106 Don't declare functions.
10107
10108 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10109
10110 Remove dead grub_efi_mm_fini.
10111
10112 * grub-core/kern/efi/mm.c (allocated_page): Removed.
10113 (ALLOCATED_PAGES_SIZE): Likewise.
10114 (MAX_ALLOCATED_PAGES): Likewise.
10115 (allocated_pages): Likewise.
10116 (grub_efi_allocate_pages): Don't record allocated pages.
10117 (grub_efi_free_pages): Likewise.
10118 (grub_efi_mm_init): Likewise.
10119 (grub_efi_mm_fini): Removed.
10120
10121 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10122
10123 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
10124 (grub_efi_mm_init): Take into account the memory map size increase.
10125
10126 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10127
10128 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
10129 (serial_hw_put): Wait based on real time rather than port reads. Don't
10130 roken ports.
10131 * include/grub/serial.h (grub_serial_port): New field broken.
10132
10133 2010-10-16 Robert Millan <rmh@gnu.org>
10134
10135 * grub-core/kern/emu/misc.c
10136 (grub_make_system_path_relative_to_its_root): Fix premature return
10137 when processing non-root ZFS filesystems.
10138 Reported by Sergio Talens-Oliag.
10139
10140 2010-10-15 Robert Millan <rmh@gnu.org>
10141
10142 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
10143 guarantee compressed ones are processed first.
10144
10145 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10146
10147 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
10148 grub_efiemu_autocore.
10149
10150 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10151
10152 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
10153 rather than 0x1b.
10154 (grub_console_getkey): Use correct jae opcode rather than ja.
10155
10156 2010-10-12 Robert Millan <rmh@gnu.org>
10157
10158 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
10159 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
10160 variable. All references updated.
10161
10162 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
10163
10164 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
10165
10166 Correctly distinguish mdraid flavours.
10167
10168 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
10169 (insert_array): New argument raid.
10170 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
10171 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
10172 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
10173
10174 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
10175
10176 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
10177 handling of special keys.
10178
10179 2010-10-02 Aleš Nesrsta <starous@volny.cz>
10180
10181 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
10182 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
10183
10184 2010-10-02 Aleš Nesrsta <starous@volny.cz>
10185
10186 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
10187 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
10188 users updated.
10189 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
10190 Use right endpoint when querying descriptor.
10191
10192 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
10193
10194 Clear out 0x80 color bit on EFI.
10195 Tested by: decoder
10196 Reported by: decoder and meta tech.
10197
10198 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
10199 (grub_console_setcolorstate): Clear out 0x80 bit.
10200 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
10201 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
10202 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
10203
10204 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
10205
10206 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
10207 Set to "auto".
10208
10209 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10210
10211 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
10212 mo_file after freeing.
10213
10214 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10215
10216 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
10217
10218 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10219
10220 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
10221 flags.
10222
10223 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10224
10225 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
10226 usage.
10227
10228 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10229
10230 Put terminfo into core on ieee1275 and yeeloong (needed for console).
10231
10232 * gentpl.py: New groups terminfoinkernel and terminfomodule.
10233 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
10234 and terminfo.h when needed.
10235 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
10236 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
10237 (terminfo): Enable only on terminfokernel.
10238 (extcmd): Likewise.
10239 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
10240 * include/grub/lib/arg.h: Likewise.
10241 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
10242 incorrect usage of ->.
10243
10244 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10245
10246 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
10247 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
10248
10249 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10250
10251 Fix coreboot compilation.
10252
10253 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10254 Take VBE info into account even if only text is supported.
10255 (fill_vbe_info): Take into account the case when only VGA text
10256 is supported.
10257 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
10258 on coreboot, multiboot and qemu.
10259
10260 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10261
10262 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
10263 debug messages.
10264 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
10265
10266 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10267
10268 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
10269 parameters.
10270
10271 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10272
10273 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
10274 if they were BSD-style.
10275
10276 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10277
10278 * grub-core/boot/i386/pc/lnxboot.S: Replace
10279 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
10280 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
10281
10282 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10283
10284 Write embedding zone using Reed-Solomon.
10285
10286 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
10287 * grub-core/Makefile.am (rs_decoder.S): New target.
10288 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
10289 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
10290 (multiboot): Move to RS part.
10291 (post_reed_solomon): New label.
10292 (grub_boot_drive): Move to non-RS part since it's modified in memory
10293 on boot.
10294 Include rs_decoder.S.
10295 * grub-core/lib/reed_solomon.c: New file.
10296 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
10297 New definition.
10298 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
10299 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
10300 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
10301 * include/grub/partition.h (grub_partition_map): Change prototype of
10302 embed to allow returning additional sectors.
10303 * include/grub/reed_solomon.h: New file.
10304 * util/grub-setup.c (setup): Handle Reed-Solomon.
10305
10306 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
10307
10308 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
10309 i386 and x86-64 definedness tests.
10310
10311 2010-09-27 Yves Blusseau <blusseau@zetam.org>
10312
10313 Fix generation of kernel_syms.lst
10314
10315 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
10316 ASM_PREFIX
10317
10318 2010-09-26 Robert Millan <rmh@gnu.org>
10319
10320 Support degraded ZFS arrays in "grub-probe -t device" resolution.
10321
10322 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
10323 the pool is an array of devices, iterate through it and return the
10324 first device that passes a stat() test (instead of blindly returning
10325 the first one).
10326
10327 2010-09-26 Robert Millan <rmh@gnu.org>
10328
10329 Build fixes for GNU/kFreeBSD.
10330
10331 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
10332 to programs that require ZFS conversion.
10333 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
10334 kernels that don't have FLOPPY_MAJOR.
10335
10336 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
10337
10338 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
10339
10340 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
10341
10342 Fix grub-emu build.
10343
10344 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
10345 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
10346 mdraid09 and mdraid1x.
10347
10348 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
10349
10350 Re-enable grub-extras.
10351
10352 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
10353 avoid confusing Automake. Run autogen only twice, once for the top
10354 level and once for grub-core. Add Makefile.util.def and
10355 Makefile.core.def from extra modules to the appropriate autogen
10356 invocations. If Makefile.common exists in an extra module, include
10357 it in both Makefile.util.am and grub-core/Makefile.core.am;
10358 similarly, include any Makefile.util.common file in Makefile.util.am
10359 and any Makefile.core.common file in grub-core/Makefile.core.am.
10360 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
10361 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
10362 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
10363 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
10364
10365 * gentpl.py (gvar_add): Turn GVARS into a set.
10366 (global_variable_initializers): Sort global variables on output.
10367 (vars_init): New function.
10368 (first_time): Likewise.
10369 (library): Ensure that non-global variable initialisations are
10370 emitted before the first time we emit code for a library block.
10371 Append to variables rather than setting them. Only emit
10372 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
10373 each conditional path.
10374 (program): installdir() emits an Autogen macro, so must be passed to
10375 var_add rather than gvar_add.
10376 (data): Likewise.
10377 (script): Likewise.
10378 (rules): New function, centralising handling for different target
10379 types. Set up Guile association lists for first_time and vars_init,
10380 and send most output to a diversion so that variable initialisations
10381 can be emitted first.
10382 (module_rules): Use new rules function.
10383 (kernel_rules): Likewise.
10384 (image_rules): Likewise.
10385 (library_rules): Likewise.
10386 (program_rules): Likewise.
10387 (script_rules): Likewise.
10388 (data_rules): Likewise.
10389
10390 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
10391
10392 * .bzrignore: Add contrib and grub-core/contrib. Remove
10393 grub-core/Makefile.gcry.am.
10394
10395 2010-09-24 Yves Blusseau <blusseau@zetam.org>
10396
10397 * grub-core/lib/LzFind.c: Add missing include.
10398 * grub-core/lib/LzmaEnc.c: Likewise.
10399 * grub-core/script/lexer.c: Likewise.
10400 * grub-core/script/yylex.l: Likewise.
10401 * util/grub-macho2img.c: Likewise.
10402 * util/grub-menulst2cfg.c: Likewise.
10403 * util/grub-mklayout.c: Likewise.
10404 * util/grub-mkpasswd-pbkdf2.c
10405 * util/grub-mkrelpath.c: Likewise.
10406 * util/resolve.c: Likewise.
10407
10408 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
10409
10410 * Makefile.util.def (example_unit_test): Add
10411 grub-core/gnulib/libgnu.a.
10412
10413 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
10414
10415 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
10416
10417 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
10418
10419 Support xz compression on yeeloong.
10420
10421 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
10422 * configure.ac: Check for LZMA.
10423 * grub-core/Makefile.core.def (xz_decompress): New target.
10424 (none_decompress): Likewise.
10425 * grub-core/boot/decompressor/minilib.c: New file.
10426 * grub-core/boot/decompressor/none.c: Likewise.
10427 * grub-core/boot/decompressor/xz.c: Likewise.
10428 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
10429 * grub-core/kern/mips/cache_flush.S: Likewise.
10430 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
10431 * grub-core/kern/mips/startup.S: Move first stage to ...
10432 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
10433 nomacro.
10434 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
10435 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
10436 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
10437 Allocate statically.
10438 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
10439 Allocate statically or use scratch. Don't check CRC32.
10440 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
10441 Allocate statically. Don't check CRC32.
10442 * include/grub/decompressor.h: New file.
10443 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
10444 Removed.
10445 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
10446 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
10447 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
10448 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
10449 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
10450 * util/grub-mkimage.c (grub_compression_t): New type.
10451 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
10452 (image_target_desc): New field default_compression.
10453 (image_targets): Adjust yeeloong targets.
10454 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
10455 (compress_kernel): New parameter comp.
10456 (generate_image): Likewise. Handle new compression case.
10457 (options): New option --compression
10458 (help): Likewise.
10459 (main): Handle new option.
10460
10461 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
10462
10463 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
10464
10465 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
10466
10467 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
10468 typo in __i386__ conditional.
10469
10470 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
10471
10472 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
10473 include.
10474
10475 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
10476
10477 Implement EFI and ACPI multiboot2 extensions.
10478
10479 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
10480 new tags as supported.
10481 (acpiv2_size): New function.
10482 (grub_multiboot_get_mbi_size): Take new tags into account.
10483 (grub_multiboot_make_mbi): Add new tags.
10484 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
10485
10486 2010-09-21 Aleš Nesrsta <starous@volny.cz>
10487
10488 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
10489 Added missing configuration of USB device.
10490
10491 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10492
10493 * grub-core/normal/menu_entry.c (run): Make sure we always return
10494 a value.
10495
10496 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10497
10498 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
10499 NumberOfPages is UINT64 according to the UEFI specification, not
10500 UINTN. Fix printf format.
10501
10502 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10503
10504 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
10505 `err' to grub_usb_err_t.
10506 Reported and tested by: KESHAV P.R.
10507
10508 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10509
10510 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
10511 tpart non-const, so that we can assign to it. (Since this is a
10512 typedef, the constness refers to the pointer rather than what it
10513 points to.)
10514
10515 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10516
10517 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
10518 $(top_srcdir)/grub-core/gnulib as well as
10519 $(top_builddir)/grub-core/gnulib.
10520 Reported by: KESHAV P.R.
10521
10522 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10523
10524 * util/grub-install.in: Fix the bootloader ID option to be
10525 consistently --bootloader-id, not --bootloader_id.
10526 Reported by: KESHAV P.R.
10527
10528 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10529
10530 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
10531 check hash checksum." consistently translatable.
10532
10533 2010-09-21 Yves Blusseau <blusseau@zetam.org>
10534
10535 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
10536 $(top_builddir).
10537
10538 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10539
10540 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
10541 (GRUB_MOD_INIT): Register sha1sum command.
10542 (GRUB_MOD_FINI): Unregister sha1sum command.
10543
10544 2010-09-21 Yves Blusseau <blusseau@zetam.org>
10545
10546 Keep boot and grub directory names in sync with utils scripts
10547
10548 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
10549 * config.h.in: Add previous macros.
10550 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
10551 * util/grub-install.in: Use $bootdir and $grubdir variables.
10552
10553 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10554
10555 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
10556 convert partition names to disk names if the new `convert' parameter
10557 is set.
10558 (grub_util_biosdisk_get_grub_dev): If opening the disk device
10559 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
10560 disk in its own right. This can happen with Xen disk images.
10561
10562 2010-09-21 Yves Blusseau <blusseau@zetam.org>
10563
10564 * util/grub-editenv.c: Update strings to avoid warnings when generating
10565 grub.pot file.
10566 * util/grub-setup.c: Likewise.
10567
10568 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
10569
10570 * configure.ac: Change version to 1.99~beta0.
10571
10572 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
10573
10574 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
10575 Add BADRAM.
10576 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
10577 Likewise.
10578 * include/multiboot.h: Resynced with specification.
10579 * include/multiboot2.h: Likewise.
10580
10581 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10582
10583 Fix po directory handling.
10584
10585 * configure.ac: Create po/Makefile.in rather than po/Makefile.
10586 * grub-core/gnulib/Makefile.am: Import gettext module.
10587 * m4/gnulib-cache.m4: Likewise.
10588 * m4/gnulib-comp.m4: Likewise.
10589 * m4/gettext.m4: New file, from gnulib.
10590 * m4/glibc2.m4: Likewise.
10591 * m4/iconv.m4: Likewise.
10592 * m4/intdiv0.m4: Likewise.
10593 * m4/intl.m4: Likewise.
10594 * m4/intldir.m4: Likewise.
10595 * m4/intlmacosx.m4: Likewise.
10596 * m4/intmax.m4: Likewise.
10597 * m4/inttypes-pri.m4: Likewise.
10598 * m4/lcmessage.m4: Likewise.
10599 * m4/lib-ld.m4: Likewise.
10600 * m4/lib-link.m4: Likewise.
10601 * m4/lib-prefix.m4: Likewise.
10602 * m4/lock.m4: Likewise.
10603 * m4/nls.m4: Likewise.
10604 * m4/po.m4: Likewise.
10605 * m4/printf-posix.m4: Likewise.
10606 * m4/progtest.m4: Likewise.
10607 * m4/threadlib.m4: Likewise.
10608 * m4/uintmax_t.m4: Likewise.
10609 * m4/visibility.m4: Likewise.
10610 * po/Makefile.am: Remove.
10611 * po/Makefile.in.in: New file, from gettext.
10612 ($(DOMAIN).pot-update): Support POTFILES-shell.
10613 * po/Makevars: New file.
10614 * po/POTFILES-shell: Rename to ...
10615 * po/POTFILES-shell.in: ... this. Update.
10616 * po/POTFILES: Rename to ...
10617 * po/POTFILES.in: ... this. Update.
10618 * po/Rules-quot: New file, from gettext.
10619 * po/boldquot.sed: Likewise.
10620 * po/en@boldquot.header: Likewise.
10621 * po/en@quot.header: Likewise.
10622 * po/insert-header.sin: Likewise.
10623 * po/quot.sed: Likewise.
10624 * po/remove-potcdate.sin: Likewise.
10625
10626 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10627
10628 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
10629
10630 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10631
10632 * util/grub.d/20_linux_xen.in: Use submenus.
10633
10634 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10635
10636 Support submenus.
10637
10638 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
10639 parameter submenu. All users updated.
10640 * grub-core/normal/main.c (free_menu): Rename to ...
10641 (grub_normal_free_menu): ... this. Made global.
10642 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
10643 if requested.
10644 * grub-core/normal/menu_entry.c (screen): New field submenu.
10645 (make_screen): Set submenu.
10646 (run): Open new context if requested.
10647 * include/grub/menu.h (grub_menu_entry): New field submenu.
10648 * include/grub/normal.h (grub_normal_free_menu): New proto.
10649
10650 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10651
10652 Menu entries extractor.
10653
10654 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
10655 variants.
10656 (GRUB_MOD_INIT): Register new variants.
10657 (GRUB_MOD_FINI): Unregister new variants.
10658 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
10659 into grub_cmd_legacy_source.
10660 (grub_cmd_legacy_source): Implement extractor variants.
10661 (GRUB_MOD_INIT): Register new variants.
10662 (GRUB_MOD_FINI): Unregister new variants.
10663 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
10664 as an extractor.
10665 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
10666 search as an extractor.
10667 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
10668 test as an extractor.
10669 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
10670 as an extractor.
10671 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
10672 (grub_env_new_context): New function.
10673 (grub_env_context_open): Likewise.
10674 (grub_env_extractor_open): Likewise.
10675 (grub_env_extractor_close): Likewise.
10676 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
10677 grub_extractor_level.
10678 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
10679 * include/grub/env.h (grub_env_extractor_open): New proto.
10680 (grub_env_extractor_close): Likewise.
10681 * include/grub/normal.h (grub_extractor_level): New external variable.
10682
10683 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10684
10685 Make cutmem accept a region specification.
10686 Suggested by: Samuel Thibault
10687
10688 * grub-core/mmap/mmap.c (parsemem): New function.
10689 (grub_cmd_cutmem): Handle new arguments.
10690
10691 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10692
10693 New command cutmem.
10694
10695 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
10696 (GRUB_MOD_INIT): Register new command.
10697 (GRUB_MOD_FINI): Unregister new command.
10698
10699 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10700
10701 Support some annoying BSD and Minix subpartitions.
10702
10703 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
10704 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
10705 Properly handle concatenation.
10706 * grub-core/kern/device.c (grub_device_iterate): Likewise.
10707 * grub-core/normal/completion.c (iterate_partition): Likewise.
10708 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
10709 contain partition. All users updated.
10710 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
10711 struct.
10712 (grub_openbsdlabel_partition_map): Likewise.
10713 (bsdlabel_partition_map_iterate): Rename to ..
10714 (iterate_real): ... this. New arguments sector, freebsd and pmap.
10715 (bsdlabel_partition_map_iterate): New function.
10716 (netopenbsdlabel_partition_map_iterate): Likewise.
10717 (netbsdlabel_partition_map_iterate): Likewise.
10718 (openbsdlabel_partition_map_iterate): Likewise.
10719 (GRUB_MOD_INIT): Register new partmaps.
10720 (GRUB_MOD_FINI): Unregister new partmaps.
10721 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
10722 (grub_partition_msdos_iterate): ... this. All users updated.
10723 Don't support embedding other than in a minix partition.
10724 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
10725 proto.
10726 * include/grub/partition.h (grub_partition): New field msdostype.
10727 * util/grub-install.in: Handle openbsd and netbsd types being in
10728 part_bsd module.
10729
10730 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10731
10732 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
10733
10734 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
10735 * grub-core/Makefile.core.def (mdraid): Renamed to ...
10736 (mdraid09): ... this.
10737 (mdraid1x): New module.
10738 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
10739 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
10740
10741 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10742
10743 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
10744 vsprintf.
10745
10746 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10747
10748 * grub-core/commands/efi/lsefimmap.c: Correct header.
10749 * NEWS: Update.
10750
10751 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10752
10753 * util/grub-editenv.c (argp_parser): Don't pass translated strings
10754 as printf format strings; the translations might contain '%' which
10755 could cause a crash.
10756 (main): Likewise.
10757 * util/grub-fstest.c (argp_parser): Likewise.
10758 * util/grub-setup.c (argp_parser): Likewise.
10759 (main): Likewise.
10760
10761 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10762
10763 Use argp in grub-fstest.
10764
10765 * util/grub-fstest.c: Don't include getopt.h.
10766 Include argp.h.
10767 (root): New variable.
10768 (args_count): Likewise.
10769 (nparm): Likewise.
10770 (num_disks): Likewise.
10771 (images): Likewise.
10772 (cmd): Likewise.
10773 (debug_str): Likewise.
10774 (args): Likewise.
10775 (options): Transformed to argp.
10776 (usage): Removed.
10777 (main): Split argument parsing into ...
10778 (argp_parser): ... this. Changed to argp format.
10779 (argp): New variable.
10780 (main): Use argp_parse.
10781
10782 2010-09-20 Tristan Gingold <gingold@free.fr>
10783 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
10784 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10785
10786 * grub-core/commands/efi/lsefimmap.c: New file.
10787 * grub-core/Makefile.core.def (lsefimmap): New module.
10788 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
10789
10790 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10791
10792 Pause the execution (10s max) if any errors are displayed so the user
10793 has a chance to see them.
10794
10795 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
10796 (grub_print_error): Increment grub_err_printed_errors.
10797 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
10798 execution if any errors were displayed.
10799 (show_menu): Remove old code for pause.
10800 * grub-core/normal/menu_entry.c (run): Likewise.
10801 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
10802 users updated.
10803 (grub_normal_get_char_counter): Likewise.
10804 * include/grub/err.h (grub_err_printed_errors): New external variable.
10805 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
10806
10807 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10808
10809 Support multiboot VBE info.
10810
10811 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10812 Take VBE info into account.
10813 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
10814 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
10815 Call fill_vbe_info when appropriate.
10816 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
10817 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
10818 as supported.
10819 (grub_multiboot_get_mbi_size): Take new tags into account.
10820 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
10821 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
10822 Call fill_vbe_tag when appropriate.
10823 (grub_multiboot_make_mbi): Properly align tags.
10824 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
10825 function.
10826 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
10827 proto.
10828 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
10829
10830 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10831
10832 Suport manual terminal geometry specification.
10833
10834 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
10835 Save state in grub_ofconsole_terminfo_output.
10836 (grub_ofconsole_term): Use grub_terminfo_getwh.
10837 (grub_ofconsole_getwh): Removed.
10838 * grub-core/term/serial.c (grub_serial_getwh): Removed.
10839 (grub_serial_term): Use grub_terminfo_getwh.
10840 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
10841 (options): New struct.
10842 (OPTION_*): New enum.
10843 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
10844 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
10845 width and height.
10846 (grub_terminfo_getwh): New proto.
10847 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
10848
10849 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10850
10851 Handle legacy "terminal" command.
10852
10853 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
10854 and FLAG_TERMINAL.
10855 (legacy_commands): Add terminal and title.
10856 (grub_legacy_parse): Handle terminal. Simplify title handling.
10857
10858 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10859
10860 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
10861 parameters overflow.
10862
10863 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10864
10865 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
10866 widthspec.h.
10867
10868 * docs/grub.texi (Shell-like scripting): Document `!'.
10869 (Network): Simplify using new i386-pc-pxe format. Mention
10870 grub-mknetdir.
10871
10872 * NEWS: Update.
10873
10874 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10875
10876 * Makefile.am (SUBDIRS): Restore "."; it's important to force
10877 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
10878 when needed.
10879
10880 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10881
10882 * grub-core/commands/efi/lsefisystab.c: Correct header.
10883 * grub-core/commands/efi/lssal.c: Likewise.
10884 * grub-core/commands/testload.c: Likewise.
10885
10886 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10887
10888 * util/grub-mkrescue.in: Add explicit root argument to --set to
10889 prevent the UUID being interpreted as an argument to --set (matches
10890 previous change to prepare_grub_to_access_device).
10891
10892 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10893
10894 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
10895 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
10896 the verbosity of later #ifs.
10897 (find_partition_start): Define this function on FreeBSD too.
10898 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
10899 function.
10900 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
10901 on FreeBSD.
10902
10903 2010-09-20 Yves Blusseau <blusseau@zetam.org>
10904
10905 * util/grub-editenv.c: Use argp instead of getopt.
10906
10907 2010-09-20 Yves Blusseau <blusseau@zetam.org>
10908
10909 * util/grub-setup.c: Use argp instead of getopt.
10910
10911 2010-09-20 Yves Blusseau <blusseau@zetam.org>
10912
10913 Use gnulib-tool to create gnulib source files.
10914
10915 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
10916 grub-core/gnulib directories
10917 * .bzignore: Add **/.deps and autogenerated gnulib files
10918 * configure.ac: Assign auxiliary directory to build-aux, add invocation
10919 of gnulib macros, add grub-core/gnulib/Makefile
10920 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
10921 include m4 directory to aclocal.
10922 * Makefile.util.def: Remove direct compilation of gnulib source files
10923 and use the new grub-core/gnulib/libgnu.a.
10924 * build-aux/config.rpath: move config.rpath from top directory to
10925 build-aux
10926 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
10927 in gnulib headers
10928 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
10929 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
10930 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
10931 header.
10932 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
10933 string.
10934
10935 2010-09-20 Yves Blusseau <blusseau@zetam.org>
10936
10937 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
10938 grub-core/genmod.sh and grub-core/gensyminfo.sh
10939
10940 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
10941
10942 Add a test for echo command options.
10943
10944 * tests/grub_cmd_echo.in: New test.
10945 * Makefile.util.def: Rules for new test.
10946
10947 2010-09-20 Szymon Janc <szymon@janc.net.pl>
10948
10949 Remove crc.mod and move crc command to hashsum.mod.
10950 Remove lib/crc.c - users updated to use gcrypt implementation.
10951
10952 * grub-core/commands/crc.c: Removed.
10953 * grub-core/Makefile.core.def (crc): Module removed.
10954 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
10955 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
10956 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
10957 * grub-core/lib/crc.c: Removed.
10958 * include/grub/lib/crc.h: Removed.
10959 * Makefile.util.def (crc): Remove lib/crc.c
10960 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
10961 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
10962 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
10963 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
10964 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
10965 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
10966
10967 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10968
10969 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
10970
10971 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10972
10973 Split config.h for util and core.
10974
10975 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
10976 (ADDR32): Likewise.
10977 (DATA32): Likewise.
10978 (BSS_START_SYMBOL): Likewise.
10979 (END_SYMBOL): Likewise.
10980 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
10981 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
10982 * config.h.in: New file.
10983 * configure.ac: Use config-util.h as config define file.
10984 Rename MACHINE into GRUB_MACHINE. All users updated.
10985 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
10986 updated.
10987 (NESTED_FUNC_ATTR): Likewise.
10988 Substitue new variables.
10989 (COND_HAVE_ASM_USCORE): New conditional.
10990 * grub-core/Makefile.am (ASM_PREFIX): New variable.
10991 (kernel_syms.lst): Use ASM_PREFIX.
10992 * grub-core/kern/emu/console.c: Include config-util.h.
10993 * grub-core/kern/emu/misc.c: Likewise.
10994 * grub-core/kern/emu/mm.c: Likewise.
10995 * include/grub/emu/misc.h: Likewise.
10996 * include/grub/libgcc.h: Likewise.
10997
10998 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10999
11000 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
11001 constants usage.
11002 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
11003 Fix GRUB_TERM_KEY_* constants usage.
11004 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
11005
11006 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11007
11008 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
11009 print pointer.
11010 * grub-core/bus/usb/uhci.c: Remove empty define.
11011 (grub_uhci_check_transfer): Add missing cast.
11012 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
11013 print pointer.
11014 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
11015 PRIuGRUB_SIZE.
11016 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
11017
11018 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11019
11020 * grub-core/Makefile.core.def (legacycfg): Add
11021 lib/i386/pc/vesa_modes_table.c on emu.
11022
11023 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
11024
11025 Reduce number of temporary files generated by build system.
11026
11027 * grub-core/gencmdlist.sh: Removed.
11028 * grub-core/genfslist.sh: Removed.
11029 * grub-core/genhandlerlist.sh: Removed.
11030 * grub-core/genmodsrc.sh: Removed.
11031 * grub-core/genpartmaplist.sh: Removed.
11032 * grub-core/genparttoollist.sh: Removed.
11033 * grub-core/gentermiinallist.sh: Removed.
11034 * grub-core/genvideolist.sh: Removed.
11035
11036 * grub-core/genmod.sh.in: New file.
11037 * grub-core/gensyminfo.sh.in: New file.
11038
11039 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
11040 * conf/Makefile.extra-dist: Update with new files.
11041 * gentpl.py: Remove rules related to unnecessary temporary files.
11042 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
11043 and und-* files.
11044 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
11045 genmod.sh scripts.
11046 * grub-core/bus/usb/uhci.c: Remove empty #define.
11047 * grub-core/genmoddep.awk: Updated with new syminfo format.
11048 * util/bash-completion.d/Makefile.am: Add config.log to
11049 CLEANFILES.
11050
11051 2010-09-19 Yves Blusseau <blusseau@zetam.org>
11052
11053 * Makefile.util.def: Add forgotten $(LIBINTL) library.
11054
11055 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
11056
11057 * util/grub-mkconfig.in: Check the config script for syntax errors
11058 before saving.
11059
11060 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
11061 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11062
11063 * Makefile.util.def (grub-install): Use util/grub-install.in on all
11064 platforms.
11065 * util/grub-install.in: Add EFI and IEEE1275 support.
11066 * util/i386/efi/grub-install.in: Removed.
11067 * util/ieee1275/grub-install.in: Likewise.
11068
11069 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11070
11071 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
11072 (grub_cmd_cmosclean): Likewise.
11073 (GRUB_MOD_INIT): Register command cmosclean.
11074 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
11075 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
11076
11077 2010-09-18 Carles Pina i Estany <carles@pina.cat>
11078 2010-09-18 Aleš Nesrsta <starous@volny.cz>
11079 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11080
11081 Add keyboard layouts support.
11082
11083 * Makefile.util.def (grub-mklayout): New file.
11084 (grub-kbdcomp): New script.
11085 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
11086 Add keyboard_layouts.h.
11087 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
11088 commands/boot.c on yeeloong.
11089 (keylayouts): New module.
11090 * grub-core/bus/usb/ohci.c
11091 * grub-core/bus/usb/uhci.c
11092 * grub-core/bus/usb/usbhub.c (rescan): New variable.
11093 (grub_usb_add_hub): Poll interrupt pipe for device handling.
11094 (attach_root_port): Likewise.
11095 (poll_nonroot_hub): Likewise.
11096 (grub_usb_poll_devices): Likewise.
11097 (detach_device): Close transfer.
11098 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
11099 function.
11100 (grub_usb_bulk_setup_readwrite): Likewise.
11101 (grub_usb_bulk_finish_readwrite): Likewise.
11102 * grub-core/commands/keylayouts.c: New file.
11103 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
11104 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
11105 aliases.
11106 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
11107 support scancode 2.
11108 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
11109 * include/grub/keyboard_layouts.h: New file.
11110 * util/grub-mklayout.c: New file.
11111 * util/grub-kbdcomp.in: Likewise.
11112
11113 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11114
11115 Unify memory types.
11116
11117 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
11118 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
11119 types.
11120 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
11121 (grub_upper_mem): Likewise.
11122 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
11123 * include/grub/memory.h (grub_memory_type_t): New enum.
11124 All users updated.
11125
11126 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11127
11128 * grub-core/Makefile.core.def (lsapm): New module.
11129 * grub-core/commands/i386/pc/lsapm.c: New file.
11130 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
11131 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
11132 Likewise.
11133 * include/grub/i386/pc/apm.h: New file.
11134 * include/multiboot.h (multiboot_apm_info): New struct.
11135
11136 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11137
11138 GRUB-legacy configuration file support.
11139
11140 * Makefile.util.def (grub-menulst2cfg): New util.
11141 * docs/man/grub-menulst2cfg.h2m: New file.
11142 * grub-core/Makefile.core.def (legacycfg): New module.
11143 * grub-core/commands/legacycfg.c: New file.
11144 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
11145 (grub_normal_add_menu_entry): ... this.
11146 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
11147 (grub_normal_set_password): ...this.
11148 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
11149 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
11150 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
11151 * grub-core/lib/legacy_parse.c: New file.
11152 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
11153 * include/grub/i386/pc/vesa_modes_table.h: New file.
11154 * include/grub/legacy_parse.h: Likewise.
11155 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
11156 * util/grub-menulst2cfg.c: New file.
11157
11158 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
11159
11160 * grub-core/kern/emu/hostdisk.c
11161 (convert_system_partition_to_system_disk): Initialise node.
11162
11163 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
11164
11165 * grub-core/kern/emu/hostdisk.c
11166 (convert_system_partition_to_system_disk): Fix devmapper memory pool
11167 leak.
11168 Reported and based on patch by: Modestas Vainius.
11169
11170 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
11171
11172 Fix DM-RAID probing with recent versions of device-mapper udev
11173 rules.
11174
11175 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
11176 canonicalise device paths under /dev/mapper/.
11177 (convert_system_partition_to_system_disk): Compare the
11178 uncanonicalised path to /dev/mapper/ rather than the canonicalised
11179 path, since device nodes under /dev/mapper/ are often symlinks.
11180
11181 2010-09-17 Yves Blusseau <blusseau@zetam.org>
11182
11183 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
11184
11185 2010-09-16 Yves Blusseau <blusseau@zetam.org>
11186
11187 * configure.ac: Avoid some annoying error messages if freetype-config
11188 program is not found.
11189
11190 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
11191
11192 Support RAID on virtio devices, and others.
11193
11194 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
11195 Rename to ...
11196 [__MINGW32__] (grub_find_device): ... this.
11197 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
11198 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
11199 reasonable default if dir is NULL.
11200 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
11201 ...
11202 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
11203 (grub_guess_root_device): Update callers.
11204 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
11205
11206 * util/raid.c (grub_util_getdiskname): Remove.
11207 (grub_util_raid_getmembers): Use grub_find_device rather than
11208 grub_util_getdiskname.
11209
11210 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
11211
11212 * docs/grub.texi (serial): Remove obsolete comment about GRUB
11213 needing to be compiled with serial support.
11214 (ls): Indicate that multiple files are accepted.
11215 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
11216 indicate that multiple files are accepted.
11217
11218 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
11219
11220 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
11221 libgrub_a_init.c, and util/bash-completion.d/grub.
11222
11223 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11224
11225 * util/grub-setup.c (setup): Fix incorrect container semantics.
11226
11227 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11228
11229 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
11230 misusage.
11231 Reported by: J. Nick Terry
11232
11233 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11234
11235 Move embedding routines to partmap sources files.
11236
11237 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
11238 [GRUB_UTIL]: New variable.
11239 (gpt_partition_map_iterate): Set part.parent.
11240 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
11241 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
11242 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
11243 New function.
11244 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
11245 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
11246 (grub_partition_map) [GRUB_UTIL]: New field embed.
11247 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
11248 (setup): Use ->embed.
11249
11250 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11251
11252 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
11253 function.
11254 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
11255 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
11256
11257 2010-09-15 Yves Blusseau <blusseau@zetam.org>
11258
11259 Add function to get completions from usage.
11260
11261 * util/bash-completion.d/grub-completion.bash.in: Add function to get
11262 completions from usage. Use LC_ALL=C to get options properly.
11263
11264 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11265
11266 * grub-core/gnulib/basename-lgpl.c: Imported.
11267 * grub-core/gnulib/basename.c: Likewise.
11268 * grub-core/gnulib/dirname-lgpl.c: Likewise.
11269 * grub-core/gnulib/dirname.c: Likewise.
11270 * grub-core/gnulib/dirname.h: Likewise.
11271 * grub-core/gnulib/stripslash.c: Likewise.
11272
11273 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11274
11275 * grub-core/gnulib/error.c: Resynced.
11276 * grub-core/gnulib/getopt.c: Likewise.
11277 * grub-core/gnulib/getopt_int.h: Likewise.
11278 * grub-core/gnulib/regex.h: Likewise.
11279 * grub-core/gnulib/regex_internal.c: Likewise.
11280 * grub-core/gnulib/regex_internal.h: Likewise.
11281
11282 2010-09-15 Szymon Janc <szymon@janc.net.pl>
11283
11284 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
11285 CRC calculations and validity checks.
11286 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
11287 calculations.
11288
11289 2010-09-15 Szymon Janc <szymon@janc.net.pl>
11290
11291 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
11292
11293 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11294
11295 Fix incorrect echo options handling.
11296 Reported by: Yves Blusseau.
11297
11298 * include/grub/command.h (grub_command_flags_t): New flags
11299 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
11300 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
11301 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
11302
11303 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11304
11305 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
11306 users updated.
11307 (GRUB_COMMAND_FLAG_MENU): Likewise.
11308 (GRUB_COMMAND_FLAG_BOTH): Likewise.
11309 (GRUB_COMMAND_FLAG_TITLE): Removed.
11310 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
11311 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
11312 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
11313 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
11314 (grub_command_flags_t): New enum. All users updated.
11315
11316 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
11317
11318 Fix solaris compilation.
11319
11320 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
11321 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
11322 (grub-emu-list): Likewise.
11323
11324 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11325
11326 Remove deprecated root command.
11327
11328 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
11329 updated.
11330
11331 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11332
11333 * util/i386/pc/grub-setup.c: Merge this ...
11334 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
11335 * util/grub-setup.c: ... into this.
11336 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
11337 New struct.
11338
11339 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11340
11341 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
11342 possible.
11343
11344 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11345
11346 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
11347 allocate p.
11348
11349 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11350
11351 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
11352 explicit root argument to set to prevent UUID to be interpreted as
11353 argument to set.
11354
11355 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11356
11357 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
11358
11359 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11360
11361 Don't export grub_gate_a20.
11362
11363 * grub-core/kern/i386/pc/init.c: Remove leftovers.
11364 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
11365 to ...
11366 (grub_gate_a20): ... this. All users updated.
11367 * include/grub/i386/pc/init.h: Removed. All users updated.
11368
11369 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11370
11371 Create euro.pf2 which supports most European languages.
11372
11373 * Makefile.am (grubdata_DATA): Add euro.pf2.
11374 (euro.pf2): New target.
11375 (CLEANFILES): Add euro.pf2.
11376
11377 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11378
11379 * configure.ac: Disable emu-usb by default to prevent inadvertent
11380 device takeover.
11381
11382 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11383
11384 Disable usbserial on grub-emu since our libusb code isn't good enough
11385 yet.
11386
11387 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
11388 (usbserial_pl2303): Likewise.
11389 (usbserial_ftdi): Likewise.
11390
11391 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11392
11393 * include/grub/disk.h (grub_disk): Remove has_partitions.
11394 All users updated.
11395 * disk/loopback.c (grub_loopback): Remove has_partitions.
11396 All users updated.
11397 (options): Remove partitions. All users updated.
11398 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
11399 * util/i386/pc/grub-setup.c (setup): copy partition table only when
11400 actual partition table is found.
11401
11402 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11403
11404 Remove readability checks (too many false negatives).
11405
11406 * util/grub-install.in: Remove readability checks.
11407 * util/grub-mkconfig.in: Likewise.
11408 * util/grub.d/10_hurd.in: Likewise.
11409 * util/grub.d/10_kfreebsd.in: Likewise.
11410 * util/grub.d/10_linux.in: Likewise.
11411 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
11412 way.
11413
11414 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11415
11416 Enable acpi shutdown on all ACPI platforms.
11417
11418 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
11419 on coreboo, multiboot and EFI.
11420 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
11421 (grub_acpi_halt): Likewise.
11422 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
11423 (grub_cmd_halt): Don't call grub_acpi_halt directly.
11424 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
11425 * grub-core/lib/i386/halt.c (grub_halt)
11426 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
11427
11428 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11429
11430 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
11431 context.
11432
11433 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11434
11435 * grub-core/video/efi_gop.c: Fix over-80-chars line.
11436 * grub-core/video/efi_uga.c: Likewise.
11437
11438 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11439
11440 Filter devaliases and never open same device twice.
11441
11442 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
11443 (last_ihandle): Likewise.
11444 (ofdisk_hash_ent): New member shortest.
11445 (ofdisk_hash_add): Add canonical path too.
11446 (scan): New function.
11447 (grub_ofdisk_iterate): Iterate over hashed entries.
11448 (compute_dev_path): Don't add :0.
11449 (grub_ofdisk_open): Don't really open the disk.
11450 (grub_ofdisk_close): Avoid closing unrelated disk.
11451 (grub_ofdisk_read): Implement reopen logic.
11452 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
11453 New function.
11454 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
11455 New proto.
11456
11457 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11458
11459 Fix sparc64.
11460
11461 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
11462 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
11463 right address. Add sparc64_ieee1275_ldflags.
11464 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
11465 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
11466 to grub_host_to_target_addr
11467 (load_image): Likewise.
11468
11469 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11470
11471 * grub-core/normal/completion.c (complete_file): Handle device
11472 containing slash.
11473 Fix based on patch by Doug Nazar.
11474
11475 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11476
11477 grub-mknetdir script.
11478
11479 * Makefile.util.def (grub-mknetdir): New module.
11480 * tests/util/grub-shell.in: Support boot=net
11481 * util/grub-mknetdir.in: New file.
11482
11483 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11484
11485 videoinfo on non-vbe.
11486
11487 * grub-core/Makefile.core.def (vbeinfo): Removed.
11488 (vbetest): Removed.
11489 (videoinfo): New module.
11490 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
11491 * grub-core/commands/i386/pc/vbetest.c: Removed.
11492 * grub-core/commands/videoinfo.c: New file.
11493 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
11494 specification.
11495 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
11496 as vbetest.
11497 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
11498 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
11499 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
11500 mode_number. New parameter mode. All users updated.
11501 (grub_video_gop_iterate): New function.
11502 (grub_video_efi_gop): New member iterate.
11503 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
11504 (grub_vbe_set_video_mode): Remove setting useless fields.
11505 (vbe2videoinfo): New function.
11506 (grub_video_vbe_iterate): Likewise.
11507 (grub_video_vbe_setup): Use vbe2videoinfo.
11508 (grub_video_vbe_print_adapter_specific_info): New function.
11509 (grub_video_vbe_adapter): New fields iterate and
11510 print_adapter_specific_info.
11511 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
11512 All users updated.
11513 (grub_video_mode_info): New field mode_number.
11514 (grub_video_adapter): New fields iterate and
11515 print_adapter_specific_info.
11516
11517 2010-09-13 Tristan Gingold <gingold@free.fr>
11518 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
11519 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11520
11521 * grub-core/commands/efi/lsefisystab.c: New file.
11522 * grub-core/commands/efi/lssal.c: Likewise.
11523 * grub-core/Makefile.core.def (lsacpi): New module.
11524 (lsefisystab): Likewise.
11525 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
11526 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
11527 (grub_efi_sal_system_table): New struct.
11528 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
11529 (grub_efi_sal_system_table_memory_descriptor): Likewise.
11530 (grub_efi_sal_system_table_platform_features): Likewise.
11531 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
11532 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
11533 (grub_efi_sal_system_table_ap_wakeup): Likewise.
11534 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
11535
11536 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11537
11538 Support explicit user claim that a device is BIOS-visible.
11539
11540 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
11541 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
11542 * grub-core/kern/emu/hostdisk.c
11543 (convert_system_partition_to_system_disk): Support mdX.
11544 (find_system_device): New parameter add. All users updated.
11545 (grub_util_biosdisk_is_present): New function.
11546 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
11547 proto.
11548
11549 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11550
11551 Search hints support.
11552
11553 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
11554 All users updated.
11555
11556 2010-09-13 Yves Blusseau <blusseau@zetam.org>
11557
11558 Bash completion script for util commands
11559
11560 * Makefile.am: Add util/bash-completion.d directory
11561 * configure.ac: Likewise.
11562 * util/bash-completion.d/Makefile.am: New file.
11563 * util/bash-completion.d/grub-completion.bash.in: Likewise.
11564
11565 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11566
11567 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
11568 (print_backlog): set backlog_ucs4 and backlog_glyphs.
11569 Reported by: Yves Blusseau.
11570
11571 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11572
11573 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
11574 partition size and offset.
11575
11576 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11577
11578 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
11579
11580 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11581
11582 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
11583
11584 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11585
11586 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
11587 (grub_xvasprintf): Likewise.
11588
11589 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11590
11591 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
11592
11593 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11594
11595 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
11596 args ending with NULL.
11597
11598 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11599
11600 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
11601 pointer.
11602
11603 2010-09-11 Szymon Janc <szymon@janc.net.pl>
11604
11605 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
11606
11607 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11608
11609 Shutdown using ACPI.
11610
11611 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
11612 * grub-core/commands/acpihalt.c: New file.
11613 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
11614 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
11615 (grub_acpi_halt): New proto.
11616 (GRUB_ACPI_SLP_EN): New const.
11617 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
11618 (GRUB_ACPI_OPCODE_*): New enum.
11619 (GRUB_ACPI_EXTOPCODE_*): Likewise.
11620
11621 2010-09-11 Tristan Gingold <gingold@free.fr>
11622 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
11623 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11624
11625 * commands/lsacpi.c: New file.
11626 * grub-core/Makefile.core.def (lsacpi): New module.
11627 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
11628 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
11629 (grub_acpi_madt_entry_header): New struct.
11630 (grub_acpi_madt): Likewise.
11631 (grub_acpi_madt_entry_interrupt_override): Likewise.
11632 (grub_acpi_madt_entry_sapic): Likewise.
11633 (grub_acpi_madt_entry_lsapic): Likewise.
11634 (grub_acpi_madt_entry_platform_int_source): Likewise.
11635 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
11636 (PRIuGRUB_UINT32_T): Likewise.
11637 (PRIxGRUB_UINT64_T): Likewise.
11638
11639 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11640
11641 Implement loading palette on ieee1275_fb.
11642
11643 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
11644 (have_setcolors): Likewise.
11645 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
11646 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
11647 (grub_video_ieee1275_set_palette): Implement.
11648
11649 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11650 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
11651
11652 * util/grub-install.in (grub_partition): New variable.
11653 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
11654 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
11655 Fixes a bug reported by Yves Blusseau.
11656
11657 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11658
11659 Fix emu on mipsel.
11660
11661 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
11662 =grub_cpu_flush_cache on all mips and not only yeeloong.
11663 * configure.ac (COND_mips): New conditional.
11664 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
11665 platforms.
11666 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
11667 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
11668 [GRUB_LINKER_HAVE_INIT]: New function.
11669 (grub_emu_post_init): Likewise.
11670 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
11671 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
11672 * include/grub/cache.h (_mips): Include mips/cache.h.
11673 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
11674 LVM and RAID prototypes.
11675 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
11676 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
11677 function.
11678
11679 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
11680
11681 * util/grub-install.in: Don't try to verify core.img until after
11682 running grub-mkimage to create it.
11683
11684 2010-09-10 Robert Millan <rmh@gnu.org>
11685
11686 * util/grub.d/10_hurd.in: Add misc readability checks.
11687 * util/grub.d/10_kfreebsd.in: Likewise.
11688 * util/grub.d/10_linux.in: Likewise.
11689
11690 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
11691
11692 * util/grub-install.in: ${imgext} won't be defined here until the
11693 install branch is merged. For the meantime, only verify core.img on
11694 i386-pc and sparc64-ieee1275 platforms.
11695
11696 2010-09-10 Robert Millan <rmh@gnu.org>
11697
11698 Solaris support in grub_find_zpool_from_dir(). Thanks
11699 Seth Goldberg for referring to getextmntent() facility.
11700
11701 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
11702 `sys/mkdev.h'.
11703 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
11704 `<sys/mnttab.h>'.
11705 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
11706 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
11707 method for finding zpool name.
11708
11709 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
11710
11711 grub-fstest needs the host and hostfs modules while other utilities
11712 actively require those modules to be absent, so grub-fstest needs
11713 its own initialisation and finalisation code.
11714
11715 * Makefile.am (grub_fstest.pp): New target.
11716 (grub_fstest_init.lst): Likewise.
11717 (grub_fstest_init.c): Likewise.
11718 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
11719
11720 2010-09-10 Robert Millan <rmh@gnu.org>
11721
11722 * configure.ac: Check for `struct statfs.f_fstypename' and
11723 `struct statfs.f_mntfromname'.
11724
11725 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
11726 kFreeBSD-specific code.
11727
11728 2010-09-10 Robert Millan <rmh@gnu.org>
11729
11730 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
11731 on ZFS. Now non-main filesystems are supported as / too.
11732
11733 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
11734
11735 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
11736 and grub-core/disk/host.c to ...
11737 (grub-fstest): ... here. Having the host disk implementation
11738 present confuses grub-probe and other utility programs.
11739
11740 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
11741 when writing to a file, not when writing to stdout.
11742
11743 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
11744
11745 * tests/partmap_test.in: New test for partitions.
11746 * Makefile.util.def: Rules for new test.
11747
11748 2010-09-09 Robert Millan <rmh@gnu.org>
11749
11750 * util/grub-probe.c (probe): Fix a pair of unhandled error
11751 conditions.
11752
11753 2010-09-09 Robert Millan <rmh@gnu.org>
11754
11755 Basic Btrfs support (detection and UUID).
11756
11757 * grub-core/fs/btrfs.c: New file.
11758 * Makefile.util.def (library): Register btrfs.c.
11759 * grub-core/Makefile.core.def: Likewise.
11760
11761 2010-09-08 Robert Millan <rmh@gnu.org>
11762
11763 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
11764 with (optional) parameters to specify device and relative path.
11765 * util/grub-install.in: Use is_path_readable_by_grub() to
11766 verify readability of a few critical files.
11767 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
11768 verify readability of grub.cfg.new.
11769
11770 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
11771
11772 Split minix.mod into minix.mod and minix2.mod.
11773
11774 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
11775 * grub-core/Makefile.core.def (minix2): New module.
11776 * grub-core/fs/minix.c: Use definitions instead of runtime version
11777 checking.
11778 * grub-core/fs/minix2.c: New file.
11779
11780 2010-09-08 Yves Blusseau <blusseau@zetam.org>
11781
11782 Add new --boot-directory option to replace --root-directory
11783
11784 * util/grub-install.in: Add new --boot-directory option
11785 * util/grub-reboot.in: Likewise.
11786 * util/grub-set-default.in: Likewise.
11787
11788 2010-09-08 Yves Blusseau <blusseau@zetam.org>
11789
11790 * util/grub-mkconfig.in: Use new variable.
11791
11792 2010-09-08 Yves Blusseau <blusseau@zetam.org>
11793
11794 * configure.ac: Define some useful variables.
11795
11796 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
11797
11798 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
11799 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
11800 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
11801 Use terminfo and don't use cursor-on/cursor-off unless it's known
11802 to work.
11803 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
11804 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
11805
11806 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
11807
11808 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
11809 starts with "(,", fill the drive containing the loaded image in
11810 between those two characters, but expect that a full partition
11811 specification including partition map names will follow.
11812
11813 2010-09-08 Robert Millan <rmh@gnu.org>
11814
11815 * configure.ac: Remove `--enable-grub-fstest' option.
11816 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
11817
11818 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
11819 `grub-fstest' instead of `grub-probe' for readability verification.
11820 * util/grub-probe.c (probe): Remove readability verification kludge.
11821
11822 2010-09-08 Robert Millan <rmh@gnu.org>
11823
11824 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
11825 initializing `GRUB_FS'.
11826
11827 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
11828
11829 Not command (!) support to GRUB script.
11830
11831 * tests/grub_script_not.in: New test.
11832 * Makefile.util.def: Rules for new test.
11833
11834 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
11835 ! command as a special case.
11836 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
11837
11838 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11839
11840 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
11841 grub_free.
11842
11843 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11844
11845 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
11846
11847 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11848
11849 * docs/grub.texi (Shell-like scripting): Documentation for break,
11850 continue, shift and return commands.
11851
11852 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
11853
11854 Rename CD-ROM to cd on BIOS.
11855
11856 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
11857 "cd".
11858 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
11859
11860 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11861
11862 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
11863 * util/grub-probe.c (main): Likewise.
11864 * util/i386/pc/grub-setup.c (main): Likewise.
11865 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
11866 Reported and debugged by: alexxy
11867
11868 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11869
11870 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
11871 diagnostic info.
11872
11873 2010-09-05 Jo Shields <directhex@apebox.org>
11874
11875 * util/grub.d/30_os-prober.in: Add missing classes.
11876
11877 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11878
11879 * docs/grub.texi (Theme file format): Document new position format.
11880
11881 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11882
11883 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
11884 a table. Use @code instead of @verbatim.
11885
11886 2010-09-05 Colin D Bennett <colin@gibibit.com>
11887
11888 Gfxmenu documentation.
11889
11890 * docs/grub.texi (Theme file format): New chapter.
11891
11892 2010-09-05 Szymon Janc <szymon@janc.net.pl>
11893
11894 * grub-core/Makefile.core.def (xzio): New module.
11895 * grub-core/io/xzio.c: New file.
11896 * grub-core/lib/xzembed/xz.h: New file (from xembed).
11897 * grub-core/lib/xzembed/xz_config.h: Likewise.
11898 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
11899 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
11900 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
11901 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
11902 * grub-core/lib/xzembed/xz_private.h: Likewise.
11903 * grub-core/lib/xzembed/xz_stream.h: Likewise.
11904 * include/grub/file.h (grub_file_filter_id): New compression filter
11905 GRUB_FILE_FILTER_XZIO.
11906
11907 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11908
11909 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
11910 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
11911 size.
11912
11913 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11914
11915 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
11916 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
11917
11918 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11919
11920 Uncompressed checksum support.
11921
11922 * grub-core/commands/hashsum.c (options): Add option --uncompress.
11923 (check_list): New parameter uncompress.
11924 (grub_cmd_hashsum): Handle --uncompress.
11925
11926 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11927
11928 Reintroduce testload.
11929
11930 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
11931 from here ...
11932 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
11933 (GRUB_MOD_INIT): New function.
11934 (GRUB_MOD_FINI): Likewise.
11935 * grub-core/Makefile.core.def (testload): New module.
11936
11937 2010-09-05 Szymon Janc <szymon@janc.net.pl>
11938
11939 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
11940 (uint8_t): New type.
11941 (uint16_t): Likewise.
11942 (uint32_t): Likewise.
11943 (uint64_t): Likewise.
11944
11945 2010-09-05 Szymon Janc <szymon@janc.net.pl>
11946
11947 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
11948
11949 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11950
11951 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
11952 Made static.
11953 (grub_gzfile_open): Removed. All users updated.
11954 (GRUB_MOD_INIT): New function.
11955 (GRUB_MOD_FINI): Likewise.
11956 * grub-core/kern/file.c (grub_file_filters_all): New variable.
11957 (grub_file_filters_enabled): Likewise.
11958 (grub_file_open): Handle filters.
11959 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
11960 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
11961 * include/grub/file.h (grub_file_filter_id_t): New type.
11962 (grub_file_filter_t): Likewise.
11963 (grub_file_filters_all): New extern variable.
11964 (grub_file_filters_enabled): Likewise.
11965 (grub_file_filter_register): New inline function.
11966 (grub_file_filter_unregister): Likewise.
11967 (grub_file_filter_disable): Likewise.
11968 (grub_file_filter_disable_compression): Likewise.
11969 * include/grub/gzio.h: Removed.
11970
11971 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11972
11973 Filename expansion support for wildcards in GRUB script.
11974
11975 * tests/grub_script_expansion.in: New test.
11976 * Makefile.util.def: Rule for new test.
11977
11978 * grub-core/commands/wildcard.c: New file, implements filename
11979 expansion support for GRUB script.
11980 * grub-core/Makefile.core.def: Rule update for regexp.mod.
11981 * grub-core/script/argv.c: Cosmetic changes.
11982 * grub-core/script/execute.c (grub_script_arglist_to_argv):
11983 Refactored to perform wildcard expansion on arguments.
11984 * include/grub/script_sh.h (grub_script_wildcard_translator): New
11985 struct.
11986
11987 * tests/util/grub-shell.in: Fix quoting for read input.
11988
11989 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11990
11991 Support for updating environment variables with matched substrings
11992 of regexp.
11993
11994 * tests/grub_cmd_regexp.in: New test.
11995 * Makefile.util.def: Rule for new test.
11996
11997 * grub-core/commands/regexp.c: New option -s to update environment
11998 variables with regexp matches.
11999
12000 2010-09-04 Szymon Janc <szymon@janc.net.pl>
12001
12002 * include/grub/file.h (grub_file): New member not_easly_seekable.
12003 (grub_file_seekable): New inline function.
12004 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
12005 easily seekable.
12006 (grub_gzio_open): Set not_easly_seekable.
12007 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
12008 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
12009
12010 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12011
12012 Support for options to appear multiple times on cmdline.
12013
12014 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
12015 * grub-core/commands/extcmd.c: Support for repeatable option.
12016 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
12017 repeatable option support.
12018
12019 Refactor menuentry into a regular command.
12020
12021 * grub-core/commands/menuentry.c: New file, menuentry command
12022 implementation.
12023 * grub-core/Makefile.core.def: Rule update for normal.mod.
12024 * grub-core/normal/main.c: Moved menuentry creation to
12025 grub-core/commands/menuentry.c.
12026 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
12027 (grub_menu_execute_entry_real): Removed.
12028 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
12029 function.
12030 (grub_script_execute_menuentry): Removed.
12031 * grub-core/script/parser.y (menuentry): Removed.
12032 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
12033 * grub-core/script/yylex.l (menuentry): Removed.
12034 * include/grub/menu.h (grub_menu_init): New prototype.
12035 (grub_menu_fini): New prototype.
12036 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
12037 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
12038 (grub_script_execute_sourcecode): New prototype.
12039
12040 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12041
12042 "return" command for GRUB script functions.
12043
12044 * tests/grub_script_return.in: New test.
12045 * Makefile.util.def: Rules for new test.
12046
12047 * grub-core/script/execute.c (grub_script_return): New function.
12048 * grub-core/script/main.c: Register/unregister return commaond.
12049 * include/grub/script_sh.h (grub_script_return): New prototype.
12050
12051 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12052
12053 "setparams" command to update positional parameters.
12054
12055 * tests/grub_script_setparams.in: New test.
12056 * Makefile.util.def: Rules for new test.
12057
12058 * grub-core/script/argv.c (grub_script_argv_make): New function.
12059 * grub-core/script/execute.c (replace_scope): New function.
12060 (grub_script_setparams): New function.
12061 * grub-core/script/lexer.c: Remove unused variables.
12062 * grub-core/script/main.c: Register/unregister setparams command.
12063 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
12064 (grub_script_setparams): New prototype.
12065
12066 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12067
12068 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
12069 grub_free order.
12070
12071 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12072
12073 Support for passing block of commands as an argument to extcmds.
12074
12075 * Makefile.util.def: Rules for new test.
12076 * tests/grub_script_blockarg.in: New test.
12077 * grub-core/tests/test_blockarg.c: New file, block argument
12078 command used in the test.
12079
12080 * include/grub/extcmd.h (grub_extcmd_context): New struct.
12081 (grub_register_extcmd_prio): New function prototype.
12082 (grub_extcmd_dispatcher): New function prototype.
12083 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
12084 type.
12085 * include/grub/script_sh.h (struct grub_script): New members
12086 `children', `next_siblings' and `refcnt' for block arguments and
12087 reference counting.
12088 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
12089 (grub_script_arg): New member `script' for block argument.
12090 (grub_script_argv): New member `script' for block argument.
12091 (grub_parser_param): New member `scripts' for block argument.
12092 (grub_script_mem_free): New extern function prototype.
12093 (grub_script_ref): New function prototype.
12094 (grub_script_unref): New function prototype.
12095
12096 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
12097 extcmd form to support block arguments.
12098 * grub-core/script/argv.c: Block arguments support.
12099 * grub-core/script/execute.c: Likewise.
12100 * grub-core/script/lexer.c: Likewise.
12101 * grub-core/script/main.c: Likewise.
12102 * grub-core/script/script.c: Likewise.
12103 * grub-core/script/parser.y: Likewise. New `block' and `block0'
12104 non-terminals.
12105
12106 * grub-core/commands/acpi.c: Update extcmd implementations with
12107 grub_extcmd_context_t.
12108 * grub-core/commands/cat.c: Likewise.
12109 * grub-core/commands/echo.c: Likewise.
12110 * grub-core/commands/extcmd.c: Likewise.
12111 * grub-core/commands/hashsum.c: Likewise.
12112 * grub-core/commands/hdparm.c: Likewise.
12113 * grub-core/commands/help.c: Likewise.
12114 * grub-core/commands/hexdump.c: Likewise.
12115 * grub-core/commands/i386/cpuid.c: Likewise.
12116 * grub-core/commands/i386/pc/drivemap.c: Likewise.
12117 * grub-core/commands/i386/pc/halt.c: Likewise.
12118 * grub-core/commands/i386/pc/sendkey.c: Likewise.
12119 * grub-core/commands/iorw.c: Likewise.
12120 * grub-core/commands/keystatus.c: Likewise.
12121 * grub-core/commands/loadenv.c: Likewise.
12122 * grub-core/commands/ls.c: Likewise.
12123 * grub-core/commands/lspci.c: Likewise.
12124 * grub-core/commands/memrw.c: Likewise.
12125 * grub-core/commands/probe.c: Likewise.
12126 * grub-core/commands/search_wrap.c: Likewise.
12127 * grub-core/commands/setpci.c: Likewise.
12128 * grub-core/commands/sleep.c: Likewise.
12129 * grub-core/disk/loopback.c: Likewise.
12130 * grub-core/hello/hello.c: Likewise.
12131 * grub-core/loader/i386/bsd.c: Likewise.
12132 * grub-core/loader/xnu.c: Likewise.
12133 * grub-core/term/gfxterm.c: Likewise.
12134 * grub-core/term/serial.c: Likewise.
12135 * grub-core/tests/lib/functional_test.c: Likewise.
12136
12137 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12138
12139 Multi-line quoted strings support.
12140
12141 * grub-core/script/lexer.c (append_newline): Removed.
12142 (grub_script_lexer_yywrap): Refactored.
12143 (grub_script_lexer_init): Refactored.
12144 * grub-core/script/yylex.l (yywrap): New function.
12145 (grub_lexer_resplit): New function.
12146 (grub_lexer_unput): New function.
12147 * include/grub/script_sh.h (grub_lexer_param): New members, unput
12148 and resplit.
12149 * tests/grub_script_echo1.in: Added few more testcases.
12150
12151 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
12152
12153 * grub-core/kern/misc.c: Don't add abort alias in utils.
12154 Reported by: echoline.
12155
12156 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
12157
12158 Add missing files into "make dist" tarball for other platforms.
12159
12160 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
12161 * conf/Makefile.common (dist_noinst_DATA): New variable.
12162 * conf/Makefile.extra-dist: Added missing make dist files.
12163 * grub-core/Makefile.core.def: Likewise.
12164
12165 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
12166
12167 Compress grub_prefix.
12168
12169 * grub-core/boot/i386/pc/lnxboot.S: Use
12170 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
12171 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
12172 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
12173 GRUB_MACHINE_PREFIX_END. All users updated.
12174 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
12175 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
12176 + 0x40.
12177 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
12178 * util/grub-mkimage.c (image_target_desc): Change data_end to
12179 prefix_end. All users updated.
12180
12181 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
12182
12183 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
12184 value.
12185 (grub_openbsd_boot): Likewise.
12186 (grub_netbsd_boot): Likewise.
12187 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
12188 (grub_xnu_boot): Likewise.
12189
12190 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12191
12192 * configure.ac: Clean LIBS variable after tests.
12193
12194 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
12195
12196 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
12197
12198 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12199
12200 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
12201 echo if libdevmapper will be used.
12202
12203 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
12204
12205 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
12206 constant for the same file.
12207
12208 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12209
12210 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
12211
12212 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
12213
12214 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
12215 grub-core/*.pp.
12216
12217 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
12218
12219 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
12220 required by the boot protocol.
12221
12222 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
12223 ebp and edi members.
12224 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
12225 state.ebp and state.edi.
12226 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
12227 %ebp and %edi according to grub_relocator32_ebp and
12228 grub_relocator32_edi respectively.
12229 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
12230 and state.edi.
12231
12232 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12233
12234 Add i386-pc-pxe image target.
12235
12236 * util/grub-mkimage.c (image_target_desc): New enum value
12237 IMAGE_I386_PC_PXE.
12238 (image_targets): New target i386-pc-pxe.
12239 (generate_image): Handle i386-pc-pxe image.
12240
12241 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12242
12243 Fix grub_pxe_scan.
12244
12245 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
12246 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
12247 All users updated.
12248 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
12249 (grub_pxe_pxenv): Correct type.
12250
12251 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
12252
12253 * NEWS: Document most of the important changes since 1.98.
12254
12255 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
12256
12257 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
12258 generated manual page) a little.
12259
12260 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
12261
12262 * docs/grub.texi: Add myself as an author.
12263
12264 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
12265
12266 * Makefile.util.def (libgrub.a): Add missing sunpc.
12267 Reported by: Seth Goldberg.
12268
12269 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12270
12271 Interrupt wrapping and code simplifications.
12272
12273 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
12274 x86_noieee1275 which are functionaly equivalent in this case.
12275 (grub-install): Make source on each platform explicit. Enable on
12276 all noemu.
12277 * gentpl.py (x86_efi_pc): Removed group.
12278 (x86_noefi): Likewise.
12279 (i386_noefi): Likewise.
12280 (x86_noieee1275): Likewise.
12281 (i386_noieee1275): Likewise.
12282 (i386_noefi_noieee1275): Likewise.
12283 (i386_pc_qemu_coreboot): Likewise.
12284 (i386_coreboot_multiboot): Likewise.
12285 (i386_pc_coreboot_multiboot_qemu): Likewise.
12286 (x86_noefi_mips): Likewise.
12287 (noieee1275): Likewise.
12288 (ieee1275_mips): Likewise.
12289 (noemu_noieee1275): Likewise.
12290 (cmos): New group.
12291 (usb): Likewise.
12292 (videoinkernel): Likewise.
12293 (videomodules): Likewise.
12294 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
12295 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
12296 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
12297 include/grub/loader.h, include/grub/msdos_partition.h,
12298 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
12299 include/grub/machine/console.h, include/grub/machine/vga.h,
12300 include/grub/machine/vbe.h, include/grub/machine/init.h,
12301 include/grub/machine/kernel.h, include/grub/cpu/time.h,
12302 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
12303 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
12304 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
12305 * grub-core/Makefile.core.def (kernel): Explicit the source for
12306 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
12307 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
12308 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
12309 Use videoinkernel tag.
12310 (usb): Enable on all usb.
12311 (usbserial_common): Likewise.
12312 (usbserial_pl2303): Likewise.
12313 (usbserial_ftdi): Likewise.
12314 (uhci): Enable on all x86.
12315 (ohci): Enable on all pci.
12316 (cmostest): Enable on all CMOS.
12317 (acpi): Include commands/acpi.c on all platforms.
12318 (halt): Add relevant lib/*/halt.c.
12319 (hdparm): Enable on all pci.
12320 (lspci): Likewise.
12321 (usbtest): Enable on all usb.
12322 (ata): Enable on all pci.
12323 (ata_pthru): Likewise.
12324 (usbms): Enable on all usb.
12325 (usb_keyboard): Likewise.
12326 (font): Use tag videomodules.
12327 (bufio): Likewise.
12328 (datetime): Use tag cmos. Enable on all noemu.
12329 (mmap): Use tags common and x86.
12330 (gfxterm): Use tag videomodules.
12331 (bitmap): Likewise.
12332 (bitmap_scale): Likewise.
12333 (video_fb): Likewise.
12334 (video): Likewise.
12335 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
12336 adjust padding accordingly. All users updated.
12337 (grub_ohci_transaction): Fix bad format specification.
12338 (GRUB_MOD_INIT): Add asserts for struct size.
12339 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
12340 (grub_alloc_td): Likewise.
12341 (grub_free_queue): Likewise.
12342 (grub_uhci_transfer): Likewise.
12343 (grub_uhci_transaction): Fix bad format specification.
12344 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
12345 (grub_usb_bulk_readwrite): Likewise.
12346 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
12347 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
12348 Made static.
12349 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
12350 Made static.
12351 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
12352 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
12353 Transformed into C.
12354 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
12355 Moved from here ...
12356 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
12357 ... here. Transformed into C. Made static.
12358 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
12359 Moved from here ...
12360 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
12361 ... here. Transformed into C. Made static.
12362 * grub-core/kern/i386/pc/startup.S
12363 (grub_biosdisk_check_int13_extensions): Moved from here ...
12364 * grub-core/disk/i386/pc/biosdisk.c
12365 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
12366 Made static.
12367 * grub-core/kern/i386/pc/startup.S
12368 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
12369 * grub-core/disk/i386/pc/biosdisk.c
12370 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
12371 Transformed into C. Made static.
12372 * grub-core/kern/i386/pc/startup.S
12373 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
12374 * grub-core/disk/i386/pc/biosdisk.c
12375 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
12376 Transformed into C. Made static.
12377 * grub-core/kern/i386/pc/startup.S
12378 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
12379 * grub-core/disk/i386/pc/biosdisk.c
12380 (grub_biosdisk_get_diskinfo_standard): ... here.
12381 Transformed into C. Made static.
12382 * grub-core/kern/i386/pc/startup.S
12383 (grub_biosdisk_get_num_floppies): Moved from here ...
12384 * grub-core/disk/i386/pc/biosdisk.c
12385 (grub_biosdisk_get_num_floppies): ... here.
12386 Transformed into C. Made static.
12387 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
12388 New function.
12389 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
12390 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
12391 Transformed into C. Made static.
12392 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
12393 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
12394 Transformed into C. Made static.
12395 * grub-core/kern/i386/ieee1275/init.c: Removed.
12396 * grub-core/kern/i386/misc.S: Likewise.
12397 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
12398 Splitted from here ...
12399 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
12400 Transformed into C. Made static. All users updated.
12401 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
12402 Transformed into C. Made static. All users updated.
12403 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
12404 Moved from here...
12405 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
12406 Transformed into C. Made static. All users updated.
12407 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
12408 Moved from here...
12409 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
12410 Transformed into C. Made static. All users updated.
12411 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
12412 Removed (replaced by C version).
12413 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
12414 Moved from here...
12415 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
12416 Transformed into C. Made static.
12417 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
12418 Moved from here...
12419 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
12420 ... here. Transformed into C.
12421 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
12422 Moved from here...
12423 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
12424 ... here. Transformed into C.
12425 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
12426 Moved from here...
12427 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
12428 ... here. Transformed into C. Made static.
12429 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
12430 Moved from here...
12431 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
12432 ... here. Transformed into C.
12433 * grub-core/kern/i386/pc/startup.S
12434 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
12435 * grub-core/video/i386/pc/vbe.c
12436 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
12437 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
12438 Moved from here...
12439 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
12440 ... here. Transformed into C.
12441 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
12442 Moved from here...
12443 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
12444 ... here. Transformed into C.
12445 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
12446 Moved from here...
12447 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
12448 ... here. Transformed into C.
12449 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
12450 Moved from here...
12451 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
12452 ... here. Transformed into C.
12453 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
12454 Moved from here...
12455 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
12456 ... here. Transformed into C. Made static.
12457 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
12458 Moved from here...
12459 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
12460 ... here. Transformed into C. Made static.
12461 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
12462 Moved from here...
12463 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
12464 ... here. Transformed into C. Made static.
12465 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
12466 pxe_rm_entry as third argument.
12467 (grub_bios_interrupt): New function.
12468 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
12469 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
12470 of calling grub_stop.
12471 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
12472 * grub-core/lib/efi/halt.c (grub_halt): ...here.
12473 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
12474 * grub-core/lib/emu/halt.c (grub_halt): ... here.
12475 * grub-core/lib/i386/halt.c: Moved from here ...
12476 * grub-core/lib/i386/halt.c: ... here.
12477 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
12478 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
12479 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
12480 grub_stop_floppy.
12481 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
12482 * include/grub/i386/coreboot/init.h: Removed.
12483 * include/grub/i386/multiboot/init.h: Likewise.
12484 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
12485 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
12486 * include/grub/i386/pc/int.h: New file.
12487 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
12488 (grub_pxe_scan): Removed.
12489 (grub_pxe_call): Update prototype.
12490 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
12491 prototypes.
12492 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
12493 * include/grub/i386/qemu/init.h: Removed.
12494 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
12495 noreturn.
12496 (grub_halt): Likewise.
12497 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
12498 (grub_reboot): Likewise.
12499 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
12500 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
12501 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
12502
12503 2010-08-30 Robert Millan <rmh@gnu.org>
12504
12505 * NEWS: Document addition of ZFS support in `grub-install' and
12506 `grub-mkconfig'.
12507
12508 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
12509
12510 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
12511 dprintf output.
12512
12513 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12514
12515 Remove leftover embedding of font objects.
12516
12517 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
12518 * util/grub-install.in (font): Removed.
12519 * util/grub-mkimage.c (generate_image): Remove font support. All users
12520 updated.
12521
12522 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12523
12524 Remove leftover embedding of font objects.
12525
12526 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
12527 * util/grub-install.in (font): Removed.
12528 * util/grub-mkimage.c (generate_image): Remove font support. All users
12529 updated.
12530
12531 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12532
12533 * docs/grub.texi (Network): Fix reference to pxe_blksize.
12534 Reported by: Ian Turner
12535
12536 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12537
12538 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
12539 timeout to avoid indefinite boot stalling.
12540
12541 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12542
12543 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
12544 (grub_env_write_color_highlight): Likewise.
12545
12546 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12547
12548 * grub-core/normal/term.c (print_more): Return to normal and not
12549 to standard state after printing "---MORE---".
12550
12551 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12552
12553 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
12554 Mask out the bit 0x80 since it has other meaning that specifiing color.
12555
12556 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12557
12558 New relocator. Allows for more kernel support and more straightforward
12559 loader writing.
12560
12561 * Makefile.am (BOOTTARGET): New variable.
12562 (QEMU32): Likewise.
12563 (linux.init.x86_64): New target.
12564 (linux.init.i386): Likewise.
12565 (multiboot.elf): Likewise.
12566 (kfreebsd.elf): Likewise.
12567 (kfreebsd.aout): Likewise.
12568 (pc-chainloader.elf): Likewise.
12569 (pc-chainloader.bin): Likewise.
12570 (ntldr.elf): Likewise.
12571 (ntldr.bin): Likewise.
12572 (multiboot2.elf): Likewise.
12573 (kfreebsd.init.x86_64): Likewise.
12574 (kfreebsd.init.i386): Likewise.
12575 (knetbsd.init.i386): Likewise.
12576 (kopenbsd.init.i386): Likewise.
12577 (knetbsd.init.x86_64): Likewise.
12578 (kopenbsd.init.x86_64): Likewise.
12579 (linux-initramfs.i386): Likewise.
12580 (linux-initramfs.x86_64): Likewise.
12581 (kfreebsd-mfsroot.i386.img): Likewise.
12582 (knetbsd.image.i386): Likewise.
12583 (kopenbsd.image.i386): Likewise.
12584 (kopenbsd.image.x86_64): Likewise.
12585 (knetbsd.miniroot-image.i386.img): Likewise.
12586 (kfreebsd-mfsroot.x86_64.img): Likewise.
12587 (knetbsd.image.x86_64): Likewise.
12588 (knetbsd.miniroot-image.x86_64.img): Likewise.
12589 (kfreebsd-mfsroot.i386.gz): Likewise.
12590 (bootcheck-kfreebsd-i386): Likewise.
12591 (kfreebsd-mfsroot.x86_64.gz): Likewise.
12592 (bootcheck-kfreebsd-x86_64): Likewise.
12593 (knetbsd.miniroot-image.i386.gz): Likewise.
12594 (bootcheck-knetbsd-i386): Likewise.
12595 (bootcheck-kopenbsd-i386): Likewise.
12596 (bootcheck-kopenbsd-x86_64): Likewise.
12597 (knetbsd.miniroot-image.x86_64.gz): Likewise.
12598 (bootcheck-knetbsd-x86_64): Likewise.
12599 (bootcheck-linux-i386): Likewise.
12600 (bootcheck-linux-x86_64): Likewise.
12601 (bootcheck-linux16-i386): Likewise.
12602 (bootcheck-linux16-x86_64): Likewise.
12603 (bootcheck-multiboot): Likewise.
12604 (bootcheck-multiboot2): Likewise.
12605 (bootcheck-kfreebsd-aout): Likewise.
12606 (bootcheck-pc-chainloader): Likewise.
12607 (bootcheck-ntldr): Likewise.
12608 (CLEANFILES): Add new targets.
12609 (BOOTCHECKS): New variable.
12610 (.PHONY): Add bootchecks.
12611 (SUCCESSFUL_BOOT_STRING): New variable.
12612 (BOOTCHECK_TIMEOUT): Likewise.
12613 (bootcheck): New target
12614 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
12615 * configure.ac: Correct efiemu excuse.
12616 * docs/grub.texi (Supported kernels): New chapter.
12617 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
12618 include/grub/mm_private.h. Simplify inclusion of
12619 include/grub/boot.h, include/grub/loader.h
12620 and include/grub/msdos_partition.h
12621 (KERNEL_HEADER_FILES) [i386_coreboot]:
12622 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
12623 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
12624 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
12625 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
12626 include/grub/machine/loader.h.
12627 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
12628 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
12629 extra_dist.
12630 (pci.mod): Enable on i386-multiboot.
12631 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
12632 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
12633 i386-qemu.
12634 (relocator.mod): Rewritten.
12635 (aout.mod): Enable on all x86.
12636 (bsd.mod): Likewise.
12637 (ntldr.mod): New module.
12638 (linux.mod): Use loader/i386/linux.c on all x86.
12639 (xnu.mod): Enable on all x86.
12640 (vga_text.mod): disable on EFI and QEMU.
12641 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
12642 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
12643 * grub-core/efiemu/loadcore.c: Likewise.
12644 * grub-core/efiemu/main.c: Likewise.
12645 (grub_efiemu_exit_boot_services): Removed.
12646 (grub_efiemu_finish_boot_services): Likewise.
12647 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
12648 function.
12649 * grub-core/efiemu/i386/nocfgtables.c: New file.
12650 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
12651 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
12652 (grub_efi_finish_boot_services): Moved from here ...
12653 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
12654 Fille finish memory map and related data.
12655 (finish_mmap_buf): New variable.
12656 (grub_efi_uintn_t finish_mmap_size): Likewise.
12657 (grub_efi_uintn_t finish_key): Likewise.
12658 (grub_efi_uintn_t finish_desc_size): Likewise.
12659 (grub_efi_uint32_t finish_desc_version): Likewise.
12660 (grub_efi_is_finished): Likewise.
12661 (grub_efi_get_memory_map): Use saved memory map if EFI is already
12662 finished.
12663 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
12664 (grub_elf64_phdr_iterate): Likewise.
12665 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
12666 (grub_os_area_size): Likewise.
12667 (grub_machine_init): Don't reserve os area.
12668 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
12669 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
12670 * grub-core/kern/i386/loader.S: Removed.
12671 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
12672 (grub_os_area_size): Likewise.
12673 (grub_machine_init): Don't reserve os area.
12674 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12675 Don't call grub_dl_unload_all.
12676 Don't include loader.S.
12677 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
12678 Declare the memory after _end as available.
12679 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
12680 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
12681 (GRUB_MM_ALLOC_MAGIC): Moved from here...
12682 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
12683 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
12684 * include/grub/mm_private.h (grub_mm_header): ... here.
12685 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
12686 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
12687 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
12688 (grub_mm_region): ..here. Removed addr. Added pre_size.
12689 All users updated.
12690 * grub-core/kern/mm.c (base): Renamed to ...
12691 (grub_mm_base): ... this. Made global.
12692 (grub_real_malloc): Alloc from end of region.
12693 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
12694 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
12695 * grub-core/kern/powerpc/cache_flush.S: ... here.
12696 * grub-core/lib/efi/relocator.c: New file.
12697 * grub-core/lib/i386/relocator.c: Rewritten.
12698 * grub-core/lib/i386/relocator16.S: New file.
12699 * grub-core/lib/i386/relocator32.S: Likewise.
12700 * grub-core/lib/i386/relocator64.S: Likewise.
12701 * grub-core/lib/i386/relocator_asm.S: Rewritten.
12702 * grub-core/lib/i386/relocator_common.S: New file.
12703 * grub-core/lib/ieee1275/relocator.c: Likewise.
12704 * grub-core/lib/mips/relocator.c: Rewritten.
12705 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
12706 stylistic adjustments.
12707 * grub-core/lib/powerpc/relocator.c: New file.
12708 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
12709 * grub-core/lib/relocator.c: Rewritten.
12710 * grub-core/lib/x86_64/relocator_asm.S: New file.
12711 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
12712 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
12713 (bsd_tag): New struct.
12714 (tags): New variable.
12715 (tags_last): Likewise.
12716 (netbsd_module): New struct.
12717 (netbsd_mods): New variable.
12718 (netbsd_mods_last): Likewise.
12719 (openbsd_opts): New parameter "serial".
12720 (OPENBSD_SERIAL_ARG): New definition.
12721 (netbsd_opts): New parameter "serial".
12722 (NETBSD_SERIAL_ARG): New definition.
12723 (grub_freebsd_add_meta): Reorganised into ...
12724 (grub_bsd_add_meta): ...this. All users updated.
12725 (grub_freebsd_add_mmap): Reorganised into ...
12726 (generate_e820_mmap): ...this...
12727 (grub_bsd_add_mmap): ...and this. All users updated.
12728 (grub_freebsd_list_modules): Use tags.
12729 (grub_netbsd_add_meta_module): New function.
12730 (grub_netbsd_list_modules): Likewise.
12731 (grub_freebsd_boot): Use relocator and finish EFI.
12732 (grub_openbsd_boot): Likewise.
12733 (grub_netbsd_setup_video): New function.
12734 (grub_netbsd_add_modules): Likewise.
12735 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
12736 and finish EFI.
12737 (grub_bsd_unload): Unload tags.
12738 (grub_bsd_load_aout): Use relocator.
12739 (grub_bsd_elf32_size_hook): New function.
12740 (grub_bsd_elf32_hook): Use relocator.
12741 (grub_bsd_elf64_size_hook): New function.
12742 (grub_bsd_elf64_hook): Use relocator.
12743 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
12744 (grub_bsd_load): Zero-out openbsd_ramdisk.
12745 (grub_bsd_load): Use relocator.
12746 (grub_cmd_openbsd): Support serial.
12747 (grub_cmd_netbsd): Support modules.
12748 (grub_cmd_freebsd_module): Use relocator.
12749 (grub_netbsd_module_load): New function.
12750 (grub_cmd_netbsd_module): Likewise.
12751 (grub_cmd_openbsd_ramdisk): Likewise.
12752 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
12753 kopenbsd_ramdisk.
12754 (GRUB_MOD_FINI): Unregister new commands.
12755 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
12756 (grub_freebsd_load_elfmodule_obj): Use relocator.
12757 (grub_freebsd_load_elfmodule): Likewise.
12758 (grub_freebsd_load_elf_meta): Likewise.
12759 (grub_netbsd_load_elf_meta): New function.
12760 (grub_openbsd_find_ramdisk): Likewise.
12761 * grub-core/loader/i386/bsd_helper.S: Removed.
12762 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
12763 * grub-core/loader/i386/bsd_trampoline.S: Removed.
12764 * grub-core/loader/i386/efi/linux.c: Likewise.
12765 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
12766 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
12767 (DEFAULT_VIDEO_MODE): Likewise.
12768 (real_mode_target): New variable.
12769 (prot_mode_target): Likewise.
12770 (initrd_mem_target): Likewise.
12771 (relocator): Likewise.
12772 (efi_mmap_buf): Likewise.
12773 (efi_mmap_size): Likewise.
12774 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
12775 (free_pages): Use relocator.
12776 (allocate_pages): Account for efi_mmap and use relocator. Return error.
12777 (grub_linux_setup_video): Return error.
12778 (grub_linux_trampoline_start): Removed.
12779 (grub_linux_trampoline_end): Likewise.
12780 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
12781 andd video parameters depending on firmware.
12782 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
12783 [GRUB_MACHINE_EFI]: Pass EFI parameters.
12784 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
12785 (grub_cmd_initrd): Use relocator.
12786 * grub-core/loader/i386/linux_trampoline.S: Removed.
12787 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
12788 (elf_sec_entsize): Likewise.
12789 (elf_sec_shstrndx): Likewise.
12790 (elf_sections): Likewise.
12791 (grub_multiboot_load): Use relocator.
12792 (grub_multiboot_get_mbi_size): Account for sections.
12793 (grub_multiboot_make_mbi): Use relocator and support sections.
12794 (grub_multiboot_add_elfsyms): New function.
12795 (grub_multiboot_free_mbi): Free sections.
12796 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
12797 (grub_linux_real_target): Likewise.
12798 (grub_linux_real_chunk): Likewise.
12799 (grub_linux16_prot_size): Likewise.
12800 (grub_linux16_boot): Use relocator.
12801 (grub_linux_unload): Unload relocator.
12802 (grub_cmd_linux): Use relocator.
12803 (grub_cmd_initrd): Likewise.
12804 * grub-core/loader/i386/pc/ntldr.c: New file.
12805 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
12806 Don't try to guess CPU frequency.
12807 (grub_xnu_set_video): Stretch bitmap.
12808 (grub_xnu_boot): Use relocator.
12809 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
12810 (grub_linux_unload): Free relocator.
12811 (grub_linux_load32): Use relocator.
12812 (grub_linux_load64): Likewise.
12813 (grub_cmd_initrd): Likewise.
12814 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
12815 (grub_multiboot_unload): Unload relocator.
12816 (grub_cmd_multiboot): Use relocator.
12817 (grub_cmd_module): Likewise.
12818 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
12819 Use relocator and support sections.
12820 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
12821 (elf_sec_entsize): Likewise.
12822 (elf_sec_shstrndx): Likewise.
12823 (elf_sections): Likewise.
12824 (grub_multiboot_load): Use relocator.
12825 (grub_multiboot_get_mbi_size): Account for sections.
12826 (grub_multiboot_make_mbi): Use relocator and support sections.
12827 (grub_multiboot_add_elfsyms): New function.
12828 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
12829 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
12830 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
12831 Prototype changed. All users updated.
12832 (grub_xnu_align_heap): Simplified.
12833 (grub_xnu_writetree_toheap): Likewise.
12834 (grub_xnu_unload): Unload relocator.
12835 (grub_cmd_xnu_kernel): Use relocator.
12836 (grub_cmd_xnu_kernel64): Likewise.
12837 (grub_xnu_register_memory): Simplified.
12838 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
12839 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
12840 EFI is finished.
12841 (grub_console_checkkey): Likewise.
12842 (grub_console_getkey): Likewise.
12843 (grub_console_getwh): Likewise.
12844 (grub_console_getxy): Likewise.
12845 (grub_console_gotoxy): Likewise.
12846 (grub_console_cls): Likewise.
12847 (grub_console_setcolorstate): Likewise.
12848 (grub_console_setcursor): Likewise.
12849 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
12850 * grub-core/tests/boot/kbsd.init-i386.S: New file.
12851 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
12852 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
12853 * grub-core/tests/boot/kernel-8086.S: Likewise.
12854 * grub-core/tests/boot/kernel-i386.S: Likewise.
12855 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
12856 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
12857 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
12858 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
12859 * grub-core/tests/boot/knetbsd.cfg: Likewise.
12860 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
12861 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
12862 * grub-core/tests/boot/linux.cfg: Likewise.
12863 * grub-core/tests/boot/linux.init-i386.S: Likewise.
12864 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
12865 * grub-core/tests/boot/linux16.cfg: Likewise.
12866 * grub-core/tests/boot/multiboot.cfg: Likewise.
12867 * grub-core/tests/boot/multiboot2.cfg: Likewise.
12868 * grub-core/tests/boot/ntldr.cfg: Likewise.
12869 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
12870 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
12871 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
12872 New definition.
12873 * include/grub/dl.h (grub_dl_unload_all): Removed.
12874 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
12875 (grub_efi_finish_boot_services): Change prototype.
12876 (grub_efi_is_finished): New variable.
12877 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
12878 Changed prototype.
12879 (grub_efiemu_finish_boot_services): Removed.
12880 (grub_machine_efiemu_init_tables): New prototype.
12881 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
12882 (grub_elf64_phdr_iterate): Likewise.
12883 * include/grub/i386/bsd.h: Include relocator.h.
12884 (freebsd_tag_header): New struct.
12885 (grub_openbsd_bios_mmap): Removed.
12886 (grub_unix_real_boot): Removed.
12887 (grub_freebsd_load_elfmodule32): Changed prototype.
12888 (grub_freebsd_load_elfmodule_obj64): Likewise.
12889 (grub_freebsd_load_elf_meta32): Likewise.
12890 (grub_freebsd_load_elf_meta64): Likewise.
12891 (grub_freebsd_add_meta): Removed.
12892 (grub_netbsd_load_elf_meta32): New prototype.
12893 (grub_netbsd_load_elf_meta64): Likewise.
12894 (grub_bsd_add_meta): Likewise.
12895 (grub_openbsd_ramdisk_descriptor): New struct.
12896 (grub_openbsd_find_ramdisk32): New prototype.
12897 (grub_openbsd_find_ramdisk64): Likewise.
12898 * include/grub/i386/coreboot/loader.h: Removed.
12899 * include/grub/i386/efi/loader.h: Likewise.
12900 * include/grub/i386/ieee1275/loader.h: Likewise.
12901 * include/grub/i386/linux.h (linux_kernel_header): Change void *
12902 to grub_uint32_t.
12903 * include/grub/i386/loader.h: Removed.
12904 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
12905 value.
12906 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
12907 (grub_phys_addr_t): New type.
12908 (grub_vtop): New inline function.
12909 (grub_map_memory): Likewise.
12910 (grub_unmap_memory): Likewise.
12911 * include/grub/i386/multiboot/loader.h: Removed.
12912 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
12913 (NETBSD_BTINFO_CONSOLE): New definition.
12914 (NETBSD_BTINFO_SYMTAB): Likewise.
12915 (NETBSD_BTINFO_MODULES): Likewise.
12916 (NETBSD_BTINFO_FRAMEBUF): Likewise.
12917 (grub_netbsd_bootinfo): New struct.
12918 (grub_netbsd_btinfo_common): Use explicit bitsize.
12919 (grub_netbsd_btinfo_mmap_entry): Removed.
12920 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
12921 (grub_netbsd_btinfo_bootdisk): New struct.
12922 (grub_netbsd_btinfo_symtab): Likewise.
12923 (grub_netbsd_btinfo_serial): Likewise.
12924 (grub_netbsd_btinfo_modules): Likewise.
12925 (grub_netbsd_btinfo_framebuf): Likewise.
12926 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
12927 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
12928 Likewise.
12929 (grub_openbsd_bootargs): Use explicit bitsize.
12930 (grub_openbsd_bootarg_console): New struct.
12931 (GRUB_OPENBSD_COM_MAJOR): New definition.
12932 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
12933 * include/grub/i386/pc/efiemu.h: Removed.
12934 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
12935 * include/grub/i386/qemu/loader.h: Removed.
12936 * include/grub/i386/relocator.h: Rewritten.
12937 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
12938 * include/grub/mips/memory.h: New file.
12939 * include/grub/mips/multiboot.h: Rewritten.
12940 * include/grub/mips/relocator.h: Rewritten.
12941 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
12942 (grub_vtop): New function.
12943 (grub_map_memory): Likewise.
12944 (grub_unmap_memory): Likewise.
12945 * include/grub/misc.h (ALIGN_DOWN): New definition.
12946 * include/grub/mm.h (grub_mm_check_real): New proto.
12947 (GRUB_MM_CHECK): New definition.
12948 * include/grub/mm_private.h: New file.
12949 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
12950 (grub_multiboot_get_mbi_size): Removed.
12951 (grub_multiboot_make_mbi): Change prottype.
12952 (grub_multiboot_set_accepts_video): New proto.
12953 (grub_multiboot_add_elfsyms): Likewise.
12954 (grub_multiboot_payload_eip): New variable.
12955 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
12956 New prototype.
12957 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
12958 New definition.
12959 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
12960 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
12961 * include/grub/powerpc/ieee1275/loader.h: Removed.
12962 * include/grub/powerpc/memory.h: New file.
12963 * include/grub/powerpc/relocator.h: Likewise.
12964 * include/grub/relocator.h: Likewise.
12965 * include/grub/relocator_private.h: Likewise.
12966 * include/grub/sparc64/ieee1275/loader.h: Removed.
12967 * include/grub/x86_64/memory.h: New file.
12968 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
12969 (grub_xnu_heap_malloc): Likewise.
12970 (grub_xnu_heap_real_start): Removed.
12971 (grub_xnu_heap_start): Likewise.
12972 (grub_xnu_relocator): New variable.
12973 (grub_xnu_heap_target_start): Likewise.
12974 * tests/util/grub-shell.in: Support non-pc.
12975 * util/grub-mkimage.c (image_targets): Fix multiboot target.
12976
12977 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12978
12979 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
12980 on malloc error.
12981 (grub_bidi_logical_to_visual): Check that malloc succeded.
12982 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
12983 puts.
12984 (grub_xputs_normal): Likewise.
12985
12986 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12987
12988 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
12989 extra_dist.
12990
12991 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12992
12993 * grub-core/efiemu/runtime/efiemu.sh: Removed.
12994
12995 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12996
12997 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
12998
12999 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13000
13001 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
13002 dprintf.
13003
13004 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
13005
13006 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
13007
13008 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13009
13010 * grub-core/normal/term.c (print_more): Fix a memory leak.
13011 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
13012 (grub_xputs_normal): Likewise.
13013
13014 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13015
13016 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
13017 the begining of the string
13018
13019 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13020
13021 * grub-core/script/script.c (grub_script_parse): Free parsed on
13022 failure.
13023
13024 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13025
13026 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
13027 on failure.
13028
13029 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13030
13031 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
13032 return.
13033
13034 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13035
13036 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
13037 (scroll_up): Fix a memory leak.
13038
13039 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13040
13041 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
13042 errors.
13043
13044 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
13045
13046 Handle USB pendrives exposed as floppies.
13047
13048 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
13049 floppy.
13050 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
13051 Check for partitions on all devices.
13052
13053 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13054
13055 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
13056 (readkey): Likewise.
13057
13058 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
13059
13060 Multiple variable names support to "export" command.
13061
13062 * normal/context.c (grub_cmd_export): "export" command supports
13063 multiple variable names.
13064
13065 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
13066
13067 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
13068 --target=drive output to Mach device name.
13069
13070 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
13071
13072 New Automake based build system for GRUB.
13073
13074 * ABOUT-NLS: New file.
13075 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
13076 in Makefile.util.def file.
13077 * Makefile.util.def: New file. Autogen build definitions file for
13078 GRUB host utils.
13079 * conf/Makefile.common: New file. Common variables for GRUB host
13080 utils and target modules.
13081 * conf/Makefile.extra-dist: New file. Extra files for make dist.
13082 * docs/Makefile.am: New file. Automake file for docs.
13083 * gentpl.py: New file. Python script to generate Autogen
13084 template.
13085 * grub-core/Makefile.am: New file. GRUB target modules' rules
13086 that doesn't fit in Makefile.core.def file.
13087 * grub-core/Makefile.core.def: New file. Autogen build
13088 definitions file for GRUB target modules.
13089 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
13090 specific setjmp.S file.
13091 * po/Makefile.am: New file.
13092
13093 * .bzrignore: New ignores.
13094 * INSTALL: New requirements, without Ruby.
13095 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
13096 * autogen.sh: Updated to invoke autogen as necessary.
13097 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
13098 and defines for Automake conditionals.
13099 * geninit.sh: Refactoring.
13100
13101 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
13102 necessary.
13103 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
13104 New prototype.
13105
13106 * include/grub/test.h: Fix functional test modules' naming.
13107 * grub-core/tests/example_functional_test.c: Fix test module name.
13108
13109 * util/misc.c: Hosted versions' of grub functions for libgrub.a
13110 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
13111 * util/grub-editenv.c: Likewise.
13112 * util/grub-fstest.c: Likewise.
13113 * util/grub-mkdevicemap.c: Likewise.
13114 * util/grub-mkfont.c: Likewise.
13115 * util/grub-mkimage.c: Likewise.
13116 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13117 * util/grub-probe.c: Likewise.
13118 * util/grub-script-check.c: Likewise.
13119 * util/i386/pc/grub-setup.c: Likewise.
13120 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13121
13122 * tests/util/grub-shell.in: Fix override directory path.
13123 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
13124 * util/import_gcry.py: Create Makefile.gcry.def file instead.
13125
13126 * util/lvm.c: Update #includes.
13127 * util/raid.c: Likewise.
13128 * util/resolve.c: Likewise.
13129 * grub-core/bus/emu/pci.c: Likewise.
13130 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
13131 * grub-core/lib/posix_wrap/string.h: Likewise.
13132 * grub-core/kern/emu/main.c: Likewise.
13133
13134 * grub-core/gensymlist.sh: New file. Script for generating kernel
13135 symbols file.
13136 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
13137
13138 * grub-core/gentrigtables.c: Fix unused variable warnings.
13139
13140 * Makefile.in: Removed.
13141 * conf/any-emu.rmk: Removed.
13142 * conf/common.rmk: Removed.
13143 * conf/i386-coreboot.rmk: Removed.
13144 * conf/i386-efi.rmk: Removed.
13145 * conf/i386-ieee1275.rmk: Removed.
13146 * conf/i386-multiboot.rmk: Removed.
13147 * conf/i386-pc.rmk: Removed.
13148 * conf/i386-qemu.rmk: Removed.
13149 * conf/i386.rmk: Removed.
13150 * conf/mips-yeeloong.rmk: Removed.
13151 * conf/mips.rmk: Removed.
13152 * conf/powerpc-ieee1275.rmk: Removed.
13153 * conf/sparc64-ieee1275.rmk: Removed.
13154 * conf/tests.rmk: Removed.
13155 * conf/x86-efi.rmk: Removed.
13156 * conf/x86_64-efi.rmk: Removed.
13157 * gendistlist.sh: Removed.
13158 * geninitheader.sh: Removed.
13159 * genkernsyms.sh.in: Removed.
13160 * genmk.rb: Removed.
13161 * gensymlist.sh.in: Removed.
13162 * mkinstalldirs: Removed.
13163 * boot: Moved ...
13164 * grub-core/boot: ... to here.
13165 * bus: Moved ...
13166 * grub-core/bus: ... to here.
13167 * commands: Moved ...
13168 * grub-core/commands: ... to here.
13169 * disk: Moved ...
13170 * grub-core/disk: ... to here.
13171 * efiemu: Moved ...
13172 * grub-core/efiemu: ... to here.
13173 * font: Moved ...
13174 * grub-core/font: ... to here.
13175 * fs: Moved ...
13176 * grub-core/fs: ... to here.
13177 * gencmdlist.sh: Moved ...
13178 * grub-core/gencmdlist.sh: ... to here.
13179 * genemuinit.sh: Moved ...
13180 * grub-core/genemuinit.sh: ... to here.
13181 * genemuinitheader.sh: Moved ...
13182 * grub-core/genemuinitheader.sh: ... to here.
13183 * genfslist.sh: Moved ...
13184 * grub-core/genfslist.sh: ... to here.
13185 * genhandlerlist.sh: Moved ...
13186 * grub-core/genhandlerlist.sh: ... to here.
13187 * genmoddep.awk: Moved ...
13188 * grub-core/genmoddep.awk: ... to here.
13189 * genmodsrc.sh: Moved ...
13190 * grub-core/genmodsrc.sh: ... to here.
13191 * genpartmaplist.sh: Moved ...
13192 * grub-core/genpartmaplist.sh: ... to here.
13193 * genparttoollist.sh: Moved ...
13194 * grub-core/genparttoollist.sh: ... to here.
13195 * genterminallist.sh: Moved ...
13196 * grub-core/genterminallist.sh: ... to here.
13197 * gentrigtables.c: Moved ...
13198 * grub-core/gentrigtables.c: ... to here.
13199 * genvideolist.sh: Moved ...
13200 * grub-core/genvideolist.sh: ... to here.
13201 * gettext: Moved ...
13202 * grub-core/gettext: ... to here.
13203 * gfxmenu: Moved ...
13204 * grub-core/gfxmenu: ... to here.
13205 * gnulib: Moved ...
13206 * grub-core/gnulib: ... to here.
13207 * hello: Moved ...
13208 * grub-core/hello: ... to here.
13209 * hook: Moved ...
13210 * grub-core/hook: ... to here.
13211 * io: Moved ...
13212 * grub-core/io: ... to here.
13213 * kern: Moved ...
13214 * grub-core/kern: ... to here.
13215 * lib: Moved ...
13216 * grub-core/lib: ... to here.
13217 * loader: Moved ...
13218 * grub-core/loader: ... to here.
13219 * mmap: Moved ...
13220 * grub-core/mmap: ... to here.
13221 * normal: Moved ...
13222 * grub-core/normal: ... to here.
13223 * partmap: Moved ...
13224 * grub-core/partmap: ... to here.
13225 * parttool: Moved ...
13226 * grub-core/parttool: ... to here.
13227 * script: Moved ...
13228 * grub-core/script: ... to here.
13229 * term: Moved ...
13230 * grub-core/term: ... to here
13231 * tests/example_functional_test.c: Moved ...
13232 * grub-core/tests/example_functional_test.c: ... to here.
13233 * tests/lib/functional_test.c: Moved ...
13234 * grub-core/tests/lib/functional_test.c: ... to here.
13235 * tests/lib/test.c: Moved ...
13236 * grub-core/tests/lib/test.c: ... to here.
13237 * video: Moved ...
13238 * grub-core/video: ... to here.
13239
13240 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
13241
13242 Replace --enable-grub-emu-modules with grub-emu-lite.
13243
13244 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
13245 cache.S.
13246
13247 * include/grub/emu/misc.h (grub_emu_init): New prototype.
13248 * kern/emu/full.c: New file. For grub-emu specific initialization.
13249 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
13250 * kern/emu/main.c: Call initialization function grub_emu_init.
13251
13252 * Makefile.in: Include grub-emu-lite in install.
13253 * commands/parttool.c: Use grub_no_autoload to differentiate
13254 between grub-emu and grub-emu-lite.
13255 * include/grub/misc.h: New variable grub_no_autoload.
13256
13257 * conf/any-emu.rmk: New rules for grub-emu-lite.
13258 * configure.ac: Remove --enable-grub-emu-modules.
13259 * genmk.rb: Cleanup unnecessary rules.
13260 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
13261
13262 * normal/main.c: Don't load list files on grub-emu-lite.
13263 * util/misc.c (grub_arch_sync_caches): Removed.
13264
13265 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
13266
13267 * kern/mips/startup.S (grub_prefix): Update comment to refer to
13268 grub-mkimage rather than grub-mkelfimage.
13269 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
13270
13271 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
13272
13273 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
13274 a key after CapsLock or NumLock. It's just a qemu bug.
13275
13276 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
13277
13278 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
13279 needed by libusb wrapper.
13280
13281 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
13282
13283 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
13284
13285 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
13286
13287 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
13288 --nounzip is passed.
13289
13290 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
13291
13292 USB hotunplugging and USB serial support.
13293
13294 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
13295 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
13296 (grub_uhci_transfer): Respect timeout and set *actual.
13297 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
13298 non-standard length.
13299 (grub_usb_device_attach): Autoload modules.
13300 (GRUB_MOD_INIT): Set grub_term_poll_usb.
13301 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
13302 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
13303 users updated.
13304 (grub_usb_add_hub): Fill nports and children.
13305 (attach_root_port): Receive hub instead of controller.
13306 All users updated. Fill hub->devices.
13307 (grub_usb_root_hub): Allocate hub->devices.
13308 (detach_device): New function.
13309 (poll_nonroot_hub): Fill children and detach devices.
13310 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
13311 actual arguments. All users updated.
13312 (grub_usb_bulk_read_extended): New function.
13313 * bus/usb/serial/common.c: New file.
13314 * bus/usb/serial/ftdi.c: Likewise.
13315 * bus/usb/serial/pl2303.c: Likewise.
13316 * commands/terminal.c (handle_command): Support wildcard.
13317 * commands/usbtest.c: Output "Unknown" instead of empty string.
13318 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
13319 (usbserial_common_mod_SOURCES): New variable.
13320 (usbserial_common_mod_CFLAGS): Likewise.
13321 (usbserial_common_mod_LDFLAGS): Likewise.
13322 (pkglib_MODULES): Add usbserial_pl2303.mod.
13323 (usbserial_pl2303_mod_SOURCES): New variable.
13324 (usbserial_pl2303_mod_CFLAGS): Likewise.
13325 (usbserial_pl2303_mod_LDFLAGS): Likewise.
13326 (pkglib_MODULES): Add usbserial_ftdi.mod.
13327 (usbserial_ftdi_mod_SOURCES): New variable.
13328 (usbserial_ftdi_mod_CFLAGS): Likewise.
13329 (usbserial_ftdi_mod_LDFLAGS): Likewise.
13330 (pkglib_MODULES): Add serial.mod.
13331 (serial_mod_SOURCES): New variable.
13332 (serial_mod_CFLAGS): Likewise.
13333 (serial_mod_LDFLAGS): Likewise.
13334 * conf/i386-pc.rmk: Likewise.
13335 * conf/mips-yeeloong.rmk: Likewise.
13336 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
13337 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
13338 * disk/usbms.c (first_available_slot): New variable.
13339 (grub_usbms_attach): Don't reuse free slots due to potential cache
13340 problems.
13341 * include/grub/serial.h: Moved to ..
13342 * include/grub/ns8250.h: ...this.
13343 * include/grub/serial.h: New file.
13344 * include/grub/term.h (grub_term_poll_usb): New variable.
13345 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
13346 readkey. All users updated.
13347 (grub_terminfo_output_state): Pass term to put.
13348 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
13349 (grub_usb_controller_dev): Add timeout and actual arguments to
13350 transfer. All users updated.
13351 (grub_usb_interface): New field detach_data.
13352 (grub_usb_device): New fields children and nports.
13353 (grub_usb_ep_type_t): New type.
13354 (grub_usb_get_ep_type): New function.
13355 (grub_usb_bulk_read_extended): Likewise.
13356 * include/grub/usbdesc.h (grub_usb_desc): New type.
13357 * include/grub/usbserial.h: New file.
13358 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
13359 * kern/term.c (grub_term_poll_usb): New variable.
13360 (grub_getkey): Call grub_term_poll_usb if set.
13361 (grub_checkkey): Likewise.
13362 (grub_getkeystatus): Likewise.
13363 * term/serial.c: Moved controller-specific parts to ...
13364 * term/ns8250.c: ... here.
13365 * term/serial.c: Mostly rewritten.
13366 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
13367 according to spec.
13368
13369 2010-08-20 Robert Millan <rmh@gnu.org>
13370
13371 Make kFreeBSD code more generic to support ext2fs as root, ufs as
13372 a separate module and maybe other interesting combinations.
13373
13374 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
13375 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
13376 (kfreebsd_entry): Add generic filesystem module load routine.
13377 Map GRUB `ext2' to kFreeBSD `ext2fs'.
13378
13379 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
13380
13381 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
13382 "numcenter" (I misunderstood the purpose of this entry).
13383 * docs/grub.texi (sendkey): Likewise.
13384
13385 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
13386
13387 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
13388 status flag options; simply omitting the option is equivalent and
13389 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
13390 (keysym_table): Rename "num5numlock" to "numlock".
13391 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
13392 can uniformly say that only the last of multiple `sendkey'
13393 invocations has any effect.
13394 * docs/grub.texi (sendkey): New section.
13395
13396 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
13397
13398 * commands/i386/pc/sendkey.c (options): Fix three typos.
13399
13400 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13401
13402 Implement sendkey support.
13403
13404 * commands/i386/pc/sendkey.c: New file.
13405 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
13406 (sendkey_mod_SOURCES): New variable.
13407 (sendkey_mod_CFLAGS): Likewise.
13408 (sendkey_mod_LDFLAGS): Likewise.
13409
13410 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
13411
13412 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
13413 fix warnings from Autoconf.
13414
13415 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
13416
13417 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
13418 to avoid false positives with some assemblers that output things
13419 like "someprefix_func" as part of their output.
13420
13421 2010-08-15 Robert Millan <rmh@gnu.org>
13422
13423 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
13424 errors.
13425 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
13426 grub_get_libzfs_handle() errors.
13427
13428 2010-08-14 Robert Millan <rmh@gnu.org>
13429
13430 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
13431 filesystem is not ZFS.
13432
13433 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13434
13435 Fix for misspelled color names defaulting to black/black (bug
13436 reported by Doug Nazar)
13437
13438 * include/grub/normal.h (grub_parse_color_name_pair): Add return
13439 status to prototype.
13440 * normal/color.c (grub_parse_color_name_pair): Return failure
13441 status.
13442 (grub_env_write_color_normal): Ignore bad color names.
13443 (grub_env_write_color_highlight): Likewise.
13444 * normal/main.c (GRUB_MOD_INIT): Set default color names.
13445
13446 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13447
13448 "shift" command support to GRUB script.
13449
13450 * include/grub/script_sh.h (grub_script_shift): New prototype.
13451 * script/execute.c (grub_script_shift): New function.
13452 * script/main.c (grub_script_init): Register shift command.
13453 (grub_script_fini): Unregister shift command.
13454 * util/grub-script-check.c (grub_script_cmd_shift): New function.
13455
13456 * tests/grub_script_shift.in: New testcase.
13457 * conf/tests.rmk: Rules for new testcase.
13458
13459 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13460
13461 "continue" command support to GRUB script.
13462
13463 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
13464 (grub_script_break): Continue support.
13465 * script/main.c (grub_script_init): Register continue command.
13466 (grub_script_fini): Unregister continue command.
13467
13468 * tests/grub_script_continue.in: New testcase.
13469 * conf/tests.rmk: Rules for new testcase.
13470
13471 2010-08-12 BVK Chaitanya <bvk@dbook>
13472
13473 "break" command support to GRUB script.
13474
13475 * conf/common.rmk: Rule updates to grub-script-check.
13476 * include/grub/misc.h (grub_min): New function.
13477 * include/grub/script_sh.h (grub_script_init): New prototype.
13478 (grub_script_fini): New prototype.
13479 (grub_script_break): New prototype.
13480 * script/main.c (grub_script_init): New function.
13481 (grub_script_fini): New function.
13482 * script/execute.c (grub_script_break): New function.
13483 * normal/main.c: Calls to grub_script_{init,fini}.
13484 * util/grub-script-check.c (grub_script_break): New function.
13485
13486 * tests/grub_script_break.in: New testcase.
13487 * conf/tests.rmk: Rules for new test case.
13488
13489 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13490
13491 Function parameters support to GRUB script.
13492
13493 * script/yylex.l (VARIABLE): Regular expression update.
13494 * script/function.c (grub_script_function_call): Moved ...
13495 * script/execute.c (grub_script_function_call): ... to here.
13496 (grub_script_execute_arglist_to_argv): Removed.
13497 (grub_script_arglist_to_argv): New function.
13498 * script/argv.c: New file.
13499 (grub_script_argv_free): New function.
13500 (grub_script_argv_next): Likewise.
13501 (grub_script_argv_append): Likewise.
13502 (grub_script_argv_split_append): Likewise.
13503 * include/grub/script_sh.h (grub_script_argv): New struct.
13504 (grub_script_argv_free): New function.
13505 (grub_script_argv_next): Likewise.
13506 (grub_script_argv_append): Likewise.
13507 (grub_script_argv_split_append): Likewise.
13508
13509 * conf/common.rmk (normal.mod): New source script/argv.c.
13510
13511 * tests/grub_script_echo1.in: More tests.
13512 * tests/grub_script_vars1.in: Likewise.
13513 * tests/grub_script_functions.in: New test case.
13514 * conf/tests.rmk: Rules for new testcase.
13515
13516 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13517
13518 Remove grub_script_cmdblock struct.
13519
13520 * include/grub/script_sh.h: Remove grub_script_cmdblock.
13521 * script/parser.y: Likewise.
13522 * script/execute.c: Rename cmdblock suffix to cmdlist.
13523 * script/script.c: Likewise.
13524 * util/grub-script-check.c: Likewise.
13525
13526 2010-08-11 Yves Blusseau <blusseau@zetam.org>
13527
13528 * .bzrignore: add grub-macho2img
13529
13530 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
13531
13532 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
13533
13534 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
13535
13536 Remove the dump of sm712 initialisation sequence.
13537
13538 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
13539 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
13540 (GRUB_VGA_IO_MISC_WRITE): Likewise.
13541 (GRUB_VGA_CR_*): Added many registers.
13542 (GRUB_VGA_SR_*): Likewise.
13543 (GRUB_VGA_GR_*): Likewise.
13544 (grub_vga_write_arx): New function.
13545 (grub_video_hw_config): New struct.
13546 (grub_vga_set_geometry): New function.
13547 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
13548 GRUB_PCI_CLASS_SUBCLASS_VGA.
13549 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
13550 * video/sm712.c (grub_sm712_write_reg): New function
13551 (grub_sm712_read_reg): Likewise.
13552 (grub_sm712_sr_write): Likewise.
13553 (grub_sm712_gr_write): Likewise.
13554 (grub_sm712_cr_write): Likewise.
13555 (grub_sm712_write_arx): Likewise.
13556 (grub_sm712_cr_shadow_write): Likewise.
13557 (grub_sm712_write_dda_lookup): Likewise.
13558 (grub_video_sm712_setup): Initialise the video rather then
13559 blindly replay the dump.
13560 (main) [TEST]: Add a routine to be able to compile as standalone for
13561 tests.
13562 * video/sm712_init.c (sm712_init): Removed.
13563 (sm712_sr_seq1): New array.
13564 (sm712_sr_seq2): Likewise.
13565
13566 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
13567
13568 * include/grub/vga.h: Add missing grub/pci.h include.
13569
13570 2010-08-10 Yves Blusseau <blusseau@zetam.org>
13571
13572 * util/grub-macho2img.c (main): fix typo
13573
13574 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
13575
13576 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
13577 (grub_vga_gr_read): Likewise.
13578 (grub_vga_cr_write): Likewise.
13579 (grub_vga_cr_read): Likewise.
13580 (grub_vga_sr_write): Likewise.
13581 (grub_vga_sr_read): Likewise.
13582 (grub_vga_palette_read): Likewise.
13583 (grub_vga_palette_write): Likewise.
13584 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
13585 (grub_sm712_sr_read): New function.
13586 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
13587 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
13588
13589 2010-08-09 Robert Millan <rmh@gnu.org>
13590
13591 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
13592 out unused variables on non-ZFS build.
13593
13594 2010-08-08 Robert Millan <rmh@gnu.org>
13595
13596 Fix path generation for sub-filesystems in ZFS.
13597
13598 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
13599 missing slash.
13600
13601 2010-08-08 Robert Millan <rmh@gnu.org>
13602
13603 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
13604
13605 2010-08-08 Robert Millan <rmh@gnu.org>
13606
13607 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
13608 exist, issue a proper error message (rely on `ls' for translated
13609 strings).
13610
13611 2010-08-08 Robert Millan <rmh@gnu.org>
13612
13613 Fix grub-probe invocation.
13614
13615 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
13616
13617 2010-08-04 Robert Millan <rmh@gnu.org>
13618
13619 * configure.ac: Remove checks for getfsstat() and getmntany().
13620 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
13621 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
13622 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
13623 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
13624 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
13625 function.
13626 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
13627 via find_mount_point_from_dir() and getfsstat() / getmntany().
13628
13629 2010-08-04 Robert Millan <rmh@gnu.org>
13630
13631 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13632 (grub_find_zpool_from_mount_point): Merge into ...
13633 (grub_find_zpool_from_dir): ... this.
13634 * kern/emu/misc.c: Likewise.
13635
13636 * kern/emu/misc.c
13637 (grub_make_system_path_relative_to_its_root): Replace
13638 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
13639 with grub_find_zpool_from_dir().
13640 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
13641
13642 2010-08-04 Robert Millan <rmh@gnu.org>
13643
13644 Support OpenSolaris in ZFS device resolution.
13645
13646 * configure.ac: Check for getmntany().
13647 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
13648 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
13649 support.
13650
13651 2010-08-03 Robert Millan <rmh@gnu.org>
13652
13653 Fix grub-emu build.
13654
13655 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
13656 * include/grub/emu/misc.h: ... here.
13657
13658 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
13659 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
13660
13661 * util/misc.c: Remove `<grub/util/libzfs.h>'.
13662 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
13663 (grub_get_libzfs_handle): Move to ...
13664 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
13665 (grub_get_libzfs_handle): ... here.
13666
13667 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
13668
13669 * script/execute.c (grub_script_execute_cmdline): Check for NULL
13670 as command name case.
13671
13672 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
13673
13674 * disk/raid.c (insert_array): Select unique numbers for named arrays
13675 as well, for use as keys in the disk cache.
13676
13677 2010-08-01 Robert Millan <rmh@gnu.org>
13678
13679 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
13680 kFreeBSD device name, except on ZFS where the filesystem label is
13681 used.
13682 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
13683 `/boot/zfs/zpool.cache'.
13684 Set mountfrom kernel variable using ${kfreebsd_device}.
13685
13686 2010-08-01 Robert Millan <rmh@gnu.org>
13687
13688 Make it even harder to use uninitialized `libzfs_handle' (and
13689 make the interface a bit simpler).
13690
13691 * include/grub/util/misc.h (grub_util_init_libzfs)
13692 (libzfs_handle): Remove.
13693 (grub_get_libzfs_handle): New prototype.
13694
13695 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
13696 attribute.
13697 (grub_util_init_libzfs): Remove.
13698 (grub_get_libzfs_handle): New function.
13699
13700 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
13701 grub_get_libzfs_handle() to obtain a libzfs handle instead of
13702 accessing `libzfs_handle' directly.
13703
13704 2010-08-01 Robert Millan <rmh@gnu.org>
13705
13706 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13707 (grub_find_zpool_from_mount_point): New function prototypes.
13708
13709 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
13710 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
13711
13712 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
13713 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
13714 `static' attribute.
13715
13716 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
13717 finding zpool from mount point into ...
13718 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
13719
13720 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
13721 requested path is part of a ZFS pool, use
13722 grub_find_zpool_from_mount_point() to detect its filesystem name,
13723 and generate a path with `/fsname@path' syntax.
13724
13725 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13726
13727 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
13728 (void) rather than () so that this is a proper prototype.
13729
13730 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13731
13732 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
13733
13734 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13735
13736 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
13737 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
13738
13739 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13740
13741 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
13742
13743 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13744
13745 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
13746
13747 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13748
13749 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
13750 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
13751 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
13752 disable gfxpayload.
13753 (Shell-like scripting): Add real content.
13754 (Serial terminal): Suggest `terminal_input serial; terminal_output
13755 serial' rather than putting the two commands on separate lines,
13756 since console input will be inoperative after the first command.
13757 (menuentry): Document --class, --users, and --hotkey options.
13758 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
13759 Vladimir Serbinenko).
13760
13761 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13762 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13763
13764 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
13765
13766 2010-08-01 Robert Millan <rmh@gnu.org>
13767
13768 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13769 (grub_find_zpool_from_mount_point): New function prototypes.
13770
13771 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
13772 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
13773
13774 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
13775 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
13776 `static' attribute.
13777
13778 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
13779 finding zpool from mount point into ...
13780 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
13781
13782 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
13783 requested path is part of a ZFS pool, use
13784 grub_find_zpool_from_mount_point() to detect its filesystem name,
13785 and generate a path with `/fsname@path' syntax.
13786
13787 2010-08-01 Robert Millan <rmh@gnu.org>
13788
13789 Prevent accidental use of uninitialized libzfs_handle.
13790
13791 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
13792 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
13793 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
13794
13795 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13796
13797 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
13798 util/grub.d/10_linux.in). Fixes Debian bug #591093.
13799
13800 2010-08-01 Robert Millan <rmh@gnu.org>
13801
13802 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
13803
13804 2010-07-31 Robert Millan <rmh@gnu.org>
13805
13806 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
13807
13808 2010-07-31 Robert Millan <rmh@gnu.org>
13809
13810 * kern/emu/misc.c: Add missing license header.
13811
13812 2010-07-31 Robert Millan <rmh@gnu.org>
13813
13814 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
13815
13816 * include/grub/util/libnvpair.h: Include `<config.h>'.
13817 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
13818 declaring libnvpair prototypes ourselves.
13819 * include/grub/util/libzfs.h: Include `<config.h>'.
13820 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
13821 declaring libzfs prototypes ourselves.
13822
13823 (libzfs_handle): Moved to ...
13824 * include/grub/util/misc.h (libzfs_handle): ... here.
13825 Include `<grub/util/libzfs.h>'.
13826
13827 2010-07-30 Robert Millan <rmh@gnu.org>
13828
13829 * include/grub/emu/misc.h: Add missing license header.
13830
13831 2010-07-30 Robert Millan <rmh@gnu.org>
13832
13833 Enable `grub-probe -t device' resolution on ZFS.
13834
13835 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
13836 * include/grub/util/libnvpair.h: New file.
13837 * include/grub/util/libzfs.h: New file.
13838
13839 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
13840 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
13841 `<grub/util/libnvpair.h>'.
13842 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
13843
13844 (find_mount_point_from_dir): New static function.
13845 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
13846 function.
13847 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
13848 find_root_device_from_libzfs() before ressorting to find_root_device().
13849
13850 * include/grub/util/misc.h (grub_util_init_libzfs): New function
13851 prototype.
13852 * util/misc.c: Include `<grub/util/libzfs.h>'.
13853 (grub_util_init_libzfs): New function.
13854 [HAVE_LIBZFS] (libzfs_handle): New global variable.
13855 [HAVE_LIBZFS] (fini_libzfs): New static function.
13856 (grub_util_init_libzfs): New function.
13857 * util/grub-probe.c (main): Call grub_util_init_libzfs().
13858
13859 2010-07-30 Robert Millan <rmh@gnu.org>
13860
13861 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
13862 (xmalloc, xrealloc, xstrdup, xasprintf): Add
13863 `warn_unused_result' attribute.
13864 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
13865 (grub_xasprintf, grub_xvasprintf): Likewise.
13866 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
13867
13868 2010-07-29 Robert Millan <rmh@gnu.org>
13869
13870 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
13871 (probe): Handle `PRINT_FS_LABEL'.
13872 (main): Handle `-t fs_label'.
13873
13874 2010-07-29 Robert Millan <rmh@gnu.org>
13875
13876 * configure.ac: Remove grub-mkisofs checks.
13877
13878 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
13879
13880 * util/ieee1275/grub-install.in: Don't use empty grub_device.
13881 Reported by: Lennart Sorensen.
13882
13883 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13884
13885 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
13886 prior to terminal_input/terminal_output separation. It's been over 1.5
13887 years and those versions weren't widely deployed.
13888
13889 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
13890
13891 * disk/raid.c (insert_array): Don't count named arrays when looking
13892 for unused array numbers.
13893 Reported and tested by: Michael Guntsche.
13894
13895 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13896
13897 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
13898 implementation of this so that grub-emu links again, with a note
13899 that this should support hotplugging in the future.
13900
13901 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13902
13903 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
13904
13905 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13906
13907 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
13908 handle on failure.
13909 (grub_loopback_close): Remove empty function.
13910 (grub_loopback_dev): Remove close method.
13911
13912 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13913
13914 Disable EFI cursor when the EFI console becomes inactive.
13915
13916 * term/efi/console.c (grub_efi_console_init): New function.
13917 (grub_efi_console_fini): New function.
13918 (grub_console_term_output): Register init and fini methods.
13919
13920 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13921
13922 * tests/util/grub-shell-tester.in: Remove bashism and declare as
13923 sh script.
13924
13925 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13926
13927 * disk/loopback.c (grub_loopback): Replace filename with file.
13928 (delete_loopback): Handle new semantics.
13929 (grub_cmd_loopback): Likewise.
13930 (grub_loopback_iterate): Likewise.
13931 (grub_loopback_close): Likewise.
13932
13933 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13934
13935 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
13936 with -p "".
13937 Reported by: Tito Keitel.
13938
13939 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13940
13941 * docs/grub.texi (Naming convention): Document new naming convention.
13942
13943 2010-07-20 Vadim Solomin <vadic052@gmail.com>
13944 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13945
13946 Generate device.map in something closer to the old ordering.
13947
13948 * util/deviceiter.c (struct device): New declaration.
13949 (compare_file_names): Rename to ...
13950 (compare_devices): ... this. Sort by kernel name in preference to
13951 the stable by-id name, but keep the latter as a fallback comparison.
13952 Update header comment.
13953 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
13954 of `struct device' rather than of plain file names.
13955
13956 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
13957
13958 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
13959 on i386.
13960
13961 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13962
13963 * commands/acpi.c (setup_common_tables): Use sizeof instead of
13964 hardcoding size.
13965 (setv1table): Likewise.
13966
13967 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13968
13969 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
13970 removing the homehost if present.
13971 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
13972 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
13973 removing the homehost if present.
13974 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
13975 if possible.
13976 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
13977
13978 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
13979 parameter. Set its pointer target to 0.
13980 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
13981 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
13982 `data_offset' value from the superblock for 1.x metadata.
13983 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
13984 data on the device.
13985 (insert_array): Record the start sector of data on the device.
13986 (grub_raid_register): Pass start_sector parameters to
13987 grub_raid_list->detect and insert_array.
13988 * include/grub/raid.h (struct grub_raid_array): Add start_sector
13989 member.
13990 (struct grub_raid): Add start_sector parameter to `detect'.
13991
13992 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
13993 __attribute__ ((packed)), leaving a comment.
13994 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
13995 (grub_mdraid_detect_09): ... here and ...
13996 (grub_mdraid_detect_1x): ... here.
13997
13998 2010-07-20 Peter Henn <peter.henn@web.de>
13999
14000 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
14001 chunk size and disk size, which are already given as sector counts
14002 as distinct from the 0.90 units. Fetch the correct device number
14003 from the role table instead of using the table index.
14004
14005 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
14006
14007 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
14008 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
14009 (WriteMostly1): New macro.
14010 Set array->name to NULL for metadata format 0.90. Add support for
14011 metadata 1.x. Fix some comments.
14012 * disk/raid.c (): Add support for name based RAID arrays. Fix a
14013 few comments.
14014 * util/getroot.c (grub_util_get_grub_dev): Add support for
14015 /dev/md/name style devices.
14016
14017 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
14018
14019 * .bzrignore: Ignore 20_linux_xen.
14020
14021 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
14022
14023 * util/import_unicode.py: Remove unnecessary imports.
14024
14025 2010-07-17 Aleš Nesrsta <starous@volny.cz>
14026
14027 Hotplugging and USB hub support.
14028
14029 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
14030 (grub_ohci): Likewise.
14031 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
14032 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
14033 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
14034 (GRUB_OHCI_CTRL_EDS): Likewise.
14035 (GRUB_OHCI_BULK_EDS): Likewise.
14036 (GRUB_OHCI_TDS): Likewise.
14037 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
14038 (grub_ohci_ed_phys2virt): New function.
14039 (grub_ohci_virt_to_phys): Likewise.
14040 (grub_ohci_td_phys2virt): Likewise.
14041 (grub_ohci_td_virt2phys): Likewise.
14042 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
14043 attachment.
14044 (grub_ohci_find_ed): New function.
14045 (grub_ohci_alloc_td): Likewise.
14046 (grub_ohci_free_td): Likewise.
14047 (grub_ohci_free_tds): Likewise.
14048 (grub_ohci_transfer): Use previously allocated memory.
14049 (grub_ohci_portstatus): Reset status changed bit.
14050 (grub_ohci_detect_dev): Supply status changed.
14051 (grub_ohci_fini_hw): Free memory.
14052 (grub_ohci_restore_hw): Reallocate memory.
14053 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
14054 Reset status change.
14055 (grub_uhci_detect_dev): Supply status_change.
14056 * bus/usb/usb.c (attach_hooks): New var.
14057 (grub_usb_device_attach): New function.
14058 (grub_usb_register_attach_hook_class): Likewise.
14059 (grub_usb_unregister_attach_hook_class): Likewise.
14060 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
14061 (grub_usb_add_hub): Reset connection changed bit.
14062 (attach_root_port): New function.
14063 (grub_usb_root_hub): Likewise.
14064 (poll_nonroot_hub): Likewise.
14065 (grub_usb_poll_devices): Likewise.
14066 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
14067 * disk/usbms.c (grub_usbms_open): Use device hooks.
14068 (grub_usbms_iterate) :Poll devices.
14069 (grub_usbms_finddevs): Split into ...
14070 (grub_usbms_attach): ... this ...
14071 (grub_usbms_attach): ... and this.
14072 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
14073 in detect_dev.
14074 (grub_usb_interface): New fields attached and detach_hook.
14075 (grub_usb_attach_hook_class): New type.
14076 (grub_usb_attach_desc): New struct.
14077 (grub_usb_register_attach_hook_class): New function.
14078 (grub_usb_unregister_attach_hook_class): Likewise.
14079 (grub_usb_poll_devices): Likewise.
14080 (grub_usb_device_attach): Likewise.
14081 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
14082 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
14083
14084 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
14085
14086 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
14087 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
14088 delta determination style. Works with most NetBSD partitions too.
14089
14090 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
14091
14092 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
14093 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
14094
14095 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
14096
14097 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
14098
14099 2010-07-14 Anton Blanchard <anton@samba.org>
14100
14101 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
14102 ET_DYN files.
14103
14104 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14105
14106 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
14107
14108 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14109
14110 * kern/partition.c (grub_partition_check_containment): New function to
14111 check that a partition is physically contained in a parent. Since
14112 offsets are relative (and non-negative), this reduces to checking that
14113 the partition ends before its parent.
14114 (grub_partition_map_probe): Discard out-of-range sub-partitions.
14115 (grub_partition_iterate): Likewise.
14116 * include/grub/partition.h (grub_partition_map): Slightly more detailed
14117 comments.
14118 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
14119 partitions that start before their parent, and add debug printfs.
14120
14121 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
14122
14123 * Makefile.in (.SUFFIX): Spell correctly, as ...
14124 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
14125 bare module name without `.mod', e.g. `test') tried to invoke a
14126 Modula-2 compiler.
14127
14128 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
14129
14130 * README: Point to the Info manual.
14131
14132 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
14133
14134 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
14135 2nd superblock position from partition size.
14136
14137 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
14138
14139 * Makefile.in (MAINTAINER_CLEANFILES): Remove
14140 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
14141 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
14142 outputs.
14143
14144 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14145
14146 Restructure SCSI .id handling.
14147 Reported and tested by: Aleš Nesrsta.
14148
14149 * disk/ata.c (grub_atapi_close): Removed. All users updated.
14150 (grub_atapi_dev): Changed .name to "ata". New field .id.
14151 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
14152 (grub_usbms_dev): New field .id.
14153 * disk/scsi.c (grub_scsi_iterate): Generate name.
14154 (grub_scsi_open): Parse name.
14155 * include/grub/scsi.h (grub_make_scsi_id): New function.
14156 (grub_scsi_dev): Change iterate and open to number instead of naming
14157 busses. All users updated.
14158 (grub_scsi): Remove name. Add .bus.
14159
14160 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14161
14162 * commands/help.c (grub_cmd_help): Fix a typo.
14163
14164 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14165
14166 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
14167 Reported and tested by: Colin Watson.
14168
14169 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14170
14171 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
14172 in this context.
14173
14174 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14175
14176 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
14177
14178 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
14179
14180 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
14181 indentation.
14182
14183 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
14184
14185 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
14186 and disk/raid6_recover.c.
14187 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
14188 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
14189
14190 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
14191
14192 * term/gfxterm.c (repaint_schedulded): Rename to ...
14193 (repaint_scheduled): ... this. Update all callers.
14194 (repaint_was_schedulded): Rename to ...
14195 (repaint_was_scheduled): ... this. Update all callers.
14196
14197 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
14198
14199 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
14200 which we expect to be handled by upper layers.
14201
14202 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
14203
14204 * bus/usb/usbhub.c: #include time.h header.
14205
14206 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
14207
14208 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
14209 entry_name also for entries without stat blocks (e.g. ".."); fixes
14210 corruption of the first entry in a directory.
14211
14212 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
14213
14214 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
14215 after setting gfxterm as the active terminal. GRUB_BACKGROUND
14216 doesn't work otherwise.
14217
14218 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
14219
14220 * docs/grub.texi (Features): Update list of supported file systems.
14221 (GNU/Linux): Update for GRUB 2.
14222 (Serial terminal): Remove mention of --disable-serial, which was a
14223 GRUB Legacy configure option. Update instructions to use
14224 `terminal_input' and `terminal_output' rather than `terminal'.
14225 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
14226 configuration' and `Installing GRUB using grub-install'.
14227 (Menu entry editor): Update for GRUB 2.
14228 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
14229 Document new -a, -u, and -v options.
14230 (initrd): New section.
14231 (initrd16): New section.
14232 (linux): New section.
14233 (linux16): New section.
14234 (search): The `var' argument to `--set' is optional.
14235 (GRUB only offers a rescue shell): Go into a little more detail on
14236 drive ordering.
14237
14238 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
14239
14240 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
14241
14242 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
14243
14244 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
14245 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
14246
14247 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
14248
14249 * util/i386/pc/grub-setup.c (setup): Rename prefix to
14250 install_prefix, in line with install_dos_part and install_bsd_part.
14251 Add new prefix variable, which is copied to install_prefix after
14252 comparing core.img in memory with the one read from disk in the
14253 no-embedding case, and use that rather than overwriting
14254 install_prefix immediately when installing to a partition.
14255 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
14256 Bicakci.
14257
14258 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
14259
14260 * configure.ac: Avoid == in test command, it's not portable.
14261 * util/grub.d/30_os-prober.in: Likewise.
14262
14263 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
14264
14265 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
14266
14267 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
14268
14269 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
14270 multiple (top-level) partmaps.
14271
14272 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14273
14274 * util/i386/efi/grub-install.in: Don't use empty grub_device.
14275 Reported by: Tino Keitel.
14276
14277 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14278
14279 Bidi and diacritics support.
14280
14281 * Makefile.in (widthspec.bin): New target.
14282 (widthspec.h): Likewise.
14283 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
14284 * autogen.sh: Generate unidata.c.
14285 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
14286 * commands/ls.c (grub_ls_list_devices): Likewise.
14287 (grub_ls_list_files): Likewise.
14288 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
14289 (grub_mini_cmd_lsmod): Likewise.
14290 * commands/read.c: Likewise.
14291 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
14292 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
14293 * lib/arg.c (grub_arg_show_help): Likewise.
14294 * lib/crypto.c (grub_password_get): Likewise.
14295 * normal/auth.c (grub_username_get): Likewise.
14296 * normal/misc.c (grub_normal_print_device_info): Likewise.
14297 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
14298 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
14299 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
14300 (normal/charset.c_DEPENDENCIES): New variable.
14301 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
14302 (pkglib_MODULES): Remove charset.mod.
14303 (charset_mod_SOURCES): Removed.
14304 (charset_mod_CFLAGS): Likewise.
14305 (charset_mod_LDFLAGS): Likewise.
14306 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
14307 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
14308 and term/tparm.c.
14309 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14310 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14311 (kernel_img_HEADERS): Add terminfo.h.
14312 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
14313 Fill ->font. Reverse ascii bitmaps.
14314 (grub_font_get_xheight): New function.
14315 * font/font.c (grub_font_get_string_width): Moved from here ...
14316 * gfxmenu/font.c (grub_font_get_string_width): ... here.
14317 * font/font.c (grub_font_draw_string): Moved from here ...
14318 * gfxmenu/font.c (grub_font_draw_string): ... here.
14319 * font/font.c (grub_font_dup_glyph): New function.
14320 (grub_font_blit_glyph): Likewise.
14321 (grub_font_blit_glyph_mirror): Likewise.
14322 (blit_comb): Likewise.
14323 (grub_font_construct_dry_run): Likewise.
14324 (grub_font_get_constructed_device_width): Likewise.
14325 (grub_font_construct_glyph): Likewise.
14326 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
14327 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
14328 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
14329 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
14330 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
14331 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
14332 (grub_font_get_xheight): New proto.
14333 (grub_font_get_constructed_device_width): Likewise.
14334 (grub_font_construct_glyph): Likewise.
14335 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
14336 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
14337 * include/grub/font.h (grub_font_draw_string): Moved from here ...
14338 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
14339 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
14340 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
14341 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
14342 (grub_console_getcharwidth): Likewise.
14343 * include/grub/misc.h (grub_xputs): New proto.
14344 (grub_puts): Inlined.
14345 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
14346 (grub_normal_get_line_counter): Removed.
14347 (grub_install_newline_hook): Likewise.
14348 (grub_normal_get_char_counter): New proto.
14349 (grub_normal_reset_more): Likewise.
14350 (grub_xputs_normal): Likewise.
14351 * include/grub/powerpc/ieee1275/console.h: Removed.
14352 * include/grub/sparc64/ieee1275/console.h: Likewise.
14353 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
14354 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
14355 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
14356 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
14357 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
14358 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
14359 (grub_term_input): Pass reference to self. All users updated.
14360 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
14361 Pass reference to self. New fields normal_color, highlight_color and
14362 data. All users updated.
14363 (grub_putchar): Removed.
14364 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
14365 (grub_unicode_estimate_width): New function.
14366 (grub_term_getcharwidth): Add defaults.
14367 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
14368 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
14369 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
14370 (grub_cls): Remove EXPORT_FUNC.
14371 (grub_setcolorstate): Inline.
14372 (grub_newline_hook): Removed.
14373 * include/grub/terminfo.h: Rewritten. All users updated.
14374 * include/grub/unicode.h: New file.
14375 * include/grub/video.h (grub_video_signed_rect): New type.
14376 * kern/emu/console.c (grub_console_highlight_color): Removed.
14377 (grub_console_normal_color): Likewise.
14378 (grub_console_standard_color): Made static.
14379 (grub_ncurses_putchar): Remove mapping.
14380 (grub_ncurses_getcharwidth): Removed.
14381 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
14382 (grub_ncurses_setcolor): Removed.
14383 (grub_ncurses_getcolor): Likewise.
14384 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
14385 (grub_console_putchar): ... this.
14386 (grub_console_putchar): Handle argument difference.
14387 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
14388 console_init_early and console_init_lately.
14389 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
14390 * kern/misc.c (grub_puts): Removed.
14391 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
14392 (grub_vsnprintf_real): Remove str = NULL support.
14393 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
14394 * normal/charset.c (grub_utf8_to_ucs4): ... here.
14395 * kern/term.c (grub_putcode): Renamed to ...
14396 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
14397 (grub_putchar): Removed.
14398 (grub_xputs_dumb): New function.
14399 (grub_xputs): New variable.
14400 * lib/charset.c: Move from here ...
14401 * normal/charset.c: ... to here.
14402 (grub_ucs4_to_utf8): New function.
14403 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
14404 (join_types): New variable.
14405 (unpack_join): New function.
14406 (bidi_types): New variable.
14407 (unpack_bidi): New function.
14408 (get_bidi_type): Likewise.
14409 (get_join_type): Likewise.
14410 (is_mirrored): Likewise.
14411 (grub_unicode_get_comb_type): Likewise.
14412 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
14413 (is_type_after): Likewise.
14414 (grub_unicode_aglomerate_comb): Likewise.
14415 (bidi_line_wrap): Likewise.
14416 (grub_bidi_line_logical_to_visual): Likewise.
14417 (grub_bidi_logical_to_visual): Likewise.
14418 (grub_unicode_mirror_code): Likewise.
14419 (grub_unicode_shape_code): Likewise.
14420 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
14421 Don't use grub_putchar.
14422 * normal/main.c (grub_normal_init_page): Use grub_putcode.
14423 (grub_normal_reader_init): Likewise.
14424 (grub_xputs_saved): New variable.
14425 (GRUB_MOD_INIT): Set grub_xputs.
14426 (GRUB_MOD_FINI): Restore grub_xputs.
14427 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
14428 (menu_init): Avoid printing gfxmenu error.
14429 (show_menu): Use grub_normal_get_char_counter.
14430 * normal/menu_entry.c (update_screen): Fix out-of-array.
14431 (complete): Avoid NULL dereferencing.
14432 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
14433 * normal/menu_text.c (print_spaces): Removed.
14434 (grub_print_ucs4): Likewise.
14435 (grub_print_message_indented): Use grub_print_ucs4.
14436 (print_message): Use grub_putcode.
14437 (print_entry): Hanlde diacritics.
14438 * normal/term.c (term_state): New type.
14439 (grub_more_lines): Removed.
14440 (term_states): New variable.
14441 (grub_normal_line_counter): Renamed to ..
14442 (grub_normal_char_counter): ...this. All users updated.
14443 (grub_normal_get_line_counter): Renamed to ...
14444 (grub_normal_get_char_counter): ... this.
14445 (grub_normal_reset_more): New function.
14446 (process_newline): Removed.
14447 (print_more): New function.
14448 (grub_install_newline_hook): Removed.
14449 (map_code): New function.
14450 (grub_puts_terminal): Use grub_print_ucs4.
14451 (putglyph): New function.
14452 (putcode_real): Likewise.
14453 (grub_putcode): Use putcode_real.
14454 (get_maxwidth): New function.
14455 (get_startwidth): Likewise.
14456 (print_ucs4_terminal): Likewise.
14457 (find_term_state): Likewise.
14458 (put_glyphs_terminal): Likewise.
14459 (print_backlog): Likewise.
14460 (print_ucs4_real): Likewise.
14461 (grub_print_ucs4): Likewise.
14462 (grub_xputs_normal): Likewise.
14463 * term/efi/console.c (grub_console_putchar): Output diacritics.
14464 (grub_console_getcharwidth): Removed.
14465 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
14466 * term/gfxterm.c (clear_char): Free chars.
14467 (scroll_up): Avoid leaking memory.
14468 (grub_gfxterm_putchar): Support diacritics.
14469 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
14470 * term/i386/pc/console.c (grub_console_term_output): Declare as
14471 GRUB_TERM_CODE_TYPE_VGA.
14472 * term/i386/pc/vga.c (grub_vga_term): Declare as
14473 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
14474 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
14475 GRUB_TERM_CODE_TYPE_VGA.
14476 * term/i386/vga_common.c (map_char): Removed.
14477 (grub_console_putchar): Likewise.
14478 (grub_console_getcharwidth): Likewise.
14479 * term/ieee1275/ofconsole.c: Simplify using terminfo.
14480 (colors): Reordered to match terminfo.
14481 (grub_ofconsole_normal_color): Removed.
14482 (grub_ofconsole_writeesc): Likewise.
14483 (grub_ofconsole_highlight_color): Likewise.
14484 (grub_ofconsole_getcharwidth): Likewise.
14485 (grub_ofconsole_setcolorstate): Likewise.
14486 (grub_ofconsole_setcolor): Likewise.
14487 (grub_ofconsole_getcolor): Likewise.
14488 (grub_ofconsole_readkey): Renamed to ...
14489 (readkey): ... this. Remove escape sequence handling. Return -1 on no
14490 key.
14491 (grub_ofconsole_checkkey): Removed.
14492 (grub_ofconsole_getkey): Likewise.
14493 (grub_ofconsole_getxy): Likewise.
14494 (grub_ofconsole_gotoxy): Likewise.
14495 (grub_ofconsole_cls): Likewise.
14496 (grub_ofconsole_refresh): Likewise.
14497 (grub_ofconsole_terminfo_input): New struct.
14498 (grub_ofconsole_terminfo_output): Likewise.
14499 (grub_ofconsole_term_input): Use terminfo.
14500 (grub_ofconsole_term_output): Likewise.
14501 (grub_console_init): Split into ...
14502 (grub_console_init_early): ...this and ...
14503 (grub_console_init_lately): ...this. Use terminfo.
14504 (grub_ofconsole_putchar): Renamed to ...
14505 (put): ... this. Remove mapping.
14506 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
14507 * term/serial.c: Simplify using terminfo.
14508 (xpos): Removed.
14509 (ypos): Likewise.
14510 (keep_track): Likewise.
14511 (registered): Likewise.
14512 (input_buf): Likewise.
14513 (npending): Likewise.
14514 (serial_translate_key_sequence): Likewise.
14515 (fill_input_buf): Likewise.
14516 (grub_serial_checkkey): Likewise.
14517 (grub_serial_getkey): Likewise.
14518 (grub_serial_getxy): Likewise.
14519 (grub_serial_gotoxy): Likewise.
14520 (grub_serial_putchar): Likewise.
14521 (grub_serial_cls): Likewise.
14522 (grub_serial_setcolorstate): Likewise.
14523 (grub_serial_setcursor): Likewise.
14524 (serial_hw_init): Use serial_hw_fetch.
14525 (grub_serial_terminfo_input): New variable.
14526 (grub_serial_terminfo_output): Likewise.
14527 (grub_serial_term_input): Use terminfo.
14528 (grub_serial_term_output): Likewise.
14529 * term/terminfo.c (putstr): Use put.
14530 (grub_terminfo_all_free): New function
14531 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
14532 (grub_terminfo_output_register): New function.
14533 (grub_terminfo_output_unregister): Likewise.
14534 (grub_terminfo_getxy): Likewise.
14535 (grub_terminfo_readkey): Likewise.
14536 (grub_terminfo_checkkey): Likewise.
14537 (grub_terminfo_getkey): Likewise.
14538 (grub_terminfo_input_init): Likewise.
14539 (print_terminfo): Likewise.
14540 (grub_cmd_terminfo): Handle encoding.
14541 (grub_terminfo_gotoxy): Track position.
14542 (grub_terminfo_cls): Likewise.
14543 (grub_terminfo_putchar): Likewise.
14544 (grub_terminfo_setcolorstate): Handle colors
14545 (grub_terminfo_cursor_on): This ...
14546 (grub_terminfo_cursor_off): ... and this merged into ...
14547 (grub_terminfo_setcursor): ... this.
14548 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
14549 * unicode/ArabicShaping.txt: New file (imported from Unicode).
14550 * unicode/BidiMirroring.txt: Likewise.
14551 * unicode/UnicodeData.txt: Likewise.
14552 * unicode/COPYING: Likewise.
14553 * util/grub-editenv.c (grub_putchar): Removed.
14554 (grub_xputs_real): New function.
14555 (grub_xputs): New variable.
14556 * util/grub-fstest.c (grub_putchar): Removed.
14557 (grub_xputs_real): New function.
14558 (grub_xputs): New variable.
14559 * util/grub-mkdevicemap.c (grub_putchar): Removed.
14560 (grub_xputs_real): New function.
14561 (grub_xputs): New variable.
14562 * util/grub-probe.c (grub_putchar): Removed.
14563 (grub_xputs_real): New function.
14564 (grub_xputs): New variable.
14565 * util/grub-script-check.c (grub_putchar): Removed.
14566 (grub_xputs_real): New function.
14567 (grub_xputs): New variable.
14568 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
14569 (grub_xputs_real): New function.
14570 (grub_xputs): New variable.
14571 * util/import_unicode.py: New file.
14572 * util/grub-mkfont.c (ft_errmsgs): New array.
14573 (grub_glyph_info): Make bitmap a pointer.
14574 (file_formats): New type WIDTH_SPEC.
14575 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
14576 (options): Add width-spec.
14577 (help): Likewise.
14578 (add_char): Renamed to ...
14579 (add_glyph): ... this.
14580 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
14581 (glyph_replace): New type.
14582 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
14583 (add_char): New function.
14584 (add_subst): Likewise.
14585 (process_cursive): Likewise.
14586 (add_font): Handle GSUB.
14587 (write_font_width_spec): New function.
14588 (main): Sort glyphs.
14589 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
14590 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
14591 * kern/term.c (grub_cls): Moved from here...
14592 * normal/term.c (grub_cls): ... here.
14593
14594 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14595
14596 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
14597 suitable for using within the format argument of printf when
14598 converting grub_size_t.
14599 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
14600 "x" to convert grub_size_t arguments.
14601
14602 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14603
14604 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
14605 too long captions.
14606 (list_get_minimal_size): Take selection box into account.
14607
14608 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14609
14610 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
14611 NULL font.
14612
14613 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14614
14615 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
14616 devices when iterating over /dev/disk/by-id; they will be handled
14617 later if appropriate, which they aren't always (e.g. LVM).
14618
14619 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14620
14621 * include/grub/misc.h (grub_reboot): Declare as noreturn.
14622 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
14623 fails.
14624 (grub_halt): Likewise.
14625 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
14626 reset-all fails.
14627 (grub_halt): Don't return, even if all of shut-down, power-off, and
14628 poweroff fail.
14629
14630 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14631
14632 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
14633 arguments, not three.
14634
14635 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14636
14637 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
14638 * util/grub.d/10_linux.in: Use it to check for LVM, so that
14639 LVM-on-RAID is handled correctly.
14640
14641 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14642
14643 * docs/grub.texi (Changes from GRUB Legacy): New section.
14644 (Future): Fix typo.
14645
14646 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14647
14648 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
14649 grub.d/README accidentally ends up executable for one reason or
14650 another. Ignore it.
14651
14652 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14653
14654 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
14655 (gpt_partition_map_iterate): Support non-512B sectors.
14656
14657 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14658
14659 * kern/efi/init.c (grub_efi_init): Disable watchdog.
14660 Tested by: Seth Goldberg.
14661
14662 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14663
14664 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
14665 Properly align mbi.
14666 Reported by: Seth Goldberg.
14667
14668 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14669
14670 * util/grub-mkrescue.in: Avoid module duplication.
14671
14672 2010-07-01 Sean Finney <seanius@seanius.net>
14673
14674 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
14675
14676 2010-07-01 Sean Finney <seanius@seanius.net>
14677
14678 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
14679
14680 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14681
14682 * disk/lvm.c (grub_lvm_checkvalue): New function.
14683 (grub_lvm_check_flag): Likewise.
14684
14685 2010-07-01 Robert Millan <rmh@gnu.org>
14686
14687 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
14688 Support 'p' as partition separator on kernel of FreeBSD (used
14689 with GPT labels).
14690 (grub_util_biosdisk_get_grub_dev): Likewise.
14691
14692 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14693
14694 Yeeloong firmware port.
14695
14696 * boot/mips/yeeloong/fwstart.S: New file.
14697 * bus/cs5536.c (gpiodump): New const.
14698 (set_io_space): New function.
14699 (set_iod): Likewise.
14700 (set_p2d): Likewise.
14701 (grub_cs5536_init_geode): Likewise.
14702 * commands/mips/yeeloong/lsspd.c: New file.
14703 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
14704 (serial_mod_SOURCES): New variable.
14705 (serial_mod_CFLAGS): Likewise.
14706 (serial_mod_LDFLAGS): Likewise.
14707 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
14708 term/terminfo.c and term/tparm.c.
14709 (pkglib_IMAGES): Add fwstart.img.
14710 (fwstart_img_SOURCES): New variable.
14711 (fwstart_img_CFLAGS): Likewise.
14712 (fwstart_img_ASFLAGS): Likewise.
14713 (fwstart_img_LDFLAGS): Likewise.
14714 (fwstart_img_FORMAT): Likewise.
14715 (pkglib_MODULES): Add lsspd.mod.
14716 (lsspd_mod_SOURCES): New variable.
14717 (lsspd_mod_CFLAGS): Likewise.
14718 (lsspd_mod_LDFLAGS): Likewise.
14719 (pkglib_MODULES): Add halt.mod.
14720 (halt_mod_SOURCES): New variable.
14721 (halt_mod_CFLAGS): Likewise.
14722 (halt_mod_LDFLAGS): Likewise.
14723 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
14724 (serial_mod_SOURCES): Removed.
14725 (serial_mod_CFLAGS): Likewise.
14726 (serial_mod_LDFLAGS): Likewise.
14727 * disk/ata.c (check_device): New function.
14728 (grub_ata_device_initialize): Use check_device.
14729 (grub_ata_iterate): Recheck devices.
14730 (grub_ata_open): Likewise.
14731 (grub_atapi_iterate): Likewise.
14732 (grub_atapi_open): Likewise.
14733 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
14734 (GRUB_ATA_CH1_PORT1): Likewise.
14735 (GRUB_ATA_CH0_PORT2): Likewise.
14736 (GRUB_ATA_CH1_PORT2): Likewise.
14737 * include/grub/mips/loongson.h: New file.
14738 * include/grub/mips/yeeloong/ec.h: Likewise.
14739 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
14740 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
14741 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
14742 * include/grub/misc.h (grub_halt): Declare as noreturn.
14743 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
14744 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
14745 (UART_ENABLE_FIFO_TRIGGER1): New definition.
14746 (UART_ENABLE_DTRRTS): Likewise.
14747 (UART_ENABLE_MODEM): Removed.
14748 (UART_ENABLE_OUT2): New const.
14749 * include/grub/term.h (grub_term_register_input_active): New function.
14750 (grub_term_register_output_active): Likewise.
14751 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
14752 argument.
14753 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
14754 (init_pci): New function.
14755 (grub_machine_init): Execute platform init when firmware. Init serial.
14756 (grub_halt): Implement.
14757 (grub_exit): Likewise.
14758 (grub_reboot): Likewise.
14759 * term/serial.c (serial_hw_init): Update macros.
14760 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
14761 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
14762 (image_targets): New target mipsel-yeeloong-flash.
14763 (generate_image): Support IMAGE_YEELOONG_FLASH.
14764 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
14765 (grub_video_sm712_setup): Init card.
14766 (grub_video_sm712_set_palette): Removed.
14767 * video/sm712_init.c: New file.
14768
14769 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
14770
14771 * Makefile.in (install-local): Temporarily prepend $(builddir) to
14772 PATH when running help2man and then run it on the unadorned
14773 executable names, rather than passing $(builddir)/* paths to
14774 help2man. This avoids the build directory ending up in generated
14775 manual pages.
14776
14777 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
14778
14779 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
14780 to avoid accidents when debugging with 'sh -x'.
14781 * util/grub-mkrescue.in: Likewise.
14782 * util/grub.d/00_header.in: Likewise.
14783 * util/grub.d/10_hurd.in: Likewise.
14784 * util/grub.d/10_kfreebsd.in: Likewise.
14785 * util/grub.d/10_linux.in: Likewise.
14786 * util/grub.d/10_netbsd.in: Likewise.
14787 * util/grub.d/10_windows.in: Likewise.
14788 * util/grub.d/20_linux_xen.in: Likewise.
14789 * util/grub.d/30_os-prober.in: Likewise.
14790 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14791
14792 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
14793
14794 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
14795 last character in the buffer.
14796 Reported by: Vladimir Serbinenko.
14797
14798 2010-06-29 Robert Millan <rmh@gnu.org>
14799
14800 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
14801 (Command-line and menu entry commands): Document `badram' command.
14802
14803 2010-06-28 Robert Millan <rmh@gnu.org>
14804
14805 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
14806 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
14807 command using ${GRUB_BADRAM} as parameter.
14808
14809 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
14810
14811 * docs/grub.texi (Device map): New section.
14812 (Themes): New section (stub).
14813 * Makefile.in (docs/grub.info): The info documentation now builds
14814 without errors. Make sure it stays that way.
14815
14816 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14817
14818 Use normal parser for menu entries.
14819 Reported by: Thomas Frauendorfer
14820
14821 * include/grub/parser.h (grub_parser_execute): Don't export.
14822 * normal/menu.c (grub_menu_execute_entry_real): New function.
14823 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
14824
14825 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
14826
14827 * docs/grub.texi (Embedded configuration): New section (replacing
14828 old "Preset Menu" stub).
14829 (Images): New section.
14830 (configfile): Note that any menu entries defined in `file' are shown
14831 immediately.
14832
14833 2010-06-28 Josh Triplett <josh@joshtriplett.org>
14834
14835 * mmap/i386/pc/mmap_helper.S: Set CF on return.
14836
14837 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
14838
14839 * util/grub-install.in: Add --debug-image= option.
14840
14841 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
14842
14843 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
14844 possible on Linux.
14845
14846 * util/deviceiter.c (check_device): Rename to ...
14847 (check_device_readable_unique): ... this. Update all callers.
14848 Maintain and check a list of which devices (by canonicalized name)
14849 have already been seen.
14850 (clear_seen_devices): New function.
14851 (compare_file_names) [__linux__]: New function.
14852 (grub_util_iterate_devices): Clear the list of seen devices on exit
14853 and (just in case) on entry.
14854 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
14855 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
14856 seen-devices list, superseded by general code in check_device.
14857
14858 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
14859
14860 * commands/cat.c (options): New variable.
14861 (grub_cmd_cat): Parse options. If the --dos option is given, print
14862 DOS-style "\r\n" line endings as simple newlines (Debian bug
14863 #586358).
14864 (GRUB_MOD_INIT): Use extcmd.
14865 (GRUB_MOD_FINI): Likewise.
14866 * docs/grub.texi (cat): Document --dos.
14867
14868 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14869
14870 XEN with Linux grub-mkconfig support.
14871
14872 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
14873 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
14874 GRUB_CMDLINE_XEN_DEFAULT.
14875 * util/grub.d/20_linux_xen.in: New file.
14876
14877 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14878
14879 Initialise VGA video on qemu ourselves.
14880
14881 * boot/i386/qemu/boot.S: Don't call 0xc000.
14882 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
14883 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
14884 (kernel_img_HEADERS): Add pci.h.
14885 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
14886 * configure.ac: Force unifont on qemu and yeeloong.
14887 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
14888 (grub_vga_palette_write): Use correct register.
14889 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
14890 Call grub_qemu_init_cirrus.
14891 * kern/i386/qemu/init.c: New file.
14892 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
14893
14894 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
14895
14896 2010-06-26 Pavel Roskin <proski@gnu.org>
14897
14898 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
14899 13.
14900
14901 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
14902
14903 * docs/grub.texi (Simple configuration): Explain that
14904 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
14905 set to `true' to disable their respective recovery entries, not
14906 merely set.
14907
14908 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
14909
14910 Make the `source' command slightly faster.
14911
14912 * normal/main.c (grub_normal_execute): Don't re-read list files when
14913 nested.
14914
14915 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
14916
14917 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
14918 field position and mask size to red fields from mode_info, not
14919 green.
14920 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
14921 Remove redundant tag->common.framebuffer_type assignment.
14922 Reported by: Seth Goldberg.
14923
14924 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
14925
14926 Sync up other versions of the Linux loader with Robert Millan's
14927 change of 2010-01-09, "Make loader output a bit more user-friendly".
14928
14929 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
14930 grub_dprintf().
14931 (grub_cmd_linux): Likewise.
14932 (grub_cmd_initrd): Likewise.
14933 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
14934 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14935
14936 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
14937
14938 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
14939 larger than MEMORY_MAP_SIZE.
14940
14941 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
14942
14943 Fix parallel build.
14944
14945 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
14946 dependency.
14947 * script/parser.y: #include grub_script.tab.h header.
14948
14949 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14950
14951 Support >3GiB and <16MiB RAM in i386-qemu.
14952
14953 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
14954 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
14955 (grub_lower_mem): Removed.
14956 (grub_upper_mem): Likewise.
14957 (mem_size): Made static.
14958 (above_4g): New variable.
14959 (grub_machine_mmap_init): Detect small mem_size and above_4g.
14960 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
14961 support.
14962
14963 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14964
14965 Cirrus 5446 and Bochs video cards support.
14966
14967 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
14968 video_bochs.mod
14969 (video_cirrus_mod_SOURCES): New variable.
14970 (video_cirrus_mod_CFLAGS): Likewise.
14971 (video_cirrus_mod_LDFLAGS): Likewise.
14972 (video_bochs_mod_SOURCES): Likewise.
14973 (video_bochs_mod_CFLAGS): Likewise.
14974 (video_bochs_mod_LDFLAGS): Likewise.
14975 * include/grub/vga.h: New file.
14976 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
14977 (grub_video_fb_set_page_t): New type.
14978 (grub_video_fb_setup): New prototype.
14979 (grub_video_fb_swap_buffers): Likewise.
14980 (grub_video_fb_get_info_and_fini): Likewise.
14981 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
14982 (CRTC_DATA_PORT): Likewise.
14983 (CRTC_CURSOR): Likewise.
14984 (CRTC_CURSOR_ADDR_HIGH): Likewise.
14985 (CRTC_CURSOR_ADDR_LOW): Likewise.
14986 (CRTC_CURSOR_DISABLE): Likewise.
14987 (update_cursor): Use grub_vga_cr_write.
14988 (grub_vga_text_setcursor): Likewise.
14989 * video/bochs.c: New file.
14990 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
14991 (palette): Likewise.
14992 (palette_size): Likewise.
14993 (framebuffer): New variable.
14994 (grub_video_fb_init): Use 'framebuffer'.
14995 (grub_video_fb_fini): Likewise.
14996 (grub_video_fb_get_info): Likewise.
14997 (grub_video_fb_get_palette): Likewise.
14998 (grub_video_fb_set_palette): Likewise.
14999 (grub_video_fb_set_viewport): Likewise.
15000 (grub_video_fb_get_viewport): Likewise.
15001 (grub_video_fb_map_color): Likewise.
15002 (grub_video_fb_map_rgb): Likewise.
15003 (grub_video_fb_map_rgba): Likewise.
15004 (grub_video_fb_unmap_color): Likewise.
15005 (grub_video_fb_unmap_color_int): Likewise.
15006 (grub_video_fb_fill_rect): Likewise.
15007 (grub_video_fb_blit_bitmap): Likewise.
15008 (grub_video_fb_blit_render_target): Likewise.
15009 (grub_video_fb_scroll): Likewise.
15010 (grub_video_fb_create_render_target): Likewise.
15011 (grub_video_fb_doublebuf_blit_init): Likewise.
15012 (grub_video_fb_set_active_render_target): Handle doublebuffering.
15013 (doublebuf_pageflipping_update_screen): New function.
15014 (doublebuf_pageflipping_init): Likewise.
15015 (grub_video_fb_setup): Likewise.
15016 (grub_video_fb_swap_buffers): Likewise.
15017 (grub_video_fb_get_info_and_fini): Likewise.
15018 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
15019 All users updated.
15020 (doublebuf_pageflipping_commit): Restructured into ...
15021 (doublebuf_pageflipping_set_page): ... this.
15022 (doublebuf_pageflipping_update_screen): Removed.
15023 (doublebuf_pageflipping_init): Likewise.
15024 (double_buffering_init): Likewise.
15025 (grub_video_vbe_setup): Use grub_video_fb_setup.
15026 (grub_video_vbe_swap_buffers): Removed.
15027 (grub_video_vbe_set_active_render_target): Likewise.
15028 (grub_video_vbe_get_active_render_target): Likewise.
15029 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
15030 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
15031 grub_video_fb_set_active_render_target and
15032 grub_video_fb_get_active_render_target.
15033 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
15034 (SEQUENCER_DATA_PORT): Likewise.
15035 (MAP_MASK_REGISTER): Likewise.
15036 (CRTC_ADDR_PORT): Likewise.
15037 (CRTC_DATA_PORT): Likewise.
15038 (START_ADDR_HIGH_REGISTER): Likewise.
15039 (START_ADDR_LOW_REGISTER): Likewise.
15040 (GRAPHICS_ADDR_PORT): Likewise.
15041 (GRAPHICS_DATA_PORT): Likewise.
15042 (READ_MAP_REGISTER): Likewise.
15043 (INPUT_STATUS1_REGISTER): Likewise.
15044 (INPUT_STATUS1_VERTR_BIT): Likewise.
15045 (get_map_mask): Use grub_vga_sr_read.
15046 (set_map_mask): Use grub_vga_sr_write.
15047 (set_read_map): Use grub_vga_gr_write.
15048 (set_start_address): Use grub_vga_cr_write.
15049 * video/sm712.c (framebuffer): Remove leftover fields.
15050
15051 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
15052
15053 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
15054 setting GRUB_VIDEO_BACKEND. Make it available as a user override
15055 instead. Replace the gfxterm backend check with a check that
15056 ${GRUB_PREFIX}/video.lst is non-empty.
15057 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
15058 again.
15059 (load_video): New generated function. Call it before loading
15060 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
15061 * util/grub.d/10_linux.in (linux_entry): Call load_video.
15062 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
15063 * docs/grub.texi (Simple configuration): Document
15064 GRUB_VIDEO_BACKEND.
15065
15066 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
15067
15068 Use video functions in linux and xnu loaders.
15069
15070 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
15071 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
15072 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
15073 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
15074 loader/i386/pc/linux.c.
15075 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
15076 (find_line_len): Removed.
15077 (find_framebuf): Likewise.
15078 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
15079 * loader/i386/efi/xnu.c: Removed.
15080 * loader/i386/pc/xnu.c: Moved from here...
15081 * loader/i386/xnu.c: ...here.
15082
15083 Enable priorities in video drivers.
15084
15085 * include/grub/video.h (grub_video_adapter_prio_t): New type.
15086 (grub_video_adapter): New field prio.
15087 (grub_video_register): Respect prio when inserting.
15088 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
15089 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
15090 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
15091 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
15092 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
15093 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
15094 * video/sm712.c (grub_video_sm712_adapter): Likewise.
15095
15096 Fix SDL driver ID.
15097
15098 * include/grub/video.h (grub_video_driver_id_t): New value
15099 GRUB_VIDEO_DRIVER_SDL.
15100 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
15101
15102 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
15103
15104 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
15105 argument to printf.
15106 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
15107
15108 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
15109
15110 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
15111 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
15112
15113 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
15114
15115 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
15116 directly, and recommend grub-install instead.
15117 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
15118
15119 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
15120
15121 Fix i386-pc prefix handling with nested partitions (Debian bug
15122 #585068). Note that the case where the core image is booted using
15123 multiboot and relocated from its original location still requires
15124 more work.
15125
15126 * kern/i386/pc/init.c (make_install_device): If the prefix starts
15127 with "(,", fill the boot drive in between those two characters, but
15128 expect that a full partition specification including partition map
15129 names will follow.
15130 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
15131 specified, write a prefix without the drive name but including a
15132 full partition specification.
15133
15134 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
15135
15136 * util/grub-mkconfig.in: Ignore non-option arguments, for
15137 compatibility with older versions (before 2010-06-12) which did the
15138 same. In particular, this makes it easier to ship an update-grub
15139 wrapper which is compatible with that used with GRUB Legacy (Debian
15140 bug #586056).
15141
15142 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15143
15144 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
15145 for manual page generation.
15146
15147 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15148
15149 * po/POTFILES: Remove leftover commands/handler.c.
15150
15151 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
15152
15153 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
15154 left this script non-functional.
15155
15156 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
15157
15158 * docs/man/grub-emu.h2m: New file.
15159
15160 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
15161
15162 * docs/grub.texi (Commands): Document reduced command set in rescue
15163 mode.
15164 (cpuid): New section.
15165
15166 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
15167
15168 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
15169 new partition naming style.
15170 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
15171
15172 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
15173
15174 Add "-o grub.iso" like cmdline options support.
15175
15176 * util/grub-install.in: Improve cmdline option parsing.
15177 * util/grub-mkconfig.in: Likewise.
15178 * util/grub-mkrescue.in: Likewise.
15179 * util/grub-reboot.in: Likewise.
15180 * util/grub-set-default.in: Likewise.
15181 * util/i386/efi/grub-install.in: Likewise.
15182 * util/ieee1275/grub-install.in: Likewise.
15183 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15184
15185 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
15186
15187 * .bzrignore: Ignore 41_custom.
15188
15189 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
15190
15191 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
15192
15193 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
15194
15195 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
15196 prototype declarations.
15197
15198 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
15199 generating fs, partmap, and video lists.
15200 * include/grub/fs.h (grub_fs_register): Omit prototype if
15201 GRUB_LST_GENERATOR is defined.
15202 * include/grub/partition.h (grub_partition_map_register): Likewise.
15203 * include/grub/video.h (grub_video_register): Likewise.
15204
15205 2010-06-12 Javier Martín <lordhabbit@gmail.com>
15206
15207 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
15208
15209 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
15210
15211 * util/grub-mkrescue.in: Support --xorriso argument.
15212
15213 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15214
15215 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
15216 Suggested by: Thomas Schmitt.
15217
15218 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15219
15220 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
15221 Suggested by: Thomas Schmitt.
15222
15223 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15224
15225 custom.cfg support.
15226
15227 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
15228 * util/grub.d/41_custom.in: New file.
15229
15230 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
15231
15232 * util/grub-mkrescue.in (make_image): Remove sh module, which has
15233 been merged back into normal.
15234
15235 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
15236
15237 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
15238 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
15239
15240 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
15241
15242 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
15243 when generating manual pages.
15244 * docs/man/grub-bin2h.h2m: New file.
15245 * docs/man/grub-editenv.h2m: New file.
15246 * docs/man/grub-fstest.h2m: New file.
15247 * docs/man/grub-install.h2m: New file.
15248 * docs/man/grub-macho2img.h2m: New file.
15249 * docs/man/grub-mkconfig.h2m: New file.
15250 * docs/man/grub-mkdevicemap.h2m: New file.
15251 * docs/man/grub-mkfont.h2m: New file.
15252 * docs/man/grub-mkimage.h2m: New file.
15253 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
15254 * docs/man/grub-mkrelpath.h2m: New file.
15255 * docs/man/grub-mkrescue.h2m: New file.
15256 * docs/man/grub-ofpathname.h2m: New file.
15257 * docs/man/grub-pe2elf.h2m: New file.
15258 * docs/man/grub-probe.h2m: New file.
15259 * docs/man/grub-reboot.h2m: New file.
15260 * docs/man/grub-script-check.h2m: New file.
15261 * docs/man/grub-set-default.h2m: New file.
15262 * docs/man/grub-setup.h2m: New file.
15263
15264 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
15265
15266 Use FOR_* macros instead of *_iterate whenever possible.
15267
15268 * commands/handler.c: Removed.
15269 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
15270 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
15271 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15272 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
15273 (grub_probe_SOURCES): Remove kern/parser.c.
15274 (util/grub-script-check.c_DEPENDENCIES): Removed.
15275 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
15276 and grub_script_check_init.c.
15277 (grub_script_check_init.lst): Removed.
15278 (grub_script_check_init.h): Likewise.
15279 (grub_script_check_init.c): Likewise.
15280 (pkglib_MODULES): Remove handler.mod and sh.mod.
15281 (handler_mod_SOURCES): Removed.
15282 (handler_mod_CFLAGS): Likewise.
15283 (handler_mod_LDFLAGS): Likewise.
15284 (normal_mod_SOURCES): Remove normal/handler.c.
15285 Add script/main.c, script/script.c, script/execute.c,
15286 script/function.c, script/lexer.c, grub_script.tab.c
15287 and grub_script.yy.c.
15288 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15289 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15290 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
15291 (grub_setup_SOURCES): Remove kern/parser.c.
15292 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15293 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
15294 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
15295 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15296 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15297 (grub_setup_SOURCES): Remove kern/parser.c.
15298 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15299 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
15300 * include/grub/command.h (grub_command_iterate): Removed.
15301 (FOR_COMMANDS): New macro.
15302 * include/grub/dl.h (grub_dl): New member next.
15303 (grub_dl_iterate): Removed.
15304 (grub_dl_head): New variable declaration.
15305 (FOR_DL_MODULES): New macro.
15306 * include/grub/fs.h: Include list.h.
15307 (grub_fs): Make next first element.
15308 (grub_fs_list): New variable declaration.
15309 (grub_fs_register): Make inline.
15310 (grub_fs_unregister): Likewise.
15311 (grub_fs_iterate): Removed.
15312 (FOR_FILESYSTEMS): New macro.
15313 * include/grub/handler.h: Removed.
15314 * include/grub/list.h (grub_list_hook_t): Removed.
15315 (grub_list_test_t): Likewise.
15316 (grub_list_pop): Likewise.
15317 (grub_list_iterate): Likewise.
15318 (grub_list_insert): Likewise.
15319 (FOR_LIST_ELEMENTS): New macro.
15320 * include/grub/parser.h (grub_parser_class): Removed.
15321 (grub_parser_register): Likewise.
15322 (grub_parser_unregister): Likewise.
15323 (grub_parser_get_current): Likewise.
15324 (grub_parser_set_current): Likewise.
15325 (grub_register_rescue_parser): Likewise.
15326 (grub_rescue_parse_line): New function.
15327 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
15328 * include/grub/script_sh.h (grub_script_function_list): New variable
15329 declaration.
15330 (FOR_SCRIPT_FUNCTIONS): New macro.
15331 (grub_script_function_iterate): Removed.
15332 (grub_normal_parse_line): New prototype.
15333 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
15334 (FOR_DISABLED_TERM_INPUTS): Likewise.
15335 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
15336 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
15337 * include/grub/video.h (grub_video_adapter): Move 'next' to first
15338 element.
15339 (grub_video_register): Inline.
15340 (grub_video_unregister): Likewise.
15341 (grub_video_adapter_list): New variable declaration.
15342 (grub_video_iterate): Removed.
15343 (FOR_VIDEO_ADAPTERS): New macro.
15344 * kern/dl.c (grub_dl_list): Removed. All users updated.
15345 (grub_dl_iterate): Removed.
15346 * kern/fs.c (grub_fs_list): Make global.
15347 (grub_fs_register): Removed.
15348 (grub_fs_unregister): Likewise.
15349 (grub_fs_iterate): Likewise.
15350 * kern/handler.c: Removed.
15351 * kern/list.c (grub_list_pop): Removed.
15352 (grub_list_iterate): Likewise.
15353 (grub_list_insert): Likewise.
15354 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
15355 (grub_prio_list_insert): Don't use grub_list_insert.
15356 * kern/main.c (grub_register_rescue_parser): Don't call
15357 grub_register_rescue_parser.
15358 * kern/parser.c (grub_parser_class): Removed.
15359 (grub_parser_execute): Use grub_rescue_parse_line.
15360 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
15361 (grub_rescue_parser): Removed.
15362 (grub_register_rescue_parser): Likewise.
15363 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
15364 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
15365 (grub_auth_check_authentication): Likewise.
15366 * normal/completion.c (iterate_command): Removed.
15367 (grub_normal_do_completion): Use FOR_COMMANDS.
15368 * normal/handler.c: Removed.
15369 * normal/main.c (read_config_file): Remove parser changing.
15370 (grub_normal_execute): Don't call read_handler_list.
15371 (grub_normal_read_line_real): Statically allocate prompt.
15372 (grub_cmdline_run): Use grub_normal_parse_line.
15373 (GRUB_MOD_FINI): Don't call free_handler_list.
15374 * normal/menu_entry.c (run): Likewise.
15375 * script/function.c (grub_script_function_list): Make global.
15376 (grub_script_function_iterate): Removed.
15377 * script/main.c (grub_normal_parse_line): Make global.
15378 (grub_sh_parser): Removed.
15379 (GRUB_MOD_INIT): Likewise.
15380 (GRUB_MOD_FINI): Likewise.
15381 * tests/lib/functional_test.c (grub_functional_test): Use
15382 FOR_LIST_ELEMENTS.
15383 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
15384 (grub_test_run): Use FOR_LIST_ELEMENTS.
15385 * tests/lib/unit_test.c (main): Likewise.
15386 * util/deviceiter.c (grub_util_iterate_devices): Don't use
15387 grub_list_pop.
15388 * util/grub-fstest.c (grub_term_input_class): Removed.
15389 (grub_term_output_class): Likewise.
15390 * util/grub-probe.c: Likewise.
15391 * util/i386/pc/grub-setup.c: Likewise.
15392 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15393 * util/grub-script-check.c (main): Don't call grub_init_all and
15394 grub_fini_all.
15395 * video/video.c (grub_video_adapter_list): Make global.
15396 (grub_video_register): Removed.
15397 (grub_video_unregister): Likewise.
15398 (grub_video_iterate): Likewise.
15399
15400 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
15401
15402 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
15403 reported by Henrique Ferreiro.
15404
15405 2010-06-09 Robert Millan <rmh@gnu.org>
15406
15407 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
15408 ones, when both are available.
15409
15410 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15411
15412 Make --version uniform and avoid hard-coded program name.
15413
15414 * util/grub-mkimage.c (main): Use `program_name' instead of
15415 hard-coded string.
15416 * util/i386/pc/grub-setup.c (main): Likewise.
15417 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
15418 * util/grub-install.in: Save the basename of $0 in $self, and use the
15419 latter in informational messages. Use the same format for --version
15420 as the binary programs.
15421 * util/grub-mkconfig.in: Likewise.
15422 * util/grub-mkrescue.in: Likewise.
15423 * util/grub-reboot.in: Likewise.
15424 * util/grub-set-default.in: Likewise.
15425 * util/i386/efi/grub-install.in: Likewise.
15426 * util/ieee1275/grub-install.in: Likewise.
15427 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15428
15429 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15430
15431 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
15432 embedding area. Use <= instead of == when checking for non-emptiness.
15433
15434 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15435
15436 * configure.ac: Add `.' to the directories searched for unifont.
15437
15438 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
15439
15440 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
15441 grub_script.yy.h.
15442
15443 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
15444
15445 * docs/grub.texi (History): Expand to cover GRUB 2.
15446 (Serial terminal): Refer to `terminal_input' and `terminal_output'
15447 commands, not `terminal'.
15448 (serial): Likewise.
15449 (terminal_input): New section.
15450 (terminal_output): New section.
15451 (uppermem): New section (stub).
15452 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
15453
15454 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
15455
15456 * docs/grub.texi (Security): Menu entries are unrestricted by
15457 default, not restricted to superusers as I had previously thought.
15458 Reword to account for this.
15459
15460 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15461
15462 * kern/emu/misc.c (device_mapper_null_log): New function.
15463 (grub_device_mapper_supported): New function.
15464 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
15465 prototype.
15466 * kern/emu/hostdisk.c (find_partition_start): Check whether
15467 device-mapper is supported before trying to use it.
15468 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
15469
15470 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15471
15472 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
15473 (File name syntax): Likewise.
15474 (help): --all is no longer supported in GRUB 2. Be more precise
15475 about pattern matching.
15476
15477 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15478
15479 * normal/completion.c (grub_normal_do_completion): When completing
15480 arguments to "set" and the current word contains an equals sign,
15481 skip to after the equals sign before starting completion.
15482
15483 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15484
15485 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
15486
15487 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15488
15489 * docs/grub.texi (Network): New section.
15490 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
15491 `(nd)' as in GRUB Legacy.
15492 (pxe_unload): New section.
15493
15494 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15495
15496 * docs/grub.texi (Troubleshooting): `echo' is not usually available
15497 in the rescue shell, so recommend using `set' instead. Thanks,
15498 Jordan Uggla.
15499
15500 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15501
15502 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
15503 (password): New section.
15504 (password_pbkdf2): New section.
15505 (search): New section.
15506 (Security): New section.
15507 (Troubleshooting): New section, currently very incomplete.
15508 (Invoking grub-mkpasswd-pbkdf2): New section.
15509 (Internals): New section, currently very incomplete.
15510
15511 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15512
15513 * util/grub.d/00_header.in: Add some more quoting (of
15514 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
15515 work again.
15516 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
15517
15518 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15519
15520 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
15521 to `count', fixing variable shadowing that broke the -c option.
15522
15523 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
15524
15525 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
15526 in case they contain spaces.
15527
15528 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
15529
15530 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
15531 "part_" to partmap module names, in line with grub-install.
15532 Reported by: Jindřich Makovička (Debian bug #584426).
15533
15534 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
15535
15536 * util/grub-mkimage.c: Make target-related error messages slightly
15537 more helpful; -O talks about "format". Explicitly point to the use
15538 of -O if no target is specified.
15539 Reported by: Didier Raboud (Debian bug #584415).
15540
15541 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
15542
15543 * INSTALL: Document several build requirements for optional features
15544 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
15545
15546 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
15547
15548 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
15549 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
15550 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
15551
15552 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15553
15554 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
15555 Thanks to Jordan Uggla for spotting this.
15556
15557 2010-06-02 Aleš Nesrsta <starous@volny.cz>
15558
15559 Finally make USB usable.
15560
15561 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
15562 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
15563 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
15564 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
15565 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
15566 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
15567 (GRUB_OHCI_FSMPS): Likewise.
15568 (GRUB_OHCI_PERIODIC_START): Likewise.
15569 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
15570 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
15571 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
15572 (GRUB_OHCI_SET_PORT_RESET): Likewise.
15573 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
15574 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
15575 (grub_ohci_transaction): Likewise.
15576 (grub_ohci_transfer): Improve condition detection algorithms.
15577 Handle toggle property. Program the transactions correctly.
15578 Improve error handling. Various important fixups.
15579 (grub_ohci_portstatus): Put register writes in right order.
15580 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
15581 (grub_uhci_transfer): Don't show "failed" message on success.
15582 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
15583 array.
15584 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
15585 determine its size.
15586 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
15587 before initialization is completed. Use IN direction for empty
15588 transfers. Use last_trans and compute toggle.
15589 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
15590 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
15591 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
15592 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
15593 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
15594 (grub_usb_device): Increase toggle to 256.
15595 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
15596 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
15597 GRUB_USBMS_SUBCLASS_SFF8070.
15598 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
15599 (grub_scsi_inquiry): New member page and alloc_length.
15600 (grub_scsi_request_sense): New structure.
15601 (grub_scsi_request_sense_data): Likewise.
15602 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
15603 control.
15604 * disk/scsi.c (grub_scsi_request_sense): New function.
15605 (grub_scsi_test_unit_ready): Likewise.
15606 (grub_scsi_inquiry): Fill new fields.
15607 (grub_scsi_read_capacity): Likewise.
15608 (grub_scsi_read10): Add request sense at the end.
15609 (grub_scsi_read12): Likewise.
15610 (grub_scsi_write10): Likewise.
15611 (grub_scsi_write12): Likewise.
15612 (grub_scsi_open): Add Test Unit Ready.
15613 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
15614 Support additional subclasses. Con't clear halt yet. Activate the
15615 proper config. Calculate LUNs correctly.
15616 (grub_usbms_transfer): Various important fixups.
15617
15618 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15619
15620 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
15621 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
15622 (grub_ohci_fini_hw): New function.
15623 (grub_ohci_restore_hw): Likewise.
15624 (GRUB_MOD_INIT(ohci)): Register preboot hook.
15625 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
15626 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
15627
15628 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15629
15630 Dedicated DMA allocations.
15631
15632 * bus/pci.c (grub_memalign_dma32): New function
15633 (grub_dma_free): Likewise.
15634 (grub_dma_get_virt): Likewise.
15635 (grub_dma_get_phys): Likewise.
15636 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
15637 (grub_ohci_pci_iter): Use dma32_alloc.
15638 (grub_ohci_transfer): Likewise.
15639 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
15640 (grub_usb_bulk_readwrite): Likewise.
15641 * include/grub/pci.h: Add declarations.
15642
15643 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15644
15645 CS5536 support.
15646
15647 * bus/cs5536.c: New file.
15648 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
15649 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
15650 (cs5536_mod_SOURCES): New variable.
15651 (cs5536_mod_CFLAGS): Likewise.
15652 (cs5536_mod_LDFLAGS): Likewise.
15653 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
15654 machine/pci.h.
15655 (kernel_img_SOURCES): Add bus/cs5536.c.
15656 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
15657 usb_keyboard.mod.
15658 (usb_mod_SOURCES): New variable.
15659 (usb_mod_CFLAGS): New variable.
15660 (usb_mod_LDFLAGS): New variable.
15661 (usbtest_mod_SOURCES): New variable.
15662 (usbtest_mod_CFLAGS): New variable.
15663 (usbtest_mod_LDFLAGS): New variable.
15664 (ohci_mod_SOURCES): New variable.
15665 (ohci_mod_CFLAGS): New variable.
15666 (ohci_mod_LDFLAGS): New variable.
15667 (usbms_mod_SOURCES): New variable.
15668 (usbms_mod_CFLAGS): New variable.
15669 (usbms_mod_LDFLAGS): New variable.
15670 (usb_keyboard_mod_SOURCES): New variable.
15671 (usb_keyboard_mod_CFLAGS): New variable.
15672 (usb_keyboard_mod_LDFLAGS): New variable.
15673 * include/grub/smbus.h: New file.
15674 * include/grub/cs5536.h: New file.
15675
15676 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15677
15678 * util/grub.d/00_header.in: Add safety check to make sure that
15679 ${locale_dir} exists before trying to probe it.
15680
15681 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15682
15683 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
15684 per the GNU Coding Standards; this is now too obscure to be worth
15685 documenting.
15686 (QNX): Likewise.
15687 (chainloader): Remove cross-reference to `SCO UnixWare'.
15688
15689 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15690
15691 * docs/grub.texi (Chain-loading): New section.
15692 (DOS/Windows): New section, borrowed from GRUB Legacy with details
15693 adjusted for GRUB 2.
15694 (SCO UnixWare): Likewise.
15695 (QNX): Likewise.
15696 (chainloader): Add reference to `Block list syntax'.
15697 (drivemap): New section.
15698 (parttool): New section.
15699
15700 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15701
15702 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
15703 the grub shell'.
15704 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
15705 (Installing GRUB using grub-install): Remove reference to the grub
15706 shell; mention `grub-mkimage' and `grub-setup' instead.
15707 (Invoking grub-install): Likewise.
15708 (Interface): Add reference to `Menu entry editor'.
15709 (serial): Remove `--device' option.
15710
15711 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15712
15713 * docs/grub.texi (Configuration): New section, documenting
15714 configuration file generation using grub-mkconfig. I've left a slot
15715 for documenting the full shell scripting format but have not yet
15716 started on writing that up.
15717 (Invoking grub-mkconfig): New section.
15718
15719 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15720
15721 * docs/grub.texi (direntry): Remove grub-terminfo reference.
15722 (GNU GRUB manual): Likewise.
15723 (General commands): Update description of `terminfo' for GRUB 2.
15724
15725 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15726
15727 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
15728 (GRUB_MOD_INIT): Fix capitalisation.
15729 * docs/grub.texi (Command-line and menu entry commands): Document
15730 gettext and gptsync commands.
15731
15732 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15733
15734 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
15735 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
15736
15737 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
15738
15739 Add btrfs probing support, currently only in the single-device case.
15740
15741 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
15742 function.
15743 (grub_guess_root_device): Call find_root_device_from_mountinfo
15744 before looking in /dev.
15745
15746 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15747
15748 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
15749 GRUB_DISK_SIZE_UNKNOWN.
15750 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
15751
15752 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
15753
15754 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
15755 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
15756 corrupted or not synced properly.
15757
15758 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
15761 Reported by: Seth Goldberg.
15762
15763 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
15766 addition of dest.
15767 Reported by: Seth Goldberg.
15768
15769 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15770
15771 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
15772 Reported by: Seth Goldberg.
15773
15774 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15775
15776 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
15777 64-bit address as signed on MIPS.
15778
15779 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
15780
15781 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
15782 to the empty string.
15783
15784 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
15785
15786 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
15787
15788 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
15789 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
15790 * kern/misc.c (__enable_execute_stack): Disable on
15791 GRUB_MACHINE_EMU.
15792
15793 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
15794
15795 Make grub-probe work with symbolic links under /dev/mapper as well
15796 as with real block devices. The Linux world seems to be (at best)
15797 in transition here, and GRUB shouldn't get caught in the middle.
15798
15799 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
15800 /dev/mapper.
15801
15802 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
15803
15804 * util/grub-script-check.c (main): Ensure defined behaviour on empty
15805 input files (in which case exit zero).
15806
15807 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
15808
15809 * kern/emu/misc.c (canonicalize_file_name): realpath can still
15810 return NULL for various reasons even if it has a maximum-length
15811 buffer: for example, there might be a symlink loop, or the path
15812 might exceed PATH_MAX. If this happens, return NULL.
15813
15814 2010-05-27 Robert Millan <rmh@gnu.org>
15815
15816 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
15817 partmap module to handle cross-partmap setups.
15818 Reported by Orestes Mas. Gràcies!
15819
15820 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
15821
15822 * util/grub-mkrescue.in: Initialise override_dir rather than
15823 assuming that it's unset or empty in the environment.
15824
15825 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
15826
15827 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
15828 variable index into p_index to suppress a warning with -Wshadow.
15829
15830 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
15831
15832 * INSTALL: Added flex >= 2.5.35 requirement.
15833
15834 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15835
15836 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
15837
15838 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15839
15840 cmostest support.
15841
15842 * commands/i386/cmostest.c: New file.
15843 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
15844 (cmostest_mod_SOURCES): New variable.
15845 (cmostest_mod_CFLAGS): Likewise.
15846 (cmostest_mod_LDFLAGS): Likewise.
15847 * conf/i386-pc.rmk: Likewise.
15848 * docs/grub.texi (Vendor power-on keys): New section.
15849 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
15850 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
15851 and GRUB_BUTTON_CMOS_ADDRESS.
15852 * util/grub.d/00_header.in: Handle powering-on by separate button.
15853
15854 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15855
15856 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
15857 Removed drawing_scrollbar argument. All users updated
15858 Fixes #29792.
15859 Reported by Jo Shields
15860
15861 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15862
15863 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
15864 buffer since gfxterm handles double repaint.
15865
15866 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15867
15868 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
15869 * term/gfxterm.c (real_scroll): Likewise.
15870
15871 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15872
15873 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
15874 before calling BIOS.
15875
15876 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15877
15878 * include/grub/i18n.h: Always enable grub_gettext.
15879
15880 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15881
15882 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
15883 partition naming style.
15884
15885 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
15886
15887 * util/grub-mkconfig.in: Fix handling of -o so that it works when
15888 not the first option.
15889
15890 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
15891
15892 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
15893
15894 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
15895
15896 * util/misc.c: Move inclusion of <limits.h> to ...
15897 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
15898
15899 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
15900
15901 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
15902 Fix merge error in NetBSD code.
15903 (find_partition_start) [__NetBSD__]: Likewise.
15904
15905 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
15906
15907 Fix grub-mkrescue usage unit testing.
15908
15909 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
15910
15911 2010-05-18 Christian Franke <franke@computer.org>
15912
15913 * util/grub.d/10_windows.in: Use path names instead of
15914 drive letters to prevent warning from Cygwin 1.7.
15915 Add drivemap command to menuentry if needed.
15916
15917 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
15918
15919 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
15920 gnumach and gnumach.gz.
15921
15922 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15923
15924 * include/grub/i18n.h (gettext): Inline instead of using #define.
15925 (grub_gettext): Likewise.
15926 (_): Likewise.
15927
15928 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15929
15930 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
15931 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
15932 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
15933 (main): Add a slash after pkglibdirroot.
15934
15935 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15936
15937 * util/grub-install.in: Add missing "in" keyword.
15938
15939 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15940
15941 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
15942 Reported by: Seth Goldberg.
15943
15944 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15945
15946 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
15947
15948 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
15949
15950 * configure.ac: Check for Linux device-mapper support.
15951
15952 * util/hostdisk.c (device_is_mapped): New function.
15953 (find_partition_start): New function, partly broken out from
15954 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
15955 device-mapper support added.
15956 (linux_find_partition): Use find_partition_start.
15957 (convert_system_partition_to_system_disk): Add `st' argument.
15958 Support Linux /dev/mapper/* devices if device-mapper support is
15959 available; only DM-RAID devices are understood at present.
15960 (find_system_device): Add `st' argument. Pass it to
15961 convert_system_partition_to_system_disk.
15962 (grub_util_biosdisk_get_grub_dev): Pass stat result to
15963 find_system_device and convert_system_partition_to_system_disk. Use
15964 find_partition_start.
15965
15966 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
15967 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
15968 * util/deviceiter.c [__linux__]: Define MINOR.
15969 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
15970 * util/mkdevicemap.c (grub_putchar): New function.
15971 (grub_getkey): New function.
15972 (grub_refresh): New function.
15973 (main): Set debug=all if -v -v is used.
15974
15975 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
15976
15977 Fix build with non-GNU libcs.
15978
15979 * util/misc.c (canonicalize_file_name): Move to ...
15980 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
15981 grub_make_system_path_relative_to_its_root.
15982
15983 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
15984
15985 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
15986 we handle finding grub-mkimage. Default to finding grub-mkimage in
15987 ${bindir} with program_transform_name applied, and provide a
15988 --grub-mkimage option to override this.
15989
15990 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15991
15992 Remove grub-mkisofs.
15993
15994 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
15995 (grub_mkisofs_SOURCES): Removed.
15996 (grub_mkisofs_CFLAGS): Removed.
15997 * util/mkisofs/defaults.h: Removed.
15998 * util/mkisofs/eltorito.c: Likewise.
15999 * util/mkisofs/exclude.h: Likewise.
16000 * util/mkisofs/hash.c: Likewise.
16001 * util/mkisofs/include/: Likewise.
16002 * util/mkisofs/include/fctldefs.h: Likewise.
16003 * util/mkisofs/include/mconfig.h: Likewise.
16004 * util/mkisofs/include/prototyp.h: Likewise.
16005 * util/mkisofs/include/statdefs.h: Likewise.
16006 * util/mkisofs/iso9660.h: Likewise.
16007 * util/mkisofs/joliet.c: Likewise.
16008 * util/mkisofs/match.c: Likewise.
16009 * util/mkisofs/match.h: Likewise.
16010 * util/mkisofs/mkisofs.c: Likewise.
16011 * util/mkisofs/mkisofs.h: Likewise.
16012 * util/mkisofs/msdos_partition.h: Likewise.
16013 * util/mkisofs/multi.c: Likewise.
16014 * util/mkisofs/name.c: Likewise.
16015 * util/mkisofs/rock.c: Likewise.
16016 * util/mkisofs/tree.c: Likewise.
16017 * util/mkisofs/write.c: Likewise.
16018
16019 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16020
16021 Unify grub-mkimage accross platforms.
16022
16023 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
16024 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
16025 (grub_mkelfimage_SOURCES): Removed.
16026 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
16027 (util/grub-mkimage.c_DEPENDENCIES): .. this.
16028 (bin_UTILITIES): Add grub-mkimage.
16029 (grub_mkimage_SOURCES): New variable.
16030 (kernel_img_HEADERS): Remove machine/kernel.h.
16031 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
16032 (pkglib_PROGRAMS): Add kernel.img.
16033 (kernel_img_HEADERS): Add machine/kernel.h.
16034 (kernel_img_FORMAT): Removed.
16035 (bin_UTILITIES): Remove grub-mkimage.
16036 (grub_mkimage_SOURCES): Removed.
16037 (grub_mkimage_CFLAGS): Likewise.
16038 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16039 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
16040 (pkglib_PROGRAMS): Add kernel.img.
16041 (bin_UTILITIES): Remove grub-mkimage.
16042 (grub_mkimage_SOURCES): Removed.
16043 (grub_mkimage_CFLAGS): Likewise.
16044 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16045 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
16046 (pkglib_PROGRAMS): Add kernel.img.
16047 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
16048 (pkglib_PROGRAMS): Add kernel.img.
16049 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
16050 (grub_mkimage_SOURCES): Removed.
16051 (grub_mkimage_CFLAGS): Likewise.
16052 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16053 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
16054 (pkglib_PROGRAMS): Add kernel.img.
16055 (bin_UTILITIES): Remove grub-mkimage.
16056 (grub_mkimage_SOURCES): Removed.
16057 (grub_mkimage_CFLAGS): Likewise.
16058 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16059 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
16060 (grub_mkimage_SOURCES): Removed.
16061 (grub_mkimage_CFLAGS): Likewise.
16062 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16063 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
16064 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
16065 (grub_pe32_optional_header): ... this.
16066 (grub_pe64_optional_header): ... and this. All users updated.
16067 (GRUB_PE32_PE32_MAGIC): Split into ..
16068 (GRUB_PE32_PE32_MAGIC): .. this.
16069 (GRUB_PE32_PE64_MAGIC): .. and this.
16070 (GRUB_PE32_SIGNATURE_SIZE): New definition.
16071 * include/grub/elf.h (PT_GNU_STACK): New definition.
16072 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
16073 * include/grub/i386/efi/kernel.h: Likewise.
16074 * include/grub/i386/kernel.h: Likewise.
16075 * include/grub/i386/pc/kernel.h: Likewise.
16076 * include/grub/i386/qemu/boot.h: Likewise.
16077 * include/grub/mips/kernel.h: Likewise.
16078 * include/grub/mips/qemu-mips/kernel.h: Likewise.
16079 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
16080 * include/grub/powerpc/kernel.h: Likewise.
16081 * include/grub/sparc64/ieee1275/boot.h: Likewise.
16082 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
16083 * include/grub/sparc64/kernel.h: Likewise.
16084 * include/grub/x86_64/efi/kernel.h: Likewise.
16085 * include/grub/x86_64/kernel.h: Likewise.
16086 * include/grub/offsets.h: New file.
16087 * include/grub/kernel.h (grub_module_info): Split into ...
16088 (grub_module_info32): ... this.
16089 (grub_module_info64): ... and this.
16090 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
16091 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
16092 (grub_boot_blocklist): Moved from here ...
16093 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
16094 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
16095 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
16096 * include/grub/types.h (grub_target_to_host16): Removed.
16097 (grub_target_to_host32): Likewise.
16098 (grub_target_to_host64): Likewise.
16099 (grub_host_to_target16): Likewise.
16100 (grub_host_to_target32): Likewise.
16101 (grub_host_to_target64): Likewise.
16102 (grub_host_to_target_addr): Likewise.
16103
16104 Support grub-mkrescue for efi, coreboot and qemu.
16105
16106 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
16107 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
16108 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
16109 * util/grub-mkrawimage.c: Moved from here ...
16110 * util/grub-mkimage.c: ... here. All users updated.
16111 (ALIGN_ADDR): Use image_target.
16112 (TARGET_NO_FIELD): New const.
16113 (image_target_desc): New type.
16114 (image_targets): New array.
16115 (grub_target_to_host64): Use image_target.
16116 (grub_target_to_host32): Likewise.
16117 (grub_target_to_host16): Likewise.
16118 (grub_host_to_target64): Likewise.
16119 (grub_host_to_target32): Likewise.
16120 (grub_host_to_target16): Likewise.
16121 (grub_host_to_target_addr): Likewise.
16122 (generate_image): Handle multiimage.
16123 (main): Require -O parameter. All users updated.
16124 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
16125 util/efi/grub-mkimage.c
16126 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
16127 New option --rom-directory.
16128 Use xorriso.
16129 * util/i386/efi/grub-mkimage.c: Removed.
16130 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
16131 (grub_target_to_host32): Likewise.
16132 (grub_target_to_host64): Likewise.
16133 (grub_host_to_target16): Likewise.
16134 (grub_host_to_target32): Likewise.
16135 (grub_host_to_target64): Likewise.
16136 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
16137 (grub_target_to_host32): Likewise.
16138 (grub_target_to_host64): Likewise.
16139 (grub_host_to_target16): Likewise.
16140 (grub_host_to_target32): Likewise.
16141 (grub_host_to_target64): Likewise.
16142
16143 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
16144
16145 Source tree is reorganized for emu build.
16146
16147 * include/grub/util/console.h: Move from here...
16148 * include/grub/emu/console.h: ...to here.
16149 * include/grub/util/getroot.h: Move from here...
16150 * include/grub/emu/getroot.h: ...to here.
16151 * include/grub/util/hostdisk.h: Move from here...
16152 * include/grub/emu/hostdisk.h: ...to here.
16153 * util/console.c: Move from here...
16154 * kern/emu/console.c: ...to here.
16155 * util/getroot.c: Move from here...
16156 * kern/emu/getroot.c: ...to here.
16157 * util/grub-emu.c: Move from here...
16158 * kern/emu/main.c: ...to here.
16159 * util/hostdisk.c: Move from here...
16160 * kern/emu/hostdisk.c: ...to here.
16161 * util/hostfs.c: Move from here...
16162 * kern/emu/hostfs.c: ...to here.
16163 * util/mm.c: Move from here...
16164 * kern/emu/mm.c: ...to here.
16165 * util/pci.c: Move from here...
16166 * bus/emu/pci.c: ...to here.
16167 * util/sdl.c: Move from here...
16168 * video/emu/sdl.c: ...to here.
16169 * util/time.c: Move from here...
16170 * kern/emu/time.c: ...to here.
16171 * util/usb.c: Move from here...
16172 * bus/usb/emu/usb.c: ...to here.
16173
16174 * include/grub/emu/misc.h: New header for grub-emu functions.
16175 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
16176
16177 * conf/any-emu.rmk: Rule updates for above renames.
16178 * conf/common.rmk: Likewise.
16179 * conf/i386-pc.rmk: Likewise.
16180 * conf/i386-qemu.rmk: Likewise.
16181 * conf/mips.rmk: Likewise.
16182 * conf/sparc64-ieee1275.rmk: Likewise.
16183 * conf/x86-efi.rmk: Likewise.
16184
16185 * disk/lvm.h: #include updates for above renames.
16186 * util/grub-mkrelpath.c: Likewise.
16187 * util/grub-probe.c: Likewise.
16188 * util/i386/pc/grub-setup.c: Likewise.
16189 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16190 * kern/emu/console.c: Likewise.
16191 * kern/emu/getroot.c: Likewise.
16192 * kern/emu/hostdisk.c: Likewise.
16193 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
16194
16195 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
16196 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
16197 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
16198 * util/misc.c: Remove grub-emu functions.
16199
16200 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16201
16202 Fix gfxmenu crash.
16203 Reported by: Thorsten Grützmacher.
16204
16205 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
16206 timeout hook.
16207 (circprog_set_property): Register and unregister timeout hook.
16208 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
16209 (label_destroy): Free template. and unregister hook.
16210 (label_set_state): New function.
16211 (label_set_property): Handle templates and hooks.
16212 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
16213 timeout hook.
16214 (progress_bar_set_property): Register and unregister timeout hook.
16215 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
16216 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
16217 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
16218 (update_timeout_visit): Removed.
16219 (update_timeouts): New function.
16220 (redraw_timeouts): Likewise.
16221 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
16222 (grub_gfxmenu_clear_timeout): Likewise.
16223 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
16224 (grub_gfxmenu_timeout_notify): Likewise.
16225 (grub_gfxmenu_timeout_notifications): New external variable.
16226 (grub_gfxmenu_timeout_register): New function.
16227 (grub_gfxmenu_timeout_unregister): Likewise.
16228
16229 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16230
16231 Transform (broken) vga terminal into (working) vga video driver.
16232
16233 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
16234 video/i386/pc/vga.c.
16235 * include/grub/video.h (grub_video_driver_id):
16236 Add GRUB_VIDEO_DRIVER_VGA.
16237 * term/i386/pc/vga.c: Renamed to ...
16238 * video/i386/pc/vga.c: ...this
16239 (DEBUG_VGA): Removed.
16240 (CHAR_WIDTH): Likewise.
16241 (CHAR_HEIGHT): Likewise.
16242 (TEXT_WIDTH): Likewise.
16243 (TEXT_HEIGHT): Likewise.
16244 (DEFAULT_FG_COLOR): Likewise.
16245 (DEFAULT_BG_COLOR): Likewise.
16246 (colored_char): Likewise.
16247 (xpos): Likewise.
16248 (ypos): Likewise.
16249 (cursor_state): Likewise.
16250 (fg_color): Likewise.
16251 (bg_color): Likewise.
16252 (text_buf): Likewise.
16253 (page): Likewise.
16254 (font): Likewise.
16255 (framebuffer): New variable.
16256 (set_read_map): Disabled.
16257 (setup): New variable.
16258 (is_target): Likewise.
16259 (grub_vga_mod_init): Likewise.
16260 (grub_vga_mod_fini): Likewise.
16261 (check_vga_mem): Likewise.
16262 (write_char): Likewise.
16263 (write_cursor): Likewise.
16264 (scroll_up): Likewise.
16265 (grub_vga_putchar): Likewise.
16266 (grub_vga_getcharwidth): Likewise.
16267 (grub_vga_getwh): Likewise.
16268 (grub_vga_getxy): Likewise.
16269 (grub_vga_gotoxy): Likewise.
16270 (grub_vga_cls): Likewise.
16271 (grub_vga_setcolorstate): Likewise.
16272 (grub_vga_setcursor): Likewise.
16273 (grub_video_vga_init): New function.
16274 (grub_video_vga_setup): Likewise.
16275 (grub_video_vga_fini): Likewise.
16276 (update_target): Likewise.
16277 (grub_video_vga_blit_bitmap): Likewise.
16278 (grub_video_vga_blit_render_target): Likewise.
16279 (grub_video_vga_set_active_render_target): Likewise.
16280 (grub_video_vga_get_active_render_target): Likewise.
16281 (grub_video_vga_swap_buffers): Likewise.
16282 (grub_video_vga_set_palette): Likewise.
16283 (grub_video_vga_get_info_and_fini): Likewise.
16284 (grub_vga_term): Removed.
16285 (grub_video_vga_adapter): New variable.
16286 (GRUB_MOD_INIT): Register a video driver instead of terminal.
16287 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
16288
16289 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16290
16291 * video/readers/jpeg.c: Indented.
16292
16293 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16294
16295 Various jpeg cleanups.
16296
16297 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
16298 (grub_jpeg_decode_quan_table): Use sizeof.
16299 (grub_jpeg_decode_du): Use ARRAY_SIZE.
16300
16301 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
16302
16303 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
16304 tables. Ignore non-last ac bit.
16305 (grub_jpeg_decode_quan_table): Likewise.
16306
16307 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16308
16309 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
16310 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
16311 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16312 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
16313 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
16314 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
16315
16316 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16317
16318 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
16319 error.
16320
16321 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16322
16323 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
16324
16325 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16326
16327 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
16328 condition.
16329
16330 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16331
16332 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
16333 part.
16334
16335 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16336
16337 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
16338 pointers.
16339
16340 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16341
16342 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
16343
16344 2010-05-01 Christian Franke <franke@computer.org>
16345
16346 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
16347 Remove broken Cygwin path conversion.
16348 * util/misc.c: [__CYGWIN__] Add include and define.
16349 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
16350 for Cygwin 1.7.
16351 (make_system_path_relative_to_its_root): Simplify loop, replace early
16352 return by break.
16353 [__CYGWIN__] Add conversion to win32 path.
16354 Include "/" case in trailing slash removal.
16355
16356 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16357
16358 * kern/main.c (grub_load_config): Fix copy-pasted comment.
16359 Reported by: Seth Goldberg
16360
16361 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16362
16363 * commands/help.c (grub_cmd_help): Fix a typo.
16364 Reported by: Seth Goldberg
16365
16366 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16367
16368 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
16369 name and add N_.
16370 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
16371 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
16372 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
16373 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
16374 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
16375 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
16376 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
16377 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
16378 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
16379 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16380 * normal/context.c (GRUB_MOD_INIT): Likewise.
16381 * normal/main.c (GRUB_MOD_INIT): Likewise.
16382 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
16383 * term/serial.c (GRUB_MOD_INIT): Likewise.
16384 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
16385
16386 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16387
16388 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
16389 extra == 0.
16390
16391 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16392
16393 * commands/iorw.c: New file.
16394 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
16395 (iorw_mod_SOURCES): New variable.
16396 (iorw_mod_CFLAGS): Likewise.
16397 (iorw_mod_LDFLAGS): Likewise.
16398
16399 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16400
16401 Hotkey support
16402
16403 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
16404 * normal/main.c (hotkey_aliases): New variable.
16405 (grub_normal_add_menu_entry): Parse "--hotkey".
16406 * normal/menu_text.c (run_menu): Handle hotkeys.
16407
16408 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16409
16410 * kern/i386/coreboot/init.c (grub_machine_init): Call
16411 grub_machine_mmap_init on qemu.
16412
16413 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16414
16415 * boot/i386/qemu/boot.S: Add a missing .code16.
16416
16417 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16418
16419 Use LBIO on coreboot.
16420
16421 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
16422 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
16423 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
16424 New declaration.
16425 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
16426 grub_machine_mmap_init on coreboot.
16427 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
16428 GRUB_LINUXBIOS_MEMBER_LINK.
16429 (grub_machine_mmap_iterate): Fix declaration.
16430 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
16431
16432 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16433
16434 Split coreboot and multiboot ports.
16435
16436 * conf/i386-multiboot.rmk: New file.
16437 * configure.ac: Add multiboot port.
16438 * include/grub/i386/multiboot/boot.h: New file.
16439 * include/grub/i386/multiboot/console.h: Likewise.
16440 * include/grub/i386/multiboot/init.h: Likewise.
16441 * include/grub/i386/multiboot/kernel.h: Likewise.
16442 * include/grub/i386/multiboot/loader.h: Likewise.
16443 * include/grub/i386/multiboot/memory.h: Likewise.
16444 * include/grub/i386/multiboot/serial.h: Likewise.
16445 * include/grub/i386/multiboot/time.h: Likewise.
16446 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
16447 * loader/multiboot.c: Likewise.
16448 * loader/multiboot_mbi2.c: Likewise.
16449 * util/grub-mkrescue.in: Generate multiboot rescue.
16450
16451 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16452
16453 * kern/parser.c (grub_parser_execute): Cope with read-only config.
16454
16455 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16456
16457 Merge handling of input and output terminals. Fix a hang.
16458
16459 * commands/terminal.c (abstract_terminal): New struct.
16460 (handle_command): New function. Based on grub_cmd_terminal_input.
16461 (grub_cmd_terminal_input): Use handle_command.
16462 (grub_cmd_terminal_output): Use handle_command.
16463
16464 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
16465
16466 Fix comment handling.
16467
16468 * tests/grub_script_comments.in: New testcase.
16469 * conf/tests.rmk: Rules for new testcase.
16470 * script/yylex.l: Updated flex rules.
16471
16472 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
16473
16474 * docs/grub.texi (play): Document that zero pitches produce rests.
16475 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
16476 if argc is 1.
16477
16478 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
16479
16480 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
16481 autogen issues.
16482
16483 2010-04-26 Christian Franke <franke@computer.org>
16484
16485 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
16486 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
16487 (grub_get_prefix): Remove function.
16488 * util/grub-emu.c (main): Replace grub_get_prefix () call by
16489 make_system_path_relative_to_its_root ().
16490 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
16491
16492 2010-04-24 Christian Franke <franke@computer.org>
16493
16494 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
16495 (kernel_img_LDFLAGS): Remove -static-libgcc.
16496
16497 2010-04-24 Christian Franke <franke@computer.org>
16498
16499 * configure.ac: Do not CHECK_BSS_START_SYMBOL
16500 and CHECK_END_SYMBOL if grub-emu is built.
16501 Unset TARGET_OBJ2ELF if grub-emu is built
16502 without module support.
16503
16504 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
16505
16506 Nilfs2 support.
16507
16508 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
16509 (grub_fstest_SOURCES): Likewise.
16510 (pkglib_MODULES): Add nilfs2.mod.
16511 (nilfs2_mod_SOURCES): New variable.
16512 (nilfs2_mod_CFLAGS): Likewise.
16513 (nilfs2_mod_LDFLAGS): Likewise.
16514 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
16515 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
16516 * fs/nilfs2.c: New file.
16517
16518 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
16519
16520 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
16521 is not supported.
16522
16523 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
16524
16525 Add grub-mkconfig support for NetBSD.
16526
16527 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
16528 * util/grub-mkconfig.in: export new NetBSD specific variables.
16529 * po/POTFILES-shell: added 10_netbsd.in.
16530 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
16531
16532 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
16533
16534 Fix emu build with grub-emu-pci and grub-emu-modules.
16535
16536 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
16537 functions.
16538 * include/grub/libpciaccess.h: New file.
16539 * conf/any-emu.rmk: Update kernel headers for emu build.
16540
16541 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16542
16543 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
16544
16545 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16546
16547 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
16548
16549 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16550
16551 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
16552 Retrieve chosen/bootpath if bootpath isn't hardcoded.
16553 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
16554 util/ieee1275/ofpath.c.
16555 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
16556 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
16557 * include/grub/sparc64/ieee1275/boot.h
16558 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
16559 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
16560 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
16561 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
16562 const char *.
16563 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
16564 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
16565 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
16566 install.
16567
16568 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
16569
16570 * util/grub-mkconfig.in: Corrected two == equality tests.
16571 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
16572 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
16573 expect a number appended to it.
16574 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
16575 expects a number appended to it.
16576
16577 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16578
16579 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
16580
16581 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16582
16583 * util/hostdisk.c (make_device_name): Change to new partition naming.
16584
16585 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16586
16587 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
16588
16589 2010-04-17 Christian Franke <franke@computer.org>
16590
16591 * Makefile.in: Add missing localedir setting.
16592
16593 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
16594
16595 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
16596 mistake in r2156. Noticed by Anthony Fok.
16597
16598 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
16599 @localedir@.
16600 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
16601
16602 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
16603
16604 Fix a spurious, uninitialized variable warning.
16605
16606 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
16607 Initialize variable, shdr.
16608 (grub_freebsd_load_elfmodule): Likewise.
16609 (grub_freebsd_load_elf_meta): Likewise.
16610
16611 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
16612
16613 Fix for escaped dollar in double quoted strings.
16614
16615 * script/yylex.l: Updated flex rules.
16616 * conf/tests.rmk: Rule for new testcase.
16617 * tests/grub_script_dollar.in: New testcase.
16618
16619 2010-04-13 Carles Pina i Estany <carles@pina.cat>
16620 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
16621
16622 Enclose all translated strings in grub.cfg in single quotes, and
16623 escape them appropriately (Ubuntu bug #552921).
16624
16625 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
16626 * util/grub.d/10_hurd.in: Use it.
16627 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
16628 * util/grub.d/10_linux.in (linux_entry): Likewise.
16629
16630 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16631
16632 Fix cygwin compilation.
16633
16634 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
16635 * include/grub/misc.h (__register_frame_info)
16636 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
16637 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
16638 * kern/misc.c (__register_frame_info)
16639 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
16640 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
16641
16642 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16643
16644 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
16645
16646 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16647
16648 Unify libgcc processing.
16649
16650 * Makefile.in (kernel_img_LDFLAGS): New variable.
16651 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
16652 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
16653 overwriting.
16654 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
16655 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
16656 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
16657 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
16658 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
16659 overwriting. Remove -lgcc and -static-libgcc
16660 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
16661 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
16662 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
16663 (kernel_img_LDFLAGS): Append instead of overwriting.
16664 Remove -lgcc and -static-libgcc
16665 * conf/sparc64-ieee1275.rmk: Likewise.
16666 * include/grub/powerpc/libgcc.h: Move to ...
16667 * include/grub/libgcc.h: .. this.
16668 * include/grub/libgcc.h: Don't export most of the function on x86.
16669 (__bswapsi2): New export.
16670 (__bswapdi2): Likewise.
16671 * include/grub/mips/libgcc.h: Removed.
16672 * include/grub/sparc64/libgcc.h: Likewise.
16673
16674 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16675
16676 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
16677 disk_info_msg (conflicts with gettexting into languages with cases).
16678
16679 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
16680
16681 Add grub-probe support for NetBSD.
16682
16683 * util/getroot.c (find_root_device): Convert block device to
16684 character device on NetBSD.
16685 * util/probe.c (probe): Require character device on NetBSD.
16686 * util/hostdisk.c: NetBSD specific headers.
16687 (configure_device_driver): new function to tune device driver
16688 parameters (currently only for NetBSD floppy driver).
16689 (grub_util_biosdisk_open): NetBSD specific code (get disk size
16690 via disklabel ioctl).
16691 (open_device): call configure_device_driver on NetBSD.
16692 (convert_system_partition_to_system_disk): NetBSD specific code.
16693 (device_is_wholedisk): Likewise.
16694 (grub_util_biosdisk_get_grub_dev): Likewise.
16695 (make_device_name): Fixed a typo in bsd_part_str.
16696 * configure.ac: check for opendisk() and getrawpartition() on
16697 NetBSD and set LIBUTIL.
16698 * Makefile.in: add LIBUTIL to LIBS.
16699
16700 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
16701
16702 Documentation fix.
16703
16704 * util/grub-script-check.c: Better help message.
16705
16706 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
16707
16708 Fix FreeBSD build.
16709
16710 * configure.ac: Flex version check.
16711 * conf/common.rmk: Add -Wno-error to sh.mod.
16712 * script/yylex.l: Remove all #pragma.
16713
16714 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16715
16716 * include/grub/util/misc.h (canonicalise_file_name): Add missing
16717 prototype.
16718 Reported by: Seth Goldberg.
16719
16720 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16721
16722 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
16723 Rename "module" to "module2".
16724 Reported by: Seth Goldberg.
16725
16726 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16727
16728 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
16729 EXPORT_FUNC.
16730 Reported by: Seth Goldberg.
16731
16732 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16733
16734 * lib/posix_wrap/locale.h: Add missing file.
16735 Reported by: Seth Goldberg.
16736
16737 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16738
16739 grub-emu module load support.
16740
16741 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
16742 NO_DYNAMIC_MODULES switched to this.
16743 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
16744 (CFLAGS): Likewise.
16745 * conf/any-emu.rmk: Generate symlist.
16746 (kernel_img_HEADERS): Add util/datetime.h.
16747 (kernel_img_HEADERS) [sdl]: Add sdl.h.
16748 (kernel_img_HEADERS) [libusb]: Add libusb.h.
16749 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
16750 kern/$(target_cpu)/cache.S.
16751 * configure.ac (grub-emu-modules): New option.
16752 * genmk.rb: Handle multiple source lists.
16753 * include/grub/sdl.h: New file.
16754 * include/grub/libusb.h: Likewise.
16755 * util/grub-emu.c (main): Hanle (host) root.
16756 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
16757 GRUB_ERR_UNKNOWN_DEVICE.
16758 * util/misc.c: Move mm functions to ...
16759 * util/mm.c: ... here. All users updated.
16760
16761 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16762
16763 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
16764 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
16765 missing files.
16766 (maintainer-clean): Remove libgcrypt-grub.
16767
16768 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16769
16770 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
16771
16772 2010-04-09 EFI Coder <eficoder@hotmail.com>
16773
16774 * normal/menu_text.c (print_message): Clean up the message and show
16775 the Fn information when on EFI
16776 * term/efi/console.c (grub_console_checkkey): Add F4 support.
16777
16778 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16779
16780 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
16781 All users updated.
16782 * normal/crypto.c (read_crypto_list): Likewise.
16783 * normal/dyncmd.c (read_command_list): Likewise.
16784 * normal/term.c (read_terminal_list): Likewise.
16785 * normal/main.c (read_lists): Use explicit prefix.
16786 (read_lists_hook): Use read_lists.
16787 (grub_normal_execute): Likewise.
16788
16789 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16790
16791 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
16792 Reported by: Thomas Schmitt.
16793 Add -no-emul-boot to grub-mkisofs parameters.
16794
16795 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16796
16797 * font/font.c: Indented.
16798
16799 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
16800
16801 Elif support to GRUB script (by Deepak Vankadaru).
16802
16803 * tests/grub_script_if.in: New testcase.
16804 * conf/tests.rmk: Rule for new testcase.
16805 * script/parser.y: Grammar rules for elif.
16806
16807 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
16808
16809 While and until loops support to GRUB script.
16810
16811 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
16812 (grub_script_create_cmdwhile): New function prototype.
16813 (grub_script_execute_cmdwhile): New function prototype.
16814 * script/execute.c (grub_script_execute_cmdwhile): New function.
16815 * script/parser.y (command): New commands.
16816 (whilecmd): New grammar rule.
16817 (untilcmd): New grammar rule.
16818 * script/script.c (grub_script_create_cmdwhile): New function.
16819 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
16820 function.
16821
16822 * tests/grub_script_while1.in: New testcase.
16823 * conf/tests.rmk: Rule for new testcase.
16824
16825 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16826
16827 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
16828 as *.jpg.
16829
16830 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
16831
16832 GRUB_BACKGROUND support.
16833
16834 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
16835 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
16836
16837 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16838
16839 Load fonts and modules for gfxmenu in grub-mkconfig.
16840 Idea by: Mario Vazquez
16841
16842 * util/grub.d/00_header.in: Load pf2 and image modules.
16843
16844 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16845
16846 grub-mkconfig multiple terminal support.
16847
16848 * util/grub-mkconfig.in: Handle multiple terminals correctly.
16849 * util/grub.d/00_header.in: Likewise.
16850
16851 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16852
16853 * Makefile.in: Specify files explicitly instead of using $< and $@ since
16854 we use cd $(srcdir).
16855
16856 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
16857
16858 * util/grub.d/10_linux.in: Only use the first word of
16859 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
16860 spaces in GRUB_DISTRIBUTOR.
16861 * util/grub.d/10_kfreebsd.in: Likewise.
16862 * util/grub.d/10_hurd.in: Likewise.
16863
16864 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
16865
16866 Fix unit testing framework for Qemu 0.12.
16867
16868 * tests/util/grub-shell.in: Remove -serial stdio option.
16869
16870 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16871
16872 POSIX header file wrappers.
16873
16874 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
16875 equivalents.
16876 * lib/posix_wrap/ctype.h: Likewise.
16877 * lib/posix_wrap/errno.h: Likewise.
16878 * lib/posix_wrap/langinfo.h: Likewise.
16879 * lib/posix_wrap/limits.h: Likewise.
16880 * lib/posix_wrap/localcharset.h: Likewise.
16881 * lib/posix_wrap/stdint.h: Likewise.
16882 * lib/posix_wrap/stdio.h: Likewise.
16883 * lib/posix_wrap/stdlib.h: Likewise.
16884 * lib/posix_wrap/string.h: Likewise.
16885 * lib/posix_wrap/sys/types.h: Likewise.
16886 * lib/posix_wrap/unistd.h: Likewise.
16887 * lib/posix_wrap/wchar.h: Likewise.
16888 * lib/posix_wrap/wctype.h: Likewise.
16889 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
16890 (grub_script.yy.h): Likewise.
16891 * script/yylex.l: Remove POSIX emulation #defines.
16892 * Makefile.in (POSIX_CFLAGS): New variable.
16893 (GNULIB_UTIL_CFLAGS): Likewise.
16894
16895 Regexp support.
16896
16897 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
16898 (regexp_mod_SOURCES): New variable.
16899 (regexp_mod_CFLAGS): Likewise.
16900 (regexp_mod_LDFLAGS): Likewise.
16901 * commands/regexp.c: New file.
16902 * gnulib/regcomp.c: New file. Imported from gnulib.
16903 * gnulib/regex.c: Likewise.
16904 * gnulib/regex_internal.c: Likewise.
16905 * gnulib/regex_internal.h: Likewise.
16906 * gnulib/regexec.c: Likewise.
16907 * gnulib/regex.h: Likewise.
16908
16909 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16910
16911 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
16912 unsupported video mode types.
16913
16914 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16915
16916 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
16917
16918 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16919
16920 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
16921 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
16922
16923 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
16924
16925 Remove unused grub_vga_get_font.
16926
16927 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
16928 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
16929
16930 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16931
16932 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
16933 * include/grub/misc.h: Likewise.
16934
16935 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16936
16937 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
16938 for which failure is fatal.
16939
16940 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16941
16942 * util/grub-install.in: Use mkdir -p to create grub directory.
16943 * util/i386/efi/grub-install.in: Likewise.
16944 * util/ieee1275/grub-install.in: Likewise.
16945
16946 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16947
16948 * Makefile.in (LEX): new variable.
16949
16950 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16951
16952 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
16953 `=' and added double quotes on operands of this equality test.
16954
16955 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
16956
16957 * Makefile.in (uninstall): Remove a leftover debug echo.
16958 Reported by: Grégoire Sutre
16959
16960 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
16961
16962 MIPS multiboot2 support.
16963
16964 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
16965 (multiboot2_mod_SOURCES): New variable.
16966 (multiboot2_mod_CFLAGS): Likewise.
16967 (multiboot2_mod_LDFLAGS): Likewise.
16968 (multiboot2_mod_ASFLAGS): Likewise.
16969 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
16970 definition.
16971 (MULTIBOOT_ENTRY_REGISTER): Likewise.
16972 (MULTIBOOT_MBI_REGISTER): Likewise.
16973 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
16974 (MULTIBOOT_ELF32_MACHINE): Likewise.
16975 (MULTIBOOT_ELF64_MACHINE): Likewise.
16976 * include/grub/mips/multiboot.h: New file.
16977 * include/grub/video.h (grub_video_driver_id): New type
16978 GRUB_VIDEO_DRIVER_SM712.
16979 (grub_video_get_info_and_fini): Export.
16980 (grub_video_get_palette): Likewise.
16981 (grub_video_get_driver_id): Likewise.
16982 * include/multiboot2.h: Resynced with spec.
16983 * loader/i386/multiboot.c: Moved from here ...
16984 * loader/multiboot.c: ... here. All users updated.
16985 (grub_multiboot_boot): Use platform-specific macros.
16986 * loader/i386/multiboot_elfxx.c: Moved from here ...
16987 * loader/multiboot_elfxx.c: ... here. All users updated.
16988 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
16989 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
16990 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
16991
16992 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16993
16994 Import gnulib argp module.
16995
16996 * gnulib/argp-ba.c: New file.
16997 * gnulib/argp-eexst.c: Likewise.
16998 * gnulib/argp-fmtstream.c: Likewise.
16999 * gnulib/argp-fmtstream.h: Likewise.
17000 * gnulib/argp-fs-xinl.c: Likewise.
17001 * gnulib/argp-help.c: Likewise.
17002 * gnulib/argp-namefrob.h: Likewise.
17003 * gnulib/argp-parse.c: Likewise.
17004 * gnulib/argp-pin.c: Likewise.
17005 * gnulib/argp-pv.c: Likewise.
17006 * gnulib/argp-pvh.c: Likewise.
17007 * gnulib/argp-version-etc.c: Likewise.
17008 * gnulib/argp-version-etc.h: Likewise.
17009 * gnulib/argp-xinl.c: Likewise.
17010 * gnulib/argp.h: Likewise.
17011
17012 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
17013
17014 * kern/device.c (grub_device_iterate): Clear errors after failed
17015 opening device.
17016
17017 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
17018
17019 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
17020 returned by firmware.
17021
17022 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17023
17024 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
17025 compilation on coreboot and qemu
17026
17027 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
17028
17029 * include/multiboot2.h: Resync with spec.
17030
17031 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
17032
17033 Multiboot2 tag support
17034
17035 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
17036 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
17037 Remove loader/multiboot_loader.c.
17038 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
17039 (grub_multiboot2_real_boot): Likewise.
17040 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
17041 (grub_get_multiboot_mmap_count): New proto.
17042 (grub_fill_multiboot_mmap): Likewise.
17043 (grub_multiboot_set_video_mode): Likewise.
17044 (grub_multiboot_set_console): Likewise.
17045 (grub_multiboot_load): Likewise.
17046 (grub_multiboot_load_elf): Likewise.
17047 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
17048 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
17049 * include/multiboot.h: Resynced with specification.
17050 * include/multiboot2.h: Resynced with specification.
17051 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
17052 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
17053 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
17054 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
17055 users updated.
17056 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
17057 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
17058 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
17059 Removed.
17060 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
17061 Moved from here...
17062 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
17063 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
17064 Moved from here...
17065 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
17066 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
17067 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
17068 All users updated.
17069 * loader/i386/multiboot_mbi2.c: New file.
17070
17071 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
17072
17073 Resync with gnulib.
17074
17075 * Makefile.in (GNULIB_CFLAGS): New variable.
17076 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
17077 (grub_script_check_CFLAGS): New variable.
17078 * gnulib/alloca.h: Resync with gnulib.
17079 * gnulib/error.c: Likewise.
17080 * gnulib/error.h: Likewise.
17081 * gnulib/fnmatch.c: Likewise.
17082 * gnulib/fnmatch_loop.c: Likewise.
17083 * gnulib/getdelim.c: Likewise.
17084 * gnulib/getline.c: Likewise.
17085 * gnulib/getopt.c: Likewise.
17086 * gnulib/getopt1.c: Likewise.
17087 * gnulib/getopt_int.h: Likewise.
17088 * gnulib/gettext.h: Likewise.
17089 * gnulib/progname.c: Likewise.
17090 * gnulib/progname.h: Likewise.
17091
17092 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
17093
17094 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
17095 which is the case with --disabled-nls.
17096
17097 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
17098 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
17099 * util/misc.c: Likewise.
17100 * util/mkisofs/mkisofs.c: Likewise.
17101 * util/mkisofs/mkisofs.h: Likewise.
17102
17103 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
17104
17105 Simplify Apple CC support.
17106
17107 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
17108 Add 0 byte at the end not to have a symbol with empty target.
17109 * mmap/i386/pc/mmap_helper.S: Likewise.
17110 * genmk.rb: Ignore errors 2030 and 2050.
17111 * kern/i386/pc/startup.S: Use LOCAL when possible.
17112
17113 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
17114
17115 Testcase and the fix for final semicolon on cmdline.
17116
17117 * tests/grub_script_final_semicolon.in: New testcase.
17118 * conf/tests.rmk: Rules for the new testcase.
17119 * script/parser.y: Grammar fix.
17120
17121 2010-03-26 BVK Chaitanya <bvk@localhost>
17122
17123 Blank lines testcase for GRUB script.
17124
17125 * tests/grub_script_blanklines.in: New testcase.
17126 * conf/tests.rmk: Rules for the new testcase.
17127
17128 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17129
17130 Don't use __FILE__.
17131
17132 * genmk.rb: Add -DGRUB_FILE to all C targets.
17133 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
17134 * include/grub/list.h: Likewise.
17135 * include/grub/misc.h: Likewise.
17136 * include/grub/mm.h: Likewise.
17137 * include/grub/test.h: Likewise.
17138 * kern/mm.c: Likewise.
17139 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
17140
17141 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17142
17143 Sunpc partitions support.
17144
17145 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
17146 (grub_fstest_SOURCES): Likewise.
17147 (pkglib_MODULES): Add part_sunpc.mod.
17148 (part_sunpc_mod_SOURCES): New variable.
17149 (part_sunpc_mod_CFLAGS): Likewise.
17150 (part_sunpc_mod_LDFLAGS): Likewise.
17151 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
17152 * partmap/sunpc.c: New file.
17153
17154 2010-03-26 BVK Chaitanya <bvk@localhost>
17155
17156 For loop support to GRUB script.
17157
17158 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
17159 (grub_script_create_cmdfor): New function prototype.
17160 (grub_script_execute_cmdfor): New function prototype.
17161 * script/execute.c (grub_script_execute_cmdfor): New function.
17162 * script/parser.y (command): New for command.
17163 (forcmd): New grammar rule.
17164 * script/script.c (grub_script_create_cmdfor): New function.
17165 * util/grub-script-check.c (grub_script_execute_cmdfor): New
17166 function.
17167 * tests/grub_script_for1.in: New testcase.
17168 * conf/tests.rmk: Rules for new testcase.
17169
17170 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17171
17172 Nested partitions
17173
17174 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
17175 'partition' is NULL, grub_partition_get_start already does that.
17176 * commands/loadenv.c (check_blocklists): Likewise.
17177 (write_blocklists): Likewise.
17178 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
17179 (grub_fstest_SOURCES): Likewise.
17180 (pkglib_MODULES): Add part_bsd.mod.
17181 (part_bsd_mod_SOURCES): New variable.
17182 (part_bsd_mod_CFLAGS): Likewise.
17183 (part_bsd_mod_LDFLAGS): Likewise.
17184 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
17185 (grub_emu_SOURCES): Likewise.
17186 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17187 * include/grub/bsdlabel.h: New file.
17188 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
17189 'get_name'.
17190 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
17191 (grub_partition_map_list): New variable.
17192 (grub_partition_map_register): Inline.
17193 (grub_partition_map_unregister): Likewise.
17194 (FOR_PARTITION_MAPS): New macro.
17195 (grub_partition_map_iterate): Removed.
17196 (grub_partition_get_start): Handle nested partitions.
17197 * include/grub/msdos_partition.h: Remove bsd-related entries.
17198 (grub_pc_partition): Remove.
17199 * kern/disk.c (grub_disk_close): Free partition data.
17200 (grub_disk_adjust_range): Handle nested partitions.
17201 * kern/partition.c (grub_partition_map_probe): New function.
17202 (grub_partition_probe): Parse name to number, handle subpartitions.
17203 (get_partmap): New function.
17204 (grub_partition_iterate): Handle subpartitions.
17205 (grub_partition_get_name): Likewise.
17206 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
17207 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
17208 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
17209 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
17210 Set 'number'.
17211 (acorn_partition_map_probe): Remove.
17212 (acorn_partition_map_get_name): Likewise.
17213 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
17214 Set 'number'.
17215 Set 'index' to 0 since there can be only one partition entry per sector.
17216 (amiga_partition_map_probe): Remove.
17217 (amiga_partition_map_get_name): Likewise.
17218 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
17219 Set 'number'.
17220 Set 'offset' and 'index' to real positions of partitions.
17221 (apple_partition_map_probe): Remove.
17222 (apple_partition_map_get_name): Likewise.
17223 * partmap/bsdlabel.c: New file.
17224 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
17225 Set 'number'.
17226 Allocate 'data' so it can be correctly freed.
17227 Set 'index' to offset inside sector.
17228 (gpt_partition_map_probe): Remove.
17229 (gpt_partition_map_get_name): Likewise.
17230 * partmap/msdos.c (grub_partition_parse): Remove.
17231 (pc_partition_map_iterate): Don't force raw access.
17232 Set 'number'.
17233 Make 'ext_offset' a local variable.
17234 (pc_partition_map_probe): Remove.
17235 (pc_partition_map_get_name): Remove.
17236 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
17237 Set 'number'.
17238 (sun_partition_map_probe): Remove.
17239 (sun_partition_map_get_name): Likewise.
17240 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
17241 (grub_pcpart_type): Likewise.
17242 * util/hostdisk.c (open_device): Handle new numbering scheme.
17243 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
17244 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
17245 * util/grub-probe.c (probe_partmap): Handle nested paritions.
17246 * util/grub-install.in: Insert all subpartition modules.
17247 * util/ieee1275/grub-install.in: Likewise.
17248
17249 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
17250
17251 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
17252 grammar.
17253
17254 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
17255
17256 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
17257
17258 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
17259
17260 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
17261 match where 'make install' puts them.
17262 * util/i386/efi/grub-install.in: Likewise.
17263
17264 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
17265
17266 * .bzrignore: Add gentrigtables, grub-script-check,
17267 grub_script_check_init.c, grub_script_check_init.h, and
17268 trigtables.c.
17269
17270 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
17271
17272 * kern/parser.c: Indented.
17273
17274 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
17275
17276 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
17277
17278 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
17279
17280 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
17281 alpha_mask_size == 0 case.
17282
17283 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
17284
17285 GRUB shell lexer and parser improvements.
17286
17287 * conf/any-emu.rmk: Build rule updates.
17288 * conf/common.rmk: Likewise.
17289 * conf/i386-coreboot.rmk: Likewise.
17290 * conf/i386-efi.rmk: Likewise.
17291 * conf/i386-ieee1275.rmk: Likewise.
17292 * conf/i386-pc.rmk: Likewise.
17293 * conf/powerpc-ieee1275.rmk: Likewise.
17294 * conf/x86_64-efi.rmk: Likewise.
17295
17296 * configure.ac: Configure check for flex.
17297
17298 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
17299 types.
17300 (grub_lexer_param): Struct member updates.
17301 (grub_parser_param): Likewise.
17302 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
17303 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
17304 (grub_script_lexer_init): Prototype update.
17305 (grub_script_lexer_record_start): Likewise.
17306 (grub_script_lexer_record_stop): Likewise.
17307 (grub_script_lexer_yywrap): New function prototype.
17308 (grub_script_lexer_fini): Likewise.
17309 (grub_script_execute_argument_to_string): Removed by...
17310 (grub_script_execute_argument_to_argv): ...better version.
17311
17312 * script/execute.c (ROUND_UPTO): New macro.
17313 (grub_script_execute_cmdline): Out of memory fixes.
17314 (grub_script_execute_menuentry): Likewise.
17315 (grub_script_execute_argument_to_string): Removed. Update all
17316 users by...
17317 (grub_script_execute_argument_to_argv): ...better version.
17318 * script/function.c (grub_script_function_create): Use
17319 grub_script_execute_argument_to_argv instead of
17320 grub_script_execute_argument_to_string.
17321
17322 * script/lexer.c (check_varstate): Removed.
17323 (check_textstate): Removed.
17324 (grub_script_lexer_record_start): Likewise.
17325 (grub_script_lexer_record_stop): Likewise.
17326 (recordchar): Replaced with...
17327 (grub_script_lexer_record): ...new function.
17328 (nextchar): Removed.
17329 (grub_script_lexer_init): Rewritten.
17330 (grub_script_yylex): Rewritten.
17331 (append_newline): New function.
17332 (grub_script_lexer_yywrap): New function.
17333 (grub_script_lexer_fini): New function.
17334 (grub_script_yyerror): Sets error flag.
17335
17336 * script/yylex.l: New file.
17337 (grub_lexer_yyfree): Wrapper for flex yyffre.
17338 (grub_lexer_yyalloc): Likewise.
17339 (grub_lexer_yyrealloc): Likewise.
17340 * script/parser.y: Refactored.
17341
17342 * script/script.c (grub_script_arg_add): Out of memory fixes.
17343 (grub_script_add_arglist): Likewise.
17344 (grub_script_create_cmdline): Likewise.
17345 (grub_script_create_cmdmenu): Likewise.
17346 (grub_script_add_cmd): Likewise.
17347 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
17348 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
17349 unnecessary code.
17350
17351 * tests/grub_script_echo1.in: New testcase.
17352 * tests/grub_script_vars1.in: New testcase.
17353 * tests/grub_script_echo_keywords.in: New testcase.
17354
17355 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17356
17357 Remove some redundancy in build system.
17358
17359 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
17360 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
17361 (TARGET_LDFLAGS): Add -nostdlib.
17362 (TARGET_IMG_LDFLAGS): Likewise.
17363 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
17364 anything since mmap isn't available.
17365 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
17366 Add util/time.c.
17367 (pkglib_MODULES): Remove reboot.mod.
17368 (reboot_mod_SOURCES): Removed.
17369 (reboot_mod_CFLAGS): Likewise.
17370 (reboot_mod_LDFLAGS): Likewise.
17371 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
17372 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
17373 (DEFSYMFILES): Add kernel_syms.lst.
17374 (kernel_img_HEADERS): Add common headers.
17375 (symlist.c): New target.
17376 (kernel_syms.lst): Likewise.
17377 (pkglib_MODULES): Add memdisk.mod.
17378 (memdisk_mod_SOURCES): New variable.
17379 (memdisk_mod_CFLAGS): Likewise.
17380 (memdisk_mod_LDFLAGS): Likewise.
17381 (pkglib_MODULES): Add reboot.mod.
17382 (reboot_mod_SOURCES): New variable.
17383 (reboot_mod_CFLAGS): Likewise.
17384 (reboot_mod_LDFLAGS): Likewise.
17385 (pkglib_MODULES): Add date.mod.
17386 (date_mod_SOURCES): New variable.
17387 (date_mod_CFLAGS): Likewise.
17388 (date_mod_LDFLAGS): Likewise.
17389 (pkglib_MODULES): Add datehook.mod.
17390 (datehook_mod_SOURCES): New variable.
17391 (datehook_mod_CFLAGS): Likewise.
17392 (datehook_mod_LDFLAGS): Likewise.
17393 (pkglib_MODULES): Add lsmmap.mod.
17394 (lsmmap_mod_SOURCES): New variable.
17395 (lsmmap_mod_CFLAGS): Likewise.
17396 (lsmmap_mod_LDFLAGS): Likewise.
17397 (pkglib_MODULES): Add boot.mod.
17398 (boot_mod_SOURCES): New variable.
17399 (boot_mod_CFLAGS): Likewise.
17400 (boot_mod_LDFLAGS): Likewise.
17401 * conf/i386-coreboot.rmk: Removed redundant parts.
17402 * conf/i386-ieee1275.rmk: Likewise.
17403 * conf/i386-pc.rmk: Likewise.
17404 * conf/mips-yeeloong.rmk: Likewise.
17405 * conf/mips.rmk: Likewise.
17406 * conf/powerpc-ieee1275.rmk: Likewise.
17407 * conf/sparc64-ieee1275.rmk: Likewise.
17408 * conf/x86_64-efi.rmk: Likewise.
17409 * conf/i386-coreboot.rmk: Moved qemu parts ..
17410 * conf/i386-qemu.rmk: ... here
17411 * conf/i386-efi.rmk: Moved common parts to...
17412 * conf/x86-efi.rmk: ... here.
17413 * conf/i386.rmk: Added modules common to all x86 variants.
17414 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
17415 * disk/memdisk.c: Remove grub/machine/kernel.h.
17416 * gensymlist.sh.in: Include symbol.h.
17417 * hook/datehook.c: Correct module name.
17418 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
17419 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
17420 * include/grub/i386/efi/serial.h: New file.
17421 * include/grub/x86_64/efi/serial.h: Likewise.
17422 * util/time.c: Likewise.
17423 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
17424
17425 2010-03-14 Colin King <colin.king@ubuntu.com>
17426 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
17427
17428 Shrink the pre-partition-table part of boot.img by eight bytes.
17429
17430 * boot/i386/pc/boot.S (ERR): New macro.
17431 (chs_mode): Use ERR.
17432 (geometry_error): Likewise.
17433 (hd_probe_error): Remove. This is only used once, so we wrwite
17434 it inline instead.
17435 (read_error): Instead of printing read_error_string, just set up
17436 %si and fall through to ...
17437 (error_message): ... this new function, also used by ERR.
17438
17439 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
17440
17441 Speed up consecutive hostdisk operations on the same device.
17442
17443 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
17444 (grub_util_biosdisk_open): Initialise disk->data.
17445 (struct linux_partition_cache): New structure.
17446 (linux_find_partition): Cache partition start positions; these are
17447 expensive to compute on every read and write.
17448 (open_device): Cache open file descriptor in disk->data, so that we
17449 don't have to reopen it and flush the buffer cache for consecutive
17450 operations on the same device.
17451 (grub_util_biosdisk_close): New function.
17452 (grub_util_biosdisk_dev): Set `close' member.
17453
17454 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
17455 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
17456 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17457 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
17458 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
17459
17460 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17461
17462 Compile parts of grub-emu as modules.
17463
17464 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
17465 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
17466 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
17467 (all-local): Add $(GRUB_EMU).
17468 (install-local): Install $(GRUB_EMU).
17469 (uninstall): Uninstall $(GRUB_EMU).
17470 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
17471 * kern/dl.c: Likewise.
17472 * commands/sleep.c: Not include machine/time.h.
17473 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
17474 (COMMON_CFLAGS): Likewise.
17475 (sbin_UTILITIES): Remove grub-emu.
17476 (grub_emu_SOURCES): Removed.
17477 (kernel_img_RELOCATABLE): New variable.
17478 (pkglib_PROGRAMS): Add kernel.img.
17479 (kernel_img_SOURCES): New variable
17480 (kernel_img_CFLAGS): Likewise.
17481 (kernel_img_LDFLAGS): Likewise.
17482 (TARGET_NO_STRIP): Likewise.
17483 (TARGET_NO_DYNAMIC_MODULES): Likewise.
17484 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
17485 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
17486 (grub-emu): New target.
17487 (GRUB_EMU): New variable.
17488 * configure.ac: Whitelist -emu as possible x86_64 architecture.
17489 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
17490 * loader/xnu.c: Likewise.
17491 * include/grub/pci.h: Likewise.
17492 * genemuinit.sh: New file.
17493 * genemuinitheader.sh: Likewise.
17494 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
17495 Support TARGET_NO_DYNAMIC_MODULES.
17496 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
17497 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
17498 * disk/loopback.c: Likewise.
17499 * font/font_cmd.c: Likewise.
17500 * partmap/acorn.c: Likewise.
17501 * partmap/amiga.c: Likewise.
17502 * partmap/apple.c: Likewise.
17503 * partmap/gpt.c: Likewise.
17504 * partmap/msdos.c: Likewise.
17505 * partmap/sun.c: Likewise.
17506 * parttool/msdospart.c: Likewise.
17507 * term/gfxterm.c: Likewise.
17508 * video/bitmap.c: Likewise.
17509 * video/readers/jpeg.c: Likewise.
17510 * video/readers/png.c: Likewise.
17511 * video/readers/tga.c: Likewise.
17512 * video/video.c: Likewise.
17513 * util/grub-emu.c (read_command_list): Removed.
17514 (main): Don't call util_init_nls.
17515 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
17516 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
17517
17518 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17519
17520 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
17521 date.mod, datehook.mod.
17522 (datetime_mod_SOURCES): New variable.
17523 (datetime_mod_CFLAGS): Likewise.
17524 (datetime_mod_LDFLAGS): Likewise.
17525 (date_mod_SOURCES): Likewise.
17526 (date_mod_CFLAGS): Likewise.
17527 (date_mod_LDFLAGS): Likewise.
17528 (datehook_mod_SOURCES): Likewise.
17529 (datehook_mod_CFLAGS): Likewise.
17530 (datehook_mod_LDFLAGS): Likewise.
17531 * conf/sparc64-ieee1275.rmk: Likewise.
17532 * lib/ieee1275/datetime.c: New file.
17533
17534 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17535
17536 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
17537 (ieee1275_fb_mod_SOURCES): New variable.
17538 (ieee1275_fb_mod_CFLAGS): Likewise.
17539 (ieee1275_fb_mod_LDFLAGS): Likewise.
17540 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
17541 New proto.
17542 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
17543 (HEAP_MAX_ADDR): Likewise.
17544 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
17545 type.
17546 Correct stop condition.
17547 (grub_ieee1275_devices_iterate): New function.
17548 * video/ieee1275.c: New file.
17549
17550 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17551
17552 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
17553
17554 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
17555 as scratch.
17556 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
17557 SCRATCH_PAD_DISKBOOT as scratch.
17558 (bootit): Pass Openfirmware pointer in %o4.
17559 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
17560 of 0x200000.
17561 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
17562 with util/grub-mkrawimage.c.
17563 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
17564 * include/grub/aout.h (AOUT_MID_SUN): New definition.
17565 (grub_aout_get_type) [GRUB_UTIL]: Removed.
17566 (grub_aout_load) [GRUB_UTIL]: Likewise.
17567 * include/grub/kernel.h (grub_modules_get_end): New proto.
17568 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
17569 (SCRATCH_PAD_BOOT): New definition.
17570 (SCRATCH_PAD_DISKBOOT): Likewise.
17571 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
17572 * include/grub/sparc64/ieee1275/ieee1275.h
17573 (grub_ieee1275_original_stack): New variable
17574 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
17575 New definition
17576 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
17577 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
17578 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
17579 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
17580 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
17581 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
17582 (grub_platform_image_format_t): New type.
17583 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
17584 * kern/main.c (grub_modules_get_end)
17585 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
17586 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
17587 (codestart): Switch stacks.
17588 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
17589 variable.
17590 (grub_heap_init): Use grub_modules_get_end.
17591 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
17592 stack.
17593 * util/grub-mkrawimage.c (generate_image): Support sparc64.
17594 (main): Likewise.
17595 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
17596
17597 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
17598
17599 * util/grub-mkrescue.in: Base ISO UUID on UTC.
17600
17601 2010-03-08 Matt Kraai <kraai@ftbfs.org>
17602
17603 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
17604 bug #559005).
17605
17606 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
17607
17608 * genmoddep.awk: Output all missing symbols and not only first.
17609
17610 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17611
17612 * NEWS: Put the date of 1.98 release.
17613
17614 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17615
17616 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
17617 ft2build.h.
17618
17619 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17620
17621 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
17622 completition in the middle of string.
17623
17624 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17625
17626 * util/grub-mkrescue.in: Use mktemp with explicit template.
17627
17628 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17629
17630 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
17631
17632 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17633
17634 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
17635 right pointer.
17636
17637 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
17638
17639 Fix FreeBSD compilation.
17640
17641 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
17642 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
17643
17644 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
17645
17646 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
17647
17648 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17649
17650 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
17651
17652 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17653
17654 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
17655
17656 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
17657
17658 Support relative image path in theme file.
17659
17660 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
17661 (image_set_property): Handle theme_dir and relative path.
17662
17663 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17664
17665 * configure.ac: Alias amd64 to x86_64.
17666
17667 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17668
17669 * NEWS: mention multiboot on EFI.
17670
17671 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17672
17673 * kern/main.c (grub_load_modules): Handle errors from init functions of
17674 embeded modules.
17675
17676 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17677
17678 * normal/autofs.c (autoload_fs_module): Handle errors.
17679
17680 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17681
17682 Disable linux.mod on qemu-mips since it's not functional and leads
17683 to compilation failure.
17684
17685 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
17686 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
17687 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
17688 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
17689 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
17690 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
17691 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
17692 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
17693 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
17694 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
17695 Reported by: BVK Chaitanya
17696
17697 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
17698
17699 * INSTALL: Add gettext as a dependency and add qemu to a new section
17700 "Prerequisites for make-check".
17701
17702 2010-03-04 Christian Franke <franke@computer.org>
17703
17704 * util/grub-pe2elf.c: Add missing include "progname.h".
17705
17706 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17707
17708 * normal/crypto.c (read_crypto_list): Fix a typo.
17709 Reported by: Seth Goldberg.
17710
17711 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17712
17713 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
17714 Reported by: Seth Goldberg.
17715
17716 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17717
17718 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
17719 ascii.bitmaps.
17720
17721 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17722
17723 * genmk.rb: Remove terminal*.lst in make clean.
17724 Reported by: Seth Goldberg.
17725
17726 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17727
17728 * util/i386/efi/grub-install.in: Copy gettext files.
17729
17730 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17731
17732 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
17733
17734 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17735
17736 Wait for user entry basing on presence of output rather than on errors.
17737
17738 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
17739 (grub_install_newline_hook): Likewise.
17740 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
17741 * normal/menu.c (show_menu): Check line_counter to determine presence
17742 of output.
17743 * normal/term.c (grub_normal_line_counter): New variable.
17744 (grub_normal_get_line_counter): New function.
17745 (grub_install_newline_hook): Likewise.
17746
17747 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17748
17749 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
17750
17751 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17752
17753 * configure.ac: Update version to 1.98.
17754
17755 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
17756
17757 * util/grub.d/10_linux.in (linux_entry): Don't default to
17758 gfxpayload=keep if Linux doesn't support video handover.
17759
17760 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
17761
17762 Don't compile video modules on yeeloong since video subsystem is part
17763 of kernel.
17764
17765 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
17766 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
17767 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
17768 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
17769 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
17770 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
17771 * include/grub/bitmap_scale.h: Likewise.
17772 * include/grub/bufio.h: Likewise.
17773 * include/grub/font.h: Likewise.
17774 * include/grub/gfxterm.h: Likewise.
17775 * include/grub/video.h: Likewise.
17776 * include/grub/vbe.h: Don't include video_fb.h.
17777 * video/i386/pc/vbe.c: Include video_fb.h.
17778 * commands/i386/pc/vbetest.c: Include video.h.
17779
17780 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
17781
17782 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
17783 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
17784 default entry if GRUB_SAVEDEFAULT=true. This allows using
17785 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
17786 saving a new default on every boot.
17787
17788 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
17789
17790 * normal/crypto.c (read_crypto_list): Fix a memory leak.
17791 * normal/term.c (read_terminal_list): Likewise.
17792 * normal/main.c (grub_normal_init_page): Likewise.
17793 (grub_normal_read_line_real): Likewise.
17794
17795 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
17796
17797 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
17798 memory leak.
17799 Reported by: Seth Goldberg.
17800
17801 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
17802
17803 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
17804 duplicate declaration of `start'.
17805
17806 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
17807
17808 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
17809 filename.
17810 Reported by: Georgy Buranov
17811
17812 2010-02-20 Carles Pina i Estany <carles@pina.cat>
17813
17814 * util/grub-mkrawimage.c (usage): Change string formatting to
17815 improve gettext.
17816
17817 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
17818
17819 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
17820 backspace keys.
17821
17822 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
17823
17824 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
17825 Reported by: Michael Suchanek.
17826
17827 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
17828
17829 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
17830 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
17831
17832 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
17833
17834 Remove any reference to non-free fonts.
17835
17836 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
17837 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
17838 uses non-free components.
17839 * font/font.c (grub_font_get_name): Remove example name.
17840 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
17841 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
17842 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
17843 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
17844
17845 2010-02-16 Georgy Buranov <gburanov@gmail.com>
17846
17847 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
17848
17849 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
17850
17851 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
17852 Double divisor.
17853 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
17854 features.
17855 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
17856
17857 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
17858
17859 * gensymlist.sh.in: Use TARGET_CC instead of CC.
17860
17861 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17862
17863 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
17864 * docs/grub.texi (Command-line and menu entry commands): Document play
17865 command.
17866
17867 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17868
17869 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
17870 parse arguments as inline tempo and notes. Move code for playing notes
17871 to...
17872 (play): ... new function.
17873
17874 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17875
17876 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
17877 grub_uint16_t instead of short.
17878 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
17879 disk from little endian to cpu endianness.
17880
17881 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
17882
17883 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
17884 GRUB_TICKS_PER_SECOND instead of 120.
17885
17886 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17887
17888 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
17889 escape sequence after \e.
17890
17891 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17892
17893 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
17894 non-ASCII characters.
17895
17896 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17897
17898 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
17899 set root in single quotes to prevent \, from being unescaped.
17900
17901 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17902
17903 Prevent unknown commands from stopping menuentry execution.
17904
17905 * script/execute.c (grub_script_execute_cmdline): Print error after
17906 unknown command.
17907
17908 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17909
17910 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
17911 Reported by: Pavel Pisa.
17912
17913 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17914
17915 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
17916
17917 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17918
17919 Merge grub_ieee1275_map_physical into grub_map and rename to
17920 grub_ieee1275_map
17921
17922 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
17923 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
17924 Remove.
17925 * kern/ieee1275/openfw.c (grub_map): Rename to ...
17926 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
17927 necessary.
17928 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
17929
17930 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17931
17932 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
17933 opening and not after.
17934
17935 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17936
17937 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
17938 constants.
17939
17940 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17941
17942 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
17943 (alloc_phys): Use ALIGN_UP instead of align_addr.
17944
17945 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17946
17947 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
17948
17949 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17950
17951 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
17952
17953 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17954
17955 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
17956 verbose dprintf.
17957
17958 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17959
17960 Fix over-4GiB seek on sparc64.
17961
17962 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
17963 Replace pos_i and pos_lo with pos. All users updated.
17964 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
17965 New constant.
17966 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
17967 Likewise.
17968 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
17969 and pos_lo.
17970
17971 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17972
17973 * util/grub-mkrawimage.c (main): Call set_program_name.
17974
17975 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17976
17977 Properly align 64-bit targets.
17978
17979 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
17980 (generate_image): Use ALIGN_ADDR.
17981
17982 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17983
17984 Properly create cross-endian images.
17985
17986 * include/grub/types.h (grub_host_to_target_addr): New macro
17987 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
17988
17989 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17990
17991 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
17992
17993 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17994
17995 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
17996
17997 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
17998 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
17999 (grub_linux_boot): Divide by 64K when on VESA.
18000
18001 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
18002
18003 Support GRUB_GFXPAYLOAD_LINUX.
18004
18005 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
18006 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
18007
18008 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
18009
18010 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
18011 to show messages instead of discarding them.
18012 Process errors after executing command and not before. Keep old method
18013 too as precaution.
18014
18015 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
18016
18017 * configure.ac: Check for ft2build.h.
18018
18019 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18020
18021 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
18022
18023 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18024
18025 * genkernsyms.sh.in: Use TARGET_CC.
18026
18027 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
18028
18029 * NEWS: Update.
18030
18031 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18032
18033 * include/grub/multiboot2.h: Remove leftover file.
18034 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
18035 * include/grub/partition.h [GRUB_UTIL]: Likewise.
18036
18037 2010-02-07 Yves Blusseau <blusseau@zetam.org>
18038
18039 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
18040
18041 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18042
18043 Fix warnings in grub-emu when compiling with maximum warning options.
18044
18045 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
18046 (grub_arch_modules_addr): Return 0 and not NULL.
18047 * util/misc.c (ENABLE_RELOCATABLE): New definition.
18048 (xstrdup): Use newstr instead of dup.
18049 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
18050 of disk to dsk to avoid shadowing.
18051 (find_free_slot): Fix prototype.
18052 * util/getroot.c (grub_util_is_dmraid): Make static.
18053 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
18054 Add missing prototype.
18055 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
18056
18057 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18058
18059 * loader/i386/linux.c (grub_linux_setup_video): Handle error
18060 appropriately.
18061
18062 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18063
18064 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
18065 code out.
18066
18067 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18068
18069 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
18070 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
18071 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
18072 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
18073 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
18074 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
18075
18076 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18077
18078 * include/grub/err.h (grub_err_printf): Don't export.
18079
18080 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18081
18082 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
18083
18084 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18085
18086 * include/grub/i18n.h (grub_gettext_dummy): Removed.
18087 * kern/misc.c (grub_gettext_dummy): Make static.
18088
18089 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18090
18091 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
18092 by non-valid ones.
18093 * kern/term.c (grub_putchar): Likewise.
18094
18095 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18096
18097 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
18098 buggy hook call and memory leak.
18099
18100 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18101
18102 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
18103
18104 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18105
18106 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
18107
18108 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18109
18110 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
18111 modevar.
18112 Return grub_errno on allocation error.
18113
18114 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18115
18116 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
18117
18118 2010-02-06 Yves Blusseau <blusseau@zetam.org>
18119
18120 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
18121 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
18122
18123 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18124
18125 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
18126 non-pxe disk.
18127 (grub_pxefs_open): Likewise.
18128
18129 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18130
18131 * util/grub.d/10_hurd.in: Add --class information to menuentries.
18132 * util/grub.d/10_kfreebsd.in: Likewise.
18133 * util/grub.d/10_linux.in: Likewise.
18134
18135 2010-02-06 Colin D Bennett <colin@gibibit.com>
18136
18137 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
18138 (gfxmenu_mod_SOURCES): New variable.
18139 (gfxmenu_mod_CFLAGS): Likewise.
18140 (gfxmenu_mod_LDFLAGS): Likewise.
18141 * include/grub/term.h (grub_term_set_current_output): Declare
18142 argument as const.
18143 * docs/gfxmenu-theme-example.txt: New file.
18144 * gfxmenu/gfxmenu.c: Likewise.
18145 * gfxmenu/gui_box.c: Likewise.
18146 * gfxmenu/gui_canvas.c: Likewise.
18147 * gfxmenu/gui_circular_progress.c: Likewise.
18148 * gfxmenu/gui_image.c: Likewise.
18149 * gfxmenu/gui_label.c: Likewise.
18150 * gfxmenu/gui_list.c: Likewise.
18151 * gfxmenu/gui_progress_bar.c: Likewise.
18152 * gfxmenu/gui_string_util.c: Likewise.
18153 * gfxmenu/gui_util.c: Likewise.
18154 * gfxmenu/icon_manager.c: Likewise.
18155 * gfxmenu/model.c: Likewise.
18156 * gfxmenu/named_colors.c: Likewise.
18157 * gfxmenu/theme_loader.c: Likewise.
18158 * gfxmenu/view.c: Likewise.
18159 * gfxmenu/widget-box.c: Likewise.
18160 * include/grub/gfxmenu_model.h: Likewise.
18161 * include/grub/gfxmenu_view.h: Likewise.
18162 * include/grub/gfxwidgets.h: Likewise.
18163 * include/grub/gui.h: Likewise.
18164 * include/grub/gui_string_util.h: Likewise.
18165 * include/grub/icon_manager.h: Likewise.
18166
18167 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18168
18169 Agglomerate scrolling in gfxterm.
18170
18171 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
18172 (grub_virtual_screen_setup): Initialise 'total_screen'.
18173 (write_char): Split to ...
18174 (paint_char): ... this ...
18175 (write_char): ... and this.
18176 (paint_char): Handle delayed scrolling.
18177 (draw_cursor): Likewise.
18178 (scroll_up): Split to ...
18179 (real_scroll): ... this ...
18180 (scroll_up): ... and this.
18181 (real_scroll): Handle multi-line scroll and draw below-the-bottom
18182 characters.
18183 (grub_gfxterm_refresh): Call real_scroll.
18184
18185 2010-02-06 Colin D Bennett <colin@gibibit.com>
18186
18187 * include/grub/misc.h (grub_iscntrl): New inline function.
18188 (grub_isalnum): Likewise.
18189 (grub_strtol): Likewise.
18190
18191 2010-02-06 Colin D Bennett <colin@gibibit.com>
18192
18193 * normal/menu_text.c (get_entry_number): Move from here ...
18194 * normal/menu.c (get_entry_number): ... moved here.
18195 * include/grub/menu.h (grub_menu_get_default_entry_index):
18196 New prototype.
18197 * normal/menu.c (grub_menu_get_default_entry_index): New function.
18198 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
18199 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
18200 (grub_menu_viewer_should_return): Likewise.
18201 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
18202 * normal/menu_text.c (run_menu): Enable menu switching.
18203 * normal/menu_viewer.c (should_return): New variable.
18204 (menu_viewer_changed): Likewise.
18205 (grub_menu_viewer_show_menu): Handle menu viewer changes.
18206 (grub_menu_viewer_should_return): New function.
18207 (menuviewer_write_hook): Likewise.
18208 (grub_menu_viewer_init): Likewise.
18209
18210 2010-02-06 Colin D Bennet <colin@gibibit.com>
18211 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18212
18213 Support for gfxterm in a window.
18214
18215 * include/grub/gfxterm.h: New file.
18216 * include/grub/video.h (struct grub_video_rect): New declaration.
18217 (grub_video_rect_t): Likewise.
18218 * term/gfxterm.c (struct grub_gfxterm_window): New type.
18219 (refcount): New variable.
18220 (render_target): Likewise.
18221 (window): Likewise.
18222 (repaint_callback): Likewise.
18223 (grub_virtual_screen_setup): Use 'render_target'.
18224 (init_window): New function.
18225 (grub_gfxterm_init_window): Likewise.
18226 (grub_gfxterm_init): Check reference counter.
18227 Use init_window.
18228 (destroy_window): New function.
18229 (grub_gfxterm_destroy_window): Likewise.
18230 (grub_gfxterm_fini): Check reference counter.
18231 Use destroy_window.
18232 (redraw_screen_rect): Restore viewport.
18233 Use 'render_target' and 'window'.
18234 Call 'repaint_callback'.
18235 (write_char): Use 'render_target'.
18236 (draw_cursor): Likewise.
18237 (scroll_up): Restore viewport.
18238 Use 'render_target' and 'window'.
18239 Call 'repaint_callback'.
18240 (grub_gfxterm_cls): Likewise.
18241 (grub_gfxterm_refresh): Use 'window'.
18242 (grub_gfxterm_set_repaint_callback): New function.
18243 (grub_gfxterm_background_image_cmd): Use 'window'.
18244 (grub_gfxterm_get_term): New function.
18245 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
18246
18247 2010-02-06 Colin D Bennett <colin@gibibit.com>
18248
18249 Bitmap scaling support.
18250
18251 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
18252 (bitmap_scale_mod_SOURCES): New variable.
18253 (bitmap_scale_mod_CFLAGS): Likewise.
18254 (bitmap_scale_mod_LDFLAGS): Likewise.
18255 * include/grub/bitmap_scale.h: New file.
18256 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
18257 (background_image_cmd_options): New variable.
18258 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
18259 (cmd): Rename and change type to ...
18260 (background_image_cmd_handle): ... this. All users updated.
18261 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
18262 * video/bitmap_scale.c: New file.
18263
18264 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18265
18266 SDL support.
18267
18268 * Makefile.in (LIBSDL): New variable.
18269 (enable_grub_emu_sdl): Likewise.
18270 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
18271 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
18272 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
18273 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
18274 * util/sdl.c: New file.
18275
18276 2010-02-06 Colin D Bennett <colin@gibibit.com>
18277 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18278
18279 Double buffering support.
18280
18281 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
18282 * include/grub/video.h: Update comment.
18283 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
18284 New type.
18285 (grub_video_fb_doublebuf_blit_init): New prototype.
18286 * term/gfxterm.c (scroll_up): Support double buffering.
18287 (grub_gfxterm_refresh): Likewise.
18288 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
18289 (grub_video_fb_doublebuf_blit_init): Likewise.
18290 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
18291 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
18292 'displayed_page', 'render_page' and 'update_screen'.
18293 (grub_video_vbe_fini): Free offscreen buffer.
18294 (doublebuf_pageflipping_commit): New function.
18295 (doublebuf_pageflipping_update_screen): Likewise.
18296 (doublebuf_pageflipping_init): Likewise.
18297 (double_buffering_init): Likewise.
18298 (grub_video_vbe_setup): Enable doublebuffering.
18299 (grub_video_vbe_swap_buffers): Implement.
18300 (grub_video_vbe_set_active_render_target): Handle double buffering.
18301 (grub_video_vbe_get_active_render_target): Likewise.
18302 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
18303 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
18304 (grub_video_vbe_enable_double_buffering): Likewise.
18305 (grub_video_vbe_swap_buffers): Use update_screen.
18306 (grub_video_set_mode): Use double buffering.
18307
18308 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18309
18310 * maintainance/gentrigtables.py: Remove.
18311 * lib/trig.c: Likewise.
18312
18313 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
18314
18315 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
18316 `trigtables.c'.
18317 (trigtables.c): New rule.
18318 (gentrigtables): Likewise.
18319 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
18320
18321 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18322
18323 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
18324 integer constants.
18325
18326 2010-02-06 Colin D Bennet <colin@gibibit.com>
18327
18328 Trigonometry support.
18329
18330 * include/grub/trig.h: New file.
18331 * lib/trig.c: Likewise.
18332 * maintainance/gentrigtables.py: Likewise.
18333 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
18334 (trig_mod_SOURCES): New variable.
18335 (trig_mod_CFLAGS): Likewise.
18336 (trig_mod_LDFLAGS): Likewise.
18337
18338 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18339
18340 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
18341 disk devices.
18342
18343 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18344
18345 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
18346 error.
18347
18348 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
18349
18350 * util/hostdisk.c (open_device): Don't use partition device when reading
18351 before the partition.
18352 (grub_util_biosdisk_read): Don't read from partition and before the
18353 partition in single operation.
18354 (grub_util_biosdisk_write): Don't write to partition and before the
18355 partition in single operation.
18356
18357 2010-02-03 Torsten Landschoff <torsten@debian.org>
18358
18359 * kern/disk.c (grub_disk_read): Fix offset computation when reading
18360 last sectors.
18361
18362 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
18363
18364 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
18365 CDROM reads.
18366 (grub_biosdisk_write): Refuse to write to CDROM.
18367
18368 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
18369
18370 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
18371
18372 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
18373
18374 * font/font.c (find_glyph): Check that bmp_idx is available before
18375 using it.
18376 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
18377 with (font == NULL).
18378
18379 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
18380
18381 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
18382
18383 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
18384
18385 * include/grub/script_sh.h (sourcecode): Add const qualifier.
18386 * util/grub-script-check.c (getline): Fix empty lines case.
18387
18388 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
18389
18390 * Makefile.in (check): Exit with fail status when one of the tests
18391 fails.
18392 * tests/example_functional_test.c (example_test): Fix reversed assert.
18393 * tests/example_unit_test.c (example_test): Likewise.
18394
18395 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
18396
18397 * util/grub.d/10_linux.in: This script does not use any of the
18398 contents of gettext.sh, only the external command `gettext', so stop
18399 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
18400 the same prefix as GRUB.)
18401 * util/grub.d/10_kfreebsd.in: Likewise.
18402
18403 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18404
18405 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
18406 of the line.
18407
18408 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18409
18410 * kern/disk.c (grub_disk_read): Fix offset computation when reading
18411 last sectors.
18412
18413 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18414
18415 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
18416 having a 4KiB and not 32KiB buffer size.
18417
18418 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18419
18420 * util/hostfs.c: Include `<errno.h>'.
18421 (grub_hostfs_read): Handle errors from fseeko() and fread().
18422
18423 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18424
18425 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
18426 loop when using read hooks on files whose size isn't sector-aligned.
18427
18428 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18429
18430 Remove unused parameter.
18431
18432 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
18433 (grub_iso9660_open): Remove initialization of `data->length'.
18434
18435 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18436
18437 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
18438 memleak conditions.
18439
18440 2010-01-27 Carles Pina i Estany <carles@pina.cat>
18441
18442 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
18443 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
18444
18445 2010-01-26 Carles Pina i Estany <carles@pina.cat>
18446
18447 * util/bin2h.c (usage): Fix warning (space after backslash).
18448
18449 2010-01-26 Carles Pina i Estany <carles@pina.cat>
18450
18451 * font/font.c: Include `grub/fontformat.h.
18452 Remove font file format constants.
18453 (grub_font_load): Use the new macros.
18454 * include/grub/fontformat.h: New file.
18455 * util/grub-mkfont.c: Include `grub/fontformat.c'.
18456 (write_font_pf2): Use the new macros.
18457
18458 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
18459
18460 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
18461 does.
18462
18463 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
18464
18465 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
18466
18467 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
18468 (_start): Macroify `0x7F'.
18469
18470 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
18471 (make_install_device): Use "(pxe)" as fallback prefix when booting
18472 via PXE.
18473
18474 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
18475
18476 * configure.ac: Reset LIBS after check for libgcc symbols.
18477
18478 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
18479
18480 * util/hostdisk.c (open_device): Add trailing newline to debug
18481 message.
18482
18483 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
18484
18485 * configure.ac: Check for `limits.h'.
18486 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
18487
18488 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
18489
18490 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
18491 capitalize error strings.
18492
18493 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
18494
18495 * util/grub.d/10_hurd.in: Add a recovery mode.
18496
18497 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
18498
18499 * configure.ac: Check for libgcc symbols with -nostdlib.
18500
18501 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
18502
18503 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
18504
18505 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18506
18507 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
18508 stack since heap may be unavailable at that point.
18509 (grub_ofconsole_gotoxy): Likewise.
18510
18511 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18512
18513 * configure.ac: Check for _restgpr_14_x.
18514 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
18515 and _savegpr_* prototypes.
18516
18517 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
18518
18519 Use generic grub_reboot() for i386-efi.
18520
18521 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
18522 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
18523 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
18524
18525 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18526
18527 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
18528 presence of "prefix" variable as it breaks when normal.mod is
18529 embedded.
18530
18531 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18532
18533 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
18534 stack since heap is unavailable at that point.
18535
18536 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18537
18538 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
18539 (grub_freebsd_bootinfo): Rewritten.
18540 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
18541
18542 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18543
18544 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
18545
18546 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
18547
18548 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
18549 domain now.
18550
18551 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
18552
18553 * util/misc.c (make_system_path_relative_to_its_root): Change the work
18554 around for handling "/" to the correct fix. Fix a memory leak. Use
18555 xstrdup instead of strdup.
18556
18557 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18558
18559 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
18560
18561 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18562
18563 Optimise glyph lookup by Basic Multilingual Plane lookup array.
18564
18565 * font/font.c (struct grub_font): New member 'bmp_idx'.
18566 (font_init): Initialise 'bmp_idx'.
18567 (load_font_index): Fill 'bmp_idx'.
18568 (find_glyph): Make inline. Use bmp_idx for BMP characters.
18569
18570 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18571
18572 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
18573 unnecessary calls.
18574
18575 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18576
18577 Move context handling out of the kernel.
18578
18579 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
18580 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
18581 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
18582 * conf/i386-efi.rmk: Likewise.
18583 * conf/i386-ieee1275.rmk: Likewise.
18584 * conf/i386-pc.rmk: Likewise.
18585 * conf/powerpc-ieee1275.rmk: Likewise.
18586 * conf/sparc64-ieee1275.rmk: Likewise.
18587 * conf/x86_64-efi.rmk: Likewise.
18588 * include/grub/env.h: Include grub/menu.h.
18589 (grub_env_var_type): Removed.
18590 (grub_env_var): Replaced field 'type' with 'global'.
18591 (grub_env_find): New prototype.
18592 (grub_env_context_open): Remove EXPORT_FUNC.
18593 (grub_env_context_close): Likewise.
18594 (grub_env_export): Likewise.
18595 (grub_env_set_data_slot): Removed.
18596 (grub_env_get_data_slot): Likewise.
18597 (grub_env_unset_data_slot): Likewise.
18598 (grub_env_unset_menu): New prototype.
18599 (grub_env_set_menu): Likewise.
18600 (grub_env_get_menu): Likewise.
18601 * include/grub/env_private.h: New file.
18602 * include/grub/normal.h (grub_context_init): New prototype.
18603 (grub_context_fini): Likewise.
18604 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
18605 * normal/context.c (grub_cmd_export): ... to here.
18606 * kern/env.c: Include env_private.h.
18607 (HASHSZ): Moved to include/grub/env_private.h.
18608 (grub_env_context): Likewise.
18609 (grub_env_sorted_var): Likewise.
18610 (current_context): Renamed from this ...
18611 (grub_current_context): ...to this. 'static' removed. All users updated.
18612 (grub_env_find): Removed 'static'.
18613 (grub_env_context_open): Moved to normal/context.c.
18614 (grub_env_context_close): Likewise.
18615 (grub_env_export): Likewise.
18616 (mangle_data_slot_name): Removed.
18617 (grub_env_set_data_slot): Likewise.
18618 (grub_env_get_data_slot): Likewise.
18619 (grub_env_unset_data_slot): Likewise.
18620 * kern/main.c (grub_set_root_dev): Don't export root.
18621 It will be done later.
18622 (grub_main): Don't export prefix.
18623 It will be done later.
18624 * normal/context.c: New file.
18625 * normal/main.c (free_menu): Use grub_env_unset_menu.
18626 (grub_normal_add_menu_entry): Use grub_env_get_menu.
18627 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
18628 (GRUB_MOD_INIT(normal)): Call grub_context_init.
18629 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
18630
18631 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18632
18633 setpci support.
18634
18635 * commands/setpci.c: New file.
18636 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
18637 (setpci_mod_SOURCES): New variable.
18638 (setpci_mod_CFLAGS): Likewise.
18639 (setpci_mod_LDFLAGS): Likewise.
18640
18641 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18642
18643 Byte-addressable PCI configuration space.
18644
18645 * bus/pci.c (grub_pci_make_address): Use byte address instead of
18646 dword address.
18647 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
18648 GRUB_PCI_REG_CACHELINE.
18649 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
18650 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
18651 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
18652 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
18653 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
18654 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
18655 grub_pci_make_address.
18656 (lock_rom_area): Likewise.
18657 * commands/lspci.c (grub_lspci_iter): Use macroses
18658 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
18659 of grub_pci_make_address.
18660 * disk/ata.c (grub_ata_pciinit): Likewise.
18661 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
18662 (GRUB_PCI_REG_VENDOR): Likewise.
18663 (GRUB_PCI_REG_DEVICE): Likewise.
18664 (GRUB_PCI_REG_COMMAND): Likewise.
18665 (GRUB_PCI_REG_STATUS): Likewise.
18666 (GRUB_PCI_REG_REVISION): Likewise.
18667 (GRUB_PCI_REG_CLASS): Likewise.
18668 (GRUB_PCI_REG_CACHELINE): Likewise.
18669 (GRUB_PCI_REG_LAT_TIMER): Likewise.
18670 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
18671 (GRUB_PCI_REG_BIST): Likewise.
18672 (GRUB_PCI_REG_ADDRESSES): Likewise.
18673 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18674 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18675 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18676 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18677 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18678 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18679 (GRUB_PCI_REG_CIS_POINTER): Likewise.
18680 (GRUB_PCI_REG_SUBVENDOR): Likewise.
18681 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
18682 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
18683 (GRUB_PCI_REG_CAP_POINTER): Likewise.
18684 (GRUB_PCI_REG_IRQ_LINE): Likewise.
18685 (GRUB_PCI_REG_IRQ_PIN): Likewise.
18686 (GRUB_PCI_REG_MIN_GNT): Likewise.
18687 (GRUB_PCI_REG_MAX_LAT): Likewise.
18688 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
18689 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
18690 * video/efi_uga.c (find_framebuf): Likewise.
18691 * video/sm712.c (grub_video_sm712_setup): Likewise.
18692 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
18693 space.
18694
18695 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18696
18697 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
18698 can be reliably determined to be supported.
18699
18700 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18701
18702 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
18703 that VESA is supported.
18704 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
18705 supported.
18706
18707 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18708
18709 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
18710
18711 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18712
18713 * util/misc.c (make_system_path_relative_to_its_root): Work around
18714 special-casing of "/", as previous incarnation of this routine did.
18715
18716 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18717
18718 Fix any-emu compilation.
18719
18720 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
18721 * grub_bin2h_SOURCES: New variable.
18722
18723 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18724
18725 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
18726
18727 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18728
18729 * util/grub.d/00_header.in: Fix handling of locale_dir.
18730
18731 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18732
18733 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
18734 as possible unifont location (Gentoo).
18735 Reported by: Alexander Brüning
18736
18737 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18738
18739 Don't try to generate lists for kernel.img.
18740
18741 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
18742 (pkglib_MODULES): Remove kernel.img.
18743 (kernel_img_EXPORTS): Removed.
18744 (kernel_img_RELOCATABLE): New variable.
18745 * conf/x86_64-efi.rmk: Likewise.
18746 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
18747
18748 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18749
18750 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
18751 grub_xasprintf or grub_snprintf.
18752 (grub_vsprintf): Likewise.
18753 (grub_snprintf): New proto.
18754 (grub_vsnprintf): Likewise.
18755 (grub_xasprintf): Likewise.
18756 (grub_xvasprintf): Likewise.
18757 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
18758 (grub_sprintf): Removed.
18759 (grub_vsnprintf): New function.
18760 (grub_snprintf): Likewise.
18761 (grub_xvasprintf): Likewise.
18762 (grub_xasprintf): Likewise.
18763 (grub_vsprintf): Renamed to ...
18764 (grub_vsnprintf_real): ...this. New argument max_len.
18765
18766 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
18767
18768 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
18769 fix grub-script-check warning.
18770
18771 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18772
18773 * include/grub/font.h (grub_font_load): Fix prototype.
18774
18775 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18776
18777 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
18778
18779 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18780
18781 * include/grub/x86_64/at_keyboard.h: New file.
18782
18783 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18784
18785 * loader/mips/linux.c: Include missing grub/i18n.h.
18786
18787 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18788
18789 * normal/menu.c (notify_execution_failure): Clarify error message.
18790
18791 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18792
18793 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
18794 return value (and revert all return statements). Update users.
18795
18796 2010-01-20 Dan Merillat <debian@dan.merillat.org>
18797
18798 * kern/device.c (grub_device_iterate): Allocate new part_ent
18799 structure based on sizeof (*p) rather than sizeof (p->next), to
18800 account for structure padding.
18801
18802 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
18803 disk is NULL, which might happen for LVM physical volumes with no
18804 LVM signature.
18805
18806 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18807
18808 * loader/mips/linux.c (grub_cmd_initrd)
18809 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
18810
18811 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18812
18813 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
18814 (grub_video_video_init, grub_video_bitmap_init)
18815 (grub_font_manager_init, grub_term_gfxterm_init)
18816 (grub_at_keyboard_init): New extern declarations.
18817 (grub_machine_init): Initialize gfxterm and at_keyboard.
18818
18819 * kern/main.c (grub_main): Revert grub_printf delay kludge.
18820
18821 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
18822 `gfxterm.mod' into core image.
18823
18824 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18825 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18826 (kernel_img_FORMAT): Copy to ...
18827
18828 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18829 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18830 (kernel_img_FORMAT): ... here, and ...
18831
18832 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18833 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18834 (kernel_img_FORMAT): ... here.
18835
18836 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
18837 and input (at_keyboard) terminals in kernel.
18838 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
18839
18840 (pkglib_MODULES): Remove `pci.mod'.
18841 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
18842 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
18843 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
18844 (at_keyboard_mod_LDFLAGS): Remove variables.
18845
18846 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
18847
18848 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
18849
18850 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
18851
18852 * include/grub/mips/libgcc.h: Only export symbols for functions
18853 that libgcc provides.
18854
18855 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
18856
18857 MIPS support.
18858
18859 * bus/bonito.c: New file.
18860 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
18861 GRUB_PCI_NUM_DEVICES.
18862 * term/i386/pc/serial.c: Move to ...
18863 * term/serial.c: ... here. All users updated.
18864 * util/i386/pc/grub-mkimage.c: Move to ...
18865 * util/grub-mkrawimage.c: ... here. All users updated.
18866 * term/i386/pc/at_keyboard.c: Move to ...
18867 * term/at_keyboard.c: ... here. All users updated.
18868 * conf/mips-qemu-mips.rmk: New file.
18869 * conf/mips-yeeloong.rmk: Likewise.
18870 * conf/mips.rmk: Likewise.
18871 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
18872 mipsel-qemu-mips.
18873 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
18874 to port addresses.
18875 (grub_ata_pciinit): Support CS5536.
18876 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
18877 * font/font_cmd.c (loadfont_command): Open file before passing it to
18878 grub_font_load.
18879 (pseudo_file_read): New function.
18880 (pseudo_file_close): Likewise.
18881 (pseudo_fs): New structure.
18882 (load_font_module): New function.
18883 (GRUB_MOD_INIT(font_manager)): Load embedded font.
18884 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
18885 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
18886 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
18887 * include/grub/i386/at_keyboard.h: Split into ...
18888 * include/grub/at_keyboard.h: ... this ...
18889 * include/grub/i386/at_keyboard.h: ... and this.
18890 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
18891 New prototype.
18892 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
18893 updated.
18894 (grub_elf64_size): Likewise.
18895 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
18896 filename.
18897 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
18898 * include/grub/i386/coreboot/serial.h: Rewritten.
18899 * include/grub/i386/ieee1275/serial.h: Include
18900 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
18901 * include/grub/i386/pc/serial.h: Moved from here ...
18902 * include/grub/serial.h: ... to here. All users updated.
18903 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
18904 (GRUB_PCI_NUM_BUS): Likewise.
18905 (GRUB_PCI_NUM_DEVICES): Likewise.
18906 (grub_pci_device_map_range): Add missing volatile keyword.
18907 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
18908 * include/grub/mips/at_keyboard.h: New file.
18909 * include/grub/mips/cache.h: Likewise.
18910 * include/grub/mips/io.h: Likewise.
18911 * include/grub/mips/kernel.h: Likewise.
18912 * include/grub/mips/libgcc.h: Likewise.
18913 * include/grub/mips/pci.h: Likewise.
18914 * include/grub/mips/qemu-mips/boot.h: Likewise.
18915 * include/grub/mips/qemu-mips/kernel.h: Likewise.
18916 * include/grub/mips/qemu-mips/loader.h: Likewise.
18917 * include/grub/mips/qemu-mips/memory.h: Likewise.
18918 * include/grub/mips/qemu-mips/serial.h: Likewise.
18919 * include/grub/mips/qemu-mips/time.h: Likewise.
18920 * include/grub/mips/relocator.h: Likewise.
18921 * include/grub/mips/time.h: Likewise.
18922 * include/grub/mips/types.h: Likewise.
18923 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
18924 * include/grub/mips/yeeloong/boot.h: Likewise.
18925 * include/grub/mips/yeeloong/kernel.h: Likewise.
18926 * include/grub/mips/yeeloong/loader.h: Likewise.
18927 * include/grub/mips/yeeloong/memory.h: Likewise.
18928 * include/grub/mips/yeeloong/pci.h: Likewise.
18929 * include/grub/mips/yeeloong/serial.h: Likewise.
18930 * include/grub/mips/yeeloong/time.h: Likewise.
18931 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
18932 * kern/elf.c (grub_elf32_size): New parameter. All users
18933 updated.
18934 (grub_elf64_size): Likewise.
18935 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
18936 Load modules before saying "Welcome to GRUB!".
18937 Call grub_refresh after saying "Welcome to GRUB!".
18938 * kern/mips/cache.S: New file.
18939 * kern/mips/cache_flush.S: Likewise.
18940 * kern/mips/dl.c: Likewise.
18941 * kern/mips/init.c: Likewise.
18942 * kern/mips/qemu-mips/init.c: Likewise.
18943 * kern/mips/startup.S: Likewise.
18944 * kern/mips/yeeloong/init.c: Likewise.
18945 * kern/term.c (grub_putcode): Handle NULL terminal.
18946 (grub_getcharwidth): Likewise.
18947 (grub_getkey): Likewise.
18948 (grub_checkkey): Likewise.
18949 (grub_getkeystatus): Likewise.
18950 (grub_getxy): Likewise.
18951 (grub_getwh): Likewise.
18952 (grub_gotoxy): Likewise.
18953 (grub_cls): Likewise.
18954 (grub_setcolorstate): Likewise.
18955 (grub_setcolor): Likewise.
18956 (grub_getcolor): Likewise.
18957 (grub_refresh): Likewise.
18958 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
18959 (write_jump): Add hatch nop.
18960 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
18961 * lib/mips/setjmp.S: New file.
18962 * loader/mips/linux.c: Likewise.
18963 * term/i386/pc/at_keyboard.c: Move from here ...
18964 * term/at_keyboard.c: ... to here.
18965 * term/i386/pc/serial.c: Moved from here ...
18966 * term/serial.c: ... to here. All users updated.
18967 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
18968 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
18969 (serial_translate_key_sequence): Avoid deadlock.
18970 (grub_serial_getkey): Handle backspace.
18971 (grub_serial_putchar): Fix newline handling.
18972 * util/i386/pc/grub-mkimage.c: Move from here ...
18973 * util/grub-mkrawimage.c: ... to here. All users updated.
18974 (generate_image): New parameters 'font_path' and 'format'.
18975 Support embedding font.
18976 Use grub_host_to_target* instead of grub_cpu_to_le*.
18977 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
18978 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
18979 (options): New option "--font".
18980 (usage): Likewise.
18981 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
18982 (main): Handle "--font".
18983 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
18984 (grub_virtual_screen_setup): Set bg_color_display.
18985 (redraw_screen_rect): Use bg_color_display instead of incorrect
18986 bg_color.
18987 (grub_gfxterm_cls): Likewise.
18988 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
18989 Support embedding config file.
18990 (add_segments): Likewise.
18991 (options): New option "--config".
18992 (main): Handle "--config".
18993 * video/sm712.c: New file.
18994
18995 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18996
18997 Fix parallel builds.
18998
18999 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
19000 font.c depend on ascii.h).
19001
19002 2010-01-12 Carles Pina i Estany <carles@pina.cat>
19003
19004 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
19005
19006 2010-01-11 Carles Pina i Estany <carles@pina.cat>
19007
19008 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
19009 By default: disabled.
19010 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
19011 parameter.
19012
19013 2010-01-10 Carles Pina i Estany <carles@pina.cat>
19014
19015 * font/font.c: Update copyright years.
19016 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
19017
19018 2010-01-10 Carles Pina i Estany <carles@pina.cat>
19019
19020 * font/font.c: Include `ascii.h'.
19021 (ASCII_BITMAP_SIZE): New macro.
19022 (ascii_font_glyph): Define.
19023 (ascii_glyph_lookup): New function.
19024 (grub_font_get_string_width): Change comment. If glyph not found, use
19025 ascii_glyph_lookup.
19026 (grub_font_get_glyph_with_fallback): If glyph not available returns
19027 ascii_glyph_lookup.
19028 * util/grub-mkfont.c (file_formats): New enum.
19029 (options): Add `ascii-bitmaps' new option.
19030 (usage): Add `asii-bitmaps' new option.
19031 (write_font_ascii_bitmap): New function.
19032 (write_font): Rename to ...
19033 (write_font_p2): ... this. Remove print_glyphs call.
19034 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
19035 used. Call print_glyphs.
19036 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
19037
19038 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
19039
19040 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
19041 (grub_bin2h_SOURCES): New variable.
19042 * util/bin2h.c: New file.
19043
19044 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19045
19046 * include/multiboot.h: Resynced with spec.
19047 * include/multiboot2.h: Likewise.
19048 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
19049 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
19050
19051 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19052
19053 * include/grub/term.h (grub_term_register_input,
19054 grub_term_register_output): Check return of terminal init()
19055 routines, and abort if errors are raised.
19056
19057 * commands/terminal.c: Update copyright year.
19058
19059 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19060
19061 * commands/terminal.c (grub_cmd_terminal_input)
19062 (grub_cmd_terminal_output): Check return of terminal init()
19063 routines, and abort if errors are raised.
19064
19065 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
19066
19067 * include/grub/i386/bsd.h: Fix include pathes.
19068
19069 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
19070
19071 Add missing *BSD copyright headers.
19072
19073 * include/grub/aout.h: Add BSD licence.
19074 * include/grub/i386/bsd.h: Parts under different licences moved to ...
19075 * include/grub/i386/freebsd_linker.h: ... here,
19076 * include/grub/i386/freebsd_reboot.h: ... here,
19077 * include/grub/i386/netbsd_bootinfo.h: ... here,
19078 * include/grub/i386/netbsd_reboot.h: ... here,
19079 * include/grub/i386/openbsd_bootarg.h: ... here,
19080 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
19081 licence to each file.
19082
19083 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19084
19085 * acinclude.m4: Remove `nop' assembly instruction; it's not
19086 implemented by all architectures.
19087
19088 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19089
19090 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
19091 ELILO. This is no longer necessary.
19092
19093 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
19094
19095 Added new tool, grub-scrit-check to verify grub.cfg syntax.
19096
19097 * util/grub-script-check.c: grub-script-check tool.
19098 * conf/common.rmk: Make rules for grub-script-check.
19099
19100 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19101
19102 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
19103 spotting it back in 2008. Shame on me for forgetting he did.
19104
19105 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
19106
19107 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19108
19109 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
19110 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
19111 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
19112 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
19113 (GRUB_VIDEO_TYPE_EFI): Rename to ...
19114 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
19115
19116 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
19117
19118 * include/grub/test.h: Add license header.
19119 * tests/example_functional_test.c: Likewise.
19120 * tests/example_unit_test.c: Likewise.
19121 * tests/lib/functional_test.c: Likewise.
19122 * tests/lib/test.c: Likewise.
19123 * tests/lib/unit_test.c: Likewise.
19124
19125 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
19126
19127 Use flag-based instead of hook-based video mode selection and "auto"
19128 keyword.
19129
19130 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
19131 (grub_video_set_mode): Changed prototype. All users updated.
19132 (grub_video_check_mode_flag): New inline function.
19133 * video/video.c (parse_modespec): New function.
19134 (grub_video_set_mode): Parse flags and keywords.
19135
19136 2010-01-17 Carles Pina i Estany <carles@pina.cat>
19137
19138 * util/misc.c (grub_util_info): Fix the order of the parameters in a
19139 fprintf call.
19140
19141 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
19142
19143 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
19144
19145 2010-01-16 Carles Pina i Estany <carles@pina.cat>
19146
19147 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
19148 string.
19149 * util/grub-emu.c (usage): Likewise.
19150 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
19151 * util/i386/efi/grub-mkimage.c (usage): Likewise.
19152 * util/i386/pc/grub-mkimage.c (usage): Likewise.
19153 * util/i386/pc/grub-setup.c (usage): Likewise.
19154
19155 2010-01-16 Carles Pina i Estany <carles@pina.cat>
19156
19157 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
19158 the message.
19159 (grub_util_info): Likewise.
19160 (grub_util_error): Likewise.
19161 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
19162 and/or new lines in `grub_util_warna', `grub_util_info',
19163 `grub_util_error' calls.
19164 * util/getroot.c: Likewise.
19165 * util/grub-editenv.c: Likewise.
19166 * util/grub-emu.c: Likewise.
19167 * util/grub-fstest.c: Likewise.
19168 * util/grub-mkdevicemap.c: Likewise.
19169 * util/grub-mkfont.c: Likewise.
19170 * util/grub-mkpasswd-pbkdf2.c: Likewise.
19171 * util/grub-mkrelpath.c: Likewise.
19172 * util/grub-pe2elf.c: Likewise.
19173 * util/grub-probe.c: Likewise.
19174 * util/hostdisk.c: Likewise.
19175 * util/i386/efi/grub-mkimage.c: Likewise.
19176 * util/i386/pc/grub-mkimage.c: Likewise.
19177 * util/i386/pc/grub-setup.c: Likewise.
19178 * util/ieee1275/ofpath.c: Likewise.
19179 * util/mkisofs/eltorito.c: Likewise.
19180 * util/mkisofs/rock.c: Likewise.
19181 * util/mkisofs/write.c: Likewise.
19182 * util/raid.c: Likewise.
19183 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
19184 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19185
19186 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19187
19188 Enable multiboot on non-pc.
19189
19190 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
19191 multiboot.mod and multiboot2.mod to ...
19192 * conf/i386.rmk (pkglib_MODULES): ... here.
19193 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
19194 Moved to ...
19195 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
19196 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
19197 Moved to ...
19198 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
19199 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
19200 Moved to ...
19201 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
19202 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
19203 Moved to ...
19204 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
19205 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
19206 relocator.mod.
19207 (ata_mod_SOURCES): Removed.
19208 (ata_mod_CFLAGS): Likewise.
19209 (ata_mod_LDFLAGS): Likewise.
19210 (relocator_mod_SOURCES): Removed.
19211 (relocator_mod_CFLAGS): Likewise.
19212 (relocator_mod_ASFLAGS): Likewise.
19213 (relocator_mod_LDFLAGS): Likewise.
19214 Include i386.mk.
19215 * include/grub/x86_64/multiboot.h: New file.
19216 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
19217 Terminate EFI.
19218
19219 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19220
19221 Video multiboot support.
19222
19223 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
19224 New prototype.
19225 * include/multiboot.h: Resynced with multiboot specification.
19226 * include/multiboot2.h: Likewise.
19227 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
19228 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
19229 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
19230 (HAS_VGA_TEXT): Likewise.
19231 (accepts_video): New variable.
19232 (grub_multiboot_set_accepts_video): New function.
19233 (grub_multiboot_get_mbi_size): Account for video structures.
19234 (set_video_mode): New function.
19235 (retrieve_video_parameters): Likewise.
19236 (grub_multiboot_make_mbi): Fill video fields.
19237
19238 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19239
19240 Video driver ids.
19241
19242 * include/grub/video.h (grub_video_driver_id): New type.
19243 (grub_video_adapter): New member 'id'. All users updated.
19244 (grub_video_get_driver_id): New proto.
19245 * video/video.c (grub_video_get_driver_id): New function.
19246
19247 2010-01-14 Carles Pina i Estany <carles@pina.cat>
19248
19249 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
19250 `var=val'.
19251
19252 2010-01-14 Carles Pina i Estany <carles@pina.cat>
19253
19254 * normal/cmdline.c (print_completion): Gettextizze.
19255
19256 2001-01-14 Carles Pina i Estany <carles@pina.cat>
19257
19258 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
19259
19260 2010-01-14 Carles Pina i Estany <carles@pina.cat>
19261
19262 * gettext/gettext.c (grub_gettext_translate): Push and pop
19263 grub_errno.
19264 (grub_gettext_delete_list): Change comment style.
19265 * kern/err.c (grub_error): Gettextizze.
19266 (grub_fatal): Gettextizze.
19267
19268 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
19269
19270 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
19271 (grub_linux16_real_boot): ... this.
19272 * kern/i386/loader.S: Likewise.
19273 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
19274 (grub_linux16_boot): New function. Switches to text mode and calls
19275 grub_linux16_real_boot().
19276
19277 * loader/i386/bsd.c: Include `<grub/video.h>'.
19278 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
19279 text mode before calling grub_unix_real_boot().
19280
19281 * loader/i386/multiboot.c: Include `<grub/video.h>'.
19282 (grub_multiboot_boot): Switch to text mode before calling
19283 grub_relocator32_boot().
19284
19285 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
19286 (grub_chainloader_boot): Switch to text mode before calling
19287 grub_chainloader_real_boot().
19288
19289 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
19290 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
19291
19292 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
19293 non-empty value.
19294
19295 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
19296 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
19297
19298 * util/grub.d/00_header.in: Define a "savedefault" function for use
19299 in menu entries.
19300 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
19301
19302 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
19303 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
19304
19305 * util/grub-mkconfig_lib.in (save_default_entry): Only set
19306 saved_entry if boot_once is unset.
19307 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
19308 previous saved entry (i.e. grub-reboot).
19309
19310 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
19311
19312 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
19313
19314 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
19315
19316 * util/grub.d/00_header.in: Use `set var=val' rather than plain
19317 `var=val'.
19318 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
19319
19320 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
19321
19322 * util/grub-reboot.in: Fix --version output.
19323 * util/grub-set-default.in: Likewise.
19324
19325 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
19326
19327 * util/grub.d/00_header.in: Silently ignore zero-sized environment
19328 blocks.
19329
19330 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
19331
19332 * util/grub.d/00_header.in: Quote the value assigned to `default',
19333 in case it contains spaces.
19334
19335 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
19336
19337 * util/grub.d/30_os-prober.in: Fix merge error that moved a
19338 `save_default_entry' call from the macosx case to the linux case.
19339
19340 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
19341 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
19342
19343 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
19344 in `chosen' environment variable.
19345 * normal/menu_text.c (get_entry_number): Check if the variable
19346 matches the title of a menu entry.
19347 (run_menu): Pass menu to get_entry_number.
19348
19349 * util/grub-reboot.in: New file.
19350 * util/grub-set-default.in: New file.
19351 * conf/common.rmk (grub-reboot): New utility.
19352 (grub-set-default): New utility.
19353
19354 * util/grub-mkconfig_lib.in (save_default_entry): New function.
19355 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
19356 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
19357 move it to `saved_entry' for the next boot. Load environment on
19358 initialisation.
19359 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
19360 * util/grub.d/10_hurd.in: Likewise.
19361 * util/grub.d/10_linux.in (linux_entry): Likewise.
19362 * util/grub.d/10_windows.in: Likewise.
19363 * util/grub.d/30_os-prober.in: Likewise.
19364
19365 * util/grub-install.in: Create environment block.
19366 * util/i386/efi/grub-install.in: Likewise.
19367 * util/ieee1275/grub-install.in: Likewise.
19368 * util/sparc64/ieee1275/grub-install.in: Likewise.
19369
19370 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
19371
19372 Unit testing framework for GRUB.
19373
19374 * Makefile.in: Test framework build rules for 'make check'.
19375 * conf/tests.rmk: Build rules for individual tests and framework.
19376
19377 * include/grub/test.h: Header file for whitebox tests.
19378 * tests/lib/functional_test.c: Framework support for whitebox
19379 functional tests.
19380 * tests/lib/test.c: Common whitebox testing code for unit and
19381 functional tests.
19382 * tests/lib/unit_test.c: Framework support for whitebox unit
19383 tests.
19384
19385 * tests/util/grub-shell-tester.in: Support utility for grub-script
19386 tests.
19387 * tests/util/grub-shell.in: Utility to execute grub-script
19388 commands in a Qemu instance.
19389
19390 * tests/example_functional_test.c: Example whitebox functional
19391 test.
19392 * tests/example_grub_script_test.in: Example grub-script test.
19393 * tests/example_scripted_test.in: Example scripted test.
19394 * tests/example_unit_test.c: Example whitebox unit test.
19395
19396 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19397
19398 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
19399 Add loader/i386/multiboot_mbi.c.
19400 (multiboot2_mod_SOURCES): Likewise.
19401 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
19402 (multiboot2_mod_SOURCES): Likewise.
19403 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
19404 (grub_multiboot_make_mbi): Likewise.
19405 (grub_multiboot_free_mbi): Likewise.
19406 (grub_multiboot_init_mbi): Likewise.
19407 (grub_multiboot_add_module): Likewise.
19408 (grub_multiboot_set_bootdev): Likewise.
19409 * loader/i386/multiboot.c (mbi): Removed.
19410 (mbi_dest): Likewise.
19411 (alloc_mbi): New variable.
19412 (grub_multiboot_payload_size): Removed. All users updated.
19413 (grub_multiboot_pure_size): New variable.
19414 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
19415 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
19416 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
19417 (grub_fill_multiboot_mmap): Likewise.
19418 (grub_multiboot_get_bootdev): Likewise.
19419 (grub_multiboot): Use multiboot_mbi functions.
19420 * loader/i386/multiboot_mbi.c: New file.
19421
19422 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19423
19424 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
19425 it would result in module crash.
19426
19427 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19428
19429 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
19430 (grub_ofconsole_getwh): Split to ...
19431 (grub_ofconsole_getwh): ... this.
19432 (grub_ofconsole_dimensions): ...and this.
19433 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
19434
19435 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
19436
19437 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
19438
19439 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19440
19441 * loader/i386/pc/multiboot2.c: Removed stalled file.
19442
19443 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19444
19445 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
19446 Reported by: Grégoire Sutre
19447
19448 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
19449
19450 * util/misc.c (canonicalize_file_name): New function.
19451 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
19452 instead of realpath().
19453
19454 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
19455
19456 * util/grub-install.in (usage): Clarify meaning of --root-directory,
19457 and make it clearer that it's optional. Based on confusion
19458 witnessed on IRC.
19459
19460 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19461
19462 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
19463 in premature implicit newline.
19464
19465 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19466
19467 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
19468 which resulted in garbled command line at the end of screen.
19469
19470 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
19471
19472 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
19473 initialization with similar approach as with other Linux loaders.
19474
19475 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
19476
19477 Fix i386-ieee1275 build.
19478
19479 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
19480 and grub_term_height() for video_{width,height} initialization.
19481
19482 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
19483
19484 Fix grub-emu build.
19485
19486 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
19487
19488 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19489 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
19490
19491 Support for multiple terminals.
19492
19493 * Makefile.in (pkglib_DATA): terminal.lst.
19494 (terminal.lst): New target.
19495 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
19496 (GRUB_MOD_INIT(handler)): Likewise.
19497 (GRUB_MOD_FINI(handler)): Likewise.
19498 * commands/help.c (grub_cmd_help): Handle multiple terminals.
19499 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
19500 * commands/sleep.c (do_print): Use grub_term_restore_pos.
19501 (grub_cmd_sleep): Use grub_term_save_pos.
19502 * commands/terminal.c: New file.
19503 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
19504 commands/terminal.c and lib/charset.c.
19505 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
19506 (pkglib_MODULES): Add terminal.mod.
19507 (terminal_mod_SOURCES): New variable.
19508 (terminal_mod_CFLAGS): Likewise.
19509 (terminal_mod_LDFLAGS): Likewise.
19510 * genhandlerlist.sh: Don't handle terminals.
19511 * genmk.rb: Generate terminal-*.lst.
19512 * genterminallist.sh: New file.
19513 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
19514 (grub_is_valid_utf8): Likewise.
19515 (grub_utf8_to_ucs4_alloc): Likewise.
19516 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
19517 (grub_menu_register_viewer): Changed argument.
19518 (grub_menu_try_text): New proto.
19519 (grub_gfxmenu_try_hook): New declaration.
19520 * include/grub/normal.h (grub_normal_exit_level): New declaration.
19521 (grub_menu_init_page): Additional argument term.
19522 (grub_normal_init_page): Likewise.
19523 (grub_cmdline_get): Arguments simplified.
19524 (grub_utf8_to_ucs4_alloc): Removed.
19525 (grub_print_ucs4): Additional argument term.
19526 (grub_getstringwidth): Likewise.
19527 (grub_print_message_indented): Likewise.
19528 (grub_menu_text_register_instances): New proto.
19529 (grub_show_menu): Likewise.
19530 (read_terminal_list): Likewise.
19531 (grub_set_more): Likewise.
19532 * include/grub/parser.h: Include handler.h.
19533 * include/grub/reader.h: Rewritten.
19534 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
19535 (GRUB_TERM_WIDTH): Changed to function.
19536 (GRUB_TERM_HEIGHT): Likewise.
19537 (GRUB_TERM_BORDER_WIDTH): Likewise.
19538 (GRUB_TERM_BORDER_HEIGHT): Likewise.
19539 (GRUB_TERM_NUM_ENTRIES): Likewise.
19540 (GRUB_TERM_ENTRY_WIDTH): Likewise.
19541 (GRUB_TERM_CURSOR_X): Likewise.
19542 (grub_term_input_class): Likewise.
19543 (grub_term_output_class): Likewise.
19544 (grub_term_outputs_disabled): New declaration.
19545 (grub_term_inputs_disabled): Likewise.
19546 (grub_term_outputs): Likewise.
19547 (grub_term_inputs): Likewise.
19548 (grub_term_register_input): Rewritten.
19549 (grub_term_register_output): Likewise.
19550 (grub_term_unregister_input): Likewise.
19551 (grub_term_unregister_output): Likewise.
19552 (FOR_ACTIVE_TERM_INPUTS): New macro.
19553 (FOR_DISABLED_TERM_INPUTS): Likewise.
19554 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19555 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19556 * include/grub/terminfo.h: Add oterm argument to all protypes.
19557 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
19558 Use grub_rescue_run.
19559 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
19560 All users updated.
19561 * kern/reader.c: Removed. All users updated.
19562 * kern/rescue_reader.c (grub_rescue_init): Removed.
19563 (grub_rescue_reader): Likewise.
19564 (grub_register_rescue_reader): Likewise.
19565 (grub_rescue_run): New function based on kern/reader.c.
19566 * kern/term.c: Adapted for multiterm.
19567 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
19568 (grub_is_valid_utf8): Likewise.
19569 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
19570 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
19571 right terminal.
19572 * loader/i386/linux.c (grub_linux_boot): Likewise.
19573 * normal/auth.c (grub_username_get): New function.
19574 (grub_auth_check_authentication): Use grub_username_get.
19575 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
19576 * normal/color.c: Adapt for multiterm.
19577 * normal/main.c (read_config_file): Don't use grub_reader_loop.
19578 (grub_normal_init_page): Additional argument term.
19579 (read_lists): Call read_terminal_lists.
19580 (grub_enter_normal_mode): Call grub_cmdline_run.
19581 Handle grub_normal_exit_level.
19582 (grub_cmd_normal): Make reentrant.
19583 (grub_cmd_normal_exit): New function.
19584 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
19585 * normal/menu.c: Adapt for multiterm.
19586 * normal/menu_entry.c: Likewise.
19587 * normal/menu_text.c: Likewise.
19588 * normal/menu_viewer.c: Removed. All users updated.
19589 * normal/term.c: New file.
19590 * util/console.c: Change order of includes to workaround a bug in
19591 ncurses headers.
19592 * term/terminfo.c: New argument oterm on all exported functions.
19593 All users updated.
19594 * util/grub-editenv.c (grub_term_input_class): Removed.
19595 (grub_term_output_class): Likewise.
19596
19597 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
19598
19599 Make loader output a bit more user-friendly.
19600
19601 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
19602 is being loaded. Likewise for the Hurd.
19603
19604 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
19605 that kernel of FreeBSD ${version} is being loaded.
19606
19607 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
19608 grub_dprintf().
19609 (grub_cmd_initrd): Likewise.
19610 * util/grub.d/10_linux.in (linux_entry): Print message indicating
19611 that Linux ${version} is being loaded. Likewise for initrd.
19612
19613 2010-01-09 Carles Pina i Estany <carles@pina.cat>
19614
19615 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
19616
19617 2010-01-08 Carles Pina i Estany <carles@pina.cat>
19618
19619 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
19620 (GRUB_MOD_INIT): Gettextizze.
19621 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
19622 (GRUB_MOD_INIT): Gettextizze.
19623 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
19624 (grub_cmd_linux): Capitalise Linux.
19625 (GRUB_MOD_INIT): Gettextizze.
19626 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
19627 (grub_cmd_linux): Capitalise Linux.
19628 (GRUB_MOD_INIT): Gettextizze.
19629 * loader/i386/linux.c: Include `<grub/i18n.h>'.
19630 (grub_cmd_linux): Capitalise Linux.
19631 (GRUB_MOD_INIT): Gettextizze.
19632 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
19633 (GRUB_MOD_INIT): Gettextizze.
19634 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
19635 (grub_cmd_linux): Capitalise Linux.
19636 (GRUB_MOD_INIT): Gettextizze.
19637 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
19638 (grub_cpu_xnu_init): Gettextizze.
19639 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
19640 (GRUB_MOD_INIT): Gettextizze.
19641 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
19642 (GRUB_MOD_INIT): Gettextizze.
19643 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
19644 (grub_linux_load64): Capitalise Linux.
19645 (GRUB_MOD_INIT): Gettextizze.
19646 * loader/xnu.c: Include `<grub/i18n.h>'.
19647 (GRUB_MOD_INIT): Gettextizze.
19648 * po/POTFILES: Add `loader/efi/appleloader.c',
19649 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
19650 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
19651 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
19652 `loader/i386/xnu.c', `loader/multiboot_loader.c',
19653 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
19654 and `loader/xnu.c'.
19655
19656 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
19657
19658 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
19659
19660 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
19661
19662 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
19663 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
19664 * util/mkisofs/mkisofs.c (main): Readjust --version output.
19665
19666 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19667
19668 Reset Multiboot 2 support. New loader implements the draft in
19669 /branches/multiboot2 and shares as much code as possible with the
19670 production Multiboot 1 implementation.
19671
19672 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
19673 * loader/multiboot2.c: Likewise.
19674 * loader/i386/multiboot_helper.S: Likewise.
19675 * include/multiboot2.h: Replace with latest version from the draft
19676 in /branches/multiboot2.
19677
19678 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
19679 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
19680 and `loader/multiboot2.c'.
19681 (pkglib_MODULES): Add `multiboot2.mod'.
19682 (multiboot2_mod_SOURCES): New variable.
19683 (multiboot2_mod_LDFLAGS): Likewise.
19684 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
19685
19686 * conf/i386-pc.rmk: Likewise.
19687
19688 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
19689 (multiboot_mod_SOURCES): Remove variable.
19690 (multiboot_mod_LDFLAGS): Likewise.
19691 (multiboot_mod_CFLAGS): Likewise.
19692
19693 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
19694 `<multiboot2.h>' instead of `<multiboot.h>'.
19695 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
19696 (MULTIBOOT_HEADER_MAGIC): New macros.
19697
19698 * loader/multiboot_loader.c (module_version_status): Remove variable.
19699 (find_multi_boot2_header): Remove function.
19700 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
19701 logic. Always check for the Multiboot version we're compiling for.
19702 (grub_cmd_module_loader): Likewise.
19703 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
19704 command instead of `multiboot'.
19705
19706 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19707
19708 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
19709 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
19710 all users.
19711
19712 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19713 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19714
19715 Fix breakage introduced with previous commit.
19716
19717 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
19718 commands.
19719 * normal/handler.c (read_handler_list): Revert part of previous commit
19720 affecting this file.
19721 * normal/main.c (read_lists): Move read_handler_list() call back to ...
19722 (grub_normal_execute): ... here.
19723
19724 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19725
19726 Merge prefix-redefinition-fix branch.
19727
19728 * normal/autofs.c (read_fs_list): Make function capable of being
19729 run multiple times, gracefuly replacing the previous data
19730 structures.
19731 * normal/dyncmd.c (read_command_list): Likewise.
19732 * normal/handler.c (read_handler_list): Likewise.
19733 * normal/main.c (read_lists): New function. Calls all the
19734 list reading functions.
19735 (grub_normal_execute): Use read_lists() instead of calling all
19736 list reading functions explicitly. Register read_lists() as a
19737 variable hook attached to ${prefix}.
19738
19739 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19740
19741 Merge crypto branch.
19742
19743 * Makefile.in (pkglib_DATA): Add crypto.lst.
19744 (crypto.lst): New target.
19745 * commands/hashsum.c: New file.
19746 * commands/password.c (check_password): Use grub_crypto_memcmp.
19747 * commands/password_pbkdf2.c: New file.
19748 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
19749 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
19750 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
19751 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
19752 -I$(srcdir)/lib/libgcrypt_wrap.
19753 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
19754 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
19755 password_pbkdf2.mod.
19756 (crypto_mod_SOURCES): New variable.
19757 (crypto_mod_CFLAGS): Likewise.
19758 (crypto_mod_LDFLAGS): Likewise.
19759 (hashsum_mod_SOURCES): New variable.
19760 (hashsum_mod_CFLAGS): Likewise.
19761 (hashsum_mod_LDFLAGS): Likewise.
19762 (pbkdf2_mod_SOURCES): New variable.
19763 (pbkdf2_mod_CFLAGS): Likewise.
19764 (pbkdf2_mod_LDFLAGS): Likewise.
19765 (password_pbkdf2_mod_SOURCES): New variable.
19766 (password_pbkdf2_mod_CFLAGS): Likewise.
19767 (password_pbkdf2_mod_LDFLAGS): Likewise.
19768 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
19769 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
19770 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
19771 Include conf/gcry.rmk.
19772 * include/grub/auth.h: Rewritten.
19773 * include/grub/crypto.h: New file.
19774 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
19775 * include/grub/normal.h (read_crypto_list): New prototype.
19776 * lib/crypto.c: New file.
19777 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
19778 * lib/pbkdf2.c: Likewise.
19779 * normal/auth.c (grub_auth_strcmp): Removed.
19780 (grub_iswordseparator): Likewise.
19781 (grub_auth_strword): Likewise.
19782 (is_authenticated): Use grub_strword.
19783 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
19784 and grub_strword. Pass entered password to authentication callback.
19785 * normal/crypto.c: New file.
19786 * normal/main.c: Call read_crypto_list.
19787 * util/grub-mkpasswd-pbkdf2.c: New file.
19788 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
19789
19790 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
19791
19792 Fix descent and ascent calculation.
19793
19794 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
19795 (options): New option "asce".
19796 (usage): Likewise.
19797 (add_char): Ignore invalid glyphs for descent calculation.
19798 Calculate ascent from actual content.
19799 (print_glyphs): Use 'asce'.
19800 (write_font): Likewise. Allow ascent override.
19801 (main): Handle "asce" option.
19802
19803 2010-01-06 Carles Pina i Estany <carles@pina.cat>
19804
19805 * kern/err.c: Include `<grub/i18n.h>'.
19806 (grub_print_error): Add full stop. Gettextizze.
19807 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
19808 (grub_bsd_load_elf): Capitalise ELF.
19809 (grub_cmd_freebsd_loadenv): Add `s' in error string.
19810 (grub_cmd_freebsd_module): Likewise.
19811 (grub_cmd_freebsd_module_elf): Likewise.
19812 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
19813
19814 2010-01-06 Carles Pina i Estany <carles@pina.cat>
19815
19816 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
19817 * commands/search_file.c (HELP_MESSAGE): New macro.
19818 * commands/search_label.c (HELP_MESSAGE): Likewise.
19819 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
19820 * po/POTFILES: Add `commands/search_file.c',
19821 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
19822 `commands/search.c'.
19823
19824 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
19825
19826 * config.rpath: Update from Gnulib.
19827
19828 2010-01-05 Yves Blusseau <blusseau@zetam.org>
19829
19830 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
19831
19832 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
19833
19834 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
19835
19836 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
19837
19838 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
19839 arguments to fread so that we get a return value in bytes, rather
19840 than something that will normally be rounded down to 0.
19841 Adjust error handling to avoid producing garbage when size_t is not
19842 the same size as long long.
19843
19844 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
19845
19846 * util/mkisofs/write.c (padblock_write): Check return value of
19847 fread.
19848
19849 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
19850
19851 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
19852 floppy images now.
19853
19854 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
19855
19856 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
19857
19858 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
19859 instead of manual alignment.
19860 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
19861 verbose). Avoid attempts to read past end of the device
19862 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
19863 but GRUB_DISK_CACHE_SIZE may exceed that).
19864
19865 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
19866
19867 * commands/crc.c (grub_cmd_crc): Abort on read errors.
19868 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
19869 it to upper layer.
19870
19871 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19872
19873 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
19874 New constant.
19875 (grub_efi_piwg_device_path): New structure
19876 (grub_efi_piwg_device_path_t): New type.
19877 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
19878 (devpath_1): Transform to a structure. All users updated.
19879 (devpath_2): Likewise.
19880 (devpath_3): Likewise.
19881 (devpath_4): Likewise.
19882 (devpath_5): Likewise.
19883
19884 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19885
19886 * loader/efi/appleloader.c: Restored. Update all users.
19887
19888 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19889
19890 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
19891
19892 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
19893 (struct boot_blocklist): Move from here ...
19894 * include/grub/i386/pc/boot.h [ASM_FILE]
19895 (struct grub_boot_blocklist): ... to here. Update all users.
19896 (setup): Only initialize `start' member of `first_block'
19897 structure. Add assert() calls to verify the other members.
19898
19899 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
19900 (generate_image): Fix broken blocklist length initialization.
19901 Add assert() call to verify blocklist `segment' field.
19902
19903 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19904
19905 * loader/efi/appleloader.c: Remove. Update all users.
19906
19907 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19908
19909 * boot/i386/pc/boot.S: Update copyright year.
19910 * boot/i386/pc/cdboot.S: Likewise.
19911 * boot/i386/pc/diskboot.S: Likewise.
19912 * boot/i386/pc/lnxboot.S: Likewise.
19913 * boot/i386/pc/pxeboot.S: Likewise.
19914 * bus/pci.c: Likewise.
19915 * commands/cmp.c: Likewise.
19916 * commands/help.c: Likewise.
19917 * commands/hexdump.c: Likewise.
19918 * commands/i386/pc/halt.c: Likewise.
19919 * commands/i386/pc/play.c: Likewise.
19920 * commands/i386/pc/vbeinfo.c: Likewise.
19921 * commands/ls.c: Likewise.
19922 * commands/test.c: Likewise.
19923 * disk/dmraid_nvidia.c: Likewise.
19924 * disk/i386/pc/biosdisk.c: Likewise.
19925 * disk/ieee1275/nand.c: Likewise.
19926 * disk/ieee1275/ofdisk.c: Likewise.
19927 * disk/lvm.c: Likewise.
19928 * disk/raid.c: Likewise.
19929 * disk/raid6_recover.c: Likewise.
19930 * disk/scsi.c: Likewise.
19931 * fs/affs.c: Likewise.
19932 * fs/cpio.c: Likewise.
19933 * fs/ext2.c: Likewise.
19934 * fs/hfs.c: Likewise.
19935 * fs/iso9660.c: Likewise.
19936 * fs/ntfs.c: Likewise.
19937 * fs/sfs.c: Likewise.
19938 * fs/udf.c: Likewise.
19939 * fs/ufs.c: Likewise.
19940 * fs/xfs.c: Likewise.
19941 * gencmdlist.sh: Likewise.
19942 * genmk.rb: Likewise.
19943 * include/grub/disk.h: Likewise.
19944 * include/grub/efi/api.h: Likewise.
19945 * include/grub/efi/efi.h: Likewise.
19946 * include/grub/efi/pe32.h: Likewise.
19947 * include/grub/elf.h: Likewise.
19948 * include/grub/fs.h: Likewise.
19949 * include/grub/i386/at_keyboard.h: Likewise.
19950 * include/grub/i386/pc/memory.h: Likewise.
19951 * include/grub/i386/pc/vbe.h: Likewise.
19952 * include/grub/i386/pci.h: Likewise.
19953 * include/grub/i386/tsc.h: Likewise.
19954 * include/grub/ieee1275/ieee1275.h: Likewise.
19955 * include/grub/ntfs.h: Likewise.
19956 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
19957 * include/grub/sparc64/libgcc.h: Likewise.
19958 * include/grub/symbol.h: Likewise.
19959 * include/grub/types.h: Likewise.
19960 * include/multiboot2.h: Likewise.
19961 * io/gzio.c: Likewise.
19962 * kern/device.c: Likewise.
19963 * kern/disk.c: Likewise.
19964 * kern/efi/efi.c: Likewise.
19965 * kern/efi/mm.c: Likewise.
19966 * kern/elf.c: Likewise.
19967 * kern/file.c: Likewise.
19968 * kern/i386/dl.c: Likewise.
19969 * kern/i386/pc/init.c: Likewise.
19970 * kern/i386/pc/startup.S: Likewise.
19971 * kern/ieee1275/ieee1275.c: Likewise.
19972 * kern/ieee1275/init.c: Likewise.
19973 * kern/main.c: Likewise.
19974 * kern/mm.c: Likewise.
19975 * kern/powerpc/dl.c: Likewise.
19976 * kern/sparc64/dl.c: Likewise.
19977 * kern/x86_64/dl.c: Likewise.
19978 * lib/hexdump.c: Likewise.
19979 * loader/efi/appleloader.c: Likewise.
19980 * loader/i386/ieee1275/linux.c: Likewise.
19981 * loader/i386/pc/chainloader.c: Likewise.
19982 * loader/i386/pc/linux.c: Likewise.
19983 * loader/i386/pc/multiboot2.c: Likewise.
19984 * loader/ieee1275/multiboot2.c: Likewise.
19985 * loader/multiboot2.c: Likewise.
19986 * loader/multiboot_loader.c: Likewise.
19987 * loader/powerpc/ieee1275/linux.c: Likewise.
19988 * normal/completion.c: Likewise.
19989 * normal/menu_entry.c: Likewise.
19990 * partmap/apple.c: Likewise.
19991 * util/grub.d/10_hurd.in: Likewise.
19992 * util/hostfs.c: Likewise.
19993 * video/readers/png.c: Likewise.
19994
19995 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
19996
19997 * include/grub/misc.h (GNUC_PREREQ): New macro.
19998 (ATTRIBUTE_ERROR): New macro.
19999 * include/grub/list.h (grub_bad_type_cast_real): Use
20000 ATTRIBUTE_ERROR.
20001
20002 2010-01-03 Carles Pina i Estany <carles@pina.cat>
20003
20004 * normal/menu_text.c (print_message): Change messages.
20005
20006 2010-01-03 Carles Pina i Estany <carles@pina.cat>
20007
20008 * normal/menu_entry.c (store_completion): Gettextizze.
20009
20010 2010-01-03 Carles Pina i Estany <carles@pina.cat>
20011
20012 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
20013
20014 2010-01-03 Carles Pina i Estany <carles@pina.cat>
20015
20016 * po/POTFILES: Sort correctly.
20017
20018 2010-01-03 Carles Pina i Estany <carles@pina.cat>
20019
20020 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
20021 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
20022 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
20023 full stop.
20024 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
20025 summary. Gettextizze the strings.
20026 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
20027 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
20028 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
20029 full stop.
20030 (GRUB_MOD_INIT): Remove command name from summary.
20031 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
20032 summary.
20033 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
20034 * term/i386/pc/serial.c (options): Add full stops.
20035 (GRUB_MOD_INIT): Remove command name from the summary.
20036
20037 2010-01-03 Carles Pina i Estany <carles@pina.cat>
20038
20039 * commands/acpi.c: Gettextizze help strings and/or options. Include
20040 `grub/i18n.h' if needed.
20041 * commands/blocklist.c: Likewise.
20042 * commands/boot.c: Likewise.
20043 * commands/cat.c: Likewise.
20044 * commands/cmp.c: Likewise.
20045 * commands/configfile.c: Likewise.
20046 * commands/crc.c: Likewise.
20047 * commands/date.c: Likewise.
20048 * commands/echo.c: Likewise.
20049 * commands/efi/fixvideo.c: Likewise.
20050 * commands/efi/loadbios.c: Likewise.
20051 * commands/gptsync.c: Likewise.
20052 * commands/halt.c: Likewise.
20053 * commands/handler.c: Likewise.
20054 * commands/hdparm.c: Likewise.
20055 * commands/hexdump.c: Likewise.
20056 * commands/i386/cpuid.c: Likewise.
20057 * commands/i386/pc/drivemap.c: Likewise.
20058 * commands/i386/pc/halt.c: Likewise.
20059 * commands/i386/pc/pxecmd.c: Likewise.
20060 * commands/i386/pc/vbeinfo.c: Likewise.
20061 * commands/i386/pc/vbetest.c: Likewise.
20062 * commands/ieee1275/suspend.c: Likewise.
20063 * commands/keystatus.c: Likewise.
20064 * commands/loadenv.c: Likewise.
20065 * commands/ls.c: Likewise.
20066 * commands/lsmmap.c: Likewise.
20067 * commands/lspci.c: Likewise.
20068 * commands/memrw.c: Likewise.
20069 * commands/minicmd.c: Likewise.
20070 * commands/parttool.c: Likewise.
20071 * commands/password.c: Likewise.
20072 * commands/probe.c: Likewise.
20073 * commands/read.c: Likewise.
20074 * commands/reboot.c: Likewise.
20075 * commands/search.c: Likewise.
20076 * commands/sleep.c: Likewise.
20077 * commands/test.c: Likewise.
20078 * commands/true.c: Likewise.
20079 * commands/usbtest.c: Likewise.
20080 * commands/videotest.c: Likewise.
20081 * commands/xnu_uuid.c: Likewise.
20082 * disk/loopback.c: Likewise.
20083 * hello/hello.c: Likewise.
20084 * loader/i386/bsd.c: Likewise.
20085 * term/i386/pc/serial.c: Likewise.
20086 * po/POTFILES: Add new files.
20087
20088 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
20089
20090 * term/i386/pc/at_keyboard.c
20091 (keyboard_controller_wait_untill_ready): Rename to ...
20092 (keyboard_controller_wait_until_ready): ... this. Update all users.
20093
20094 2010-01-01 Carles Pina i Estany <carles@pina.cat>
20095
20096 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
20097 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
20098 string using string width.
20099 * normal/menu_text.c (grub_print_message_indented): Use
20100 grub_print_spaces and not print_spaces.
20101 (print_timeout): Likewise.
20102 (print_spaces): Move to...
20103 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
20104
20105 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
20106
20107 Import from Gnulib.
20108
20109 * gnulib/getdelim.c: New file.
20110 * gnulib/getline.c: Likewise.
20111
20112 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
20113
20114 * include/grub/list.h (grub_assert_fail): Removed.
20115 (grub_bad_type_cast_real): New function.
20116 (grub_bad_type_cast): New macro.
20117 (GRUB_AS_LIST): Use grub_bad_type_cast.
20118 (GRUB_AS_LIST_P): Likewise.
20119 (GRUB_AS_NAMED_LIST): Likewise.
20120 (GRUB_AS_NAMED_LIST_P): Likewise.
20121 (GRUB_AS_PRIO_LIST): Likewise.
20122 (GRUB_AS_PRIO_LIST_P): Likewise.
20123 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
20124
20125 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
20126
20127 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
20128 Fix syntax error.
20129
20130 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
20131
20132 * configure.ac: Check for TARGET_CFLAGS initialization before we
20133 initialize it ourselves (sigh).
20134 Move a few modifications to TARGET_CFLAGS to be unconditional
20135 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
20136 eh_frame)
20137
20138 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
20139 * term/i386/pc/at_keyboard.c
20140 (keyboard_controller_wait_untill_ready): Likewise.
20141 (keyboard_controller_led): Rename `led_status' paramter to avoid
20142 name conflict.
20143
20144 2009-12-28 Carles Pina i Estany <carles@pina.cat>
20145
20146 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
20147 quotes.
20148
20149 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20150
20151 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
20152
20153 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20154
20155 * normal/menu_text.c (grub_print_message_indented): Prevent
20156 past-the-end-of-array dereference.
20157
20158 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20159
20160 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
20161 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
20162
20163 2009-12-27 Carles Pina i Estany <carles@pina.cat>
20164
20165 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
20166 * normal/main.c (grub_normal_read_line): Remove a space from the
20167 default prompt.
20168
20169 2009-12-27 Carles Pina i Estany <carles@pina.cat>
20170
20171 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
20172 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20173 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
20174 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
20175 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20176 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20177 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
20178
20179 2009-12-26 Carles Pina i Estany <carles@pina.cat>
20180
20181 * video/readers/jpeg.c (cmd): Declare.
20182 (grub_cmd_jpegtest): Use `grub_command_t' type.
20183 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
20184 Assign to `cmd'.
20185 (GRUB_MOD_FINI): Use `cmd' to unregister.
20186 * video/readers/png.c (cmd): Declare.
20187 (grub_cmd_pngtest): Use `grub_command_t' type.
20188 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
20189 Assign to `cmd'.
20190 (GRUB_MOD_FINI): Use `cmd' to unregister.
20191 * video/readers/tga.c (cmd): Declare.
20192 (grub_cmd_tgatest): Use `grub_command_t' type.
20193 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
20194 Assign to `cmd'.
20195 (GRUB_MOD_FINI): Use `cmd' to unregister.
20196
20197 2009-12-26 Carles Pina i Estany <carles@pina.cat>
20198
20199 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
20200 stops.
20201 * kern/corecmd.c (grub_register_core_commands): Likewise.
20202 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
20203 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
20204 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
20205 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20206 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
20207 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
20208 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
20209 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
20210 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20211 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20212 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
20213 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20214 * normal/handler.c (insert_handler): Likewise.
20215 * normal/main.c (GRUB_MOD_INIT): Likewise.
20216 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
20217
20218 2009-12-26 Carles Pina i Estany <carles@pina.cat>
20219
20220 * commands/help.c (grub_cmd_help): Print the command name before the
20221 summary.
20222 (GRUB_MOD_INIT): Remove command name from the summary.
20223 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
20224 string as summary.
20225 * lib/arg.c (find_long): Print the command name before the summary.
20226 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
20227 summary.
20228 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
20229 * commands/cat.c (GRUB_MOD_INIT): Likewise.
20230 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
20231 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
20232 * commands/crc.c (GRUB_MOD_INIT): Likewise.
20233 * commands/date.c (GRUB_MOD_INIT): Likewise.
20234 * commands/echo.c (GRUB_MOD_INIT): Likewise.
20235 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
20236 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
20237 * commands/handler.c (GRUB_MOD_INIT): Likewise.
20238 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
20239 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
20240 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
20241 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
20242 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
20243 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
20244 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
20245 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
20246 * commands/ls.c (GRUB_MOD_INIT): Likewise.
20247 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
20248 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
20249 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
20250 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
20251 * commands/password.c (GRUB_MOD_INIT): Likewise.
20252 * commands/probe.c (GRUB_MOD_INIT): Likewise.
20253 * commands/read.c (GRUB_MOD_INIT): Likewise.
20254 * commands/search.c (GRUB_MOD_INIT): Likewise.
20255 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
20256 * commands/test.c (GRUB_MOD_INIT): Likewise.
20257 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
20258 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
20259 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
20260 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
20261 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
20262 * lib/arg.c (GRUB_MOD_INIT): Likewise.
20263 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
20264 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
20265 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
20266 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20267 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
20268 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
20269 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
20270 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
20271
20272 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20273
20274 Use search command for preliminar UUID search.
20275
20276 * commands/search.c: Split into ...
20277 * commands/search_wrap.c: ...this
20278 * commands/search.c: ...and this.
20279 * commands/search_file.c: New file.
20280 * commands/search_label.c: New file.
20281 * commands/search_uuid.c: New file.
20282 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
20283 Add commands/search_wrap.c, commands/search_file.c,
20284 commands/search_label.c and commands/search_uuid.c.
20285 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
20286 (search_mod_SOURCES): Set to commands/search_wrap.c.
20287 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
20288 search_label.mod.
20289 (search_fs_file_mod_SOURCES): New variable.
20290 (search_fs_file_mod_CFLAGS): Likewise.
20291 (search_fs_file_mod_LDFLAGS): Likewise.
20292 (search_label_mod_SOURCES): Likewise.
20293 (search_label_mod_CFLAGS): Likewise.
20294 (search_label_mod_LDFLAGS): Likewise.
20295 (search_fs_uuid_mod_SOURCES): New variable.
20296 (search_fs_uuid_mod_CFLAGS): Likewise.
20297 (search_fs_uuid_mod_LDFLAGS): Likewise.
20298 (fs_file_mod_SOURCES): Removed.
20299 (fs_file_mod_CFLAGS): Likewise.
20300 (fs_file_mod_LDFLAGS): Likewise.
20301 (fs_uuid_mod_SOURCES): Removed.
20302 (fs_uuid_mod_CFLAGS): Likewise.
20303 (fs_uuid_mod_LDFLAGS): Likewise.
20304 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
20305 Set to util/grub-install.in.
20306 * disk/fs_file.c: Removed.
20307 * disk/fs_uuid.c: Likewise.
20308 * include/grub/search.h: New file.
20309 * util/grub-install.in: Handle sparc64.
20310 Create and use load.cfg.
20311 * util/sparc64/ieee1275/grub-install.in: Removed.
20312
20313 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20314
20315 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
20316 Ignore return status if CF is cleared.
20317 (grub_biosdisk_get_diskinfo_standard): Likewise.
20318
20319 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
20320
20321 * term/i386/pc/at_keyboard.c
20322 (keyboard_controller_wait_untill_ready): New function.
20323 (grub_keyboard_controller_write, grub_keyboard_controller_read)
20324 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
20325 for keyboard polling, rather than duplicate the same loop. This
20326 saves a few bytes in code size.
20327
20328 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20329
20330 Support for (pxe[:server[:gateway]]) syntax and
20331 use environment variable for PXE.
20332
20333 * commands/i386/pc/pxecmd.c (options): Removed.
20334 (print_ip): Removed.
20335 (grub_cmd_pxe): Removed
20336 (grub_cmd_pxe_unload): New function.
20337 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
20338 (grub_pxe_your_ip): Made static.
20339 (grub_pxe_default_server_ip): Likewise.
20340 (grub_pxe_default_gateway_ip): Likewise.
20341 (grub_pxe_blksize): Likewise.
20342 (parse_ip): New function.
20343 (grub_pxe_open): Support server and gateway specification.
20344 (grub_pxe_close): Free disk->data.
20345 (grub_pxefs_open): Use disk->data.
20346 (grub_pxefs_read): Likewise.
20347 (grub_env_write_readonly): New function.
20348 (set_mac_env): Likewise.
20349 (set_env_limn_ro): Likewise.
20350 (parse_dhcp_vendor): Likewise.
20351 (grub_pxe_detect): Set the environment variables.
20352 (set_ip_env): New function.
20353 (write_ip_env): Likewise.
20354 (grub_env_write_pxe_default_server): Likewise.
20355 (grub_env_write_pxe_default_gateway): Likewise.
20356 (grub_env_write_pxe_blocksize): Likewise.
20357 (GRUB_MOD_INIT(pxe)): Set environment variables.
20358 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
20359 (grub_pxe_mac_addr_t): ... this. All users updated.
20360 (grub_pxe_your_ip): Removed.
20361 (grub_pxe_server_ip): Likewise.
20362 (grub_pxe_gateway_ip): Likewise.
20363 (grub_pxe_blksize): Likewise.
20364
20365 2009-12-25 Carles Pina i Estany <carles@pina.cat>
20366
20367 * commands/help.c: Include `<grub/i18n.h>'.
20368 (grub_cmd_help): Gettextizze.
20369 (GRUB_MOD_INIT): Likewise.
20370 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
20371 (GRUB_MOD_INIT): Gettextizze.
20372 * commands/search.c: Include `<grub/i18n.h>'.
20373 (options): Gettextizze.
20374 (GRUB_MOD_INIT): Gettextizze.
20375 * lib/arg.c: Include `<grub/i18n.h>'.
20376 (help_options): Gettextizze.
20377 (find_long): Likewise.
20378 (grub_arg_show_help): Likewise.
20379 * normal/dyncmd.c: Include `<grub/i18n.h>'.
20380 (read_command_list): Gettextizze.
20381 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
20382 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
20383
20384 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
20385
20386 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
20387 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
20388 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
20389 (led_status): New variable.
20390 (keyboard_controller_led): New function.
20391 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
20392 update led status for caps lock, num lock and scroll lock.
20393
20394 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
20395
20396 * util/hostdisk.c (open_device): Fix a comment.
20397
20398 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20399
20400 * util/grub-install.in (host_os): New variable.
20401 * util/i386/efi/grub-install.in (host_os): Likewise.
20402
20403 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20404
20405 * util/mkisofs/write.c (padblock_write): Abort when given an
20406 excedingly large embed image, instead of silently truncating it.
20407
20408 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20409
20410 * include/multiboot.h: Indentation fixes.
20411
20412 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20413
20414 * include/multiboot.h (struct multiboot_aout_symbol_table)
20415 (struct multiboot_elf_section_header_table): New structure
20416 declarations (stolen from GRUB Legacy).
20417 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
20418 table information.
20419
20420 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
20421 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
20422 type aliases.
20423
20424 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20425
20426 * include/multiboot.h: Make comments src2texi-friendly.
20427
20428 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20429
20430 For consistency with [multiboot]/docs/boot.S.
20431
20432 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
20433 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
20434 (MULTIBOOT_MAGIC2): Rename from this ...
20435 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
20436
20437 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20438
20439 * include/multiboot.h: Remove `<grub/types.h>'.
20440 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
20441 types. Update all users.
20442
20443 2009-12-25 Carles Pina i Estany <carles@pina.cat>
20444
20445 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
20446 `couldn't' and `can not' by `cannot'.
20447 * commands/i386/pc/drivemap.c: Likewise.
20448 * disk/ata.c: Likewise.
20449 * disk/ieee1275/nand.c: Likewise.
20450 * fs/affs.c: Likewise.
20451 * fs/fat.c: Likewise.
20452 * fs/hfs.c: Likewise.
20453 * fs/hfsplus.c: Likewise.
20454 * fs/iso9660.c: Likewise.
20455 * fs/jfs.c: Likewise.
20456 * fs/minix.c: Likewise.
20457 * fs/reiserfs.c: Likewise.
20458 * fs/sfs.c: Likewise.
20459 * fs/udf.c: Likewise.
20460 * fs/ufs.c: Likewise.
20461 * fs/xfs.c: Likewise.
20462 * loader/powerpc/ieee1275/linux.c: Likewise.
20463 * loader/sparc64/ieee1275/linux.c: Likewise.
20464 * util/grub-probe.c: Likewise.
20465 * util/misc.c: Likewise.
20466
20467 2009-12-24 Carles Pina i Estany <carles@pina.cat>
20468
20469 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
20470 grub_errno calls.
20471 * commands/acpi.c: Likewise.
20472 * commands/blocklist.c: Likewise.
20473 * commands/efi/loadbios.c: Likewise.
20474 * commands/i386/pc/drivemap.c: Likewise.
20475 * commands/loadenv.c: Likewise.
20476 * commands/memrw.c: Likewise.
20477 * commands/password.c: Likewise.
20478 * commands/videotest.c: Likewise.
20479 * disk/ata.c: Likewise.
20480 * disk/ata_pthru.c: Likewise.
20481 * disk/dmraid_nvidia.c: Likewise.
20482 * disk/ieee1275/nand.c: Likewise.
20483 * disk/ieee1275/ofdisk.c: Likewise.
20484 * disk/loopback.c: Likewise.
20485 * disk/lvm.c: Likewise.
20486 * disk/mdraid_linux.c: Likewise.
20487 * disk/raid.c: Likewise.
20488 * disk/raid6_recover.c: Likewise.
20489 * disk/scsi.c: Likewise.
20490 * efiemu/main.c: Likewise.
20491 * efiemu/mm.c: Likewise.
20492 * efiemu/pnvram.c: Likewise.
20493 * efiemu/symbols.c: Likewise.
20494 * font/font.c: Likewise.
20495 * fs/cpio.c: Likewise.
20496 * fs/hfsplus.c: Likewise.
20497 * fs/iso9660.c: Likewise.
20498 * fs/jfs.c: Likewise.
20499 * fs/minix.c: Likewise.
20500 * fs/ntfs.c: Likewise.
20501 * fs/ntfscomp.c: Likewise.
20502 * fs/reiserfs.c: Likewise.
20503 * fs/ufs.c: Likewise.
20504 * fs/xfs.c: Likewise.
20505 * gettext/gettext.c: Likewise.
20506 * include/grub/auth.h: Likewise.
20507 * kern/elf.c: Likewise.
20508 * kern/file.c: Likewise.
20509 * kern/ieee1275/init.c: Likewise.
20510 * kern/ieee1275/mmap.c: Likewise.
20511 * kern/ieee1275/openfw.c: Likewise.
20512 * kern/powerpc/dl.c: Likewise.
20513 * kern/sparc64/dl.c: Likewise.
20514 * lib/arg.c: Likewise.
20515 * loader/i386/bsd.c: Likewise.
20516 * loader/i386/bsdXX.c: Likewise.
20517 * loader/i386/efi/linux.c: Likewise.
20518 * loader/i386/efi/xnu.c: Likewise.
20519 * loader/i386/ieee1275/linux.c: Likewise.
20520 * loader/i386/linux.c: Likewise.
20521 * loader/i386/multiboot.c: Likewise.
20522 * loader/i386/pc/linux.c: Likewise.
20523 * loader/i386/pc/multiboot2.c: Likewise.
20524 * loader/i386/xnu.c: Likewise.
20525 * loader/ieee1275/multiboot2.c: Likewise.
20526 * loader/macho.c: Likewise.
20527 * loader/machoXX.c: Likewise.
20528 * loader/multiboot2.c: Likewise.
20529 * loader/multiboot_loader.c: Likewise.
20530 * loader/powerpc/ieee1275/linux.c: Likewise.
20531 * loader/sparc64/ieee1275/linux.c: Likewise.
20532 * loader/xnu.c: Likewise.
20533 * loader/xnu_resume.c: Likewise.
20534 * mmap/i386/pc/mmap.c: Likewise.
20535 * normal/menu_viewer.c: Likewise.
20536 * partmap/acorn.c: Likewise.
20537 * partmap/amiga.c: Likewise.
20538 * partmap/apple.c: Likewise.
20539 * script/lexer.c: Likewise.
20540 * term/gfxterm.c: Likewise.
20541 * term/i386/pc/serial.c: Likewise.
20542 * term/i386/pc/vga.c: Likewise.
20543 * term/ieee1275/ofconsole.c: Likewise.
20544 * term/terminfo.c: Likewise.
20545 * video/bitmap.c: Likewise.
20546 * video/efi_gop.c: Likewise.
20547 * video/efi_uga.c: Likewise.
20548 * video/fb/video_fb.c: Likewise.
20549 * video/i386/pc/vbe.c: Likewise.
20550 * video/readers/tga.c: Likewise.
20551 * video/video.c: Likewise.
20552
20553 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
20554
20555 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
20556 * commands/lspci.c: Likewise.
20557 * commands/probe.c: Likewise.
20558 * commands/xnu_uuid.c: Likewise.
20559 * conf/i386-coreboot.rmk: Likewise.
20560 * conf/i386-efi.rmk: Likewise.
20561 * conf/i386-ieee1275.rmk: Likewise.
20562 * conf/i386-pc.rmk: Likewise.
20563 * conf/powerpc-ieee1275.rmk: Likewise.
20564 * conf/sparc64-ieee1275.rmk: Likewise.
20565 * conf/x86_64-efi.rmk: Likewise.
20566 * fs/i386/pc/pxe.c: Likewise.
20567 * gettext/gettext.c: Likewise.
20568 * include/grub/efi/graphics_output.h: Likewise.
20569 * include/grub/i386/pc/memory.h: Likewise.
20570 * kern/env.c: Likewise.
20571 * kern/i386/qemu/startup.S: Likewise.
20572 * lib/i386/pc/biosnum.c: Likewise.
20573 * lib/i386/relocator.c: Likewise.
20574 * lib/i386/relocator_asm.S: Likewise.
20575 * lib/relocator.c: Likewise.
20576 * loader/i386/bsd.c: Likewise.
20577 * loader/i386/multiboot.c: Likewise.
20578 * loader/i386/pc/chainloader.c: Likewise.
20579 * loader/i386/xnu.c: Likewise.
20580 * loader/xnu.c: Likewise.
20581 * normal/main.c: Likewise.
20582 * normal/menu_text.c: Likewise.
20583 * util/getroot.c: Likewise.
20584 * util/grub-mkconfig_lib.in: Likewise.
20585 * util/grub.d/00_header.in: Likewise.
20586 * util/i386/pc/grub-mkimage.c: Likewise.
20587 * util/mkisofs/eltorito.c: Likewise.
20588 * util/mkisofs/exclude.h: Likewise.
20589 * util/mkisofs/hash.c: Likewise.
20590 * util/mkisofs/iso9660.h: Likewise.
20591 * util/mkisofs/joliet.c: Likewise.
20592 * util/mkisofs/mkisofs.c: Likewise.
20593 * util/mkisofs/mkisofs.h: Likewise.
20594 * util/mkisofs/multi.c: Likewise.
20595 * util/mkisofs/name.c: Likewise.
20596 * util/mkisofs/rock.c: Likewise.
20597 * util/mkisofs/tree.c: Likewise.
20598 * util/mkisofs/write.c: Likewise.
20599 * video/efi_gop.c: Likewise.
20600
20601 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
20602
20603 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
20604 size counting.
20605
20606 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
20607
20608 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
20609 * genmk.rb (class SCRIPT): Modify the target file instead of source.
20610
20611 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20612
20613 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
20614 (GRUB_MOD_INIT(memrw)): Update help line.
20615
20616 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20617
20618 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
20619 Use grub_extcmd_t. All users updated.
20620 (options): New variable.
20621 (grub_cmd_read): Restructure for readability. Support "-v" option.
20622 (grub_cmd_write): Restructure for readability.
20623
20624 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
20625
20626 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
20627
20628 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
20629
20630 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
20631 with the actual contents of the correspondending make variable.
20632 * util/grub-mkrescue.in (pkglib_DATA): New variable.
20633 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
20634 specifying `*.lst' and `efiemu??.o'
20635
20636 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
20637
20638 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
20639 after function name.
20640 Noticed by Rene Engelhard <rene@debian.org>.
20641
20642 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20643
20644 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
20645 (options): New variable.
20646 (iospace): Likewise.
20647 (grub_lspci_iter): List IO spaces if "-i" was given.
20648 (grub_cmd_lspci): Parse options.
20649 (GRUB_MOD_INIT(lspci)): Use extcmd.
20650 (GRUB_MOD_FINI(lspci)): Likewise.
20651
20652 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
20653
20654 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
20655 `function' keyword.
20656 Patch by Tony Mancill <tmancill@debian.org>.
20657
20658 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20659
20660 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
20661 (grub_uhci_portstatus): Likewise.
20662 (grub_uhci_portstatus): Add necessary delay.
20663 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
20664
20665 2009-12-21 Carles Pina i Estany <carles@pina.cat>
20666
20667 * commands/acpi.c (options): Fix capitalizations and/or full stops.
20668 (GRUB_MOD_INIT): Likewise.
20669 * commands/boot.c (GRUB_MOD_INIT): Likewise.
20670 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
20671 * commands/echo.c (options): Fix capitalizations and/or full stops.
20672 * commands/efi/loadbios.c (enable_rom_area): Likewise.
20673 (enable_rom_area): Likewise.
20674 (GRUB_MOD_INIT): Likewise.
20675 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
20676 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
20677 * commands/handler.c (GRUB_MOD_INIT): Likewise.
20678 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
20679 * commands/hexdump.c (options): Likewise.
20680 * commands/i386/cpuid.c (options): Likewise.
20681 (GRUB_MOD_INIT): Likewise.
20682 * commands/i386/pc/drivemap.c (options): Likewise.
20683 (GRUB_MOD_INIT): Likewise.
20684 * commands/i386/pc/halt (options): Likewise.
20685 (GRUB_MOD_INIT): Likewise.
20686 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
20687 * commands/i386/pc/pxecmd.c (options): Likewise.
20688 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
20689 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
20690 * commands/keystatus.c (options): Likewise.
20691 (GRUB_MOD_INIT): Likewise.
20692 * commands/loadenv.c (options): Likewise.
20693 * commands/ls.c (options): Likewise.
20694 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
20695 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
20696 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
20697 * commands/parttool.c (helpmsg): Likewise.
20698 * commands/probe.c (options): Likewise.
20699 * commands/read.c (GRUB_MOD_INIT): Likewise.
20700 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
20701 * commands/search.c (options): Likewise.
20702 * commands/sleep.c (options): Likewise.
20703 * commands/test.c (GRUB_MOD_INIT): Likewise.
20704 * commands/true.c (GRUB_MOD_INIT): Likewise.
20705 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
20706 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
20707 * lib/arg.c (help_options): Likewise.
20708 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
20709 `$(XGETTEXT)'.
20710 * po/POTFILES: Add `commands/loadenv.c'.
20711
20712 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
20713
20714 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
20715 instead of specifying them explicit.
20716
20717 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20718
20719 * NEWS: Add grub-probe support for GNU/Hurd.
20720
20721 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20722
20723 * NEWS: gettext was added after 1.97.
20724
20725 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20726
20727 * util/mkisofs/msdos_partition.h: New file (based on
20728 include/grub/msdos_partition.h).
20729 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
20730 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
20731 (ld_options, main): Recognize --protective-msdos-label.
20732 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
20733 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
20734 (padblock_write): If `use_protective_msdos_label' is set, patch a
20735 protective DOS-style label in the output image.
20736
20737 * util/grub-mkrescue.in: Use --protective-msdos-label.
20738
20739 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20740
20741 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
20742 boot.
20743
20744 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20745
20746 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
20747 variables.
20748 (ld_options, main): Recognize `--embedded-boot'.
20749 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
20750 declarations.
20751 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
20752 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
20753 (padblock_write): Likewise. Rewrite to support embedded boot image.
20754
20755 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
20756 for BIOS-based disk boot instead of only ElTorito.
20757
20758 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20759
20760 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
20761 build (not needed for bootstrap).
20762
20763 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20764
20765 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
20766 from i386-pc build (not needed for bootstrap).
20767 Rewrite a pair of strings.
20768
20769 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20770
20771 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
20772
20773 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
20774
20775 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
20776
20777 2009-12-21 Andreas Born <futur.andy@googlemail.com>
20778
20779 * kern/env.c (grub_env_context_open): Mark exported variable for
20780 reexport.
20781
20782 2009-12-21 Andreas Born <futur.andy@googlemail.com>
20783
20784 * kern/env.c (grub_env_export): Create nonexistent variables before
20785 exporting.
20786
20787 2009-12-20 Carles Pina i Estany <carles@pina.cat>
20788
20789 * include/grub/auth.h: Include `<grub/i18n.h>'.
20790 (GRUB_GET_PASSWORD): Gettextizze string.
20791 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
20792 menu_text.c.
20793 (grub_utf8_to_ucs4_alloc): Fix indentation.
20794 (grub_print_ucs4): Likewise.
20795 (grub_getstringwidth): Likewise.
20796 (print_message_indented): New declaration.
20797 * normal/auth.c: Include `<grub/i18n.h>'.
20798 (grub_auth_check_authentication): Gettexttize string.
20799 * normal/cmdline.c: Include `<grub/i18n.h>'.
20800 (grub_cmdline_get): Gettextizze.
20801 * normal/color.c: Include `<grub/i18n.h>'.
20802 (grub_parse_color_name_pair): Gettexttize strings.
20803 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
20804 string (use `print_message_indented').
20805 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
20806 `include/grub/normal.h'.
20807 (print_message_indented): Renamed to ...
20808 (grub_print_message_indented): ... this. Remove `static' qualifer (now
20809 used in normal/main.c).
20810 (print_message): Use `grub_print_message_indented' instead of
20811 `print_message_indented'.
20812 (print_timeout): Likewise.
20813 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
20814 (grub_normal_print_device_info): Gettexttize strings.
20815 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
20816
20817 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20818
20819 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
20820 of arguments. Return number of tokens and not arguments. All users
20821 updated.
20822
20823 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20824
20825 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
20826 non-MSDOS paritions.
20827
20828 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20829
20830 * include/grub/types.h (UNUSED): Removed since it conflicts with
20831 NetBSD headers. All users changed to direct __attribute__ ((unused)).
20832 Reported by Grégoire Sutre.
20833
20834 2009-12-19 Carles Pina i Estany <carles@pina.cat>
20835
20836 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
20837 (grub_print_ucs4_alloc): Likewise.
20838 (grub_getstringwidth): Likewise.
20839 * normal/main.c (grub_normal_init_page): Gettextize version string.
20840 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
20841 (getstringwidth): Renamed to ...
20842 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
20843 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
20844 (grub_print_ucs4): Remove `static' qualifer (now used in
20845 normal/main.c).
20846 * po/POTFILES: Add normal/main.c.
20847
20848 2009-12-19 Carles Pina i Estany <carles@pina.cat>
20849
20850 * normal/menu_text.c (STANDARD_MARGIN): New macro.
20851 (print_message_indented): Add `margin_left' and `margin_right'
20852 parameters.
20853 (print_message): Update `print_message_indented' calls. Adds '\n' to the
20854 strings.
20855 (print_timeout): Use `print_message_indented' to print the message.
20856 Deletes `second_stage' parameter.
20857 (run_menu): Update `print_timeout' calls.
20858
20859 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20860
20861 Fix console palette on OpenFirmware.
20862
20863 * term/ieee1275/ofconsole.c (MAX): Removed.
20864 (colors): Redone based on VGA palette.
20865 (grub_ofconsole_setcolor): Discard brightness bit since only 8
20866 colors are supported.
20867 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
20868
20869 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20870
20871 Fix potential EfiEmu double prepare.
20872
20873 * efiemu/main.c (prepared): New variable
20874 (grub_efiemu_unload): Set prepare to '0'.
20875 (grub_efiemu_prepare): Return if already prepared. Set prepared.
20876
20877 set_virtual_address_map support.
20878
20879 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
20880 prototype.
20881 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
20882 prototype.
20883 (grub_efiemu_crc32): Likewise.
20884 (grub_efiemu_crc64): Likewise.
20885 (grub_efiemu_set_virtual_address_map): Likewise.
20886 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
20887 New definition.
20888 (grub_autoefi_set_virtual_address_map): Likewise.
20889 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
20890 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
20891 Restructure flow to accomodate it.
20892 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
20893 (grub_efiemu_crc): Recompute CRC32.
20894 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
20895 (efiemu_ptv_relocated): ... this. Made global. All users updated.
20896 * efiemu/symbols.c (relocated_handle): New variable.
20897 (grub_efiemu_free_syms): Free relocated_handle.
20898 (grub_efiemu_alloc_syms): Allocate relocated_handle.
20899 (grub_efiemu_write_sym_markers): New function.
20900 (grub_efiemu_set_virtual_address_map): Likewise.
20901
20902 Newer XNU parameters.
20903
20904 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
20905 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
20906 (grub_xnu_fill_devicetree): New prototype.
20907 (grub_xnu_heap_real_start): New variable.
20908 * loader/xnu.c (get_name_ptr): New function.
20909 (grub_xnu_load_driver): Fill namelen and name.
20910
20911 64-bit xnu support.
20912
20913 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
20914 and 'loader/macho64.c'.
20915 * conf/i386-pc.rmk: Likewise.
20916 * conf/x86_64-efi.rmk: Likewise.
20917 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
20918 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
20919 * include/grub/macho.h (grub_macho_segment64): New structure.
20920 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
20921 (grub_macho_size32): ... to this.
20922 (grub_macho32_get_entry_point): Renamed from ...
20923 (grub_macho_get_entry_point32): ... to this.
20924 (grub_macho_contains_macho64): New prototype.
20925 (grub_macho_size64): Likewise.
20926 (grub_macho_get_entry_point64): Likewise.
20927 (grub_macho32_load): Renamed from ...
20928 (grub_macho_load32): ... to this.
20929 (grub_macho32_filesize): Renamed from ...
20930 (grub_macho_filesize32): ... to this.
20931 (grub_macho32_readfile): Renamed from ...
20932 (grub_macho_readfile32): ... to this.
20933 (grub_macho_filesize64): New prototype.
20934 (grub_macho_readfile64): Likewise.
20935 (grub_macho_parse32): Likewise.
20936 (grub_macho_parse64): Likewise.
20937 * loader/macho.c: Split into ...
20938 * loader/machoXX.c: ... and this. Replace 32 with XX.
20939 * loader/macho32.c: New file.
20940 * loader/macho64.c: Likewise.
20941 * loader/xnu.c (grub_xnu_is_64bit): New variable.
20942 (grub_cmd_xnu_kernel): Make 32-bit only.
20943 (grub_cmd_xnu_kernel64): New function.
20944 (grub_xnu_load_driver): Support Mach-O 64.
20945 (grub_cmd_xnu_mkext): Likewise.
20946 * util/grub.d/30_os-prober.in (osx_entry): New function.
20947 Generate entries for 64-bit boot too.
20948
20949 Eliminate ad-hoc tree format in XNU and EfiEmu.
20950
20951 * efiemu/main.c (grub_efiemu_prepare): Update comment.
20952 * efiemu/pnvram.c: Rewritten to use environment variables.
20953 All users updated.
20954
20955 Inline utf16_to_utf8.
20956
20957 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
20958 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
20959 All users updated.
20960 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
20961
20962 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
20963 * commands/usbtest.c (grub_usb_get_string): ... move here.
20964 (usb_print_str): Fix error handling.
20965 * include/grub/usb.h (grub_usb_get_string): Remove.
20966
20967 UTF-8 to UTF-16 transformation.
20968
20969 * conf/common.rmk (pkglib_MODULES): Add charset.mod
20970 (charset_mod_SOURCES): New variable.
20971 (charset_mod_CFLAGS): Likewise.
20972 (charset_mod_LDFLAGS): Likewise.
20973 * include/grub/utf.h: New file.
20974 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
20975
20976 Support for device properties.
20977
20978 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
20979 (grub_xnu_devprop_device_header): Likewise.
20980 (grub_xnu_devprop_device_descriptor): Likewise.
20981 (grub_xnu_devprop_add_device): New prototype.
20982 (grub_xnu_devprop_remove_device): Likewise.
20983 (grub_xnu_devprop_remove_property): Likewise.
20984 (grub_xnu_devprop_add_property_utf8): Likewise.
20985 (grub_xnu_devprop_add_property_utf16): Likewise.
20986 (grub_cpu_xnu_init): Likewise.
20987 (grub_cpu_xnu_fini): Likewise.
20988 (grub_cpu_xnu_unload): Likewise.
20989 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
20990 (property_descriptor): Likewise.
20991 (devices): New variable.
20992 (grub_xnu_devprop_remove_property): New function.
20993 (grub_xnu_devprop_add_device): Likewise.
20994 (grub_xnu_devprop_remove_device): Likewise.
20995 (grub_xnu_devprop_add_property): Likewise.
20996 (grub_xnu_devprop_add_property_utf8): Likewise.
20997 (grub_xnu_devprop_add_property_utf16): Likewise.
20998 (hextoval): Likewise.
20999 (grub_cpu_xnu_fill_devprop): Likewise.
21000 (grub_cmd_devprop_load): Likewise.
21001 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
21002 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
21003 (cmd_devprop_load): New variable.
21004 (grub_cpu_xnu_init): New function.
21005 (grub_cpu_xnu_fini): Likewise.
21006 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
21007 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
21008 (grub_cmd_xnu_devtree): Likewise.
21009 (hextoval): New function.
21010 (unescape): Likewise.
21011 (grub_xnu_fill_devicetree): Likewise.
21012
21013 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
21014 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
21015
21016 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21017
21018 Workaround for broken ATI VBE.
21019
21020 * video/i386/pc/vbe.c (last_set_mode): New variable.
21021 (grub_vbe_set_video_mode): Set 'last_set_mode'.
21022 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
21023 (grub_video_vbe_setup): Don't check for reserved flag.
21024
21025 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
21026
21027 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
21028 the `find' command.
21029
21030 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
21031
21032 UUID support for HFS.
21033
21034 * fs/hfs.c (grub_hfs_uuid): New function.
21035 (grub_hfs_fs): New value .uuid.
21036 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
21037
21038 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
21039
21040 Fix a segfault with parsing unknown long options.
21041
21042 * util/grub-mkrelpath.c (options): Zero terminate it.
21043
21044 2009-12-13 Carles Pina i Estany <carles@pina.cat>
21045
21046 * include/grub/misc.h (grub_puts): New declaration.
21047 (grub_puts_): Likewise.
21048 * kern/misc.c (grub_puts): New definition.
21049 (grub_puts_): Likewise.
21050
21051 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
21052
21053 * util/grub-probe.c (probe): Improve error message.
21054
21055 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
21056
21057 * loader/i386/multiboot_elfxx.c
21058 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
21059 initialization.
21060
21061 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
21062
21063 Relocator framework
21064
21065 * loader/i386/xnu_helper.S: Removed. All users updated.
21066 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
21067 (relocator_mod_SOURCES): New variable.
21068 (relocator_mod_CFLAGS): Likewise.
21069 (relocator_mod_LDFLAGS): Likewise.
21070 (relocator_mod_ASFLAGS): Likewise.
21071 * conf/x86_64.rmk: Likewise.
21072 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
21073 (grub_multiboot_payload_entry_offset): Likewise.
21074 (grub_multiboot_forward_relocator): Likewise.
21075 (grub_multiboot_forward_relocator_end): Likewise.
21076 (grub_multiboot_backward_relocator): Likewise.
21077 (grub_multiboot_backward_relocator_end): Likewise.
21078 (grub_multiboot_payload_eip): New variable.
21079 (grub_multiboot_payload_orig): Likewise.
21080 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
21081 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
21082 * include/grub/i386/memory.h
21083 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
21084 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
21085 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
21086 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
21087 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
21088 * include/grub/i386/relocator.h: New file.
21089 * include/grub/x86_64/relocator.h: Likewise.
21090 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
21091 (XNU_RELOCATOR): New macro.
21092 (grub_xnu_launcher_start): Remove.
21093 (grub_xnu_launcher_end): Likewise.
21094 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
21095 (grub_xnu_heap_real_start): Remove.
21096 (grub_xnu_heap_start): Change to void *. All users updated.
21097 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
21098 * lib/i386/relocator.c: New file.
21099 * lib/i386/relocator_asm.S: Likewise.
21100 * lib/i386/relocator_backward.S: Likewise.
21101 * lib/mips/relocator.c: Likewise.
21102 * lib/mips/relocator_asm.S: Likewise.
21103 * lib/relocator.c: Likewise.
21104 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
21105 (entry): Removed.
21106 (playground): Likewise.
21107 (grub_multiboot_payload_orig): New variable.
21108 (grub_multiboot_payload_dest): Likewise.
21109 (grub_multiboot_payload_size): Likewise.
21110 (grub_multiboot_payload_eip): Likewise.
21111 (grub_multiboot_payload_esp): Likewise.
21112 (grub_multiboot_boot): Use grub_relocator32_boot.
21113 (grub_multiboot_unload): Free relocators.
21114 (grub_multiboot): Setup stack. Use relocators.
21115 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
21116 (grub_multiboot_load_elfXX): Use relocators.
21117 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
21118 (grub_multiboot_payload_size): Likewise.
21119 (grub_multiboot_payload_dest): Likewise.
21120 (grub_multiboot_payload_entry_offset): Likewise.
21121 (grub_multiboot_forward_relocator): Likewise.
21122 (grub_multiboot_backward_relocator): Likewise.
21123 (grub_multiboot_real_boot): Likewise.
21124 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
21125 (grub_xnu_entry_point): Likewise.
21126 (grub_xnu_arg1): Likewise.
21127 (grub_xnu_stack): Likewise.
21128 (grub_xnu_launch): Removed.
21129 (grub_xnu_boot_resume): New function.
21130 (grub_xnu_boot): Use relocators.
21131 * loader/i386/xnu_helper.S: Removed.
21132 * loader/xnu.c (grub_xnu_heap_start): New variable.
21133 (grub_xnu_heap_size): Likewise.
21134 (grub_xnu_heap_malloc): Use relocators.
21135 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
21136
21137 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
21138
21139 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
21140 anything.
21141
21142 2009-12-13 Carles Pina i Estany <carles@pina.cat>
21143
21144 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
21145 GRUB_ERR_NONE before calling grub_env_set.
21146
21147 2009-12-12 Robert Millan <rmh@aybabtu.com>
21148
21149 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
21150 * genmk.rb (video): New variable.
21151 (CLEANFILES, VIDEOFILES): Add #{video}.
21152 (#{video}): New target rule.
21153 * genvideolist.sh: New file.
21154 * Makefile.in (pkglib_DATA): Add video.lst.
21155 (video.lst): New target rule.
21156 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
21157 `video.lst'.
21158 * util/grub.d/30_os-prober.in: Replace `vbe' with
21159 ${GRUB_VIDEO_BACKEND}.
21160
21161 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
21162
21163 * THANKS: Add David Miller.
21164
21165 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
21166
21167 libpciaccess support.
21168
21169 * Makefile.in (LIBPCIACCESS): New variable.
21170 (enable_grub_emu_pci): Likewise.
21171 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
21172 util/pci.c and commands/lspci.c.
21173 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
21174 * configure.ac (grub-emu-pci): New option.
21175 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
21176 (grub_pci_device_unmap_range): Likewise.
21177 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
21178 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
21179 (grub_pci_address_t) [!GRUB_UTIL]: New type.
21180 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
21181 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
21182 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
21183 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
21184 * include/grub/pciutils.h: New file.
21185 * util/pci.c: Likewise.
21186
21187 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
21188
21189 * util/misc.c: Don't include <errno.h> twice.
21190
21191 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
21192
21193 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
21194 name in an error message.
21195 (grub_biosdisk_rw): Likewise.
21196
21197 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21198
21199 Eliminate NTFS 4Gib barrier.
21200
21201 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
21202 (read_run_data): Likewise.
21203 (grub_ntfs_read_run_list): Likewise.
21204 (grub_ntfs_read_block): Likewise.
21205 (grub_ntfs_iterate_dir): Likewise.
21206 (read_mft): Likewise.
21207 (read_data): Likewise.
21208 Use COM_LOG_LEN.
21209 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
21210 to avoid 64-bit division
21211 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
21212 (grub_ntfs_rlst): Use grub_disk_addr_t.
21213
21214 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21215
21216 Eliminate grub-fstest 4Gib barrier.
21217
21218 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
21219 (read_file): Fix error reporting.
21220
21221 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21222
21223 Eliminate hexdump 4Gib barrier.
21224
21225 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
21226 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
21227
21228 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21229
21230 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
21231 Fixes amarsh bug.
21232
21233 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
21234
21235 Remove miscellaneous files in distclean target.
21236
21237 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
21238
21239 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
21240
21241 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
21242 if they're already set. This resolves the conflict between my
21243 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
21244 fixing the --grub-probe option again.
21245 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
21246 change on 2009-10-06, so that we now once again source
21247 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
21248
21249 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
21250
21251 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
21252 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
21253 `util/devicemap.c'.
21254
21255 2009-12-08 Carles Pina i Estany <carles@pina.cat>
21256
21257 * include/grub/misc.h (grub_printf_): New declaration.
21258 * kern/misc.c (grub_printf_): New definition.
21259 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
21260 instead of `grub_printf' and `_'.
21261 * normal/menu_entry.c (store_completion): Likewise.
21262 (run): Likewise.
21263 (grub_menu_entry_run): Likewise.
21264 * normal/menu_text.c (grub_wait_after_message): Likewise.
21265 (notify_booting): Likewise.
21266 (notify_fallback): Likewise.
21267 (notify_execution_failure): Likewise.
21268
21269 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
21270
21271 * configure.ac: Check for vasprintf.
21272 * util/misc.c (asprintf): Move allocation from here ...
21273 (vasprintf): ... to here. New function.
21274 (xasprintf): New function.
21275 * include/grub/util/misc.h (vasprintf, xasprintf): Add
21276 prototypes.
21277 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
21278 * util/grub-mkfont.c (write_font): Likewise.
21279 * util/grub-probe.c (probe): Likewise.
21280 * util/hostdisk.c (make_device_name): Likewise.
21281
21282 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
21283
21284 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
21285 anything even prefixed with 'cdrom' as a cdrom.
21286
21287 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
21288
21289 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
21290 mount points.
21291
21292 2009-12-05 Carles Pina i Estany <carles@pina.cat>
21293
21294 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
21295 grub_gettext_msg_list.
21296 (grub_gettext_gettranslation_from_position): Return const char *
21297 and not char *.
21298 (grub_gettext_translate): Add the translated strings into a list,
21299 returns from the list if existing there.
21300 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
21301 (grub_gettext_delete_list): Delete the list.
21302 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
21303 lang environment variable is changed.
21304 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
21305
21306 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
21307
21308 Rename kernel.mod to kernel.img.
21309
21310 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
21311 (kernel_mod_EXPORTS): Rename to ...
21312 (kernel_img_EXPORTS): ... this.
21313 (kernel_mod_SOURCES): Rename to ...
21314 (kernel_img_SOURCES): ... this.
21315 (kernel_mod_HEADERS): Rename to ...
21316 (kernel_img_HEADERS): ... this. All users updated.
21317 (kernel_mod_CFLAGS): Rename to ...
21318 (kernel_img_CFLAGS): ... this.
21319 (kernel_mod_ASFLAGS): Rename to ...
21320 (kernel_img_ASFLAGS): ... this.
21321 (kernel_mod_LDFLAGS): Rename to ...
21322 (kernel_img_LDFLAGS): ... this.
21323 * conf/x86_64-efi.rmk: Likewise.
21324 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
21325 (read_kernel_image): ... this. All users updated.
21326 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
21327
21328 2009-12-05 Carles Pina i Estany <carles@pina.cat>
21329
21330 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
21331 (print_spaces): New function.
21332 (grub_print_ucs4): New function.
21333 (getstringwidth): New function.
21334 (print_message_indented): New function.
21335 (print_message): Gettexttize strings using print_message_indented.
21336 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
21337 width.
21338 (get_entry_number): Gettextize and uses dynamic terminal width.
21339 (notify_booting, notify_fallback, notify_execution_failure):
21340 Gettextize.
21341 * normal/menu_entry.c (store_completion): Cleanup the gettextized
21342 string.
21343 (run): Likewise.
21344 (grub_menu_entry_run): Likewise.
21345 * PO/POTFILES: Add normal/menu_entry.c.
21346
21347 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
21348
21349 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
21350
21351 2009-12-05 Carles Pina i Estany <carles@pina.cat>
21352
21353 * util/grub-install.in: Install gettext .mo files.
21354 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
21355
21356 2009-12-05 Carles Pina i Estany <carles@pina.cat>
21357
21358 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
21359 grub_dprintf.
21360
21361 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
21362
21363 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
21364 non-firmware-dependant one in realmode.S takes precedence.
21365
21366 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
21367
21368 * commands/halt.c: Replace misc arch-specific headers with
21369 `<grub/misc.h>'.
21370 * commands/reboot.c: Likewise.
21371 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
21372 `<grub/misc.h>'.
21373 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
21374 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
21375 (kernel_img_SOURCES): ... to here.
21376
21377 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
21378 * include/grub/i386/pc/init.h: Likewise.
21379 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
21380 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21381
21382 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
21383
21384 * include/grub/i386/halt.h: Remove.
21385 * include/grub/i386/reboot.h: Likewise.
21386
21387 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
21388
21389 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
21390
21391 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
21392 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
21393 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
21394 "progname.h"
21395 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
21396 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21397 (usage): Add missing comma in printf.
21398
21399 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
21400
21401 Use the same reboot approach on i386 coreboot and qemu as we do on
21402 BIOS.
21403
21404 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
21405 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
21406 * kern/i386/reboot.c: Remove.
21407 * include/grub/i386/reboot.h (grub_reboot): Export function.
21408 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
21409 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
21410 0xf000:0xfff0 instead of 0xffff:0x0000.
21411 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
21412 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
21413
21414 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
21415
21416 Fix $srcdir != $objdir build.
21417
21418 * Makefile.in (po/%.po): Rewrite as ...
21419 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
21420
21421 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
21422
21423 Fix GNU/Hurd grub-install crash.
21424 * util/grub-probe.c (probe): Try to access `path' only when it is not
21425 NULL.
21426
21427 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21428
21429 Correct module naming.
21430
21431 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
21432 (GRUB_MOD_INIT(efi_uga)): ... to this
21433 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
21434 (GRUB_MOD_FINI(efi_uga)): ... to this
21435 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
21436 (GRUB_MOD_INIT(efi_gop)): ... to this
21437 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
21438 (GRUB_MOD_FINI(efi_gop)): ... to this
21439
21440 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
21441
21442 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
21443 translatable.
21444 (usage): Translate `arg' strings using gettext().
21445 Thanks to Jordi Mallach for the suggestion.
21446
21447 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21448
21449 GOP support. Based on patch from Bean
21450 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
21451
21452 * video/efi_gop.c: New file.
21453 * include/grub/efi/graphics_output.h: Likewise.
21454 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
21455 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
21456 variables.
21457 * conf/x86_64-efi.rmk: Likewise.
21458
21459 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21460
21461 Rename efi_fb to efi_uga.
21462
21463 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
21464 'efi_uga.mod'.
21465 (efi_fb_mod_SOURCES): Rename this ...
21466 (efi_uga_mod_SOURCES): ... to this.
21467 (efi_fb_mod_CFLAGS): Rename this ...
21468 (efi_uga_mod_CFLAGS): ... to this.
21469 (efi_fb_mod_LDFLAGS): Rename this ...
21470 (efi_uga_mod_LDFLAGS): ... to this.
21471 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
21472 'efi_uga.mod'.
21473 (efi_fb_mod_SOURCES): Rename this ...
21474 (efi_uga_mod_SOURCES): ... to this.
21475 (efi_fb_mod_CFLAGS): Rename this ...
21476 (efi_uga_mod_CFLAGS): ... to this.
21477 (efi_fb_mod_LDFLAGS): Rename this ...
21478 (efi_uga_mod_LDFLAGS): ... to this.
21479 * video/efi_fb.c: Move this ...
21480 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
21481
21482 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21483
21484 * po/README: New file. Explain our PO file workflow.
21485
21486 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21487
21488 * po/ChangeLog: Remove. Move relevant entries back to ...
21489 * ChangeLog: ... here.
21490 * po/ca.po: Remove (now handled by TLP).
21491 * po/id.po: Likewise.
21492 * po/zh_CN.po: Likewise.
21493 * Makefile.in (LINGUAS): Initialize in a way that supports
21494 empty set.
21495
21496 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21497
21498 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
21499 reliing on po/LINGUAS.
21500 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
21501 (po/%.po): ... this.
21502
21503 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
21504
21505 * util/i386/efi/grub-mkimage.c: Include "progname.h".
21506 (main): Use `program_name' instead of nonexistent `progname'.
21507
21508 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
21509
21510 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21511 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
21512
21513 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
21514
21515 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
21516 commit.
21517 * conf/i386-efi.rmk: Likewise.
21518 * conf/i386-ieee1275.rmk: Likewise.
21519 * conf/powerpc-ieee1275.rmk: Likewise.
21520 * conf/sparc64-ieee1275.rmk: Likewise.
21521 * conf/x86_64-efi.rmk: Likewise.
21522
21523 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
21524
21525 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
21526
21527 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
21528
21529 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
21530
21531 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
21532
21533 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
21534 (grub_mkdevicemap_SOURCES): New variable.
21535 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
21536 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
21537 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
21538 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
21539 (grub_mkdevicemap_SOURCES): Remove.
21540 * conf/i386-efi.rmk: Likewise.
21541 * conf/i386-ieee1275.rmk: Likewise.
21542 * conf/i386-pc.rmk: Likewise.
21543 * conf/powerpc-ieee1275.rmk: Likewise.
21544 * conf/sparc64-ieee1275.rmk: Likewise.
21545 * conf/x86_64-efi.rmk: Likewise.
21546 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
21547 (usage): Fix strings to use `program_name'.
21548 (main): Initialize gettext.
21549 * util/grub-editenv.c: Likewise.
21550 * util/grub-emu.c: Likewise.
21551 * util/grub-fstest.c: Likewise.
21552 * util/grub-mkdevicemap.c: Likewise.
21553 * util/grub-mkfont.c: Likewise.
21554 * util/grub-mkrelpath.c: Likewise.
21555 * util/grub-pe2elf.c: Likewise.
21556 * util/grub-probe.c: Likewise.
21557 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
21558 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
21559 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21560
21561 * util/misc.c: Include `"progname.h"'.
21562 (progname): Remove variable.
21563 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
21564
21565 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
21566
21567 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
21568 printf and print a newline after the menuentry header line.
21569 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21570
21571 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
21572
21573 autoconf >= 2.60 support $(localedir).
21574
21575 * INSTALL: Note that autoconf 2.60 is required.
21576 * configure.ac (AC_PREREQ): Bump to 2.60.
21577 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
21578 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
21579
21580 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
21581
21582 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
21583 aclocal is run.
21584
21585 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
21586
21587 * normal/main.c (grub_normal_read_line): Fix off-by-one
21588 buffer overflow.
21589
21590 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
21591
21592 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
21593 "parser.grub" in grub_command_execute() call.
21594
21595 2009-11-24 Carles Pina i Estany <carles@pina.cat>
21596
21597 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
21598 * conf/i386-efi.rmk: Likewise.
21599 * conf/i386-ieee1275.rmk: Likewise.
21600 * conf/i386-pc.rmk: Likewise.
21601 * conf/powerpc-ieee1275.rmk: Likewise.
21602 * conf/sparc64-ieee1275.rmk: Likewise.
21603 * conf/x86_64-efi.rmk: Likewise.
21604 * gettext/gettex.c: Include <grub/i18n.h>.
21605 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
21606 here ...
21607 * include/grub/i18n.h: ... to here
21608 * include/grub/i18n.h: ... to here.
21609 * kern/misc.c: Include <grub/i18n.h>
21610 (grub_gettext_dummy): Move above user.
21611
21612 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21613
21614 * util/Makefile.in (install-local): Convert a `for' into a normal
21615 shell expansion.
21616
21617 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
21618
21619 * autogen.sh: Add automake call.
21620 * config.guess: Remove.
21621 * config.sub: Likewise.
21622 * install-sh: Likewise.
21623
21624 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21625
21626 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
21627
21628 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21629
21630 * util/Makefile.in (install-local): Convert a make `$(foreach)'
21631 function to a normal shell `for'.
21632
21633 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21634
21635 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21636
21637 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21638
21639 * util/grub-mkrelpath.c: New file.
21640 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
21641 (grub_mkrelpath_SOURCES): New variable.
21642 * include/grub/util/misc.h: New function prototype.
21643 * util/misc.c (make_system_path_relative_to_its_root): New function.
21644
21645 * util/grub-mkconfig_lib.in (bindir): New variable.
21646 (grub_mkrelpath): Likewise.
21647 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
21648
21649 * util/probe.c (probe): Make the file path relative to its root.
21650 Change a info message to use the GRUB path. Enable again the
21651 check if we can read the file with GRUB facilities.
21652
21653 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
21654 to its root.
21655
21656 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21657
21658 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
21659 platform.
21660
21661 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21662
21663 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
21664 strncmp().
21665
21666 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21667
21668 * util/getroot.c (grub_util_is_dmraid): New function.
21669 (grub_util_get_dev_abstraction): Treat dmraid and multipath
21670 devices as normal ones, not as LVM.
21671
21672 2009-11-23 Carles Pina i Estany <carles@pina.cat>
21673
21674 * conf/common.rmk: Add grub-gettext_lib target and updates
21675 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
21676 LDFLAGS.
21677 * gettext/gettext.c: New file. (Reads mo files).
21678 * include/grub/file.h (grub_file_pread): New prototype.
21679 * include/grub/i18n.h (_): New prototype.
21680 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
21681 prototypes.
21682 * kern/misc.c (grub_gettext_dummy): New function.
21683 * normal/menu_text.c: Include <grub/i18n.h>.
21684 * normal/menu_text.c (print_timeout): Gettexttize string.
21685 * normal/menu_text.c (print_message): Gettexttize string.
21686 * po/POTFILES: Add `normal/menu_text.c'.
21687 * po/ca.po: Add new translations.
21688 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
21689 gettext module and defines locale_dir and lang in grub.cfg.
21690 * NEWS: Add gettext support.
21691
21692 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21693
21694 * util/hostdisk.c: Include `<grub/i18n.h>'.
21695 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
21696 (make_device_name): Rewrite using asprintf.
21697 (convert_system_partition_to_system_disk): Replace 0 with NULL.
21698 (find_system_device): If a device is not found, generate one just
21699 by reusing the OS path name.
21700 (read_device_map): Make it permissible for device.map not to exist.
21701
21702 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21703
21704 * script/sh/execute.c: Move from here ...
21705 * script/execute.c: ... to here. Update all users.
21706 * script/sh/function.c: Move from here ...
21707 * script/function.c: ... to here. Update all users.
21708 * script/sh/lexer.c: Move from here ...
21709 * script/lexer.c: ... to here. Update all users.
21710 * script/sh/main.c: Move from here ...
21711 * script/main.c: ... to here. Update all users.
21712 * script/sh/parser.y: Move from here ...
21713 * script/parser.y: ... to here. Update all users.
21714 * script/sh/script.c: Move from here ...
21715 * script/script.c: ... to here. Update all users.
21716
21717 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21718
21719 * configure.ac: Detect all `emu' platforms. Define
21720 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
21721 --enable-grub-emu logic. Disable include/grub/machine
21722 symlink on `emu' platforms.
21723
21724 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
21725 * gensymlist.sh.in: Likewise.
21726
21727 * include/grub/i386/coreboot/machine.h: Remove file.
21728 * include/grub/i386/efi/machine.h: Likewise.
21729 * include/grub/i386/ieee1275/machine.h: Likewise.
21730 * include/grub/i386/pc/machine.h: Likewise.
21731 * include/grub/i386/qemu/machine.h: Likewise.
21732 * include/grub/powerpc/ieee1275/machine.h: Likewise.
21733 * include/grub/sparc64/ieee1275/machine.h: Likewise.
21734 * include/grub/x86_64/efi/machine.h: Likewise.
21735
21736 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
21737 * commands/halt.c: Likewise.
21738 * commands/reboot.c: Likewise.
21739 * include/grub/autoefi.h: Likewise.
21740 * include/grub/i386/at_keyboard.h: Likewise.
21741 * include/grub/i386/kernel.h: Likewise.
21742 * include/grub/i386/loader.h: Likewise.
21743 * include/grub/i386/pc/memory.h: Likewise.
21744 * kern/dl.c: Likewise.
21745 * kern/i386/coreboot/init.c: Likewise.
21746 * loader/i386/bsd.c: Likewise.
21747 * loader/i386/linux.c: Likewise.
21748 * loader/multiboot_loader.c: Likewise.
21749 * term/i386/pc/serial.c: Likewise.
21750 * term/usb_keyboard.c: Likewise.
21751
21752 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
21753 `<grub/machine/machine.h>'
21754 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
21755 * util/misc.c: Remove `<grub/machine/machine.h>' and
21756 `<grub/machine/time.h>'.
21757
21758 * Makefile.in (enable_grub_emu): Remove variable.
21759 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
21760
21761 * conf/any-emu.rmk: New file.
21762 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
21763 (grub_emu_init.c): Move from here ...
21764 * conf/any-emu.rmk: ... to here.
21765
21766 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
21767 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
21768 * conf/any-emu.rmk: ... to here.
21769
21770 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21771
21772 * include/grub/parser.h (grub_parser_register): Document need
21773 of `name' parameter.
21774 * normal/main.c (grub_normal_read_line): Simplify prompt string.
21775 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
21776 "sh" to "grub".
21777
21778 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21779
21780 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
21781 `$(XGETTEXT)'.
21782 * include/grub/i18n.h (N_): New macro.
21783 * util/mkisofs/mkisofs.h: Likewise.
21784 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
21785 around N_().
21786 (usage): Use gettext() to translate help strings when printing them.
21787
21788 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21789
21790 Based on patch from Bean
21791 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
21792
21793 * video/efi_fb.c: New file.
21794 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
21795 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
21796 variables.
21797 * conf/x86_64-efi.rmk: Likewise.
21798
21799 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
21800
21801 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
21802 * util/i386/pc/grub-setup.c: Likewise.
21803
21804 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
21805
21806 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
21807 <hurd/fs.h>
21808 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
21809 file_get_storage_info to implement grub_guess_root_device.
21810
21811 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
21812
21813 * Makefile.in (target): Use make's builtin $(shell) function
21814 instead of calling directly $(SHELL) to create the locale directories,
21815 inside the $(foreach) function.
21816
21817 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
21818
21819 * util/grub-mkrescue.in: Print an error and usage if output option
21820 has not been given.
21821
21822 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
21823
21824 Patch from Loïc Minier <loic.minier@ubuntu.com>.
21825 * util/grub.d/30_os-prober.in: Cope with Linux entries where
21826 root and /boot are on different devices.
21827
21828 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21829
21830 Fix build for srcdir != objdir.
21831
21832 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
21833 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
21834 $(srcdir).
21835 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
21836 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
21837 reference for input.
21838
21839 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21840
21841 * util/grub-mkrescue.in: Use source directory direcly (without copiing
21842 or hardlinking it). Remove -J option, Joliet is not compatible with
21843 multiple source directories.
21844
21845 2009-11-21 Carles Pina i Estany <carles@pina.cat>
21846 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21847
21848 * util/grub-mkrescue.in: Recognize `--override-directory' option.
21849 (process_input_dir): New function. Process an arbitrary input
21850 directory.
21851 Misc adjustments to support both "override mode" and system-wide mode.
21852
21853 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
21854
21855 * configure.ac (UNIFONT_BDF): Rename to ...
21856 (FONT_SOURCE): ... this. Update all users.
21857
21858 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
21859
21860 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
21861 to the list of unifont files to look for.
21862
21863 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21864
21865 Patch from Joe Auricchio <jauricchio@gmail.com>
21866 * commands/minicmd.c (grub_mini_cmd_clear): New function.
21867 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
21868 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
21869
21870 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
21871
21872 * Makefile.in (install-local): Add a missing backslash.
21873
21874 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
21875
21876 * include/grub/x86_64/io.h: New file.
21877
21878 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21879
21880 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
21881 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
21882 Include `"progname.h"'.
21883 (main): Initialize gettext.
21884 * util/i386/pc/grub-setup.c: Gettexttize.
21885 * util/i386/pc/grub-mkimage.c: Likewise.
21886
21887 * Makefile.in (po/*.po): Redefine as ...
21888 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
21889
21890 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
21891
21892 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21893
21894 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
21895 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
21896 (program_name): Remove.
21897 (main): Initialize gettext support.
21898 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
21899 Include `<libintl.h>'.
21900 (_): New macro.
21901
21902 * util/mkisofs/eltorito.c: Gettexttize.
21903 * util/mkisofs/joliet.c: Likewise.
21904 * util/mkisofs/mkisofs.c: Likewise.
21905 * util/mkisofs/multi.c: Likewise.
21906 * util/mkisofs/rock.c: Likewise.
21907 * util/mkisofs/tree.c: Likewise.
21908 * util/mkisofs/write.c: Likewise.
21909
21910 * po/POTFILES: Update with new files.
21911
21912 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21913
21914 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
21915 * util/mkisofs/iso9660.h: Likewise.
21916 * util/mkisofs/joliet.c: Likewise.
21917 * util/mkisofs/mkisofs.c: Likewise.
21918 * util/mkisofs/mkisofs.h: Likewise.
21919 * util/mkisofs/rock.c: Likewise.
21920 * util/mkisofs/tree.c: Likewise.
21921 * util/mkisofs/write.c: Likewise.
21922
21923 * util/mkisofs/eltorito.c (rcsid): Remove.
21924 * util/mkisofs/hash.c: Likewise.
21925 * util/mkisofs/joliet.c: Likewise.
21926 * util/mkisofs/name.c: Likewise.
21927 * util/mkisofs/rock.c: Likewise.
21928 * util/mkisofs/tree.c: Likewise.
21929 * util/mkisofs/write.c: Likewise.
21930
21931 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21932
21933 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
21934 instead of static allocation.
21935 * util/mkisofs/match.h: Likewise.
21936
21937 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21938
21939 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
21940 and `util/grub.d/10_linux.in'.
21941 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
21942 translatable Shell files.
21943
21944 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21945
21946 * Makefile.in ($(srcdir)/aclocal.m4): New target.
21947
21948 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21949
21950 * INSTALL: Document Automake is needed for bootstrap.
21951 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
21952 * util/grub.d/10_kfreebsd.in (bindir): New variable.
21953 Add gettext initialization.
21954 (kfreebsd_entry): Make menuentry output translatable.
21955
21956 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21957
21958 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
21959 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
21960 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
21961 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
21962 (LINGUAS): Auto-generate using `po/LINGUAS'.
21963 * po/LINGUAS: New file.
21964
21965 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21966
21967 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
21968 other things).
21969 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
21970 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
21971 bindtextdomain() calls for gettext initialization.
21972
21973 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21974
21975 * gnulib/progname.c: New file (imported from Gnulib).
21976 * gnulib/progname.h: Likewise.
21977 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21978 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
21979 (usage): Replace `progname' with `program_name'.
21980 (main): Use set_program_name() for program name initialization.
21981
21982 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21983
21984 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
21985 from here ...
21986 * Makefile.in (CPPFLAGS): ... to here.
21987
21988 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21989
21990 * aclocal.m4: Move from here ...
21991 * acinclude.m4: ... to here.
21992 * autogen.sh: Add call to `aclocal'.
21993 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
21994
21995 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21996
21997 * Makefile.in (CLEANFILES): Add `po/*.mo'.
21998 (LINGUAS): New variable.
21999 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
22000 (install-local): Install MO files.
22001 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
22002 * include/grub/i18n.h: New file.
22003 * po/POTFILES: New file.
22004 * po/ca.po: New file.
22005 * util/grub.d/10_linux.in (bindir): New variable.
22006 Add gettext initialization.
22007 (linux_entry): Make menuentry output translatable.
22008 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
22009 (usage): Make --help output translatable.
22010 (main): Initialize gettext.
22011
22012 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22013
22014 * import_gcry.py: New file (written by Vladimir with minor
22015 adjustments).
22016 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
22017 ciphers.
22018 * INSTALL: Document that Python is required for bootstrap.
22019
22020 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22021
22022 Import ciphers from libgcrypt 1.4.4.
22023
22024 * lib/libgcrypt/cipher/ChangeLog
22025 * lib/libgcrypt/cipher/ac.c
22026 * lib/libgcrypt/cipher/arcfour.c
22027 * lib/libgcrypt/cipher/bithelp.h
22028 * lib/libgcrypt/cipher/blowfish.c
22029 * lib/libgcrypt/cipher/camellia-glue.c
22030 * lib/libgcrypt/cipher/camellia.c
22031 * lib/libgcrypt/cipher/camellia.h
22032 * lib/libgcrypt/cipher/cast5.c
22033 * lib/libgcrypt/cipher/cipher.c
22034 * lib/libgcrypt/cipher/crc.c
22035 * lib/libgcrypt/cipher/des.c
22036 * lib/libgcrypt/cipher/dsa.c
22037 * lib/libgcrypt/cipher/ecc.c
22038 * lib/libgcrypt/cipher/elgamal.c
22039 * lib/libgcrypt/cipher/hash-common.c
22040 * lib/libgcrypt/cipher/hash-common.h
22041 * lib/libgcrypt/cipher/hmac-tests.c
22042 * lib/libgcrypt/cipher/md.c
22043 * lib/libgcrypt/cipher/md4.c
22044 * lib/libgcrypt/cipher/md5.c
22045 * lib/libgcrypt/cipher/primegen.c
22046 * lib/libgcrypt/cipher/pubkey.c
22047 * lib/libgcrypt/cipher/rfc2268.c
22048 * lib/libgcrypt/cipher/rijndael-tables.h
22049 * lib/libgcrypt/cipher/rijndael.c
22050 * lib/libgcrypt/cipher/rmd.h
22051 * lib/libgcrypt/cipher/rmd160.c
22052 * lib/libgcrypt/cipher/rsa.c
22053 * lib/libgcrypt/cipher/seed.c
22054 * lib/libgcrypt/cipher/serpent.c
22055 * lib/libgcrypt/cipher/sha1.c
22056 * lib/libgcrypt/cipher/sha256.c
22057 * lib/libgcrypt/cipher/sha512.c
22058 * lib/libgcrypt/cipher/tiger.c
22059 * lib/libgcrypt/cipher/twofish.c
22060 * lib/libgcrypt/cipher/whirlpool.c
22061
22062 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
22063
22064 Fix build for systems without error().
22065
22066 * gnulib/error.c: New file (imported from Gnulib).
22067 * gnulib/error.h: Likewise.
22068 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
22069 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
22070 (this variable is now used by error()).
22071
22072 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
22073
22074 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
22075 instead of relying that char is signed.
22076
22077 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
22078
22079 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
22080 blocksize different from specified.
22081 (grub_pxefs_read): Likewise.
22082
22083 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
22084
22085 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
22086
22087 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
22088 (grub_ata_readwrite): Likewise. Update 2 format strings.
22089 (grub_atapi_read): Likewise.
22090
22091 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
22092 * conf/i386.rmk (pkglib_MODULES): ... to here ...
22093 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
22094 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
22095 (ata_mod_LDFLAGS): Move from here ...
22096 * conf/i386.rmk: ... to here ...
22097 * conf/x86_64-efi.rmk: ... and here.
22098 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
22099 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
22100
22101 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
22102
22103 Relicense multiboot.h, with RMS' blessing.
22104
22105 * include/multiboot.h: Change to X11 license.
22106
22107 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
22108
22109 Support --version in grub-mkisofs.
22110
22111 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
22112 (OPTION_VERSION): New macro.
22113 (ld_options): Recognize --version.
22114 (usage): Move `program_name' from here ...
22115 (program_name): ... to here. Add `static' qualifier.
22116 (main): Recognize `OPTION_VERSION'.
22117
22118 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
22119
22120 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
22121 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
22122
22123 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
22124
22125 Fix help2man generation for mkisofs.
22126
22127 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
22128 (usage): Send output to stdout (rather than stderr).
22129
22130 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
22131
22132 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
22133 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
22134 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
22135 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
22136 (bin_SCRIPTS): Add `grub-mkfloppy'.
22137 (grub_mkfloppy_SOURCES): New variable.
22138
22139 * util/grub-mkrescue.in: New file.
22140 * util/i386/pc/grub-mkfloppy.in: New file.
22141
22142 * util/i386/coreboot/grub-mkrescue.in: Remove.
22143 * util/i386/pc/grub-mkrescue.in: Remove.
22144
22145 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
22146
22147 * include/grub/multiboot.h (struct grub_multiboot_header): Move
22148 from here ...
22149 * include/multiboot.h (struct multiboot_header): ... to here. Update
22150 all users.
22151 * include/grub/multiboot.h (struct grub_multiboot_info): Move
22152 from here ...
22153 * include/multiboot.h (struct multiboot_info): ... to here. Update
22154 all users.
22155 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
22156 from here ...
22157 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
22158 Update all users.
22159 * include/grub/multiboot.h (struct grub_mod_list): Move
22160 from here ...
22161 * include/multiboot.h (struct multiboot_mod_list): ... to here.
22162 Update all users.
22163
22164 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
22165
22166 * include/multiboot2.h (multiboot_word): Rename from this ...
22167 (multiboot2_word): ... to this. Update all users.
22168 (multiboot_header): Rename from this ...
22169 (multiboot2_header): ... to this. Update all users.
22170 (multiboot_tag_header): Rename from this ...
22171 (multiboot2_tag_header): ... to this. Update all users.
22172 (multiboot_tag_start): Rename from this ...
22173 (multiboot2_tag_start): ... to this. Update all users.
22174 (multiboot_tag_name): Rename from this ...
22175 (multiboot2_tag_name): ... to this. Update all users.
22176 (multiboot_tag_module): Rename from this ...
22177 (multiboot2_tag_module): ... to this. Update all users.
22178 (multiboot_tag_memory): Rename from this ...
22179 (multiboot2_tag_memory): ... to this. Update all users.
22180 (multiboot_tag_unused): Rename from this ...
22181 (multiboot2_tag_unused): ... to this. Update all users.
22182 (multiboot_tag_end): Rename from this ...
22183 (multiboot2_tag_end): ... to this. Update all users.
22184
22185 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
22186
22187 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
22188 this platform we should support Multiboot1 first.
22189
22190 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
22191 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
22192 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
22193
22194 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
22195
22196 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
22197 of write calls (converting them to fwrite() if they aren't already).
22198 (get_torito_desc): Likewise.
22199 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
22200
22201 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
22202
22203 * util/i386/pc/grub-install.in: Move from here ...
22204 * util/grub-install.in: ... to here. Update all users.
22205
22206 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
22207
22208 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
22209
22210 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
22211
22212 Support for El Torito without floppy emulation.
22213
22214 * util/mkisofs/eltorito.c: Include `<errno.h>'.
22215 (init_boot_catalog): Improve error handling.
22216 (get_torito_desc): Don't use floppy emulation unless requested by
22217 user. Patch boot information table when requested via
22218 `-boot-info-table'.
22219 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
22220 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
22221 (use_boot_info_table): New variables.
22222 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
22223 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
22224 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
22225 `--eltorito-emul-floppy'.
22226 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
22227 and `OPTION_ELTORITO_EMUL_FLOPPY'.
22228 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
22229 (use_boot_info_table, get_731): New prototypes.
22230 * util/mkisofs/write.c (get_731): New function.
22231
22232 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
22233
22234 Fix the generation of the man page.
22235
22236 * util/pc/i386/grub-install.in: Source
22237 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
22238
22239 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
22240
22241 Large file support for grub-mkisofs.
22242
22243 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
22244 * util/mkisofs/mkisofs.c (next_extent, last_extent)
22245 (session_start): Upgrade type to `uint64_t'. Update all users.
22246 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
22247 (struct directory_entry): Upgrade type of `starting_block' and
22248 `size' to `uint64_t'. Update all users.
22249 (struct deferred): Remove unused structure.
22250 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
22251 Update all users.
22252 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
22253 file is larger than `UINT32_MAX'.
22254 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
22255 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
22256 return value.
22257 (struct deferred_write): Upgrade type of `extent' and `size' to
22258 `uint64_t'. Update all users.
22259 (last_extent_written): Upgrade type to `uint64_t'. Update all
22260 users.
22261 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
22262 Update all users. Upgrade type of `remain' to `int64_t' and
22263 `use' to `size_t'. Use error() to handle fread() errors.
22264 (write_files): Rely on write_one_file() rather than calling
22265 xfwrite() directly.
22266
22267 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
22268
22269 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
22270
22271 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22272
22273 * util/mkisofs/fnmatch.c: Remove.
22274 * util/mkisofs/getopt1.c: Likewise.
22275 * util/mkisofs/getopt.c: Likewise.
22276 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
22277 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
22278 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
22279 `gnulib/getopt1.c' and `gnulib/getopt.c'.
22280 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
22281
22282 * configure.ac: Detect `mingw32msvc' host_os.
22283 Check for lstat(), getuid() and getgid().
22284
22285 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
22286 instances of `u_char' with `uint8_t'.
22287
22288 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
22289 [!HAVE_GETUID] (getuid): New function (stub).
22290 [!HAVE_GETGID] (getgid): Likewise.
22291 [!HAVE_LSTAT] (lstat): Likewise.
22292 [!S_IROTH] (S_IROTH): New macro (dummy).
22293 [!S_IRGRP] (S_IRGRP): Likewise.
22294
22295 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22296
22297 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
22298 conditional expression).
22299
22300 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22301
22302 Import from Gnulib.
22303
22304 * gnulib/fnmatch.c: New file.
22305 * gnulib/fnmatch.h: Likewise.
22306 * gnulib/fnmatch_loop.c: Likewise.
22307 * gnulib/getopt.c: Likewise.
22308 * gnulib/getopt.h: Likewise.
22309 * gnulib/getopt1.c: Likewise.
22310 * gnulib/getopt_int.h: Likewise.
22311 * gnulib/gettext.h: Likewise.
22312
22313 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22314
22315 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
22316 * normal/handler.c (read_handler_list): Likewise.
22317
22318 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22319
22320 Misc cleanup.
22321
22322 * kern/command.c (grub_register_command_prio): Use
22323 grub_zalloc() instead of explicitly zeroing data.
22324 * kern/list.c: Include `<grub/mm.h>'.
22325 (grub_named_list_find): Replace `0' with `NULL'.
22326 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
22327 (fs_module_list): Change type to `grub_named_list_t'. Update all
22328 users.
22329 * normal/dyncmd.c (read_command_list): Add space between function
22330 call and parenthesis.
22331 * normal/handler.c (read_handler_list): Likewise.
22332
22333 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22334
22335 * normal/auth.c (punishment_delay): Moved from here ...
22336 (grub_auth_strcmp): ... to here (inside function).
22337
22338 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22339
22340 * include/grub/list.h (struct grub_named_list): Remove `const'
22341 qualifier from `name'.
22342 (struct grub_prio_list): Likewise.
22343
22344 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22345
22346 * normal/auth.c: Include `<grub/time.h>'.
22347 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
22348
22349 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22350
22351 * normal/auth.c (punishment_delay): New variable.
22352 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
22353 (grub_auth_check_authentication): Punish failed login attempts with
22354 an incremental (2^N) delay.
22355
22356 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22357
22358 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
22359 path with $(srcdir).
22360
22361 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
22362
22363 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
22364
22365 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22366
22367 * util/i386/coreboot/grub-mkrescue.in: New file.
22368 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
22369 variables.
22370
22371 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
22372 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
22373 * configure.ac: Add header and function checks to satisfy grub-mkisofs
22374 requirements.
22375 * util/mkisofs/defaults.h: New file.
22376 * util/mkisofs/eltorito.c: Likewise.
22377 * util/mkisofs/exclude.h: Likewise.
22378 * util/mkisofs/fnmatch.c: Likewise.
22379 * util/mkisofs/getopt.c: Likewise.
22380 * util/mkisofs/getopt1.c: Likewise.
22381 * util/mkisofs/hash.c: Likewise.
22382 * util/mkisofs/include/fctldefs.h: Likewise.
22383 * util/mkisofs/include/mconfig.h: Likewise.
22384 * util/mkisofs/include/prototyp.h: Likewise.
22385 * util/mkisofs/include/statdefs.h: Likewise.
22386 * util/mkisofs/iso9660.h: Likewise.
22387 * util/mkisofs/joliet.c: Likewise.
22388 * util/mkisofs/match.c: Likewise.
22389 * util/mkisofs/match.h: Likewise.
22390 * util/mkisofs/mkisofs.c: Likewise.
22391 * util/mkisofs/mkisofs.h: Likewise.
22392 * util/mkisofs/multi.c: Likewise.
22393 * util/mkisofs/name.c: Likewise.
22394 * util/mkisofs/rock.c: Likewise.
22395 * util/mkisofs/tree.c: Likewise.
22396 * util/mkisofs/write.c: Likewise.
22397
22398 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
22399
22400 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
22401 being insecure.
22402
22403 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22404
22405 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
22406 `grub-mkimage' (and use $0 when possible).
22407
22408 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22409
22410 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
22411 error message for excessively large memory map.
22412
22413 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22414
22415 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
22416 executable bit.
22417
22418 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22419
22420 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
22421 message for coreboot users.
22422
22423 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
22424
22425 Fix build with GNU gold.
22426
22427 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
22428 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
22429 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
22430 link addresses.
22431 * aclocal.m4: Likewise.
22432
22433 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
22434
22435 * configure.ac (AC_PREREQ): Bump to 2.59d.
22436 * INSTALL: Make it more clear when Autoconf and Ruby are
22437 needed and when to run `./autogen.sh'.
22438
22439 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
22440
22441 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
22442 OSes.
22443
22444 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22445
22446 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
22447
22448 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22449
22450 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
22451 giving it to GNU Mach.
22452
22453 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22454
22455 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
22456 GNU partition number to get internal GRUB partition number.
22457
22458 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22459
22460 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
22461 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
22462
22463 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
22464
22465 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
22466 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
22467 case.
22468
22469 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
22470
22471 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
22472
22473 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
22474
22475 Fix build problem.
22476
22477 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
22478 `-isystem=$(srcdir)/include'.
22479
22480 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
22481
22482 * util/i386/pc/grub-install.in: Remove hint that device.map should be
22483 checked (grub-install doesn't currently rely on it).
22484
22485 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
22486
22487 Revert SVN r2660.
22488
22489 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
22490 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
22491 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
22492 * conf/i386-ieee1275.rmk: Likewise.
22493 * conf/i386-pc.rmk: Likewise.
22494 * conf/powerpc-ieee1275.rmk: Likewise.
22495 * conf/sparc64-ieee1275.rmk: Likewise.
22496 * conf/x86_64-efi.rmk: Likewise.
22497
22498 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22499
22500 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
22501
22502 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22503
22504 * include/grub/misc.h: Stop checking for APPLE_CC.
22505
22506 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22507
22508 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
22509 doesn't cause an infinite call loop.
22510
22511 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
22512
22513 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
22514 strings.
22515
22516 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22517
22518 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
22519 variable.
22520 * Makefile.in: Likewise.
22521
22522 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22523
22524 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
22525
22526 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22527
22528 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
22529
22530 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22531
22532 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
22533
22534 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22535
22536 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
22537 from here ...
22538 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
22539
22540 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22541
22542 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
22543 in $(MAKEINFO) invocation. This makes it clear in output that
22544 errors are being ignored.
22545
22546 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22547
22548 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
22549 from here ...
22550 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
22551 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
22552 * conf/i386-ieee1275.rmk: Likewise.
22553 * conf/i386-pc.rmk: Likewise.
22554 * conf/powerpc-ieee1275.rmk: Likewise.
22555 * conf/sparc64-ieee1275.rmk: Likewise.
22556 * conf/x86_64-efi.rmk: Likewise.
22557
22558 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
22559
22560 * util/grub-editenv.c (main): If only a command is given, use
22561 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
22562 (usage): FILENAME is now optional and has a default.
22563
22564 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
22565
22566 Improve grub-mkconfig performance when there are several menu
22567 entries on a single filesystem.
22568
22569 * util/grub.d/10_linux.in (linux_entry): Cache the output of
22570 prepare_grub_to_access_device.
22571 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
22572 * util/grub.d/30_os-prober.in: Likewise.
22573
22574 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22575
22576 * util/grub.d/10_freebsd.in: Remove.
22577 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
22578 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
22579
22580 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22581
22582 * docs/grub.cfg: Fix example usage of *BSD loaders.
22583
22584 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22585
22586 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
22587 grub_util_error() call.
22588
22589 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22590
22591 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
22592 `reserved_first_sector' member.
22593 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
22594 `reserved_first_sector' to 1.
22595 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
22596 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
22597 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
22598 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
22599 filesystems which begin at first sector.
22600 (options): New option --skip-fs-probe.
22601 (main): Handle --skip-fs-probe and pass it to setup().
22602
22603 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22604
22605 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
22606 (memset): Fix function prototype.
22607
22608 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22609 2009-10-25 Vasily Averin <vvs@parallels.com>
22610
22611 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
22612 `dirent.direntlen == 0'.
22613
22614 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22615
22616 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
22617 `cpio'.
22618 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
22619
22620 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22621
22622 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
22623 `__trampoline_setup' and `__ucmpdi2'.
22624 * include/grub/powerpc/libgcc.h: Only export symbols for functions
22625 that libgcc provides.
22626
22627 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22628
22629 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
22630 * include/grub/sparc64/libgcc.h (memset): Likewise.
22631 * include/grub/misc.h (memset, memcmp): New function prototypes.
22632
22633 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22634
22635 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
22636 `cpio'.
22637 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
22638
22639 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22640
22641 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
22642 * docs/grub.cfg: Compensate for recent change in multiboot
22643 loader (since 2009-08-14 it won't pass filename to payload).
22644 * util/grub.d/10_hurd.in: Likewise.
22645
22646 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
22647
22648 * config.guess: Update to latest version from config git
22649 repository.
22650 * config.sub: Likewise.
22651
22652 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
22653
22654 Fix build on sparc64.
22655
22656 * configure.ac: Perform checks for libgcc symbols before
22657 adding `-nostdlib' to LDFLAGS.
22658
22659 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22660
22661 Let user specify OpenBSD root device.
22662
22663 * loader/i386/bsd.c (openbsd_root): New variable.
22664 (openbsd_opts): New option 'root'.
22665 (OPENBSD_ROOT_ARG): New macro.
22666 (grub_openbsd_boot): Use 'openbsd_root'.
22667 (grub_cmd_openbsd): Fill 'openbsd_root'.
22668
22669 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
22670
22671 * NEWS: Misc adjustments.
22672
22673 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22674
22675 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
22676
22677 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
22678
22679 * configure.ac: Bump version to 1.97.
22680
22681 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
22682
22683 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
22684 -mno-3dnow on x86 architectures. Some toolchains enable these
22685 features by default, but they rely on registers that aren't enabled
22686 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
22687
22688 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
22689
22690 Make entry text a bit more readable.
22691
22692 * util/grub.d/10_linux.in: Add `with' before `Linux'.
22693
22694 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22695
22696 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
22697
22698 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22699
22700 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
22701 operations.
22702
22703 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22704
22705 * configure.ac: Add missing dollar.
22706
22707 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22708
22709 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
22710
22711 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
22712 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
22713 exports.
22714 * include/grub/sparc64/libgcc.h: Likewise. Use
22715 preprocessor conditionals.
22716
22717 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
22718
22719 * conf/common.rmk (grub-dumpbios): Remove rule.
22720 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
22721 * util/grub-dumpbios.in: Remove file.
22722
22723 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
22724
22725 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
22726 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
22727
22728 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
22729 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
22730 users.
22731
22732 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
22733 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
22734 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
22735 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
22736 users.
22737
22738 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
22739
22740 * term/tparm.c: Switch to GPLv3.
22741
22742 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
22743
22744 * include/grub/i386/cpuid.h: Add header protection.
22745
22746 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
22747
22748 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
22749
22750 * include/grub/i386/cpuid.h: New file.
22751 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
22752 (has_longmode): Rename to ...
22753 (grub_cpuid_has_longmode): ... this. Update all users. Remove
22754 `static' attribute.
22755 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
22756 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
22757 on a CPU that doesn't implement AMD64 instruction set.
22758
22759 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
22760
22761 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
22762 that version.texi is rebuilt on version number changes.
22763
22764 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
22765
22766 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
22767 Fixes bug #27602.
22768
22769 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
22770
22771 * util/i386/pc/grub-install.in: Source
22772 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
22773 that the --grub-probe option will work.
22774 * util/sparc64/ieee1275/grub-install.in: Likewise.
22775
22776 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
22777
22778 * configure.ac: Bump version to 1.97~beta4.
22779
22780 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
22781
22782 Resync grub-mkdevicemap in x86_64-efi.
22783
22784 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
22785 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
22786 `util/devicemap.c'.
22787
22788 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
22789
22790 * util/grub-editenv.c (create_envblk_file): Write new block with a
22791 .new suffix and then rename it into place, to ensure atomic
22792 creation.
22793
22794 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
22795
22796 Do not automatically install headers.
22797
22798 * Makefile.in (include_DATA): Remove. Update all users.
22799
22800 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
22801
22802 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
22803 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
22804
22805 * util/osdetect.lua: Remove.
22806 * script/lua/lauxlib.c: Likewise.
22807 * script/lua/ldebug.c: Likewise.
22808 * script/lua/grub_main.c: Likewise.
22809 * script/lua/lauxlib.h: Likewise.
22810 * script/lua/ldebug.h: Likewise.
22811 * script/lua/ltablib.c: Likewise.
22812 * script/lua/liolib.c: Likewise.
22813 * script/lua/lstrlib.c: Likewise.
22814 * script/lua/lualib.h: Likewise.
22815 * script/lua/ldo.c: Likewise.
22816 * script/lua/ldump.c: Likewise.
22817 * script/lua/ldo.h: Likewise.
22818 * script/lua/loslib.c: Likewise.
22819 * script/lua/lundump.c: Likewise.
22820 * script/lua/grub_lib.c: Likewise.
22821 * script/lua/ldblib.c: Likewise.
22822 * script/lua/lundump.h: Likewise.
22823 * script/lua/lmem.c: Likewise.
22824 * script/lua/grub_lib.h: Likewise.
22825 * script/lua/lmathlib.c: Likewise.
22826 * script/lua/lstate.c: Likewise.
22827 * script/lua/ltm.c: Likewise.
22828 * script/lua/lvm.c: Likewise.
22829 * script/lua/lmem.h: Likewise.
22830 * script/lua/lstate.h: Likewise.
22831 * script/lua/ltm.h: Likewise.
22832 * script/lua/ltable.c: Likewise.
22833 * script/lua/lvm.h: Likewise.
22834 * script/lua/llex.c: Likewise.
22835 * script/lua/lgc.c: Likewise.
22836 * script/lua/grub_lua.h: Likewise.
22837 * script/lua/loadlib.c: Likewise.
22838 * script/lua/lfunc.c: Likewise.
22839 * script/lua/lopcodes.c: Likewise.
22840 * script/lua/lparser.c: Likewise.
22841 * script/lua/ltable.h: Likewise.
22842 * script/lua/llex.h: Likewise.
22843 * script/lua/lgc.h: Likewise.
22844 * script/lua/lfunc.h: Likewise.
22845 * script/lua/lbaselib.c: Likewise.
22846 * script/lua/lopcodes.h: Likewise.
22847 * script/lua/lparser.h: Likewise.
22848 * script/lua/lzio.c: Likewise.
22849 * script/lua/linit.c: Likewise.
22850 * script/lua/lobject.c: Likewise.
22851 * script/lua/llimits.h: Likewise.
22852 * script/lua/lstring.c: Likewise.
22853 * script/lua/lzio.h: Likewise.
22854 * script/lua/lapi.c: Likewise.
22855 * script/lua/lcode.c: Likewise.
22856 * script/lua/lua.h: Likewise.
22857 * script/lua/lobject.h: Likewise.
22858 * script/lua/lstring.h: Likewise.
22859 * script/lua/lapi.h: Likewise.
22860 * script/lua/lcode.h: Likewise.
22861 * script/lua/luaconf.h: Likewise.
22862
22863 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
22864
22865 * docs/grub.texi (Command-line and menu entry commands): Document
22866 date and echo commands.
22867
22868 2009-09-24 Pavel Roskin <proski@gnu.org>
22869
22870 * include/grub/kernel.h (struct grub_module_header): Remove
22871 `grub_module_header_types'. Make `type' unsigned. Make `size'
22872 32-bit on all platforms.
22873 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
22874 8-bit field. Use grub_host_to_target32() for `size'.
22875 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
22876 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
22877 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
22878
22879 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22880
22881 Fix "lost keypress" bug in at_keyboard.
22882
22883 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
22884 Checks for readyness of input buffer (without flushing it).
22885 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
22886 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
22887
22888 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22889
22890 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
22891 size check within GRUB_MACHINE_PCBIOS section.
22892
22893 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22894
22895 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
22896 return value.
22897 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
22898 KEYBOARD_ISREADY check.
22899 (grub_at_keyboard_checkkey): Rename to ...
22900 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
22901 Remove gratuitous cast.
22902
22903 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
22904
22905 * configure.ac: Call AC_PROG_MKDIR_P.
22906 * Makefile.in (docs/stamp-vti): Create docs directory. Create
22907 version.texi in $(builddir) rather than $(srcdir).
22908 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
22909 to makeinfo's @include search path.
22910
22911 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
22912
22913 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
22914
22915 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
22916
22917 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
22918 for `*.dpkg-new'.
22919
22920 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
22921
22922 Build info documentation. Some code borrowed from Automake.
22923
22924 * configure.ac: Check for makeinfo.
22925 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
22926 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
22927 docs/version.texi.
22928 (MOSTLYCLEANFILES): Add vti.tmp.
22929 (docs/version.texi, docs/stamp-vti): Update automatically.
22930 (docs/grub.info): Build info documentation. Use --force and ignore
22931 errors for now.
22932 (all-local): Add $(INFOS).
22933 (install-local): Install info files.
22934 (uninstall): Uninstall info files.
22935 * docs/version.texi: Remove from revision control. This file is
22936 automatically generated on build now.
22937 * gendistlist.sh: Add `*.info'.
22938
22939 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
22940
22941 * kern/term.c: Fix indentation.
22942
22943 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
22944
22945 * util/hostdisk.c: Fix a comment.
22946
22947 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
22948
22949 Fix regression introduced in r2539.
22950
22951 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
22952 to 0xA1.
22953
22954 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
22955
22956 * util/grub.d/30_os-prober.in: Don't throw away stderr from
22957 os-prober. Under normal operation, it does not print anything to
22958 stderr; if it does, we need to debug it, and throwing away stderr
22959 makes that excessively difficult.
22960
22961 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
22962
22963 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
22964
22965 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
22966
22967 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
22968 AC_LANG_PROGRAM from autoconf.
22969 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
22970 prototypes (fixes warning).
22971
22972 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
22973 `--disable-werror' was used.
22974
22975 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
22976
22977 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
22978 uninitialized `lastaddr'.
22979
22980 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22981
22982 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
22983
22984 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
22985
22986 * commands/test.c (get_fileinfo): Return immediately if
22987 grub_fs_probe fails.
22988
22989 2009-09-14 José Martínez <xosemp@gmail.com>
22990
22991 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
22992
22993 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
22994
22995 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
22996 output.
22997
22998 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
22999
23000 * configure.ac: Remove --enable-grub-pe2elf. Only build
23001 grub-pe2elf when needed by the build system itself.
23002 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
23003
23004 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
23005
23006 * configure.ac: Bump version to 1.97~beta3.
23007 * docs/version.texi: Likewise.
23008
23009 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
23010
23011 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
23012 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
23013 from here ...
23014 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
23015 (grub_linux_setup_video): ... to here (with some adjustments).
23016
23017 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
23018
23019 Fix memory corruption issue (spotted by Colin Watson).
23020
23021 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
23022 causing returned size to be stored in an incorrect memory location.
23023 Fix use of uninitialized value when storing the returned size.
23024
23025 2009-09-12 Yves Blusseau <blusseau@zetam.org>
23026
23027 Change clean rules to properly remove files
23028
23029 * genmk.rb: add new clean rules
23030 * Makefile.in (clean): add the new targets
23031 (mostlyclean): likewise
23032
23033 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
23034
23035 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
23036 to grub_uint64_t.
23037 * fs/ntfs.c (init_file): Understand 64-bit sizes for
23038 non-resident files.
23039
23040 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
23041
23042 * configure.ac: Don't look for help2man when cross-compiling. Fixes
23043 part of bug #27349.
23044
23045 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
23046
23047 * util/grub-mkconfig.in: Make the created config mode 400 and
23048 print a warning if it fails.
23049
23050 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
23051
23052 * util/grub.d/40_custom.in: Ask user to type custom entries below
23053 comment, rather than below 'exec tail' line.
23054
23055 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
23056
23057 * util/grub.d/40_custom.in: Make sure that the explanatory text is
23058 visible in grub.cfg.
23059
23060 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
23061
23062 * util/grub.d/40_custom.in: Make it a little clearer how to use this
23063 file.
23064
23065 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
23066
23067 * docs/grub.cfg: Add an example menu entry for memtest86+.
23068
23069 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
23070
23071 * config.guess: Update to latest version from config git.
23072 * config.sub: Likewise.
23073
23074 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
23075
23076 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
23077 unknown-command case. Fixes bug #27320.
23078
23079 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
23080
23081 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
23082 `help' if the command exists.
23083
23084 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
23085
23086 * INSTALL: Require GCC 4.1.3 or later.
23087
23088 2009-09-06 Yves Blusseau <blusseau@zetam.org>
23089
23090 * Makefile.in (RMKFILES): add i386-qemu.rmk
23091 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
23092 $(srcdir)/stamp-h.in
23093
23094 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
23095
23096 * util/grub-probe.c (probe): Comment out buggy codepath, which
23097 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
23098 should be re-enabled after 1.97.
23099
23100 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
23101
23102 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
23103 find searches for.
23104
23105 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
23106
23107 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
23108 unnecessary calls to grub_error.
23109
23110 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
23111
23112 * NEWS: Mention `keystatus' and Unicode fonts.
23113
23114 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
23115
23116 * configure.ac: Bump version to 1.97~beta2.
23117 * docs/version.texi: Likewise.
23118
23119 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
23120
23121 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
23122 containing unwind information in some cases where it previously did
23123 not. Use -fno-dwarf2-cfi-asm if available to restore the old
23124 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
23125 discussion.
23126
23127 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
23128
23129 Embedding loadenv module into grub-emu
23130
23131 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
23132 commands/loadenv.c
23133 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
23134 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
23135 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
23136 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
23137 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
23138 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
23139
23140 2009-09-03 Magnus Granberg <zorry@ume.nu>
23141
23142 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
23143 include -fPIE in the default specs.
23144 * configure.ac: Check if pie_possible is yes and add -fno-PIE
23145 to TARGET_CFLAGS.
23146
23147 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
23148
23149 * INSTALL: Note that GNU Bison 2.3 or later is required.
23150
23151 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
23152
23153 * kern/i386/pc/startup.S: Fix typo.
23154
23155 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23156
23157 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
23158 according to GCS.
23159
23160 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
23161
23162 * docs/grub.texi (Naming convention): Describe one-based partition
23163 numbering.
23164 (Device syntax): Likewise.
23165 (File name syntax): Likewise.
23166 (Block list syntax): Likewise.
23167 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
23168 menu.lst.
23169 (File name syntax): Likewise.
23170 (Command-line and menu entry commands): Document acpi, blocklist,
23171 crc, export, insmod, keystatus, ls, set, and unset commands.
23172
23173 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
23174
23175 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
23176 to avoid implying that only one of --shift, --ctrl, or --alt may be
23177 used.
23178
23179 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
23180
23181 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
23182 rather than comparing against S_IFREG, which will almost never work.
23183
23184 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
23185
23186 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
23187 (write_blocklists): Likewise.
23188
23189 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
23190
23191 * script/lua/grub_lua.h (fputs): Supply a format string as the first
23192 argument to grub_printf.
23193
23194 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
23195
23196 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
23197 non GNU test.
23198
23199 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23200
23201 * kern/file.c (grub_file_read): Spelling fix
23202
23203 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23204
23205 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
23206 loading of headers in some cases.
23207
23208 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
23209
23210 * configure.ac: Bump version to 1.97~beta1.
23211 * docs/version.texi: Likewise.
23212
23213 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23214
23215 * include/grub/i386/xnu.h: Add license header.
23216 include grub/err.h explicitly.
23217
23218 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
23219
23220 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
23221 to `ufs' in the vfs.root.mountfrom kernel parameter.
23222
23223 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
23224
23225 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
23226
23227 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
23228 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
23229
23230 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
23231 `ARRAY_SIZE' macro.
23232
23233 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23234
23235 * kern/file.c (grub_file_read): Check offset.
23236 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
23237 * fs/jfs.c (grub_jfs_read_file): Likewise.
23238 * fs/ntfs.c (grub_ntfs_read): Likewise.
23239 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
23240 * fs/minix.c (grub_minix_read_file): Correct offset check.
23241 * fs/ufs.c (grub_ufs_read_file): Likewise.
23242
23243 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
23244
23245 * term/i386/pc/console.c (bios_data_area): Cast
23246 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
23247
23248 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23249
23250 1-bit optimised blitters.
23251
23252 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
23253 prototype.
23254 (grub_video_fbblit_replace_24bit_1bit): Likewise.
23255 (grub_video_fbblit_replace_16bit_1bit): Likewise.
23256 (grub_video_fbblit_replace_8bit_1bit): Likewise.
23257 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
23258 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
23259 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
23260 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
23261 function.
23262 (grub_video_fbblit_replace_24bit_1bit): Likewise.
23263 (grub_video_fbblit_replace_16bit_1bit): Likewise.
23264 (grub_video_fbblit_replace_8bit_1bit): Likewise.
23265 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
23266 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
23267 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
23268 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
23269 when possible.
23270 * video/video.c (grub_video_get_blit_format): Return
23271 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
23272
23273 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
23274
23275 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
23276 the first argument to grub_printf.
23277
23278 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
23279 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
23280
23281 Add `getkeystatus' terminal method. Add a new `keystatus' command
23282 to query it.
23283
23284 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
23285 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
23286 modifier key bitmasks.
23287 (struct grub_term_input): Add `getkeystatus' member.
23288 (grub_getkeystatus): Add prototype.
23289 * kern/term.c (grub_getkeystatus): New function.
23290
23291 * include/grub/i386/pc/memory.h
23292 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
23293 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
23294 Data Area layout.
23295 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
23296 (grub_console_term_input): Set `getkeystatus' member.
23297 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
23298 constants.
23299 (grub_usb_keyboard_getreport): Likewise.
23300 (grub_usb_keyboard_checkkey): Likewise.
23301 (grub_usb_keyboard_getkeystatus): New function.
23302 (grub_usb_keyboard_term): Set `getkeystatus' member.
23303
23304 * commands/keystatus.c: New file.
23305 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
23306 (keystatus_mod_SOURCES): New variable.
23307 (keystatus_mod_CFLAGS): Likewise.
23308 (keystatus_mod_LDFLAGS): Likewise.
23309 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
23310 commands/keystatus.c.
23311 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23312 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23313 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23314 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23315 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23316 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23317
23318 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23319
23320 Split befs.mod and afs.mod into *_be.mod and *.mod
23321
23322 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
23323 (grub_fstest_SOURCES): Likewise.
23324 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
23325 (afs_be_mod_SOURCES): New variable.
23326 (afs_be_mod_CFLAGS): Likewise.
23327 (afs_be_mod_LDFLAGS): Likewise.
23328 (befs_be_mod_SOURCES): Likewise.
23329 (befs_be_mod_CFLAGS): Likewise.
23330 (befs_be_mod_LDFLAGS): Likewise.
23331 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
23332 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23333 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23334 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23335 (grub_emu_SOURCES): Likewise.
23336 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23337 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23338 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23339 * fs/afs_be.c: New file.
23340 * fs/befs_be.c: New file.
23341 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
23342 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
23343 (U16): Replaced with ...
23344 (grub_afs_to_cpu16): ...this. All users updated.
23345 (U32): Replaced with ...
23346 (grub_afs_to_cpu32): ...this. All users updated.
23347 (U64): Replaced with ...
23348 (grub_afs_to_cpu64): ...this. All users updated.
23349 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
23350 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
23351 (grub_afs_validate_sblock): Check only one endianness.
23352 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
23353 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
23354 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
23355 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
23356 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
23357 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
23358 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
23359 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
23360
23361 2009-08-26 Bean <bean123ch@gmail.com>
23362
23363 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
23364 64-bit number.
23365 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
23366 (grub_xfs_inode_block): Change return type to grub_uint64_t.
23367 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
23368
23369 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23370
23371 NetBSD memory map support.
23372
23373 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
23374 (grub_netbsd_btinfo_mmap_header): New structure.
23375 (grub_netbsd_btinfo_mmap_entry): Likewise.
23376 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
23377
23378 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23379
23380 Enable bsd.mod on coreboot.
23381
23382 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
23383 (bsd_mod_SOURCES): New variable.
23384 (bsd_mod_CFLAGS): Likewise.
23385 (bsd_mod_LDFLAGS): Likewise.
23386 (bsd_mod_ASFLAGS): Likewise.
23387 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
23388 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
23389
23390 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23391
23392 Cleanup NetBSD root support.
23393
23394 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
23395 grub_bsd_get_device.
23396 Fix typo.
23397
23398 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
23399
23400 * util/grub.d/00_header.in: Move check for the video backend of
23401 gfxterm from here ...
23402 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
23403 a suitable video backend.
23404
23405 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23406
23407 Fix breakage in grub-setup.
23408
23409 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
23410 "msdos_partition_map".
23411
23412 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23413
23414 Fix breakage in normal/auth.c.
23415
23416 * normal/auth.c (grub_iswordseparator): New function.
23417
23418 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23419
23420 Authentication support.
23421
23422 * commands/password.c: New file.
23423 * conf/common.rmk (pkglib_MODULES): Add password.mod.
23424 (password_mod_SOURCES): New variable.
23425 (password_mod_CFLAGS): Likewise.
23426 (password_mod_LDFLAGS): Likewise.
23427 (normal_mod_SOURCES): Add normal/auth.c.
23428 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
23429 normal/auth.c.
23430 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23431 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23432 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23433 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23434 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23435 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23436 * include/grub/auth.h: New file.
23437 * include/grub/err.h (grub_err_t): New enum value
23438 GRUB_ERR_ACCESS_DENIED.
23439 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
23440 'users'.
23441 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
23442 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
23443 users updated.
23444 * normal/auth.c: New file.
23445 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
23446 (grub_cmdline_run): Don't allow to go to command line without
23447 authentication.
23448 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
23449 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
23450 menuentry without superuser rights.
23451 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
23452 user isn't a superuser.
23453
23454 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23455
23456 Save space by inlining misc.c functions.
23457
23458 * kern/misc.c (grub_iswordseparator): Made static.
23459 * kern/misc.c (grub_strcat): Moved from here ...
23460 * include/grub/misc.h (grub_strcat): ... here. Inlined.
23461 * kern/misc.c (grub_strncat): Moved from here ...
23462 * include/grub/misc.h (grub_strncat): ... here. Inlined.
23463 * kern/misc.c (grub_strcasecmp): Moved from here ...
23464 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
23465 * kern/misc.c (grub_strncasecmp): Moved from here ...
23466 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
23467 * kern/misc.c (grub_isalpha): Moved from here ...
23468 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
23469 * kern/misc.c (grub_isdigit): Moved from here ...
23470 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
23471 * kern/misc.c (grub_isgraph): Moved from here ...
23472 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
23473 * kern/misc.c (grub_tolower): Moved from here ...
23474 * include/grub/misc.h (grub_tolower): ... here. Inlined.
23475
23476 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23477
23478 * script/sh/function.c (grub_script_function_find): Cut error message
23479 not to flood terminal.
23480 * script/sh/lexer.c (grub_script_yylex): Remove command line length
23481 limit.
23482 * script/sh/script.c (grub_script_arg_add): Duplicate string.
23483
23484 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
23485
23486 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
23487 `report' grub_uint8_t *.
23488 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
23489 Use a 50-millisecond timeout rather than just repeating
23490 grub_usb_keyboard_getreport 50 times.
23491 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
23492
23493 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23494
23495 Rename *_partition_map to part_*
23496
23497 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
23498 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
23499 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
23500 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
23501 All users updated.
23502 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
23503 All users updated.
23504 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
23505 * util/grub-probe.c (probe_partmap): Don't transform partition name
23506 to get module name.
23507
23508 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23509
23510 Fix OpenBSD and NetBSD support.
23511
23512 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
23513 memory address conflict.
23514 (OPENBSD_MMAP_ACPI): New definition.
23515 (OPENBSD_MMAP_NVS): Likewise.
23516 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
23517 and OPENBSD_MMAP_NVS.
23518 Add memory map terminator
23519 Explicit cast when calling grub_unix_real_boot.
23520 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
23521
23522 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23523
23524 Let user specify NetBSD root device.
23525
23526 * loader/i386/bsd.c (netbsd_root): New variable.
23527 (netbsd_opts): New option 'root'.
23528 (NETBSD_ROOT_ARG): New macro.
23529 (grub_netbsd_boot): Use 'netbsd_root'.
23530 (grub_bsd_unload): Free 'netbsd_root'.
23531 (grub_cmd_netbsd): Fill 'netbsd_root'.
23532
23533 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23534
23535 Support for 64-bit NetBSD.
23536
23537 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
23538 point when booting non-FreeBSD.
23539
23540 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23541
23542 Support --no-smp and --no-acpi for NetBSD.
23543
23544 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
23545 (NETBSD_AB_NOACPI): Likewise.
23546 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
23547 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
23548
23549 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23550
23551 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
23552 errors.
23553 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
23554 errors. Call grub_error when needed.
23555
23556 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23557
23558 * commands/search.c (search_fs): Try searching without autoload first.
23559 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
23560 filesystem module explicitly for faster booting.
23561
23562 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
23563
23564 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
23565
23566 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
23567
23568 * util/grub.d/30_os-prober.in: Disable os-prober if
23569 `GRUB_DISABLE_OS_PROBER' was set to true.
23570
23571 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
23572
23573 * partmap/pc.c: Rename to ...
23574 * partmap/msdos.c: ... this. Update all users.
23575 (grub_pc_partition_map): Rename to ...
23576 (grub_msdos_partition_map): ... this. Update all users.
23577
23578 * parttool/pcpart.c: Rename to ...
23579 * parttool/msdospart.c: ... this. Update all users.
23580
23581 * include/grub/pc_partition.h: Rename to ...
23582 * include/grub/msdos_partition.h: ... this. Update all users.
23583 (grub_pc_partition_bsd_entry): Rename to ...
23584 (grub_msdos_partition_bsd_entry): ... this. Update all users.
23585 (grub_pc_partition_disk_label): Rename to ...
23586 (grub_msdos_partition_disk_label): ... this. Update all users.
23587 (grub_pc_partition_entry): Rename to ...
23588 (grub_msdos_partition_entry): ... this. Update all users.
23589 (grub_pc_partition_mbr): Rename to ...
23590 (grub_msdos_partition_mbr): ... this. Update all users.
23591 (grub_pc_partition): Rename to ...
23592 (grub_msdos_partition): ... this. Update all users.
23593 (grub_pc_partition_is_empty): Rename to ...
23594 (grub_msdos_partition_is_empty): ... this. Update all users.
23595 (grub_pc_partition_is_extended): Rename to ...
23596 (grub_msdos_partition_is_extended): ... this. Update all users.
23597 (grub_pc_partition_is_bsd): Rename to ...
23598 (grub_msdos_partition_is_bsd): ... this. Update all users.
23599
23600 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
23601 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
23602 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
23603 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
23604 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
23605 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
23606 (gpt_mod_LDFLAGS): Rename to ...
23607 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
23608 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
23609 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
23610 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
23611 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
23612 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
23613 (part_gpt_mod_LDFLAGS): ... this.
23614 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
23615 `pcpart.mod' to `msdospart.mod'.
23616 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
23617 to ...
23618 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
23619 (msdospart_mod_LDFLAGS): ... this.
23620
23621 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23622
23623 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
23624 (openbsd_opts): Likewise.
23625 (netbsd_opts): Likewise.
23626 (freebsd_flags): Added 0 terminator.
23627 (openbsd_flags): Likewise.
23628 (netbsd_flags): Likewise.
23629 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
23630 (grub_cmd_freebsd): Transformed into extended command.
23631 (grub_cmd_openbsd): Likewise.
23632 (grub_cmd_netbsd): Likewise.
23633 (cmd_freebsd): Changed type to grub_extcmd_t.
23634 (cmd_openbsd): Likewise.
23635 (cmd_netbsd): Likewise.
23636 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
23637 grub_cmd_openbsd as extended commands.
23638 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
23639 cmd_netbsd and cmd_openbsd
23640
23641 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23642
23643 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
23644
23645 2009-08-21 Pavel Roskin <proski@gnu.org>
23646
23647 * Makefile.in (install-local): When checking if a file is in the
23648 build directory, use "test -e" to detect symlinks.
23649
23650 * Makefile.in (install-local): Remove all files in
23651 $(DESTDIR)$(pkglibdir) before installing new files there.
23652
23653 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
23654
23655 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
23656 grub-mkelfimage.
23657
23658 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
23659
23660 * util/grub-mkconfig.in: Don't use gfxterm by default if not
23661 explicitly specified by the user.
23662
23663 2009-08-18 Pavel Roskin <proski@gnu.org>
23664
23665 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
23666 grub_uint8_t pointer for data.
23667 * include/grub/fbutil.h (struct grub_video_fbblit_info):
23668 Likewise.
23669 * video/fb/fbutil.c: Remove unnecessary casts.
23670
23671 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
23672
23673 VBE cleanup.
23674
23675 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
23676 (grub_vbe_set_video_mode): Save active mode info
23677 only after setting the mode.
23678 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
23679 second argument.
23680
23681 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
23682
23683 Rename variables for clarity.
23684
23685 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
23686 (active_vbe_mode_info): ... this. All users updated.
23687 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
23688 All users updated.
23689 (initial_mode): Rename to ...
23690 (initial_vbe_mode): ... this. All users updated.
23691 (mode_in_use): Rename to ..
23692 (vbe_mode_in_use): ... this. All users updated.
23693 (mode_list): Rename to ..
23694 (vbe_mode_list): ... this. All users updated.
23695 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
23696 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
23697 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
23698 'mode_list_size' to 'vbe_mode_list_size'.
23699 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
23700 'best_mode_info' to 'best_vbe_mode_info' and
23701 'best_mode' to 'best_vbe_mode'
23702
23703 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
23704
23705 Remove duplicate grub_video_fb_get_video_ptr.
23706
23707 * include/grub/fbutil.h (get_data_ptr): Rename to ...
23708 (grub_video_fb_get_video_ptr): ... this.
23709 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
23710 * video/fb/fbutil.c: Add comment about addressing.
23711 (get_data_ptr): Rename to ...
23712 (grub_video_fb_get_video_ptr): ... this. All users updated.
23713 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
23714
23715 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
23716
23717 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
23718 grub_dprintf() that was just added.
23719
23720 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
23721
23722 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
23723 (DEFAULT_VIDEO_MODE): Remove macros.
23724 (grub_linux_boot): Remove assumption that Linux has FB support,
23725 and use "text" as default video mode.
23726
23727 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
23728
23729 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
23730 grub_dprintf.
23731 * fs/fat.c (grub_fat_read_data): Likewise.
23732
23733 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23734
23735 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
23736 payload.
23737 (grub_module): Likewise.
23738
23739 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23740
23741 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
23742 mbi->cmdline but free playground.
23743
23744 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23745
23746 Handle group offset on UFS1.
23747
23748 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
23749 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
23750
23751 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23752
23753 Split ufs.mod into ufs1.mod and ufs2.mod.
23754
23755 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
23756 (grub_fstest_SOURCES): Likewise.
23757 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
23758 (ufs_mod_SOURCES): Remove.
23759 (ufs_mod_CFLAGS): Likewise.
23760 (ufs_mod_LDFLAGS): Likewise.
23761 (ufs1_mod_SOURCES): New variable.
23762 (ufs1_mod_CFLAGS): Likewise.
23763 (ufs1_mod_LDFLAGS): Likewise.
23764 (ufs2_mod_SOURCES): New variable.
23765 (ufs2_mod_CFLAGS): Likewise.
23766 (ufs2_mod_LDFLAGS): Likewise.
23767 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
23768 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
23769 Likewise.
23770 (grub_emu_SOURCES): Likewise.
23771 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23772 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23773 (grub_setup_SOURCES): Likewise.
23774 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23775 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
23776 (grub_setup_SOURCES): Likewise.
23777 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
23778 Likewise.
23779 * fs/ufs2.c: New file.
23780 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
23781
23782 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23783
23784 Framebuffer split.
23785
23786 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
23787 subsystem at the end.
23788 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
23789 (video_fb_mod_SOURCES): New variable.
23790 (video_fb_mod_CFLAGS): Likewise.
23791 (video_fb_mod_LDFLAGS): Likewise.
23792 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
23793 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
23794 * video/i386/pc/vbeblit.c: Moved from here ...
23795 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
23796 * video/i386/pc/vbefill.c: Moved from here ...
23797 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
23798 * video/i386/pc/vbeutil.c: Moved from here ...
23799 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
23800 * include/grub/i386/pc/vbeblit.h: Moved from here ...
23801 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
23802 * include/grub/i386/pc/vbefill.h: Moved from here ...
23803 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
23804 * include/grub/i386/pc/vbeutil.h: Moved from here ...
23805 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
23806 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
23807 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
23808 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
23809 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
23810 (grub_video_adapter): Added 'get_info_and_fini'.
23811 (grub_video_get_info_and_fini): New prototype.
23812 (grub_video_set_mode): make modestring const char *.
23813 * loader/i386/linux.c (grub_linux_setup_video): Use
23814 grub_video_get_info_and_fini.
23815 (grub_linux_boot): Move modesetting just before booting.
23816 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
23817 grub_video_get_info_and_fini.
23818 * video/i386/pc/vbe.c: Moved framebuffer part ...
23819 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
23820 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
23821 grub_video_fbstd_colors and grub_video_fb_set_palette.
23822 (grub_video_vbe_init): Clear 'framebuffer' variable and use
23823 grub_video_fb_init.
23824 (grub_video_vbe_fini): Use grub_video_fb_fini.
23825 (grub_video_vbe_setup): Use framebuffer.render_target instead of
23826 render_target and use grub_video_fb_set_active_render_target and
23827 grub_video_fb_set_palette.
23828 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
23829 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
23830 (grub_video_vbe_adapter): Use framebuffer.
23831 * video/video.c (grub_video_get_info_and_fini): New function.
23832 (grub_video_set_mode): Make modestring const char *.
23833 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
23834 values are already initialised.
23835
23836 2009-08-14 Pavel Roskin <proski@gnu.org>
23837
23838 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
23839 ABS and APPLE_CC.
23840 * boot/i386/pc/diskboot.S: Likewise.
23841 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
23842 sectors allow compilation on MacOSX.
23843 * conf/i386-pc.rmk: Enable unconditional compilation of
23844 lnxboot.img.
23845
23846 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
23847
23848 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
23849 * util/grub.d/00_header.in: Enter interruptible sleep if
23850 GRUB_HIDDEN_TIMEOUT is set.
23851
23852 2009-08-13 Yves Blusseau <blusseau@zetam.org>
23853
23854 * include/grub/symbol.h: Add the LOCAL macro.
23855 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
23856 starting with "L_".
23857
23858 2009-08-13 Pavel Roskin <proski@gnu.org>
23859
23860 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
23861 any modern compilers we support.
23862
23863 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
23864 Use local labels starting with "L_" so that Apple assembler
23865 knows they are local.
23866
23867 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
23868
23869 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
23870 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
23871 (bsd_kernel_types): ... this enum.
23872
23873 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
23874 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
23875 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
23876
23877 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
23878 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
23879 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
23880 messages.
23881
23882 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
23883
23884 * util/grub-dumpdevtree: Moved from here ...
23885 * util/i386/efi/grub-dumpdevtree: ... to here.
23886 (hexify): New function. Converts a string to its hex version.
23887 Generate hex versions of "efi" and "device-properties" by calling
23888 hexify() on the ASCII strings rather than by hardcoding numbers.
23889
23890 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
23891
23892 * fs/jfs.c: Update copyright year.
23893
23894 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
23895
23896 * util/grub.d/00_header.in: Fix a comment.
23897 * util/grub.d/10_linux.in: Likewise.
23898 * util/grub.d/10_windows.in: Likewise.
23899 * util/grub.d/10_hurd.in: Likewise.
23900
23901 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
23902
23903 * util/grub-mkconfig.in: Allow the user to specify the used font
23904 with GRUB_FONT.
23905
23906 2009-08-08 Pavel Roskin <proski@gnu.org>
23907
23908 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
23909 available, xfs.mod needs it now.
23910
23911 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
23912 the "g" modifier in sed when the intention is to strip something
23913 once. This fixes comparison of kernels with multiple dashes.
23914
23915 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
23916 on it. Add missing space before closing bracket. Fix
23917 misleading formatting.
23918
23919 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23920
23921 * docs/grub.texi: Major overhaul. Remove all sections that are
23922 specific to GRUB Legacy, or mostly composed of Legacy-specific
23923 information.
23924
23925 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23926
23927 * docs/version.texi: New file. Provides version information for
23928 grub.texi.
23929
23930 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23931
23932 * docs/grub.texi: Update CVS information to SVN.
23933 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
23934
23935 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
23936
23937 * util/grub-mkconfig.in: Remove a wrong `fi'.
23938
23939 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
23940
23941 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
23942 (grub_jfs_uuid): New function.
23943 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
23944
23945 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
23946
23947 * util/grub-mkconfig_lib.in (font_path): Move the functionality
23948 of it to ...
23949 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
23950 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
23951
23952 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23953
23954 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
23955 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
23956 Update all users.
23957
23958 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
23959 not just "vmlinu[zx]".
23960 Moved from here ...
23961 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
23962 all users.
23963
23964 * util/grub.d/10_linux.in (find_latest): Moved from here ...
23965 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
23966 all users.
23967
23968 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23969
23970 * util/grub.d/10_freebsd.in: Use an absolute device path for
23971 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
23972
23973 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
23974
23975 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
23976 handling of multiple abstraction modules.
23977
23978 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
23979
23980 Fix a bug resulting in black screen when loading Linux using a
23981 packed video mode.
23982
23983 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
23984 function.
23985
23986 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
23987 (grub_vbe_bios_getset_dac_palette_width): New function.
23988 (grub_vbe_bios_get_dac_palette_width)
23989 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
23990 grub_vbe_bios_getset_dac_palette_width()).
23991
23992 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
23993 check for return status.
23994 (grub_vbe_get_video_mode_info): When getting information for a packed
23995 mode (<= 8 bpp), obtain DAC palette width using
23996 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
23997 {red,green,blue}_mark_size.
23998
23999 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
24000
24001 * commands/search.c (options): Fix help output to match actual code.
24002
24003 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
24004
24005 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
24006 of homegrown code.
24007
24008 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24009
24010 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
24011 on XFS or ReiserFS.
24012
24013 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24014
24015 Support Apple partition map with sector size different from 512 bytes.
24016
24017 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
24018 (apple_partition_map_iterate): Respect 'aheader.blocksize'
24019 and 'apart.partmap_size'.
24020
24021 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24022 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
24023
24024 Fix cpuid command.
24025
24026 * commands/i386/cpuid.c (options): New variable.
24027 (grub_cmd_cpuid): Return real error.
24028 (GRUB_MOD_INIT(cpuid)): Declare options.
24029
24030 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
24031
24032 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
24033 valid.
24034
24035 2009-07-31 Bean <bean123ch@gmail.com>
24036
24037 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
24038 log2_inode.
24039 (grub_fshelp_node): Move inode field to the end.
24040 (grub_xfs_data): Remove inode field.
24041 (grub_xfs_inode_block): Calculate inode size using sblock.
24042 (grub_xfs_inode_offset): Likewise.
24043 (grub_xfs_read_inode): Calculate inode size using sblock.
24044 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
24045 (grub_xfs_iterate_dir): Calculate inode size using sblock.
24046 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
24047 to match inode size.
24048 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
24049 not accessible when data is null.
24050 (grub_xfs_open): Likewise.
24051
24052 2009-07-31 Bean <bean123ch@gmail.com>
24053
24054 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
24055 Don't change pv->disk if it's already set.
24056
24057 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
24058 (grub_raid_register): ... here.
24059 (grub_raid_rescan): Removed.
24060
24061 * include/grub/raid.h (grub_raid_rescan): Removed.
24062
24063 * util/grub-fstest.c: Remove include file <grub/raid.h>.
24064 (fstest): Replace grub_raid_rescan with module fini function followed
24065 by init function.
24066
24067 * util/grub-probe.c: Add include file <grub/raid.h>.
24068 (probe_raid_level): New function.
24069 (probe): Detect abstraction by walking the disk device, support two
24070 level of abstraction (LVM on RAID) when detecting partition map.
24071
24072 2009-07-31 Pavel Roskin <proski@gnu.org>
24073
24074 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
24075 to grub_zalloc(), it was erroneous.
24076 Reported by Bean <bean123ch@gmail.com>
24077
24078 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
24079
24080 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
24081 embedding zone, not only the first one.
24082
24083 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
24084
24085 * term/gfxterm.c (clear_char): New function.
24086 (grub_virtual_screen_setup): Use clear_char.
24087 (scroll_up): Likewise.
24088 (grub_virtual_screen_cls): Likewise.
24089
24090 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
24091
24092 * util/deviceiter.c (get_acceleraid_disk_name): New static
24093 function.
24094 (grub_util_iterate_devices): Handle Accelraid devices.
24095 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
24096
24097 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
24098
24099 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
24100 separator for the suggested gfxpayload string (';' collides with the
24101 parser and needs escaping).
24102
24103 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
24104
24105 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
24106 Clear direction flag before jumping to OS.
24107 (grub_multiboot2_real_boot): Likewise.
24108
24109 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
24110
24111 * util/i386/pc/grub-install: Fix parsing of --disk-module
24112 option.
24113
24114 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
24115
24116 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
24117 when embedding.
24118
24119 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
24120
24121 * util/grub-mkconfig.in (package_version): New variable.
24122 Use it do display the version.
24123
24124 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
24125
24126 * kern/file.c (grub_file_open): Revert to previous check with
24127 grub_errno.
24128
24129 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
24130
24131 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
24132 from help line. It's out of sync with code.
24133
24134 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
24135
24136 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
24137 entries on failed boot.
24138
24139 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
24140
24141 * kern/file.c (grub_file_open): Fix an error check.
24142
24143 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
24144
24145 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
24146 partition map couldn't be identified.
24147
24148 2009-07-23 Pavel Roskin <proski@gnu.org>
24149
24150 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
24151 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
24152 case of little endian words becomes just an optimization.
24153 Respect const modifier.
24154 (md5_final): Use code that doesn't depend on endianness.
24155
24156 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
24157 to avoid loss of upper bits if align is unsigned and shorter
24158 than addr.
24159
24160 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
24161
24162 UUID support for UFS
24163
24164 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
24165 (grub_ufs_uuid): New function.
24166 (grub_ufs_fs): add .uuid
24167
24168 2009-07-21 Pavel Roskin <proski@gnu.org>
24169
24170 * kern/dl.c (grub_dl_check_header): Make static.
24171
24172 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
24173
24174 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
24175 add drivemap for Vista. It breaks Windows 7.
24176
24177 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
24178
24179 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
24180 128 bytes
24181
24182 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24183
24184 Add BFS support
24185
24186 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
24187 (grub_fstest_SOURCES): Likewise.
24188 (pkglib_MODULES): Add befs.mod.
24189 (befs_mod_SOURCES): New variable.
24190 (befs_mod_CFLAGS): Likewise.
24191 (befs_mod_LDFLAGS): Likewise.
24192 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24193 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24194 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24195 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24196 (grub_setup_SOURCES): Likewise.
24197 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24198 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24199 (grub_setup_SOURCES): Likewise.
24200 * fs/befs.c: New file.
24201 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
24202 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
24203 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
24204 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
24205 (B_KEY_INDEX_ALIGN): New declaration.
24206 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
24207 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
24208 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
24209 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
24210 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
24211 (grub_afs_mount) [MODE_BFS]: Likewise.
24212 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
24213 (grub_afs_fs): Use GRUB_AFS_FSNAME
24214 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
24215 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
24216 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
24217 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
24218
24219 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
24220
24221 * util/getroot.c (find_root_device): Add support for MacOSX.
24222 * util/hostdisk.c: Likewise.
24223
24224 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24225
24226 * font/font.c (find_glyph): Check whether a font is present to avoid
24227 segmentation fault.
24228
24229 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
24230
24231 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
24232
24233 2009-07-20 Pavel Roskin <proski@gnu.org>
24234
24235 * configure.ac: Trim excessively wordy excuses.
24236
24237 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24238
24239 Add symlink, mtime and label support to AtheFS.
24240
24241 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
24242 (grub_afs_iterate_dir): Handle symlinks.
24243 (grub_afs_open): Use grub_afs_read_symlink.
24244 (grub_afs_dir): Likewise.
24245 Pass mtime.
24246 (grub_afs_label): New function.
24247 (grub_afs_fs): Add grub_afs_label.
24248 (grub_afs_read_symlink): New function.
24249
24250 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24251
24252 Fix AtheFS support.
24253
24254 * fs/afs.c: Fix comments style.
24255 (grub_afs_blockrun): Declare as packed.
24256 (grub_afs_datastream): Likewise.
24257 (grub_afs_bnode): Likewise.
24258 (grub_afs_btree): Likewise.
24259 (grub_afs_sblock): Likewise.
24260 Declare `name' as char.
24261 (grub_afs_inode): Declare as packed.
24262 Change void *vnode to grub_uint32_t unused.
24263 (grub_afs_iterate_dir): Check that key_size is positive.
24264 (grub_afs_mount): Don't read superblock twice.
24265 (grub_afs_dir): Don't free node in case of error,
24266 grub_fshelp_find_file already handles this.
24267 (grub_afs_open): Likewise.
24268
24269 2009-07-19 Pavel Roskin <proski@gnu.org>
24270
24271 * Makefile.in: Remove LIBLZO and enable_lzo.
24272 * conf/i386-pc.rmk: Remove lzo support.
24273 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
24274 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
24275 support.
24276 * kern/i386/pc/lzo1x.S: Remove.
24277 * kern/i386/pc/startup.S: Remove lzo support.
24278 * util/i386/pc/grub-mkimage.c: Likewise.
24279
24280 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
24281
24282 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
24283 * fs/xfs.c (grub_xfs_dir): Likewise.
24284 * fs/afs.c (grub_afs_dir): Likewise.
24285 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
24286 (grub_iso9660_open): Likewise.
24287 * fs/jfs.c (grub_jfs_open): Likewise.
24288 * fs/ext2.c (grub_ext2_dir): Likewise.
24289 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
24290 * script/sh/lexer.c (grub_script_yylex): Likewise.
24291
24292 2009-07-16 Pavel Roskin <proski@gnu.org>
24293
24294 * configure.ac: Never add "-c" to CFLAGS.
24295
24296 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
24297
24298 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
24299 grub_cv_cc_efiemu should be used.
24300
24301 * configure.ac: Typo fixes.
24302
24303 * kern/mm.c (grub_zalloc): New function.
24304 (grub_debug_zalloc): Likewise.
24305 * include/grub/mm.h: Declare grub_zalloc() and
24306 grub_debug_zalloc().
24307 * util/misc.c (grub_zalloc): New function.
24308 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
24309 instead of grub_malloc(), remove unneeded initializations.
24310 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
24311 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
24312 * commands/parttool.c (grub_cmd_parttool): Likewise.
24313 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
24314 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
24315 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
24316 * disk/usbms.c (grub_usbms_finddevs): Likewise.
24317 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
24318 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
24319 (grub_cmd_efiemu_pnvram): Likewise.
24320 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
24321 * fs/iso9660.c (grub_iso9660_mount): Likewise.
24322 (grub_iso9660_iterate_dir): Likewise.
24323 * fs/jfs.c (grub_jfs_opendir): Likewise.
24324 * fs/ntfs.c (list_file): Likewise.
24325 (grub_ntfs_mount): Likewise.
24326 * kern/disk.c (grub_disk_open): Likewise.
24327 * kern/dl.c (grub_dl_load_core): Likewise.
24328 * kern/elf.c (grub_elf_file): Likewise.
24329 * kern/env.c (grub_env_context_open): Likewise.
24330 (grub_env_set): Likewise.
24331 (grub_env_set_data_slot): Likewise.
24332 * kern/file.c (grub_file_open): Likewise.
24333 * kern/fs.c (grub_fs_blocklist_open): Likewise.
24334 * loader/i386/multiboot.c (grub_module): Likewise.
24335 * loader/xnu.c (grub_xnu_create_key): Likewise.
24336 (grub_xnu_create_value): Likewise.
24337 * normal/main.c (grub_normal_add_menu_entry): Likewise.
24338 (read_config_file): Likewise.
24339 * normal/menu_entry.c (make_screen): Likewise.
24340 * partmap/sun.c (sun_partition_map_iterate): Likewise.
24341 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
24342 * script/sh/script.c (grub_script_parse): Likewise.
24343 * video/bitmap.c (grub_video_bitmap_create): Likewise.
24344 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
24345 * video/readers/png.c (grub_png_output_byte): Likewise.
24346 (grub_video_reader_png): Likewise.
24347
24348 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24349
24350 Enable all targets that can be built by default
24351
24352 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
24353 grub-mkfont and grub-fstest if they can be built
24354
24355 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24356
24357 Fix hang and segmentation fault in grub-emu-usb
24358
24359 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
24360 * util/usb.c (grub_libusb_devices): likewise
24361 (grub_libusb_init): rename to ...
24362 (GRUB_MOD_INIT (libusb)):...this
24363 (grub_libusb_fini): rename to ..
24364 (GRUB_MOD_FINI (libusb)):...this
24365 * disk/usbms.c (grub_usbms_transfer): fix retry logic
24366 * include/grub/disk.h (grub_raid_init): removed, it's useless
24367 (grub_raid_fini): likewise
24368 (grub_lvm_init): likewise
24369 (grub_lvm_fini): likewise
24370 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
24371 by grub_init_all
24372
24373 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24374
24375 Fix libusb
24376
24377 * Makefile.in (LIBUSB): new macro
24378 * genmk.rb (Utility/print_tail): new method
24379 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
24380 (top level): call util.print_tail at the end.
24381
24382 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24383
24384 Make FreeBSD accept zpool.cache
24385
24386 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
24387 type is /boot/zfs/zpool.cache
24388
24389 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24390
24391 Fix 64-bit efiemu
24392
24393 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
24394 correct wrong typedef
24395 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
24396
24397 2009-07-15 Pavel Roskin <proski@gnu.org>
24398
24399 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
24400 * kern/disk.c (struct grub_disk_cache): Likewise.
24401
24402 * commands/probe.c (options): Typo fix.
24403
24404 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
24405 Increase to 0x5a to accommodate FAT32. Adjust other offsets
24406 accordingly.
24407 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
24408
24409 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
24410 the end of "Error" to make the message more readable.
24411
24412 * boot/i386/pc/boot.S (kernel_segment): Remove.
24413 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
24414 for destination.
24415
24416 * boot/i386/pc/boot.S (boot_version): Remove.
24417 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
24418 Remove.
24419
24420 * include/grub/i386/pc/boot.h: Sort all offsets.
24421 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
24422 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
24423 * boot/i386/pc/boot.S: Assert location of every offset listed in
24424 include/grub/i386/pc/boot.h.
24425
24426 2009-07-13 Pavel Roskin <proski@gnu.org>
24427
24428 * include/grub/i386/coreboot/machine.h: Rename
24429 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
24430 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
24431 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
24432
24433 * kern/dl.c: Force native word size to suppress warnings when
24434 compiling grub-emu.
24435
24436 * kern/device.c (grub_device_iterate): Change struct part_ent to
24437 hold the name, not a pointer to it. Use one grub_malloc() per
24438 partition, not two. Free partition_name if grub_malloc() fails.
24439 Set ents to NULL only before grub_partition_iterate() is called.
24440
24441 2009-07-11 Bean <bean123ch@gmail.com>
24442
24443 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
24444 childname.
24445
24446 2009-07-10 Bean <bean123ch@gmail.com>
24447 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
24448
24449 * kern/ieee1275/openfw.c (grub_children_iterate)
24450 (grub_devalias_iterate): Fix size evaluation for property or path
24451 strings, which was broken since r2132.
24452
24453 2009-07-07 Pavel Roskin <proski@gnu.org>
24454
24455 * commands/search.c (search_file): Merge into ...
24456 (search_fs): ... this. Accept search type as argument.
24457 (grub_cmd_search): Pass search type to search_fs().
24458
24459 * include/grub/util/console.h: New file.
24460 * util/console.c: Use it instead of grub/machine/console.h.
24461 * util/grub-emu.c: Likewise.
24462
24463 * lib/arg.c (find_long_option): Remove.
24464 (find_long): Add `len' argument, make `s' const char *.
24465 (grub_arg_parse): Parse long options in place, not in a
24466 temporary buffer.
24467
24468 2009-07-06 Pavel Roskin <proski@gnu.org>
24469
24470 * commands/search.c (search_fs): Fix potential NULL pointer
24471 dereference.
24472
24473 * commands/search.c (search_fs): Replace QUID macro with quid_fn
24474 function pointer.
24475
24476 2009-07-06 Daniel Mierswa <impulze@impulze.org>
24477
24478 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
24479 comparison.
24480
24481 2009-07-05 Pavel Roskin <proski@gnu.org>
24482
24483 * include/grub/i386/linux.h (struct linux_kernel_params):
24484 Restore padding3, it's still needed.
24485
24486 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
24487 FreeBSD.
24488 * util/osdetect.lua: Likewise.
24489
24490 2009-07-05 Bean <bean123ch@gmail.com>
24491
24492 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
24493
24494 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
24495 (grub_lua_getenv): Likewise.
24496 (grub_lua_setenv): Likewise.
24497 (save_errno): New function.
24498 (push_result): Likewise.
24499 (grub_lua_enum_device): Likewise.
24500 (grub_lua_enum_file): Likewise.
24501 (grub_lua_file_open): Likewise.
24502 (grub_lua_file_close): Likewise.
24503 (grub_lua_file_seek): Likewise.
24504 (grub_lua_file_read): Likewise.
24505 (grub_lua_file_getline): Likewise.
24506 (grub_lua_file_getsize): Likewise.
24507 (grub_lua_file_getpos): Likewise.
24508 (grub_lua_file_eof): Likewise.
24509 (grub_lua_file_exist): Likewise.
24510 (grub_lua_add_menu): Likewise.
24511
24512 * script/lua/grub_lua.h (isupper): New inline function.
24513 (islower): Likewise.
24514 (ispunct): Likewise.
24515 (isxdigit): Likewise.
24516 (strcspn): Change to normal function.
24517 (strpbkr): New function declaration.
24518 (memchr): Likewise.
24519
24520 * script/lua/grub_main.c (scan_str): New function.
24521 (strcspn): Likewise.
24522 (strpbrk): Likewise.
24523 (memchr): Likewise.
24524
24525 * script/lua/linit.c (lualibs): Enable the string library.
24526
24527 * util/osdetect.lua: New file.
24528
24529 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
24530
24531 * include/grub/i386/linux.h (struct linux_kernel_params): Add
24532 `capabilities' member.
24533
24534 2009-07-02 Pavel Roskin <proski@gnu.org>
24535
24536 * genparttoollist.sh: Add missing newline at the end.
24537
24538 2009-07-01 Pavel Roskin <proski@gnu.org>
24539
24540 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
24541
24542 * util/hostdisk.c (open_device): Remove `const' from
24543 `sysctl_size', as sysctlbyname() can change it (in this case it
24544 doesn't actually happen).
24545
24546 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
24547 using signed long int constants.
24548
24549 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
24550 constant to avoid a warning on FreeBSD.
24551
24552 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
24553 where it's needed.
24554
24555 * Makefile.in: Install include/grub/machine symlink.
24556
24557 * Makefile.in: When installing symlinks, use "cp -fR", which
24558 works on FreeBSD and MacOSX.
24559 From Yves Blusseau <cl7m42e02@sneakemail.com>
24560
24561 * kern/dl.c (grub_dl_resolve_symbol): Make static.
24562 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
24563
24564 * util/misc.c: Move grub_reboot() and grub_halt() ...
24565 * util/grub-emu.c: ... here. Make main_env static.
24566 * include/grub/util/misc.h: Remove main_env.
24567
24568 * kern/mm.c: Use correct format to print size_t.
24569
24570 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
24571 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
24572 * kern/powerpc/dl.c: Likewise.
24573 * kern/sparc64/dl.c: Likewise.
24574 * kern/x86_64/dl.c: Likewise.
24575
24576 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24577
24578 Fix grub-emu build on sparc64-ieee1275.
24579
24580 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
24581 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
24582
24583 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24584
24585 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
24586 (grub_reboot, grub_halt): New functions.
24587
24588 * util/i386/pc/misc.c: Delete. Update all users.
24589 * util/sparc64/ieee1275/misc.c: Likewise.
24590 * util/powerpc/ieee1275/misc.c: Likewise.
24591
24592 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24593
24594 * conf/i386.rmk (setjmp_mod_SOURCES)
24595 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
24596 * conf/common.rmk (setjmp_mod_SOURCES)
24597 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
24598 to use $(target_cpu).
24599 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
24600 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
24601 * conf/powerpc-ieee1275.rmk: Likewise.
24602 * conf/sparc64-ieee1275.rmk: Likewise.
24603
24604 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
24605 $(target_cpu) for kern/$(target_cpu)/dl.c.
24606 * conf/i386-efi.rmk: Likewise.
24607 * conf/i386-ieee1275.rmk: Likewise.
24608 * conf/x86_64-efi.rmk: Likewise.
24609 * conf/i386-coreboot.rmk: Likewise.
24610 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
24611 $(target_cpu) for kern/$(target_cpu)/dl.c and for
24612 kern/$(target_cpu)/cache.S.
24613 * conf/sparc64-ieee1275.rmk: Likewise.
24614
24615 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24616
24617 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
24618 type to `grub_uint8_t', and adjust `padding9' accordingly.
24619
24620 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24621
24622 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
24623
24624 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
24625 assembly in final jump, using register constraints.
24626
24627 (grub_linux_boot): For text mode, initialize `have_vga' using
24628 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
24629
24630 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
24631 right before the final jump.
24632
24633 Set `video_mode' to 0x3.
24634
24635 Document initialization of `video_page', `video_mode' and
24636 `video_ega_bx'.
24637
24638 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24639
24640 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
24641 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
24642 and set GRUB_LINUX_FLAG_QUIET appropriately.
24643
24644 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24645
24646 Fix build on Debian / sparc.
24647
24648 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
24649
24650 2009-06-28 Pavel Roskin <proski@gnu.org>
24651
24652 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
24653 fix a warning.
24654
24655 * util/grub.d/10_linux.in: Match SUSE style initrd names.
24656
24657 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24658
24659 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
24660 `err'.
24661
24662 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24663
24664 Revert r2338.
24665
24666 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
24667 file can't be opened. grub_file_open() is already supposed to set
24668 grub_errno / grub_errmsg appropriately.
24669 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24670
24671 2009-06-27 Pavel Roskin <proski@gnu.org>
24672 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24673
24674 * include/grub/dl.h: Include grub/elf.h.
24675 (struct grub_dl): Add symtab field.
24676 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
24677 GRUB_MODULES_MACHINE_READONLY.
24678 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
24679 of the header for read-only modules.
24680 (grub_dl_unload): Free mod->symtab for read-only modules.
24681 * kern/i386/dl.c: Use mod->symtab.
24682 * kern/powerpc/dl.c: Likewise.
24683 * kern/sparc64/dl.c: Likewise.
24684 * kern/x86_64/dl.c: Likewise.
24685
24686 * conf/i386-qemu.rmk: New file.
24687 * kern/i386/qemu/startup.S: Likewise.
24688 * kern/i386/qemu/mmap.c: Likewise.
24689 * boot/i386/qemu/boot.S: Likewise.
24690 * include/grub/i386/qemu/time.h: Likewise.
24691 * include/grub/i386/qemu/serial.h: Likewise.
24692 * include/grub/i386/qemu/kernel.h: Likewise.
24693 * include/grub/i386/qemu/console.h: Likewise.
24694 * include/grub/i386/qemu/boot.h: Likewise.
24695 * include/grub/i386/qemu/init.h: Likewise.
24696 * include/grub/i386/qemu/machine.h: Likewise.
24697 * include/grub/i386/qemu/loader.h: Likewise.
24698 * include/grub/i386/qemu/memory.h: Likewise.
24699
24700 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
24701 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
24702 [qemu] (pkglib_IMAGES): Add `boot.img'.
24703 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
24704 [qemu] (boot_img_FORMAT): New variables.
24705 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
24706 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
24707 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
24708 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24709 [qemu] (kernel_img_FORMAT): New variables.
24710
24711 * configure.ac: Recognise `i386-qemu'.
24712
24713 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
24714 (for no compression).
24715 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
24716 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
24717 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
24718 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
24719 ifdefs).
24720
24721 2009-06-27 Pavel Roskin <proski@gnu.org>
24722
24723 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
24724 read.
24725 * efiemu/prepare32.c: Likewise.
24726 * efiemu/prepare64.c: Likewise.
24727
24728 2009-06-26 Pavel Roskin <proski@gnu.org>
24729
24730 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
24731 * include/grub/elf.h: Define symbols without "32" or "64" based
24732 on GRUB_TARGET_WORDSIZE.
24733 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
24734 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
24735 ELF definitions.
24736 * efiemu/loadcore64.c: Likewise.
24737 * loader/i386/bsd32.c: Likewise.
24738 * loader/i386/bsd64.c: Likewise.
24739 * kern/dl.c: Remove own ELF definitions.
24740 * util/i386/efi/grub-mkimage.c: Likewise.
24741
24742 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
24743
24744 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
24745 segment 0x0 unconditionally, because the reference generated by
24746 GAS is an absolute address.
24747
24748 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24749
24750 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
24751 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
24752
24753 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24754
24755 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
24756 indexes. Check for -f explicitly.
24757 (search_file): Improve error message.
24758 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
24759
24760 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24761
24762 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
24763 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
24764
24765 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24766
24767 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
24768 * conf/i386-ieee1275.rmk: Likewise.
24769 * conf/i386-coreboot.rmk: Likewise.
24770
24771 * kern/i386/pc/startup.S (grub_stop): Remove function.
24772 * kern/i386/ieee1275/startup.S: Likewise.
24773 * kern/i386/coreboot/startup.S: Likewise.
24774 * kern/i386/misc.S (grub_stop): New function.
24775
24776 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24777
24778 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
24779 * kern/i386/realmode.S (real_to_prot): ... to here.
24780
24781 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24782
24783 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
24784 with `kernel.img'.
24785 (kernel_elf_SOURCES): Rename to ...
24786 (kernel_img_SOURCES): ... this.
24787 (kernel_elf_HEADERS): Rename to ...
24788 (kernel_img_HEADERS): ... this. Update all users.
24789 (kernel_elf_ASFLAGS): Rename to ...
24790 (kernel_img_ASFLAGS): ... this.
24791 (kernel_elf_CFLAGS): Rename to ...
24792 (kernel_img_CFLAGS): ... this.
24793 (kernel_elf_LDFLAGS): Rename to ...
24794 (kernel_img_LDFLAGS): ... this.
24795 * conf/i386-coreboot.rmk: Likewise.
24796 * conf/powerpc-ieee1275.rmk: Likewise.
24797
24798 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
24799 with "kernel.img".
24800
24801 2009-06-21 Pavel Roskin <proski@gnu.org>
24802
24803 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
24804 to match nested functions.
24805 * loader/sparc64/ieee1275/linux.c: Likewise.
24806
24807 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
24808
24809 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
24810
24811 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
24812 all i386 platforms.
24813
24814 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
24815
24816 Fix asm file handling on ELF, and remove workarounds.
24817
24818 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
24819 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
24820 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
24821 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
24822
24823 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
24824
24825 Load BSD ELF modules
24826
24827 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
24828 and loader/i386/bsd64.c
24829 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
24830 (FREEBSD_MODTYPE_ELF_MODULE): New definition
24831 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
24832 (grub_freebsd_load_elfmodule32): New declaration
24833 (grub_freebsd_load_elfmoduleobj64): Likewise
24834 (grub_freebsd_load_elf_meta32): Likewise
24835 (grub_freebsd_load_elf_meta64): Likewise
24836 (grub_freebsd_add_meta): Likewise
24837 (grub_freebsd_add_meta_module): Likewise
24838 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
24839 (grub_freebsd_add_meta_module): Likewise and move module-specific
24840 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
24841 (grub_cmd_freebsd): Add elf-kernel specific parts
24842 based on grub_freebsd_add_meta_module
24843 (grub_cmd_freebsd_module): Add type parsing moved from
24844 grub_freebsd_add_meta_module
24845 (grub_cmd_freebsd_module_elf): New function
24846 (cmd_freebsd_module_elf): New variable
24847 (GRUB_MOD_INIT): Register freebsd_module_elf
24848 * loader/i386/bsd32.c: New file
24849 * loader/i386/bsd64.c: Likewise
24850 * loader/i386/bsdXX.c: Likewise
24851 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
24852 (grub_elf64_load): Likewise
24853 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
24854 All users updated
24855 (grub_elf64_load_hook_t): Likewise
24856
24857 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
24858
24859 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
24860 variable.
24861 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
24862 don't write a menu entry for recovery mode.
24863
24864 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
24865
24866 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
24867 after it's no longer needed.
24868
24869 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
24870
24871 * include/grub/i386/loader.h (grub_linux_prot_size)
24872 (grub_linux_tmp_addr, grub_linux_real_addr)
24873 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
24874 GRUB_MACHINE_PCBIOS.
24875 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
24876 common grub_util_info() call to ...
24877 (generate_image): ... here.
24878 Fix use of uninitialized memory, comparison of signed with
24879 unsigned integers and memory leak.
24880 Remove bogus module address message.
24881
24882 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24883
24884 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
24885 grub_raid_register
24886 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
24887
24888 2009-06-19 Pavel Roskin <proski@gnu.org>
24889
24890 * configure.ac: Remove stray AC_MSG_CHECKING.
24891
24892 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
24893
24894 * disk/scsi.c (grub_scsi_open): use continue instead of big if
24895
24896 2009-06-18 Pavel Roskin <proski@gnu.org>
24897
24898 * conf/common.rmk: Add fs_file.mod.
24899 * disk/fs_file.c: New file.
24900 * include/grub/disk.h (enum grub_disk_dev_id): Add
24901 GRUB_DISK_DEVICE_FILE_ID.
24902
24903 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24904
24905 Fix build with Apple's toolchain. Part 2
24906
24907 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
24908 a fake start
24909
24910 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24911
24912 Fix build with Apple's toolchain. Part 1
24913
24914 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
24915 for long calls
24916 * configure.ac: remove a leftover AC_MSG_RESULT
24917 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
24918 Apple's toolchain
24919
24920 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24921
24922 Fix warnings
24923
24924 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
24925 (decomp_block): initialize ch
24926 use grub_memcpy instead of memcpy
24927
24928 2009-06-17 Pavel Roskin <proski@gnu.org>
24929
24930 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
24931 version, use declarations needed to use vga_text as the startup
24932 console.
24933
24934 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
24935 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
24936 the kernel.
24937 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
24938 and grub_at_keyboard_fini(), it's done on module load and
24939 unload.
24940
24941 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
24942
24943 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
24944 file can't be found.
24945 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24946
24947 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
24948
24949 Fix newline handling
24950
24951 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
24952 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
24953 (grub_script_yylex): don't segfault on unterminated script
24954 newline terminates command and variable
24955
24956 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
24957
24958 avoid double grub_adjust_range call. Bug reported by David Simner
24959
24960 * kern/disk.c (grub_disk_write): change to raw disk access before
24961 calling disk_read
24962
24963 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
24964
24965 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
24966 spaces, for the benefit of help2man.
24967 * util/i386/efi/grub-mkimage.c (usage): Likewise.
24968
24969 2009-06-16 Pavel Roskin <proski@gnu.org>
24970
24971 * kern/i386/halt.c: Include grub/machine/init.h.
24972 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
24973
24974 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
24975
24976 * util/grub.d/30_os-prober.in: Use ${root} in the generated
24977 drivemap menuentry.
24978
24979 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
24980
24981 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
24982 `echo' command.
24983
24984 2009-06-16 Pavel Roskin <proski@gnu.org>
24985
24986 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
24987 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
24988 save %dx, we only need %dl and we never change it.
24989 * boot/i386/pc/cdboot.S: Don't set the root drive.
24990 * boot/i386/pc/pxeboot.S: Likewise.
24991 * include/grub/i386/pc/boot.h: Remove
24992 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
24993 GRUB_BOOT_MACHINE_DRIVE_CHECK.
24994 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
24995 * kern/i386/pc/init.c (make_install_device): Remove references
24996 to grub_root_drive.
24997 * kern/i386/pc/startup.S: Likewise.
24998 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
24999
25000 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
25001
25002 xnu_uuid command
25003
25004 * commands/xnu_uuid.c: new file
25005 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
25006 (xnu_uuid_mod_SOURCES): new variable
25007 (xnu_uuid_mod_CFLAGS): likewise
25008 (xnu_uuid_mod_LDFLAGS): likewise
25009 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
25010 * conf/i386-ieee1275.rmk: likewise
25011 * conf/i386-pc.rmk: likewise
25012 * conf/powerpc-ieee1275.rmk: likewise
25013 * conf/sparc64-ieee1275.rmk: likewise
25014 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
25015
25016 2009-06-16 Pavel Roskin <proski@gnu.org>
25017
25018 * configure.ac: Avoid '==' in test command, it's not portable.
25019
25020 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
25021
25022 Probe command
25023
25024 * commands/probe.c: new file
25025 * conf/common.rmk (pkglib_MODULES): add probe.mod
25026 (probe_mod_SOURCES): new variable
25027 (probe_mod_CFLAGS): likewise
25028 (probe_mod_LDFLAGS): likewise
25029 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
25030 * conf/i386-ieee1275.rmk: likewise
25031 * conf/i386-pc.rmk: likewise
25032 * conf/powerpc-ieee1275.rmk: likewise
25033 * conf/sparc64-ieee1275.rmk: likewise
25034
25035 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
25036
25037 Fix handling of string like \"hello\" and "a
25038 b"
25039
25040 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
25041 (grub_script_yylex): fix parsing of quoting, escaping and newline
25042
25043 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
25044
25045 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
25046 handling
25047
25048 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
25049
25050 * util/grub-mkconfig.in: Fix parsing of --output option.
25051
25052 2009-06-12 Pavel Roskin <proski@gnu.org>
25053
25054 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
25055 genmk.rb don't need to be generated or installed.
25056
25057 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25058
25059 * commands/i386/pc/drivemap_int13h.S: add more comments
25060
25061 2009-06-11 Pavel Roskin <proski@gnu.org>
25062
25063 * Makefile.in (uninstall): Uninstall manuals.
25064
25065 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
25066 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
25067 and update-grub_lib in two places.
25068 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
25069
25070 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
25071 a compiler warning.
25072
25073 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
25074 `entry_lo' to fix variable shadowing.
25075
25076 2009-06-11 Christian Franke <franke@computer.org>
25077
25078 * kern/misc.c (__enable_execute_stack): Add missing return type
25079 to prevent gcc warning.
25080
25081 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
25082
25083 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
25084
25085 2009-06-11 Pavel Roskin <proski@gnu.org>
25086
25087 * Makefile.in: Don't rely on any scripts being executable.
25088 Always use $(SHELL) to run shell scripts.
25089
25090 * configure.ac: Always define ___main if using -nostdlib. This
25091 fixes tests on Cygwin.
25092
25093 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
25094
25095 UDF fix
25096
25097 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
25098 is in bytes and not in blocks
25099
25100 2009-06-11 Pavel Roskin <proski@gnu.org>
25101
25102 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
25103 warning.
25104
25105 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
25106
25107 * util/grub.d/30_os-prober.in: Fix a comment. Source
25108 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
25109 to set the root device. Place drivemap command in the generated
25110 chain entry.
25111
25112 2009-06-11 Pavel Roskin <proski@gnu.org>
25113
25114 * configure.ac: Remove host_m32. Issues with 64-bit utilities
25115 have long been resolved.
25116
25117 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
25118
25119 * util/grub.d/10_linux.in: Capitalise "Linux".
25120
25121 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
25122
25123 2009-06-11 Pavel Roskin <proski@gnu.org>
25124
25125 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
25126 fix a gcc warning and ensure that the function won't ever exit.
25127
25128 * kern/i386/ieee1275/init.c: Add missing prototype for
25129 grub_stop_floppy().
25130
25131 * loader/ieee1275/multiboot2.c [__i386__]: Include
25132 grub/cpu/multiboot.h.
25133
25134 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
25135 casts to short - they are not portable and cause warnings. Fix
25136 use of uninitialized values in input_buf. Use ARRAY_SIZE.
25137
25138 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
25139
25140 Drivemap fixes
25141
25142 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
25143 new function
25144 (grub_get_root_biosnumber_saved): new variable
25145 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
25146 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
25147 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
25148 %dx after the call if necessary
25149 * conf/common.rmk (pkglib_MODULES): remove boot.mod
25150 (boot_mod_SOURCES): remove
25151 (boot_mod_CFLAGS): remove
25152 (boot_mod_LDFLAGS): remove
25153 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
25154 (boot_mod_SOURCES): new variable
25155 (boot_mod_CFLAGS): likewise
25156 (boot_mod_LDFLAGS): likewise
25157 * conf/i386-efi.rmk: likewise
25158 * conf/i386-ieee1275.rmk: likewise
25159 * conf/i386-pc.rmk: likewise
25160 * conf/powerpc-ieee1275.rmk: likewise
25161 * conf/sparc64-ieee1275.rmk: likewise
25162 * conf/x86_64-efi.rmk: likewise
25163 * include/grub/i386/pc/biosnum.h: new file
25164 * lib/i386/pc/biosnum.c: likewise
25165 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
25166 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
25167 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
25168
25169 2009-06-10 Pavel Roskin <proski@gnu.org>
25170
25171 * io/gzio.c (test_header): Don't reuse one buffer for all data.
25172 Use separate variables. Read only the file size at the end, but
25173 not the checksum that we don't use.
25174
25175 * kern/file.c (grub_file_read): Use void pointer for the buffer.
25176 Adjust all callers.
25177
25178 * kern/ieee1275/openfw.c: Remove libc includes.
25179 * kern/ieee1275/cmain.c: Likewise.
25180 * include/grub/ieee1275/ieee1275.h: Likewise.
25181
25182 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
25183 compiler warnings.
25184
25185 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
25186
25187 * Makefile.in: Remove all trailing whitespace.
25188 * conf/i386-pc.rmk: Likewise.
25189 * conf/powerpc-ieee1275.rmk: Likewise.
25190 * conf/sparc64-ieee1275.rmk: Likewise.
25191 * docs/grub.texi: Likewise.
25192 * docs/texinfo.tex: Likewise.
25193 * disk/fs_uuid.c: Likewise.
25194 * disk/lvm.c: Likewise.
25195 * disk/scsi.c: Likewise.
25196 * disk/ata.c: Likewise.
25197 * disk/ieee1275/ofdisk.c: Likewise.
25198 * disk/i386/pc/biosdisk.c: Likewise.
25199 * disk/host.c: Likewise.
25200 * disk/raid.c: Likewise.
25201 * disk/efi/efidisk.c: Likewise.
25202 * disk/usbms.c: Likewise.
25203 * disk/memdisk.c: Likewise.
25204 * disk/loopback.c: Likewise.
25205 * kern/powerpc/dl.c: Likewise.
25206 * kern/device.c: Likewise.
25207 * kern/dl.c: Likewise.
25208 * kern/sparc64/dl.c: Likewise.
25209 * kern/ieee1275/ieee1275.c: Likewise.
25210 * kern/term.c: Likewise.
25211 * kern/fs.c: Likewise.
25212 * kern/i386/dl.c: Likewise.
25213 * kern/i386/pc/startup.S: Likewise.
25214 * kern/i386/pc/init.c: Likewise.
25215 * kern/i386/pc/mmap.c: Likewise.
25216 * kern/i386/pc/lzo1x.S: Likewise.
25217 * kern/i386/ieee1275/init.c: Likewise.
25218 * kern/i386/realmode.S: Likewise.
25219 * kern/i386/tsc.c: Likewise.
25220 * kern/partition.c: Likewise.
25221 * kern/corecmd.c: Likewise.
25222 * kern/file.c: Likewise.
25223 * kern/efi/efi.c: Likewise.
25224 * kern/efi/init.c: Likewise.
25225 * kern/efi/mm.c: Likewise.
25226 * kern/main.c: Likewise.
25227 * kern/err.c: Likewise.
25228 * kern/env.c: Likewise.
25229 * kern/disk.c: Likewise.
25230 * kern/generic/millisleep.c: Likewise.
25231 * kern/generic/rtc_get_time_ms.c: Likewise.
25232 * kern/misc.c: Likewise.
25233 * kern/parser.c: Likewise.
25234 * genmk.rb: Likewise.
25235 * configure.ac: Likewise.
25236 * boot/i386/pc/diskboot.S: Likewise.
25237 * boot/i386/pc/pxeboot.S: Likewise.
25238 * boot/i386/pc/boot.S: Likewise.
25239 * boot/i386/pc/lnxboot.S: Likewise.
25240 * boot/i386/pc/cdboot.S: Likewise.
25241 * parttool/pcpart.c: Likewise.
25242 * video/readers/tga.c: Likewise.
25243 * video/video.c: Likewise.
25244 * video/bitmap.c: Likewise.
25245 * lib/envblk.c: Likewise.
25246 * lib/i386/setjmp.S: Likewise.
25247 * fs/xfs.c: Likewise.
25248 * fs/afs.c: Likewise.
25249 * fs/fat.c: Likewise.
25250 * fs/ntfs.c: Likewise.
25251 * fs/udf.c: Likewise.
25252 * fs/affs.c: Likewise.
25253 * fs/iso9660.c: Likewise.
25254 * fs/hfs.c: Likewise.
25255 * fs/fshelp.c: Likewise.
25256 * fs/ext2.c: Likewise.
25257 * fs/jfs.c: Likewise.
25258 * fs/reiserfs.c: Likewise.
25259 * fs/hfsplus.c: Likewise.
25260 * fs/minix.c: Likewise.
25261 * fs/cpio.c: Likewise.
25262 * fs/sfs.c: Likewise.
25263 * fs/ufs.c: Likewise.
25264 * efiemu/prepare.c: Likewise.
25265 * efiemu/loadcore_common.c: Likewise.
25266 * efiemu/runtime/efiemu.sh: Likewise.
25267 * efiemu/runtime/efiemu.S: Likewise.
25268 * efiemu/runtime/efiemu.c: Likewise.
25269 * efiemu/pnvram.c: Likewise.
25270 * efiemu/main.c: Likewise.
25271 * efiemu/i386/pc/cfgtables.c: Likewise.
25272 * efiemu/i386/loadcore64.c: Likewise.
25273 * efiemu/i386/loadcore32.c: Likewise.
25274 * efiemu/loadcore.c: Likewise.
25275 * efiemu/symbols.c: Likewise.
25276 * efiemu/mm.c: Likewise.
25277 * include/grub/autoefi.h: Likewise.
25278 * include/grub/datetime.h: Likewise.
25279 * include/grub/term.h: Likewise.
25280 * include/grub/hfs.h: Likewise.
25281 * include/grub/lvm.h: Likewise.
25282 * include/grub/i386/tsc.h: Likewise.
25283 * include/grub/i386/linux.h: Likewise.
25284 * include/grub/i386/xnu.h: Likewise.
25285 * include/grub/i386/efiemu.h: Likewise.
25286 * include/grub/i386/pc/biosdisk.h: Likewise.
25287 * include/grub/i386/pc/memory.h: Likewise.
25288 * include/grub/i386/pc/vbe.h: Likewise.
25289 * include/grub/parttool.h: Likewise.
25290 * include/grub/video.h: Likewise.
25291 * include/grub/memory.h: Likewise.
25292 * include/grub/fs.h: Likewise.
25293 * include/grub/partition.h: Likewise.
25294 * include/grub/xnu.h: Likewise.
25295 * include/grub/efi/api.h: Likewise.
25296 * include/grub/efi/pe32.h: Likewise.
25297 * include/grub/efi/memory.h: Likewise.
25298 * include/grub/multiboot.h: Likewise.
25299 * include/grub/usbdesc.h: Likewise.
25300 * include/grub/multiboot2.h: Likewise.
25301 * include/grub/acpi.h: Likewise.
25302 * include/grub/efiemu/efiemu.h: Likewise.
25303 * include/grub/disk.h: Likewise.
25304 * include/grub/ieee1275/ieee1275.h: Likewise.
25305 * include/grub/net.h: Likewise.
25306 * include/grub/machoload.h: Likewise.
25307 * include/grub/macho.h: Likewise.
25308 * include/multiboot.h: Likewise.
25309 * genmoddep.awk: Likewise.
25310 * normal/main.c: Likewise.
25311 * normal/menu_entry.c: Likewise.
25312 * normal/menu_viewer.c: Likewise.
25313 * normal/completion.c: Likewise.
25314 * normal/cmdline.c: Likewise.
25315 * normal/misc.c: Likewise.
25316 * normal/datetime.c: Likewise.
25317 * bus/usb/usbtrans.c: Likewise.
25318 * bus/usb/ohci.c: Likewise.
25319 * bus/usb/uhci.c: Likewise.
25320 * bus/usb/usb.c: Likewise.
25321 * mmap/efi/mmap.c: Likewise.
25322 * mmap/i386/pc/mmap_helper.S: Likewise.
25323 * mmap/i386/pc/mmap.c: Likewise.
25324 * mmap/i386/mmap.c: Likewise.
25325 * mmap/i386/uppermem.c: Likewise.
25326 * mmap/mmap.c: Likewise.
25327 * commands/acpi.c: Likewise.
25328 * commands/echo.c: Likewise.
25329 * commands/blocklist.c: Likewise.
25330 * commands/loadenv.c: Likewise.
25331 * commands/usbtest.c: Likewise.
25332 * commands/boot.c: Likewise.
25333 * commands/parttool.c: Likewise.
25334 * commands/search.c: Likewise.
25335 * commands/cat.c: Likewise.
25336 * commands/i386/pc/play.c: Likewise.
25337 * commands/i386/pc/drivemap.c: Likewise.
25338 * commands/i386/pc/vbeinfo.c: Likewise.
25339 * commands/i386/pc/acpi.c: Likewise.
25340 * commands/i386/pc/vbetest.c: Likewise.
25341 * commands/ls.c: Likewise.
25342 * commands/cmp.c: Likewise.
25343 * commands/test.c: Likewise.
25344 * commands/efi/acpi.c: Likewise.
25345 * commands/gptsync.c: Likewise.
25346 * commands/help.c: Likewise.
25347 * partmap/amiga.c: Likewise.
25348 * partmap/apple.c: Likewise.
25349 * partmap/acorn.c: Likewise.
25350 * partmap/pc.c: Likewise.
25351 * partmap/sun.c: Likewise.
25352 * partmap/gpt.c: Likewise.
25353 * script/sh/lexer.c: Likewise.
25354 * script/sh/function.c: Likewise.
25355 * font/font.c: Likewise.
25356 * font/font_cmd.c: Likewise.
25357 * loader/powerpc/ieee1275/linux.c: Likewise.
25358 * loader/efi/chainloader.c: Likewise.
25359 * loader/multiboot_loader.c: Likewise.
25360 * loader/macho.c: Likewise.
25361 * loader/i386/multiboot.c: Likewise.
25362 * loader/i386/linux.c: Likewise.
25363 * loader/i386/pc/linux.c: Likewise.
25364 * loader/i386/pc/multiboot2.c: Likewise.
25365 * loader/i386/pc/chainloader.c: Likewise.
25366 * loader/i386/pc/xnu.c: Likewise.
25367 * loader/i386/bsd_trampoline.S: Likewise.
25368 * loader/i386/efi/linux.c: Likewise.
25369 * loader/i386/multiboot_elfxx.c: Likewise.
25370 * loader/i386/bsd_helper.S: Likewise.
25371 * loader/i386/bsd.c: Likewise.
25372 * loader/i386/linux_trampoline.S: Likewise.
25373 * loader/i386/xnu_helper.S: Likewise.
25374 * loader/i386/xnu.c: Likewise.
25375 * loader/i386/bsd_pagetable.c: Likewise.
25376 * loader/i386/multiboot_helper.S: Likewise.
25377 * loader/xnu.c: Likewise.
25378 * loader/xnu_resume.c: Likewise.
25379 * io/gzio.c: Likewise.
25380 * term/efi/console.c: Likewise.
25381 * term/terminfo.c: Likewise.
25382 * term/ieee1275/ofconsole.c: Likewise.
25383 * term/i386/pc/serial.c: Likewise.
25384 * term/i386/pc/vesafb.c: Likewise.
25385 * term/i386/pc/vga.c: Likewise.
25386 * term/usb_keyboard.c: Likewise.
25387 * term/gfxterm.c: Likewise.
25388 * aclocal.m4: Likewise.
25389 * util/lvm.c: Likewise.
25390 * util/grub.d/30_os-prober.in: Likewise.
25391 * util/grub.d/10_hurd.in: Likewise.
25392 * util/console.c: Likewise.
25393 * util/grub-macho2img.c: Likewise.
25394 * util/grub-probe.c: Likewise.
25395 * util/hostfs.c: Likewise.
25396 * util/i386/pc/grub-mkimage.c: Likewise.
25397 * util/i386/pc/grub-setup.c: Likewise.
25398 * util/i386/efi/grub-mkimage.c: Likewise.
25399 * util/grub-mkconfig.in: Likewise.
25400 * util/raid.c: Likewise.
25401 * util/resolve.c: Likewise.
25402 * util/grub-mkdevicemap.c: Likewise.
25403 * util/grub-emu.c: Likewise.
25404 * util/getroot.c: Likewise.
25405 * util/hostdisk.c: Likewise.
25406 * util/usb.c: Likewise.
25407 * util/grub-editenv.c: Likewise.
25408 * util/misc.c: Likewise.
25409
25410 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
25411
25412 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
25413 `genparttoollist.sh'.
25414 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
25415 Add `*.sh' to the list find searches for and change `mdate.sh'
25416 to `mdate-sh'.
25417
25418 2009-06-10 Pavel Roskin <proski@gnu.org>
25419
25420 * include/grub/multiboot2.h: Provide compatibility defines for
25421 multiboot2.h.
25422 * include/multiboot2.h: Include stdint.h only if needed, using
25423 angle brackets.
25424 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
25425 grub/multiboot2.h.
25426 * loader/ieee1275/multiboot2.c: Likewise.
25427 * loader/multiboot2.c: Likewise.
25428 * loader/multiboot_loader.c: Likewise.
25429
25430 * configure.ac: Use -nostdlib when probing for the target. It
25431 should not be required to have libc for the target.
25432
25433 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
25434 they fail without libc headers for the target.
25435 * include/grub/powerpc/libgcc.h: Use weak attribute for all
25436 exports.
25437 * include/grub/sparc64/libgcc.h: Likewise. Don't use
25438 preprocessor conditionals.
25439
25440 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
25441 build system doesn't need to be aware of the tar.c internals.
25442
25443 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
25444
25445 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
25446
25447 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
25448
25449 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
25450 disk limit to 26 for IDE, Virtio, Xen and SCSI.
25451
25452 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
25453
25454 * util/i386/pc/grub-install.in: Change the error message if UUIDs
25455 aren't available if ata.mod gets used.
25456
25457 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
25458
25459 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
25460 initialising controller.
25461 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
25462
25463 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
25464
25465 * util/i386/pc/grub-install.in: Add a parameter --disk-module
25466 to choose between ata and biosdisk module on i386-pc.
25467
25468 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
25469
25470 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
25471 Subclass and Programming Interface fields in terms of the 3 byte
25472 Class Code register.
25473 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
25474
25475 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
25476 interface is OHCI. Add grub_dprintf for symmetry with
25477 bus/usb/uhci.c.
25478 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
25479 interface is UHCI. Add interf variable for programming
25480 interface. Print interface with class/subclass.
25481
25482 * bus/usb/ohci.c: Set interf with correct field.
25483
25484 * bus/usb/uhci.c: Remove unneeded doubled lines.
25485 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
25486 Remove whitespace inside comment.
25487
25488 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
25489
25490 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
25491 as fallback an equivalent option without depth.
25492
25493 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
25494
25495 Not fail if unable to retrieve C/H/S on LBA disks
25496
25497 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
25498 if unable to retrieve C/H/S on LBA disks
25499
25500 2009-06-08 Pavel Roskin <proski@gnu.org>
25501
25502 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
25503 about aliasing.
25504
25505 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
25506
25507 * Makefile.in (uninstall): Remove all $lib_DATA files.
25508
25509 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
25510
25511 Bugfix: install on partitionless device
25512
25513 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
25514 is a whole disk
25515
25516 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
25517
25518 * Makefile.in (uninstall): Remove all $include_DATA files.
25519
25520 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
25521
25522 * commands/true.c: New file. Implement the true and false commands.
25523 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
25524 (true_mod_SOURCES): New variable.
25525 (true_mod_CFLAGS): Likewise.
25526 (true_mod_LDFLAGS): Likewise.
25527
25528 2009-06-05 Colin D Bennett <colin@gibibit.com>
25529
25530 Optimized font character lookup using binary search instead of linear
25531 search. Fonts now are required to have the character index ordered by
25532 code point.
25533
25534 * font/font.c (load_font_index): Verify that fonts have ordered
25535 character indices.
25536 (find_glyph): Use binary search instead of linear search to find a
25537 character in a font.
25538
25539 2009-06-05 Michael Scherer <misc@mandriva.org>
25540
25541 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
25542 uses case sensitive btree.
25543 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
25544 only for case insensitive filesystems.
25545
25546 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
25547
25548 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
25549 * conf/common.rmk (search_mod_CFLAGS): likewise
25550
25551 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25552
25553 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
25554 compensate a compiler bug
25555
25556 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25557
25558 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
25559 instead of '\b'
25560
25561 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25562
25563 Definitions for creating asm symbols with Apple's CC
25564
25565 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
25566 [APPLE_CC] (VARIABLE): likewise
25567
25568 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25569
25570 Disable lnxboot.img when compiled
25571 with Apple's CC
25572
25573 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
25574 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
25575 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
25576 [! APPLE_CC] (CODE_LENG): skip
25577 [! APPLE_CC] (setup_sects): likewise
25578 [! APPLE_CC]: skip filling
25579
25580 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25581
25582 Address in trampolines based on 32-bit registers when compiled
25583 with Apple's CC
25584
25585 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
25586 for addresses
25587 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
25588
25589 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25590
25591 Avoid aliases when compiling with Apple's CC for PCBIOS machine
25592
25593 * kern/misc.c [APPLE_CC] (memcpy): new function
25594 [APPLE_CC] (memmove): likewise
25595 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
25596 (memcpy): define alias conditionally on !APPLE_CC
25597 (memset): likewise
25598 (abort): likewise
25599 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
25600 APPLE_CC are defined
25601 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
25602 (grub_assert_fail): make prototype conditional
25603
25604 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25605
25606 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
25607
25608 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
25609 grub-macho2img
25610 (CLEANFILES): add grub-macho2img
25611 (grub_macho2img_SOURCES): new variable
25612 * kern/i386/pc/startup.S (bss_start): new variable
25613 (bss_end): likewise
25614 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
25615 * util/grub-macho2img.c: new file
25616
25617 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25618
25619 Use objconv when compiling with Apple's CC
25620
25621 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
25622 (efiemu64.o): likewise
25623 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
25624 when compiling with Apple's CC
25625 (efiemu64_s.o): likewise
25626 * configure.ac: check for objconv when compiling with Apple's CC
25627 * genmk.rb: use objconv for modules when compiled with Apple's CC
25628
25629 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25630
25631 Define segment as well as section when compiling with
25632 Apple's CC
25633
25634 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
25635 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
25636 (efiemu_convert_pointer): likewise
25637 (efiemu_set_virtual_address_map): likewise
25638 (efiemu_convert_pointer): likewise
25639 (efiemu_getcrc32): likewise
25640 (init_crc32_table): likewise
25641 (reflect): likewise
25642 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
25643 (GRUB_MOD_DEP): likewise
25644
25645 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25646
25647 Allow a compilation without -mcmodel=large
25648
25649 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
25650 when compiled without -mcmodel=large
25651 (filter_memory_map): remove memory post 4 GiB when compiled
25652 without -mcmodel=large
25653 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
25654 TARGET_CFLAGS when -mcmodel=large isn't supported
25655
25656 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25657
25658 Remove nested functions in efiemu core
25659
25660 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
25661
25662 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25663
25664 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
25665
25666 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
25667 temporary storage
25668 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
25669 using Apple's CC
25670 (grub_cpu_is_tsc_supported): likewise
25671 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
25672
25673 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25674
25675 Absolute addressing through constant with Apple's cc
25676
25677 * kern/i386/pc/startup.S: Define necessary constants
25678 and address through it when using ABS with Apple's CC
25679 * boot/i386/pc/diskboot.S: likewise
25680 * boot/i386/pc/boot.S: likewise
25681 * boot/i386/pc/lnxboot.S: likewise
25682 * boot/i386/pc/cdboot.S: likewise
25683 * mmap/i386/pc/mmap_helper.S: likewise
25684 * commands/i386/pc/drivemap_int13h.S: likewise
25685
25686 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25687
25688 Check if compiler is apple cc
25689
25690 * Makefile.in (ASFLAGS): new variable
25691 (TARGET_ASFLAGS): likewise
25692 (TARGET_MODULE_FORMAT): likewise
25693 (TARGET_APPLE_CC): likewise
25694 (OBJCONV): likewise
25695 (TARGET_IMG_CFLAGS): likewise
25696 (TARGET_CPPFLAGS): add includedir
25697 * configure.ac: call grub_apple_cc and grub_apple_target_cc
25698 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
25699 Check for linker script only if compiler isn't Apple's CC
25700 (TARGET_MODULE_FORMAT): set
25701 (TARGET_APPLE_CC): likewise
25702 (TARGET_ASFLAGS): likewise
25703 (ASFLAGS): likewise
25704 Check for objcopy only if compiler isn't Apple's CC
25705 Check for BSS symbol only if compiler isn't Apple's CC
25706 * genmk.rb: adapt nm options if we use Apple's utils
25707 * aclocal.m4 (grub_apple_cc): new test
25708 (grub_apple_target_cc): likewise
25709
25710 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25711
25712 Simplify sed expressions and improve awk
25713
25714 * Makefile.in (install-local): simplify sed expression
25715 * gencmdlist.sh: likewise
25716 * genmoddep.awk: avoid adding module as a dependency of itself
25717
25718 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25719
25720 Add missing start symbols
25721
25722 * boot/i386/pc/boot.S: add start
25723 * boot/i386/pc/pxeboot.S: likewise
25724
25725 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25726
25727 Fix wrong assumptions with grub-mkimage on EFI
25728
25729 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
25730 (relocate_addresses): consider both r_addend and value at offset
25731 (make_mods_section): zerofill modinfo and header
25732 (convert_elf): write prefix here
25733
25734 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25735
25736 Use .asciz instead of .string
25737
25738 * i386/pc/diskboot.S: use .asciz instead of .string
25739 * i386/pc/boot.S: likewise
25740 * include/grub/dl.h (GRUB_MOD_DEP): likewise
25741 (GRUB_MOD_NAME): likewise
25742
25743 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25744
25745 gfxpayload support
25746
25747 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
25748 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
25749 (grub_video_setup): remove
25750 (grub_video_set_mode): new prototype
25751 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
25752 (vid_mode): remove
25753 (linux_vesafb_res): compile only on PCBIOS
25754 (grub_linux_boot): support gfxpayload
25755 * loader/i386/pc/xnu.c (video_hook): new function
25756 (grub_xnu_set_video): support gfxpayload
25757 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
25758 (DEFAULT_VIDEO_HEIGHT): likewise
25759 (DEFAULT_VIDEO_FLAGS): likewise
25760 (DEFAULT_VIDEO_MODE): new definition
25761 (video_hook): new function
25762 (grub_gfxterm_init): use grub_video_set_mode
25763 * util/grub.d/30_os-prober.in: remove explicit modesetting before
25764 loading xnu
25765 * video/video.c (grub_video_setup): removed
25766 (grub_video_set_mode): new function based on grub_gfxterm_init and
25767 grub_video_setup
25768
25769 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25770
25771 Avoid calling biosdisk in drivemap
25772
25773 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
25774 (revparse_biosdisk): likewise
25775 (list_mappings): derive name from id directly
25776 (grub_cmd_drivemap): use tryparse_diskstring
25777
25778 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25779
25780 Script fixes
25781
25782 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
25783 (grub_lexer_param): add tokenonhold
25784 (grub_script_create_cmdline): remove cmdline. All callers updated
25785 (grub_script_function_create): make functionname
25786 grub_script_arg. All callers updated
25787 (grub_script_execute_argument_to_string): new prototype
25788 * kern/parser.c (state_transitions): reorder
25789 (grub_parser_cmdline_state): fix a bug and make more compact
25790 * script/sh/execute.c (grub_script_execute_argument_to_string):
25791 make global
25792 (grub_script_execute_cmdline): use new format
25793 * script/sh/function.c (grub_script_function_create): make functionname
25794 grub_script_arg. All callers updated
25795 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
25796 (grub_script_yylex): remove
25797 (grub_script_yylex2): renamed to ...
25798 (grub_script_yylex): ...renamed
25799 parse the expressions like a${b}c
25800 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
25801 (GRUB_PARSER_TOKEN_VAR): remove
25802 (GRUB_PARSER_TOKEN_NAME): likewise
25803 ("if"): declare as typeless
25804 ("while"): likewise
25805 ("function"): likewise
25806 ("else"): likewise
25807 ("then"): likewise
25808 ("fi"): likewise
25809 (text): remove
25810 (argument): likewise
25811 (script): accept empty scripts and make exit on error
25812 (arguments): use GRUB_PARSER_TOKEN_ARG
25813 (function): likewise
25814 (command): move error handling to script
25815 (menuentry): move grub_script_lexer_ref before
25816 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
25817 argument. All callers updated
25818
25819 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
25820
25821 Prevent GRUB from probing floppies during boot.
25822
25823 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
25824 * commands/search.c (options): Add --no-floppy.
25825 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
25826 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
25827 --no-floppy when searching for UUIDs.
25828
25829 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
25830
25831 Simplify the code duplication in commands/search.c.
25832
25833 * commands/search.c (search_label, search_fs_uuid): Merge into ...
25834 (search_fs): ... this. Update all users.
25835
25836 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
25837
25838 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
25839
25840 2009-05-28 Pavel Roskin <proski@gnu.org>
25841
25842 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
25843 Remove the original symlink explicitly.
25844
25845 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
25846 just one slash. That's how grub_fshelp_find_file() does it.
25847
25848 2009-05-26 Pavel Roskin <proski@gnu.org>
25849
25850 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
25851 to `str'.
25852
25853 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
25854 possibly unused.
25855
25856 2009-05-25 Christian Franke <franke@computer.org>
25857
25858 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
25859 register.
25860 (grub_atapi_identify): Add wait after drive select.
25861 (grub_ata_identify): Do more strict status register check before
25862 calling grub_atapi_identify (). Suppress error message if status
25863 register is 0x00 after command failure. Add status register
25864 check after PIO read to avoid bogus identify due to stuck DRQ.
25865 Thanks to Pavel Roskin for testing.
25866 (grub_device_initialize): Remove unsafe status register check.
25867 Thanks to 'phcoder' for problem report and patch.
25868 Prevent sign extension in debug message.
25869
25870 2009-05-23 Colin D Bennett <colin@gibibit.com>
25871
25872 Cleaned up `include/grub/normal.h'. Grouped prototypes by
25873 definition file, and functions defined in `normal/menu.c' have had
25874 their prototypes moved to `include/grub/menu.h' for consistency.
25875
25876 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
25877 from normal.h.
25878 (grub_menu_get_entry): Likewise.
25879 (grub_menu_get_timeout): Likewise.
25880 (grub_menu_set_timeout): Likewise.
25881 (grub_menu_execute_entry): Likewise.
25882 (grub_menu_execute_with_fallback): Likewise.
25883 (grub_menu_entry_run): Likewise.
25884
25885 * include/grub/normal.h: Re-ordered and grouped function
25886 prototypes by file that the function is defined in.
25887 (grub_menu_execute_callback): Removed; moved to menu.h.
25888 (grub_menu_get_entry): Likewise.
25889 (grub_menu_get_timeout): Likewise.
25890 (grub_menu_set_timeout): Likewise.
25891 (grub_menu_execute_entry): Likewise.
25892 (grub_menu_execute_with_fallback): Likewise.
25893 (grub_menu_entry_run): Likewise.
25894 (grub_menu_addentry): Renamed from this ...
25895 (grub_normal_add_menu_entry): ... to this.
25896
25897 * normal/main.c (grub_menu_addentry): Renamed from this ...
25898 (grub_normal_add_menu_entry): ... to this.
25899
25900 * script/sh/execute.c (grub_script_execute_menuentry): Update
25901 reference to renamed grub_menu_addentry function.
25902
25903 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
25904
25905 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
25906
25907 2009-05-22 Pavel Roskin <proski@gnu.org>
25908
25909 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
25910 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
25911 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
25912 compiling for the i386 targets, but not for the utilities.
25913
25914 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
25915 to grub_uint8_t.
25916 (grub_root_drive): Likewise.
25917 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
25918 remove alignment.
25919 (grub_root_drive): Change size to byte.
25920 (grub_start_addr): Remove.
25921 (grub_end_addr): Likewise.
25922 (grub_apm_bios_info): Likewise.
25923
25924 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
25925
25926 * normal/i386: Remove.
25927 * normal/powerpc: Likewise.
25928 * normal/sparc64: Likewise.
25929 * normal/x86_64: Likewise.
25930
25931 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
25932
25933 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
25934 * loader/i386/linux_trampoline.S: Fix indentation
25935 * loader/i386/xnu_helper.S: Likewise
25936
25937 2009-05-18 Colin D Bennett <colin@gibibit.com>
25938
25939 Display error messages when parsing a Lua statement fails.
25940 Previously, executing a syntactically invalid statement like
25941 ")foo" or "bar;" would silently fail.
25942
25943 * script/lua/grub_main.c (handle_lua_error): New function.
25944 (grub_lua_parse_line): Improved reporting of Lua parser and
25945 execution errors.
25946
25947 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25948
25949 Remove -Werror which causes build to fail on some systems
25950
25951 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
25952 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
25953 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
25954
25955 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25956
25957 trampoline for linux on 64-bit platform
25958
25959 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
25960 loader/i386/efi/linux_trampoline.S
25961 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
25962 declaration
25963 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
25964 here
25965 * loader/i386/linux_trampoline.S: moved here
25966 * loader/i386/efi/linux.c (allocate_pages): reserve space for
25967 trampoline
25968 (jumpvector): removed
25969 (grub_linux_trampoline_start): new declaration
25970 (grub_linux_trampoline_end): likewise
25971 (grub_linux_boot): use trampoline when on 64-bit platform
25972 * loader/i386/linux.c: likewise
25973
25974 2009-05-16 Pavel Roskin <proski@gnu.org>
25975
25976 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
25977 const to avoid a warning.
25978 (grub_lua_setenv): Likewise.
25979 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
25980 lmsg to fix a warning.
25981
25982 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
25983
25984 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
25985 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25986 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
25987 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25988 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
25989 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25990 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
25991 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25992
25993 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
25994
25995 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
25996
25997 2009-05-16 Bean <bean123ch@gmail.com>
25998
25999 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
26000 (lua_mod_SOURCES): New variable.
26001 (lua_mod_CFLAGS): Likewise.
26002 (lua_mod_LDFLAGS): Likewise.
26003
26004 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
26005 (setjmp_mod_SOURCES): New variable.
26006 (setjmp_mod_CFLAGS): Likewise.
26007 (setjmp_LDFLAGS): Likewise.
26008
26009 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
26010 (setjmp_mod_SOURCES): New variable.
26011 (setjmp_mod_CFLAGS): Likewise.
26012 (setjmp_LDFLAGS): Likewise.
26013
26014 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
26015 (setjmp_mod_SOURCES): New variable.
26016 (setjmp_mod_CFLAGS): Likewise.
26017 (setjmp_LDFLAGS): Likewise.
26018
26019 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
26020 (setjmp_mod_SOURCES): New variable.
26021 (setjmp_mod_CFLAGS): Likewise.
26022 (setjmp_LDFLAGS): Likewise.
26023
26024 * normal/i386/setjmp.S: Moved from here ...
26025 * lib/i386/setjmp.S: ... Moved here
26026 * normal/x86_64/setjmp.S: Moved from here ...
26027 * lib/x86_64/setjmp.S: ... Moved here
26028 * normal/powerpc/setjmp.S: Moved from here ...
26029 * lib/powerpc/setjmp.S: ... Moved here
26030 * normal/sparc64/setjmp.S: Moved from here ...
26031 * lib/sparc64/setjmp.S: ... Moved here
26032
26033 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
26034 returns_twice in mingw.
26035
26036 * script/lua/grub_lib.c: New file.
26037 * script/lua/grub_lib.h: Likewise.
26038 * script/lua/grub_lua.h: Likewise.
26039 * script/lua/grub_main.c: Likewise.
26040 * script/lua/lapi.c: Likewise.
26041 * script/lua/lapi.h: Likewise.
26042 * script/lua/lauxlib.c: Likewise.
26043 * script/lua/lauxlib.h: Likewise.
26044 * script/lua/lbaselib.c: Likewise.
26045 * script/lua/lcode.c: Likewise.
26046 * script/lua/lcode.h: Likewise.
26047 * script/lua/ldblib.c: Likewise.
26048 * script/lua/ldebug.c: Likewise.
26049 * script/lua/ldebug.h: Likewise.
26050 * script/lua/ldo.c: Likewise.
26051 * script/lua/ldo.h: Likewise.
26052 * script/lua/ldump.c: Likewise.
26053 * script/lua/lfunc.c: Likewise.
26054 * script/lua/lfunc.h: Likewise.
26055 * script/lua/lgc.c: Likewise.
26056 * script/lua/lgc.h: Likewise.
26057 * script/lua/linit.c: Likewise.
26058 * script/lua/liolib.c: Likewise.
26059 * script/lua/llex.c: Likewise.
26060 * script/lua/llex.h: Likewise.
26061 * script/lua/llimits.h: Likewise.
26062 * script/lua/lmathlib.c: Likewise.
26063 * script/lua/lmem.c: Likewise.
26064 * script/lua/lmem.h: Likewise.
26065 * script/lua/loadlib.c: Likewise.
26066 * script/lua/lobject.c: Likewise.
26067 * script/lua/lobject.h: Likewise.
26068 * script/lua/lopcodes.c: Likewise.
26069 * script/lua/lopcodes.h: Likewise.
26070 * script/lua/loslib.c: Likewise.
26071 * script/lua/lparser.c: Likewise.
26072 * script/lua/lparser.h: Likewise.
26073 * script/lua/lstate.c: Likewise.
26074 * script/lua/lstate.h: Likewise.
26075 * script/lua/lstring.c: Likewise.
26076 * script/lua/lstring.h: Likewise.
26077 * script/lua/lstrlib.c: Likewise.
26078 * script/lua/ltable.c: Likewise.
26079 * script/lua/ltable.h: Likewise.
26080 * script/lua/ltablib.c: Likewise.
26081 * script/lua/ltm.c: Likewise.
26082 * script/lua/ltm.h: Likewise.
26083 * script/lua/lua.h: Likewise.
26084 * script/lua/luaconf.h: Likewise.
26085 * script/lua/lualib.h: Likewise.
26086 * script/lua/lundump.c: Likewise.
26087 * script/lua/lundump.h: Likewise.
26088 * script/lua/lvm.c: Likewise.
26089 * script/lua/lvm.h: Likewise.
26090 * script/lua/lzio.c: Likewise.
26091 * script/lua/lzio.h: Likewise.
26092
26093 2009-05-16 Bean <bean123ch@gmail.com>
26094
26095 * include/grub/kernel.h (grub_module_header_types): Add type
26096 OBJ_TYPE_CONFIG.
26097
26098 * kern/main.c (grub_load_config): New function.
26099 (grub_main): Call grub_load_config to read boot config.
26100
26101 * grub-mkimage (generate_image): New parameter config_path.
26102 (options): New option --config.
26103 (main): Parse --config option, and pass it to generate_image.
26104
26105 2009-05-14 Christian Franke <franke@computer.org>
26106
26107 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
26108 This fixes build on Cygwin.
26109
26110 2009-05-14 Pavel Roskin <proski@gnu.org>
26111
26112 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
26113 jump. This saves two bytes, so the typical case of 2 swapped
26114 drives would fit 32 bytes.
26115
26116 2009-05-13 Pavel Roskin <proski@gnu.org>
26117
26118 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
26119 grub_uint32_t to avoid a warning.
26120
26121 * loader/i386/linux.c (allocate_pages): When assigning
26122 real_mode_mem, cast through grub_size_t to fix a warning. The
26123 code already makes sure that the value would fit a pointer.
26124 (grub_linux_setup_video): Cast render_target->data to
26125 grub_size_t to fix a warning.
26126
26127 2009-05-13 Javier Martín <lordhabbit@gmail.com>
26128
26129 * commands/i386/pc/drivemap.c: New file - implement drivemap
26130 command.
26131 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
26132 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
26133
26134 2009-05-13 Pavel Roskin <proski@gnu.org>
26135
26136 * util/i386/pc/grub-setup.c (setup): Remove unused variable
26137 embedding_area_exists.
26138
26139 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
26140
26141 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
26142 it easier to understand / work with.
26143 Improve warning messages for cases where there's no embedding area,
26144 or when it is too small (or core.img too large).
26145
26146 2009-05-13 Pavel Roskin <proski@gnu.org>
26147
26148 * loader/i386/pc/multiboot2.c: Add necessary includes for
26149 grub_multiboot2_real_boot().
26150
26151 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
26152 PX record is always little-endian. We only need the lower 2
26153 bytes of the mode.
26154
26155 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
26156 facilitate code reuse.
26157 (grub_cpio_mount): Use "struct head", not a char buffer. This
26158 fixes a warning reported by gcc 4.4.
26159
26160 * kernel/disk.c (grub_disk_read): Use void pointer for the
26161 buffer.
26162 (grub_disk_write): Use const void pointer for the buffer.
26163 Adjust all callers. Remove unnecessary casts.
26164
26165 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
26166
26167 * util/i386/pc/grub-install.in: Update copyright year.
26168
26169 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
26170
26171 gptsync
26172
26173 * commands/gptsync.c: new file
26174 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
26175 (gptsync_mod_SOURCES): new variable
26176 (gptsync_mod_CFLAGS): likewise
26177 (gptsync_mod_LDFLAGS): likewise
26178 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
26179 new definition
26180 (GRUB_PC_PARTITION_TYPE_HFS): likewise
26181 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
26182 * conf/i386-ieee1275.rmk: likewise
26183 * conf/i386-pc.rmk: likewise
26184 * conf/powerpc-ieee1275.rmk: likewise
26185
26186 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
26187
26188 Fixed grub-emu
26189
26190 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
26191 (grub_dl_ref): likewise
26192
26193 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
26194
26195 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
26196 split in two functions (one for msdos and one for gpt).
26197
26198 2009-05-08 Pavel Roskin <proski@gnu.org>
26199
26200 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
26201 not modified.
26202
26203 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
26204 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
26205 Initialize them with -1. Add sanity check for bad1. Eliminate
26206 nerr variable.
26207
26208 2009-05-08 David S. Miller <davem@davemloft.net>
26209
26210 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
26211
26212 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
26213
26214 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
26215 existence.
26216
26217 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
26218
26219 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26220 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
26221
26222 2009-05-05 David S. Miller <davem@davemloft.net>
26223
26224 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
26225
26226 2009-05-05 Pavel Roskin <proski@gnu.org>
26227
26228 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
26229 of grub_dl_ref() and grub_dl_unref().
26230 * commands/parttool.c: Remove preprocessor conditionals around
26231 grub_dl_ref() and grub_dl_unref().
26232 * fs/affs.c: Likewise.
26233 * fs/afs.c: Likewise.
26234 * fs/cpio.c: Likewise.
26235 * fs/ext2.c: Likewise.
26236 * fs/fat.c: Likewise.
26237 * fs/hfs.c: Likewise.
26238 * fs/hfsplus.c: Likewise.
26239 * fs/iso9660.c: Likewise.
26240 * fs/jfs.c: Likewise.
26241 * fs/minix.c: Likewise.
26242 * fs/ntfs.c: Likewise.
26243 * fs/reiserfs.c: Likewise.
26244 * fs/sfs.c: Likewise.
26245 * fs/udf.c: Likewise.
26246 * fs/ufs.c: Likewise.
26247 * fs/xfs.c: Likewise.
26248 * include/grub/dl.h: Likewise.
26249 * loader/xnu.c: Likewise.
26250
26251 2009-05-04 Pavel Roskin <proski@gnu.org>
26252
26253 * commands/acpi.c: Remove unused variable my_mod.
26254 * partmap/amiga.c: Likewise.
26255 * partmap/apple.c: Likewise.
26256 * partmap/gpt.c: Likewise.
26257 * partmap/pc.c: Likewise.
26258 * partmap/sun.c: Likewise.
26259 * term/gfxterm.c: Likewise.
26260 * term/i386/pc/vesafb.c: Likewise.
26261 * term/i386/pc/vga.c: Likewise.
26262
26263 2009-05-04 David S. Miller <davem@davemloft.net>
26264
26265 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
26266 pointer args to grub_ieee1275_get_property().
26267
26268 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
26269
26270 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
26271 devices, and do not traverse down under controller nodes.
26272
26273 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
26274 (grub_ofdisk_open): Use it to un-escape "," characters.
26275 * kern/disk.c (find_part_sep): New.
26276 (grub_disk_open): Use it to find the first non-escaped ','
26277 character in the disk name.
26278 * util/ieee1275/devicemap.c (escape_of_path): New.
26279 (grub_util_emit_devicemap_entry): Use it.
26280 * util/sparc64/ieee1275/grub-install.in: Update script to
26281 strip partition specifiers properly by not triggering on
26282 '\' escaped ',' characters.
26283
26284 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26285
26286 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
26287 to 0x300.
26288 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
26289 resolutions.
26290 (linux_vesafb_modes): Add a lot of additional modes to the list (based
26291 on documentation from Wikipedia).
26292
26293 2009-05-04 Pavel Roskin <proski@gnu.org>
26294
26295 * disk/ata.c: Spelling fixes.
26296 * disk/raid.c: Likewise.
26297 * disk/usbms.c: Likewise.
26298 * disk/dmraid_nvidia.c: Likewise.
26299 * kern/ieee1275/openfw.c: Likewise.
26300 * kern/ieee1275/init.c: Likewise.
26301 * kern/ieee1275/cmain.c: Likewise.
26302 * boot/i386/pc/cdboot.S: Likewise.
26303 * video/readers/png.c: Likewise.
26304 * video/i386/pc/vbe.c: Likewise.
26305 * fs/udf.c: Likewise.
26306 * fs/hfs.c: Likewise.
26307 * fs/reiserfs.c: Likewise.
26308 * efiemu/runtime/efiemu.c: Likewise.
26309 * efiemu/main.c: Likewise.
26310 * efiemu/mm.c: Likewise.
26311 * include/grub/elf.h: Likewise.
26312 * include/grub/xnu.h: Likewise.
26313 * include/grub/usbdesc.h: Likewise.
26314 * include/grub/usb.h: Likewise.
26315 * include/grub/script_sh.h: Likewise.
26316 * include/grub/lib/LzmaEnc.h: Likewise.
26317 * include/grub/efiemu/efiemu.h: Likewise.
26318 * include/grub/command.h: Likewise.
26319 * normal/menu.c: Likewise.
26320 * normal/main.c: Likewise.
26321 * normal/datetime.c: Likewise.
26322 * bus/usb/uhci.c: Likewise.
26323 * mmap/i386/uppermem.c: Likewise.
26324 * mmap/mmap.c: Likewise.
26325 * commands/acpi.c: Likewise.
26326 * commands/test.c: Likewise.
26327 * partmap/apple.c: Likewise.
26328 * font/font.c: Likewise.
26329 * loader/sparc64/ieee1275/linux.c: Likewise.
26330 * loader/macho.c: Likewise.
26331 * loader/i386/bsd_trampoline.S: Likewise.
26332 * loader/i386/bsd.c: Likewise.
26333 * loader/xnu.c: Likewise.
26334 * term/i386/pc/vesafb.c: Likewise.
26335 * term/usb_keyboard.c: Likewise.
26336 * util/resolve.c: Likewise.
26337 * util/getroot.c: Likewise.
26338
26339 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
26340
26341 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
26342
26343 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26344
26345 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
26346 build error.
26347
26348 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26349
26350 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
26351 parameter only available on BIOS.
26352
26353 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26354
26355 Removed wrong semicolon in declaration
26356
26357 * grub/misc.h (grub_dprintf): remove semicolon
26358
26359 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26360
26361 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
26362 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
26363 is done by grub_cmd_linux() now).
26364 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
26365 restore video to text mode.
26366 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
26367 indicates lack of "vga=" parameter. "vga=0" is mapped to
26368 `GRUB_LINUX_VID_MODE_NORMAL'.
26369
26370 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
26371
26372 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
26373 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
26374 and `normal/script.c'. Add `kern/rescue_reader.c',
26375 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
26376 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
26377 `grub_script.tab.c'.
26378
26379 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26380 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26381 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26382 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26383 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26384
26385 * Makefile.in: Remove duplicated 2008 in Copyright line.
26386
26387 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26388
26389 * util/misc.c (grub_util_warn): New function. Emits a warning
26390 unconditionally.
26391 * include/grub/util/misc.h (grub_util_warn): New declaration.
26392
26393 * util/i386/pc/grub-install.in: Understand --force and pass it down
26394 to grub-setup.
26395
26396 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
26397 down to setup().
26398 (setup): Improve error messages and add warnings when requested to
26399 install in odd layouts. Refuse to install using blocklists unless
26400 --force was set.
26401
26402 2009-05-04 martin f. krafft <madduck@madduck.net>
26403
26404 * disk/raid.c (grub_raid_scan_device): Improve debug message.
26405
26406 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26407
26408 Updated copyright year
26409
26410 * fs/hfsplus.c: updated copyright year
26411
26412 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26413
26414 HFS+ UUID
26415
26416 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
26417 in the space previously used by unused3
26418 (grub_hfsplus_uuid): new function
26419 (grub_hfsplus_fs): added uuid field
26420
26421 2009-05-03 Pavel Roskin <proski@gnu.org>
26422
26423 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
26424 suppress warnings. It's no longer needed.
26425 * disk/host.c: Likewise.
26426 * disk/ata_pthru.c: Likewise.
26427 * disk/loopback.c: Likewise.
26428 * hook/datehook.c: Likewise.
26429 * parttool/pcpart.c: Likewise.
26430 * fs/i386/pc/pxe.c: Likewise.
26431 * fs/ntfscomp.c: Likewise.
26432 * efiemu/main.c: Likewise.
26433 * mmap/mmap.c: Likewise.
26434 * commands/crc.c: Likewise.
26435 * commands/hexdump.c: Likewise.
26436 * commands/hdparm.c: Likewise.
26437 * commands/acpi.c: Likewise.
26438 * commands/echo.c: Likewise.
26439 * commands/minicmd.c: Likewise.
26440 * commands/blocklist.c: Likewise.
26441 * commands/memrw.c: Likewise.
26442 * commands/loadenv.c: Likewise.
26443 * commands/usbtest.c: Likewise.
26444 * commands/lsmmap.c: Likewise.
26445 * commands/boot.c: Likewise.
26446 * commands/parttool.c: Likewise.
26447 * commands/configfile.c: Likewise.
26448 * commands/search.c: Likewise.
26449 * commands/ieee1275/suspend.c: Likewise.
26450 * commands/cat.c: Likewise.
26451 * commands/i386/pc/pxecmd.c: Likewise.
26452 * commands/i386/pc/play.c: Likewise.
26453 * commands/i386/pc/halt.c: Likewise.
26454 * commands/i386/pc/vbeinfo.c: Likewise.
26455 * commands/i386/pc/vbetest.c: Likewise.
26456 * commands/lspci.c: Likewise.
26457 * commands/date.c: Likewise.
26458 * commands/handler.c: Likewise.
26459 * commands/ls.c: Likewise.
26460 * commands/test.c: Likewise.
26461 * commands/cmp.c: Likewise.
26462 * commands/efi/loadbios.c: Likewise.
26463 * commands/efi/fixvideo.c: Likewise.
26464 * commands/halt.c: Likewise.
26465 * commands/help.c: Likewise.
26466 * commands/reboot.c: Likewise.
26467 * hello/hello.c: Likewise.
26468 * script/sh/main.c: Likewise.
26469 * loader/xnu.c: Likewise.
26470 * term/terminfo.c: Likewise.
26471 * term/i386/pc/serial.c: Likewise.
26472 * term/usb_keyboard.c: Likewise.
26473
26474 2009-05-03 David S. Miller <davem@davemloft.net>
26475
26476 * normal/menu.c: Include grub/parser.h
26477
26478 2009-05-03 Pavel Roskin <proski@gnu.org>
26479
26480 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
26481 not char*.
26482 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
26483 Suggested by Javier Martín <lordhabbit@gmail.com>
26484
26485 * util/i386/pc/grub-mkrescue.in: Allow for the case when
26486 efiemu??.o doesn't exist.
26487 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
26488 copying.
26489
26490 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
26491
26492 FreeBSD 64-bit support
26493
26494 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
26495 and loader/i386/bsd_trampoline.S
26496 (bsd_mod_ASFLAGS): new variable
26497 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
26498 (FREEBSD_MODTYPE_KERNEL64): likewise
26499 (grub_bsd64_trampoline_start): likewise
26500 (grub_bsd64_trampoline_end): likewise
26501 (grub_bsd64_trampoline_selfjump): likewise
26502 (grub_bsd64_trampoline_gdt): likewise
26503 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
26504 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
26505 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
26506 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
26507 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
26508 of "attrib" member
26509 * loader/i386/bsd_pagetable.c: new file
26510 * loader/i386/bsd_trampoline.S: likewise
26511 * loader/i386/bsd.c (ALIGN_QWORD): new macro
26512 (ALIGN_VAR): likewise
26513 (entry_hi): new variable
26514 (kern_end_mdofs): likewise
26515 (is_64bit): likewise
26516 (grub_freebsd_add_meta): use ALIGN_VAR
26517 (grub_e820_mmap): new declaration
26518 (grub_freebsd_add_mmap): new function
26519 (grub_freebsd_add_meta_module): support 64 bit kernels
26520 (grub_freebsd_list_modules): use ALIGN_VAR
26521 (gdt_descriptor): new declaration
26522 (grub_freebsd_boot): support 64 bit kernels
26523 (grub_bsd_elf64_hook): new function
26524 (grub_bsd_load_elf): support elf64
26525
26526 2009-05-03 Bean <bean123ch@gmail.com>
26527
26528 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
26529 after we get the result of if statement.
26530
26531 2009-05-03 Bean <bean123ch@gmail.com>
26532
26533 * Makefile.in (enable_efiemu): New variable.
26534
26535 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
26536 set.
26537 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
26538 path.
26539 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
26540 path, add -mno-red-zone option.
26541 (efiemu64_s.o): Likewise.
26542 (efiemu64.o): Use macro $^ for source file.
26543
26544 * configure.ac (--enable-efiemu): New option.
26545
26546 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26547
26548 xnu support
26549
26550 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
26551 (pkglib_MODULES): add xnu.mod
26552 (xnu_mod_SOURCES): new variable
26553 (xnu_mod_CFLAGS): likewise
26554 (xnu_mod_LDFLAGS): likewise
26555 (xnu_mod_ASFLAGS): likewise
26556 * conf/i386-pc.rmk: likewise
26557 * conf/x86_64-efi.rmk: likewise
26558 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
26559 new declaration
26560 * include/grub/i386/macho.h: new file
26561 * include/grub/i386/xnu.h: likewise
26562 * include/grub/macho.h: likewise
26563 * include/grub/machoload.h: likewise
26564 * include/grub/x86_64/macho.h: likewise
26565 * include/grub/x86_64/xnu.h: likewise
26566 * include/grub/xnu.h: likewise
26567 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
26568 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
26569 * loader/i386/efi/xnu.c: new file
26570 * loader/i386/pc/xnu.c: likewise
26571 * loader/i386/xnu.c: likewise
26572 * loader/i386/xnu_helper.S: likewise
26573 * loader/macho.c: likewise
26574 * loader/xnu.c: likewise
26575 * loader/xnu_resume.c: likewise
26576 * util/grub-dumpdevtree: likewise
26577 * include/grub/i386/pit.h: include grub/err.h
26578 (grub_pit_wait): export
26579 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
26580
26581 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26582
26583 Efiemu
26584
26585 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
26586 _linux_efi, linux_efi.
26587 new files in grub-emu
26588 new targets efiemu32.o and efiemu64.o
26589 * loader/linux_normal_efiemu.c: likewise
26590 * loader/i386/efi/linux.c: added preliminary efiemu support
26591 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
26592 files to copy
26593 * include/grub/autoefi.h: new file
26594 * include/grub/i386/efiemu.h: likewise
26595 * include/grub/i386/pc/efiemu.h: likewise
26596 * include/grub/efi/api.h: add LL suffix when necessary
26597 new definitions relating to tables
26598 * include/grub/efiemu/efiemu.h: new file
26599 * include/grub/efiemu/runtime.h: likewise
26600 * efiemu/prepare.c: likewise
26601 * efiemu/loadcore_common.c: likewise
26602 * efiemu/loadcore64.c: likewise
26603 * efiemu/runtime/efiemu.sh: likewise
26604 * efiemu/runtime/efiemu.S: likewise
26605 * efiemu/runtime/efiemu.c: likewise
26606 * efiemu/runtime/config.h: likewise
26607 * efiemu/prepare32.c: likewise
26608 * efiemu/main.c: likewise
26609 * efiemu/modules/pnvram.c: likewise
26610 * efiemu/modules/i386: likewise
26611 * efiemu/modules/i386/pc: likewise
26612 * efiemu/modules/acpi.c: likewise
26613 * efiemu/i386/pc/cfgtables.c: likewise
26614 * efiemu/i386/loadcore64.c: likewise
26615 * efiemu/i386/loadcore32.c: likewise
26616 * efiemu/prepare64.c: likewise
26617 * efiemu/loadcore.c: likewise
26618 * efiemu/symbols.c: likewise
26619 * efiemu/mm.c: likewise
26620 * efiemu/loadcore32.c: likewise
26621
26622 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26623
26624 ACPI spoofing
26625
26626 * commands/acpi.c: new file
26627 * commands/i386/pc/acpi.c: likewise
26628 * commands/efi/acpi.c: likewise
26629 * include/grub/acpi.h: likewise
26630 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
26631 (acpi_mod_SOURCES): new variable
26632 (acpi_mod_CFLAGS): likewise
26633 (acpi_mod_LDFLAGS): likewise
26634 * conf/i386-efi.rmk: likewise
26635 * conf/x86_64-efi.rmk: likewise
26636
26637 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26638
26639 Missing part from mmap patch
26640
26641 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
26642 (grub_mmap_unregister)
26643 (grub_mmap_free_and_unregister): use grub_mmap_register
26644
26645 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26646
26647 Mmap services
26648
26649 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
26650 * loader/i386/linux.c (find_mmap_size): likewise
26651 (allocate_pages): likewise
26652 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
26653 (grub_fill_multiboot_mmap): likewise
26654 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
26655 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
26656 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
26657 (OPENBSD_MMAP_RESERVED): likewise
26658 * include/grub/i386/pc/memory.h: include grub/memory.h
26659 (grub_lower_mem): removed
26660 (grub_upper_mem): likewise
26661 (GRUB_MACHINE_MEMORY_ACPI): new definition
26662 (GRUB_MACHINE_MEMORY_NVS): likewise
26663 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
26664 (GRUB_MACHINE_MEMORY_HOLE): likewise
26665 (grub_machine_mmap_register): likewise
26666 (grub_machine_mmap_unregister): likewise
26667 (grub_machine_get_upper): likewise
26668 (grub_machine_get_lower): likewise
26669 (grub_machine_get_post64): likewise
26670 * include/grub/i386/efi/memory.h: new file
26671 * include/grub/x86_64/efi/memory.h: likewise
26672 * include/grub/efi/memory.h: likewise
26673 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
26674 (mmap_mod_SOURCES): new variable
26675 (mmap_mod_LDFLAGS): likewise
26676 (mmap_mod_ASFLAGS): likewise
26677 * conf/i386-coreboot.rmk: likewise
26678 * conf/i386-ieee1275.rmk: likewise
26679 * conf/i386-efi.rmk: likewise
26680 * conf/x86_64-efi.rmk: likewise
26681 * include/grub/types.h (UINT_TO_PTR): new macro
26682 (PTR_TO_UINT32): likewise
26683 (PTR_TO_UINT64): likewise
26684 * include/grub/memory.h: new file
26685 * mmap/i386/pc/mmap.c: likewise
26686 * mmap/i386/pc/mmap_helper.S: likewise
26687 * mmap/i386/uppermem.c: likewise
26688 * mmap/mmap.c: likewise
26689 * mmap/efi/mmap.c: likewise
26690 * kern/i386/coreboot/init.c (grub_machine_init): don't use
26691 grub_upper_mem
26692 * kern/i386/pc/init.c (grub_lower_mem): removed variable
26693 (grub_upper_mem): likewise
26694 (grub_machine_init): don't use grub_upper_mem,
26695 make grub_lower_mem local
26696 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
26697 grub_mmap_iterate and grub_mmap_get_upper
26698 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
26699
26700 2009-05-02 Bean <bean123ch@gmail.com>
26701
26702 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
26703 script/sh/parser.y.
26704 (pkglib_MODULES): Add normal.mod and sh.mod.
26705 (normal_SOURCES): New variable.
26706 (normal_mod_CFLAGS): Likewise.
26707 (normal_mod_LDFLAGS): Likewise.
26708 (sh_mod_SOURCES): Likewise.
26709 (sh_mod_CFLAGS): Likewise.
26710 (sh_mod_LDFLAGS): Likewise.
26711
26712 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
26713 script/sh/lexer.c_DEPENDENCIES.
26714 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
26715 kern/rescue_reader.c and kern/rescue_parser.c.
26716 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
26717 (grub_emu_SOURCES): Change source files.
26718 (pkglib_MODULES): Remove normal.mod.
26719 (normal_SOURCES): Removed.
26720 (normal_mod_CFLAGS): Likewise.
26721 (normal_mod_LDFLAGS): Likewise.
26722 * conf/i386-coreboot.rmk: Likewise.
26723 * conf/i386-efi.rmk: Likewise.
26724 * conf/i386-ieee1276.rmk: Likewise.
26725 * conf/powerpc-ieee1275.rmk: Likewise.
26726 * conf/sparc64-ieee1275.rmk: Likewise.
26727 * conf/x86_64-efi.rmk: Likewise.
26728
26729 * include/grub/command.h (grub_command_execute): New inline function.
26730
26731 * include/grub/menu.h (grub_menu_entry): Removed commands field.
26732
26733 * include/grub/normal.h: Remove <grub/setjmp.h>.
26734 (grub_fs_module_list): Moved to normal/autofs.c.
26735 (grub_exit_env): Removed.
26736 (grub_command_execute): Likewise.
26737 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
26738 parameter script.
26739 (read_command_list): New function declaration.
26740 (read_fs_list): Likewise.
26741
26742 * include/parser.h: Include <grub/reader.h>.
26743 (grub_parser_split_cmdline): Change type of getline parameter.
26744 (grub_parser): New structure.
26745 (grub_parser_class): New variable.
26746 (grub_parser_execute): New function declaration.
26747 (grub_register_rescue_parser): Likewise.
26748 (grub_parser_register): New inline function.
26749 (grub_parser_unregister): Likewise.
26750 (grub_parser_get_current): Likewise.
26751 (grub_parser_set_current): Likewise.
26752
26753 * include/grub/reader.h: New file.
26754 * kern/reader.c: Likewise.
26755 * kern/rescue_parser.c: Likewise.
26756 * kern/rescue_reader.c: Likewise.
26757 * normal/autofs.c: Likewise.
26758 * normal/dyncmd.c: Likewise.
26759
26760 * include/grub/rescue.h: Removed.
26761 * normal/command.h: Likewise.
26762
26763 * include/grub/script.h: Moved to ...
26764 * include/grub/script_sh.h: ... Moved here.
26765 * normal/execute.c: Moved to ...
26766 * script/sh/execute.c: ... Moved here.
26767 * normal/function.c: Moved to ...
26768 * script/sh/function.c: ... Moved here.
26769 * normal/lexer.c: Moved to ...
26770 * script/sh/lexer.c: ... Moved here.
26771 * normal/parser.y: Moved to ...
26772 * script/sh/parser.y: ... Moved here.
26773 * normal/script.c: Moved to ...
26774 * script/sh/script.c: ... Moved here.
26775
26776 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
26777 <grub/reader.h>.
26778 (grub_exit_env): Removed.
26779 (fs_module_list): Moved to normal/autofs.c.
26780 (grub_file_getline): Don't handle comment here.
26781 (free_menu): Skip removed field entry->commands.
26782 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
26783 script parameter.
26784 (read_config_file): Removed nested parameter, change getline function.
26785 (grub_enter_normal_mode): Removed.
26786 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
26787 (read_command_list): Likewise.
26788 (autoload_fs_module): Moved to normal/autofs.c.
26789 (read_fs_list): Likewise.
26790 (reader_nested): New variable.
26791 (grub_normal_execute): Run parser.sh to switch to sh parser.
26792 (grub_cmd_rescue): Removed.
26793 (cmd_normal): Removed.
26794 (grub_cmd_normal): Unregister itself at the beginning. Don't register
26795 rescue command.
26796 (grub_cmdline_run): New function.
26797 (grub_normal_reader_init): Likewise.
26798 (grub_normal_read_line): Likewise.
26799 (grub_env_write_pager): Likewise.
26800 (cmdline): New variable.
26801 (grub_normal_reader): Likewise.
26802 (GRUB_MOD_INIT): Register normal reader and set as current, register
26803 pager hook, register normal command with grub_register_command_prio,
26804 so that it won't show up in command.lst.
26805 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
26806 grub_fs_autoload_hook.
26807
26808 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
26809 (grub_menu_execute_entry): Replace grub_script_execute with
26810 grub_parser_execute, change parameter to grub_command_execute.
26811
26812 * normal/menu_text.c: Remove <grub/script.h>.
26813
26814 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
26815 and <grub/parser.h>.
26816 (run): Change editor_getline to use new parser interface. Change
26817 parameter to grub_command_execute.
26818
26819 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
26820 <grub/reader.h> and <grub/parser.h>.
26821 (grub_load_normal_mode): Execute normal command.
26822 (grub_main): Call grub_register_core_commands,
26823 grub_register_rescue_parser and grub_register_rescue_reader, use
26824 grub_reader_loop to enter input loop.
26825
26826 * kern/parser.c (grub_parser_split_cmdline): Change type of
26827 getline parameter.
26828 (grub_parser_class): New variable.
26829 (grub_parser_execute): New function.
26830
26831 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
26832 * loader/multiboot2.c: Likewise.
26833 * loader/sparc64/ieee1275/linux.c: Likewise.
26834
26835 * util/grub-emu.c (read_command_list): New dummy function.
26836
26837 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
26838
26839 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
26840 count to 16 for CCISS and IDA.
26841
26842 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
26843
26844 * normal/menu_text.c (grub_wait_after_message): Print a newline
26845 after waiting for user input.
26846
26847 * loader/i386/linux.c: Include `<grub/normal.h>'.
26848 (grub_cmd_linux): Improve the error message about `ask' mode, by
26849 waiting for user input so it's not missed (we can do this, since
26850 user requested interaction).
26851
26852 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26853
26854 Added missing lst to grub-mkrescue
26855
26856 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
26857 and ${input_dir}/parttool.lst
26858
26859 2009-04-30 David S. Miller <davem@davemloft.net>
26860
26861 * util/hostdisk.c (device_is_wholedisk): New function.
26862 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
26863 zero only if device_is_wholedisk() returns true.
26864
26865 * util/hostdisk.c (convert_system_partition_to_system_disk):
26866 Handle virtual disk devices named /dev/vdiskX as found on sparc
26867 and powerpc.
26868
26869 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
26870 lettered partition specifier is found, convert to numbered.
26871
26872 2009-04-29 David S. Miller <davem@davemloft.net>
26873
26874 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
26875 * include/grub/sparc64/ieee1275/memory.h: Likewise.
26876
26877 * normal/command.c: Add missing newline at end of file.
26878
26879 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
26880 warnings.
26881 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
26882 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
26883 grub_ofdisk_read): Likewise, and deal similarly with the fact that
26884 ihandles have a 32-bit type but need to be stored in a "void *".
26885
26886 2009-04-28 Pavel Roskin <proski@gnu.org>
26887
26888 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
26889 not disk. Adjust all dependencies.
26890 (grub_fs_uuid_close): Use grub_device_close(), not
26891 grub_disk_close().
26892
26893 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
26894 parent's partition, don't copy it by reference, as it gets freed
26895 on close.
26896
26897 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26898
26899 Preboot hooks support
26900
26901 * commands/boot.c (struct grub_preboot_t): new declaration
26902 (preboots_head): new variable
26903 (preboots_tail): likewise
26904 (grub_loader_register_preboot_hook): new function
26905 (grub_loader_unregister_preboot_hook): likewise
26906 (grub_loader_set): launch preboot hooks
26907 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
26908 (grub_loader_register_preboot_hook): new declaration
26909 (grub_loader_unregister_preboot_hook): likewise
26910
26911 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26912
26913 Warning fix
26914
26915 * disk/scsi.c (grub_scsi_open): added missing cast when
26916 calling grub_dprintf
26917
26918 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
26919
26920 Bug and warning fixes
26921
26922 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
26923 declaration
26924 * commands/test.c (test_parse): fixed bug with file tests and corrected
26925 declaration of find_file
26926
26927 2009-04-26 Pavel Roskin <proski@gnu.org>
26928
26929 * Makefile.in: Don't install empty manual pages if help2man is
26930 missing. Use help2man option for output, not shell redirection.
26931
26932 2009-04-26 David S. Miller <davem@davemloft.net>
26933
26934 * util/grub-mkdevicemap.c (make_device_map): Add missing
26935 NESTED_FUNC_ATTR to process_device().
26936
26937 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
26938
26939 Test command
26940
26941 * commands/test.c: rewritten to use bash-like test
26942
26943 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
26944
26945 Parttool autoloading and improvements
26946
26947 * Makefile.in (pkglib_DATA): add parttool.lst
26948 (parttool.lst): new target
26949 * genmk.rb: generate parttool-*
26950 (CLEANFILES): add #{parttool}
26951 (PARTTOOLFILES): new variable
26952 * genparttoollist.sh: new file
26953 * parttool/pcpart.c (grub_pcpart_boot): more feedback
26954 (grub_pcpart_type): likewise
26955 * commands/parttool.c (helpmsg): new variable
26956 (grub_cmd_parttool): output help if not enough arguments are supplied
26957 autoload modules
26958 (GRUB_MOD_INIT(parttool)): use helpmsg
26959
26960 2009-04-24 David S. Miller <davem@davemloft.net>
26961
26962 Avoiding opening same device multiple times in device iterator.
26963
26964 * kern/device.c: (grub_device_iterate): Define struct part_ent,
26965 and use it to build a list of partitions in iterate_disk() and
26966 iterate_partition().
26967
26968 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
26969 on disk->data.
26970
26971 * disk/ieee1275/nand.c (grub_nand_iterate): Return
26972 grub_devalias_iterate() result instead of unconditional 0.
26973 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
26974 Also, capture hook return value, either directly or via
26975 grub_children_iterate(), and propagate to caller.
26976 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
26977 grub_children_iterate): Return value is now 'int' instead of
26978 'grub_err_t'.
26979 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
26980 like a proper iterator, stopping when hooks return non-zero.
26981 (grub_devalias_iterate): Likewise.
26982
26983 2009-04-23 David S. Miller <davem@davemloft.net>
26984
26985 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
26986
26987 2009-04-22 David S. Miller <davem@davemloft.net>
26988
26989 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
26990 is larger than address_cells, use that value for address_cells too.
26991
26992 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
26993 IEEE1275_MAX_PATH_LEN): Define.
26994 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
26995 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
26996 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
26997 'devtype'. Explicitly NULL terminate devalias expansion.
26998
26999 * util/sparc64/ieee1275/misc.c: New file.
27000 * util/sparc64/ieee1275/grub-setup.c: New file.
27001 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
27002 * util/sparc64/ieee1275/grub-mkimage.c: New file.
27003 * util/sparc64/ieee1275/grub-install.in: New file.
27004 * util/ieee1275/ofpath.c: New file.
27005 * util/ieee1275/devicemap.c: New file.
27006 * util/devicemap.c: New file.
27007 * util/deviceiter.c: New file.
27008 * kern/sparc64/ieee1275/init.c: New file.
27009 * include/grub/util/ofpath.h: New file.
27010 * include/grub/util/deviceiter.h: New file.
27011 * util/grub-mkdevicemap.c: Include deviceiter.h.
27012 Implement using grub_util_emit_devicemap_entry and
27013 grub_util_iterate_devices.
27014 * conf/i386-corebook.rmk: Build util/deviceiter.c and
27015 util/devicemap.c into grub-mkdevicemap
27016 * conf/i386-efi.rmk: Likewise.
27017 * conf/i386-ieee1275.rmk: Likewise.
27018 * conf/i386-pc.rmk: Likewise.
27019 * conf/powerpc-ieee1275.rmk: Likewise.
27020 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
27021 images and installation utilities. Build kernel as image
27022 instead of as elf binary. Use common rules as much as possible.
27023
27024 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27025
27026 Correct GPT definition
27027
27028 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
27029 of "attrib" member
27030
27031 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
27032
27033 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
27034
27035 2009-04-19 David S. Miller <davem@davemloft.net>
27036
27037 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
27038 (grub_rescue_cmd_linux): Rename to...
27039 (grub_cmd_linux): and fix prototype.
27040 (grub_rescue_cmd_initrd): Rename to...
27041 (grub_cmd_initrd): and fix prototype.
27042 (cmd_linux, cmd_initrd): New.
27043 (GRUB_MOD_INIT(linux)): Use grub_register_command().
27044 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
27045
27046 2009-04-17 Pavel Roskin <proski@gnu.org>
27047
27048 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
27049 format.
27050 (grub_ohci_transfer): Likewise.
27051
27052 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
27053
27054 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
27055 return without a value. Fix inconsistent indentation.
27056
27057 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
27058 match struct grub_fs.
27059
27060 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
27061 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
27062 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
27063 * commands/lspci.c (grub_lspci_iter): Likewise.
27064
27065 2009-04-16 Bean <bean123ch@gmail.com>
27066
27067 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
27068 value.
27069
27070 2009-04-15 Pavel Roskin <proski@gnu.org>
27071
27072 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
27073 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
27074 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
27075 definitions.
27076
27077 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
27078
27079 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
27080 that no multiple data or metadata areas are supported and `Unknown
27081 metadata header'.
27082
27083 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
27084
27085 Move loader out of the kernel
27086
27087 * kern/loader.c: moved to ...
27088 * commands/boot.c: ... moved here
27089 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
27090 * commands/boot.c (grub_cmd_boot): moved here. All users updated
27091 * include/grub/kernel.h (grub_machine_fini): export
27092 * include/grub/loader.h (grub_loader_is_loaded): update declaration
27093 (grub_loader_set): likewise
27094 (grub_loader_unset): likewise
27095 (grub_loader_boot): likewise
27096 * conf/common.rmk: new module boot.mod
27097 (pkglib_MODULES): add boot.mod
27098 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
27099 (grub_emu_SOURCES): likewise
27100 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
27101 (grub_emu_SOURCES): likewise
27102 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
27103 (grub_emu_SOURCES): likewise
27104 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
27105 (grub_emu_SOURCES): likewise
27106 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
27107 (grub_emu_SOURCES): likewise
27108 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
27109 (grub_emu_SOURCES): likewise
27110 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
27111 (grub_emu_SOURCES): likewise
27112
27113 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
27114
27115 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
27116
27117 * kern/misc.c (grub_itoa): Removed function
27118 (grub_ltoa): likewise
27119 (grub_vsprintf): use grub_lltoa
27120
27121 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
27122
27123 Restore grub-emu
27124
27125 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
27126 * conf/i386-coreboot.rmk: likewise
27127 * conf/i386-ieee1275.rmk: likewise
27128 * conf/powerpc-ieee1275.rmk: likewise
27129
27130 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
27131
27132 * INSTALL: Add that `./autogen.sh' needs to be run before
27133 `./configure.'.
27134
27135 2009-04-14 Bean <bean123ch@gmail.com>
27136
27137 * Makefile.in (pkglib_DATA): Add handler.lst.
27138 (handler.lst): New rule.
27139
27140 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
27141 * conf/i386-coreboot.rmk: Likewise.
27142 * conf/i386-ieee1275.rmk: Likewise.
27143 * conf/i386-efi.rmk: Likewise.
27144 * conf/x86_64-efi.rmk: Likewise.
27145 * conf/powerpc-ieee1275.rmk: Likewise.
27146 * conf/sparc64-ieee1275.rmk: Likewise.
27147
27148 * genhandlerlist.sh: New file.
27149
27150 * genmk.rb: Add rules to generate handler.lst.
27151
27152 * include/grub/normal.h (grub_file_getline): New function definition.
27153 (read_handler_list): Likewise.
27154 (free_handler_list): Likewise.
27155
27156 * include/grub/term.h (grub_term_register_input): Add name parameter
27157 for auto generation of handler.lst.
27158 (grub_term_register_output): Likewise.
27159
27160 * normal/handler.c: New file.
27161
27162 * normal/main.c (get_line): Renamed to grub_file_getline.
27163 (read_config_file): Use the newly renamed grub_file_getline.
27164 (read_command_list): Likewise.
27165 (read_fs_list): Likewise.
27166 (grub_normal_execute): Call read_handler_list to parse handler.lst.
27167 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
27168
27169 * term/efi/console.c (grub_console_init): Add name parameter for auto
27170 generation of handler.lst.
27171 * term/gfxterm.c: Likewise.
27172 * term/i386/pc/at_keyboard.c: Likewise.
27173 * term/i386/pc/console.c: Likewise.
27174 * term/i386/pc/serial.c: Likewise.
27175 * term/i386/pc/vesafb.c: Likewise.
27176 * term/i386/pc/vga.c: Likewise.
27177 * term/i386/pc/vga_text.c: Likewise.
27178 * term/ieee1275/ofconsole.c: Likewise.
27179 * term/usb_keyboard.c: Likewise.
27180
27181 2009-04-14 Bean <bean123ch@gmail.com>
27182
27183 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
27184 properly with null character.
27185
27186 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
27187
27188 * configure: Remove.
27189 * config.h.in: Likewise.
27190 * stamp-h.in: Likewise.
27191 * DISTLIST: Likewise.
27192 * conf/common.mk: Likewise.
27193 * conf/i386-coreboot.mk: Likewise.
27194 * conf/i386-efi.mk: Likewise.
27195 * conf/i386-ieee1275.mk: Likewise.
27196 * conf/i386.mk: Likewise.
27197 * conf/i386-pc.mk: Likewise.
27198 * conf/powerpc-ieee1275.mk: Likewise.
27199 * conf/sparc64-ieee1275.mk: Likewise.
27200 * conf/x86_64-efi.mk: Likewise.
27201
27202 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
27203 develop on GRUB.
27204
27205 2009-04-14 John Stanley <jpsinthemix@verizon.net>
27206 David S. Miller <davem@davemloft.net>
27207
27208 * util/hostdisk.c (make_device_name): Fix buffer length
27209 calculations.
27210
27211 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
27212
27213 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
27214 <sys/param.h> and <sys/sysctl.h>.
27215 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
27216 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
27217 opening the device and reset them afterwards.
27218
27219 2009-04-13 Pavel Roskin <proski@gnu.org>
27220
27221 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
27222 Reported by John Stanley <jpsinthemix@verizon.net>
27223
27224 2009-04-13 Robert Millan <rmh@aybabtu.com>
27225
27226 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
27227 that name for menuentries when appropriate.
27228
27229 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
27230
27231 * util/grub.d/10_freebsd.in: Add a missing `fi'.
27232
27233 2009-04-13 Robert Millan <rmh@aybabtu.com>
27234
27235 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
27236 to Linux, simply abort telling the user it's no longer supported.
27237
27238 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
27239
27240 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
27241 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
27242 `freebsd_loadenv' only when devices.hints exist.
27243
27244 2009-04-13 Pavel Roskin <proski@gnu.org>
27245
27246 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
27247
27248 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
27249
27250 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
27251 partition number.
27252 (grub_drive): Likewise.
27253
27254 2009-04-13 David S. Miller <davem@davemloft.net>
27255
27256 * kern/sparc64/ieee1275/ieee1275.c: New file.
27257 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
27258 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
27259 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
27260 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
27261 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
27262 grub_ieee1275_alloc_physmem): Declare new exported functions.
27263
27264 * include/grub/sparc64/ieee1275/loader.h: New file.
27265 * include/grub/sparc64/ieee1275/memory.h: Likewise.
27266 * include/grub/sparc64/kernel.h: Likewise.
27267 * loader/sparc64/ieee1275/linux.c: Likewise.
27268
27269 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
27270 (grub_fstest_SOURCES): Likewise.
27271
27272 * util/hostdisk.c (make_device_name): Do not make any assumptions
27273 about the length of drive names.
27274
27275 * kern/dl.c (grub_dl_load_file): Close file immediately when
27276 we are done using it.
27277
27278 2009-04-12 David S. Miller <davem@davemloft.net>
27279
27280 * kern/misc.c (grub_ltoa): Fix cast when handling negative
27281 values. Noticed by Pavel Roskin.
27282
27283 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
27284 target compiler.
27285
27286 * genmk.rb: Add more flexible image type specification, also
27287 pass --strip-unneeded to objcopy.
27288 * conf/i386-pc.rmk: Use *_FORMAT.
27289 * conf/i386-pc.mk: Rebuilt.
27290
27291 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
27292 (OFDISK_HASH_SZ): Define.
27293 (ofdisk_hash): New hash table.
27294 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
27295 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
27296 instead of device phandle which is not unique.
27297
27298 * kern/sparc64/ieee1275/init.c: Delete, replace with...
27299 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
27300 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
27301 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
27302 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
27303 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
27304 GRUB_KERNEL_MACHINE_DATA_END): Define.
27305 (grub_kernel_image_size, grub_total_module_size): Declare.
27306
27307 2009-04-12 Pavel Roskin <proski@gnu.org>
27308
27309 * configure.ac: Change the logic when we check for target tools.
27310 Do it when the target is specified and it's different from the
27311 specified value of the host.
27312
27313 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
27314
27315 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
27316 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
27317 GNU/kFreeBSD. Check if a device is a character device. Use
27318 DIOCGMEDIASIZE to get the size.
27319 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
27320 support for GNU/kFreeBSD.
27321 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
27322 is a character device instead of a block device. Add support for
27323 FreeBSD device names.
27324
27325 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
27326 is a character device instead of a block device.
27327
27328 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
27329 is a character device instead of a block device.
27330
27331 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
27332
27333 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
27334 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
27335 FreeBSD. Check if a device is a character device. Use
27336 DIOCGMEDIASIZE to get the size.
27337 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
27338 support for FreeBSD.
27339 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
27340 is a character device instead of a block device. Add support for
27341 FreeBSD device names.
27342
27343 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
27344 a character device instead of a block device.
27345 (grub_util_check_char_device): New function.
27346
27347 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
27348 a character device instead of a block device.
27349
27350 * include/grub/util/getroot.h (grub_util_check_char_device): New
27351 prototype.
27352
27353 2009-04-11 David S. Miller <davem@davemloft.net>
27354
27355 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
27356 static libgcc.
27357 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
27358 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
27359 function, if present.
27360 (__bswapdi2): Likewise.
27361
27362 * include/grub/sparc64/ieee1275/boot.h: New file.
27363 * boot/sparc64/ieee1275/boot.S: Likewise.
27364 * boot/sparc64/ieee1275/diskboot.S: Likewise.
27365
27366 * kern/misc.c (grub_ltoa): New function.
27367 (grub_vsprintf): Use it to format 'long' integers.
27368
27369 2009-04-10 David S. Miller <davem@davemloft.net>
27370
27371 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
27372 slots are of type grub_ieee1275_cell_t.
27373 (grub_nand_read): Likewise.
27374 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
27375 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
27376 macros are used to compare values in arg/ret block of the call.
27377 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
27378 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
27379 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
27380 grub_ieee1275_instance_to_path, grub_ieee1275_write,
27381 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
27382 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
27383 grub_ieee1275_close, grub_ieee1275_set_property,
27384 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
27385 grub_ieee1275_cell_t.
27386 * kern/ieee1275/openfw.c (grub_map): Likewise.
27387 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
27388 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
27389
27390 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
27391 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
27392 (grub_devalias_iterate): Likewise.
27393
27394 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27395
27396 UFS improvements
27397
27398 * fs/ufs.c (INODE_NBLOCKS): new definition
27399 (struct grub_ufs_dirent): added fields for non-BSD dirents
27400 (grub_ufs_get_file_block): fixed double indirect handling
27401 (grub_ufs_lookup_symlink): use more robust way to determine whether
27402 symlink is inline
27403 (grub_ufs_find_file): support for non-BSD dirents
27404 (grub_ufs_dir): support for non-BSD dirents
27405
27406 2009-04-10 Bean <bean123ch@gnail.com>
27407
27408 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
27409 attribute, otherwise the size would be wrong for i386 platform.
27410
27411 * include/grub/pci.h (grub_pci_read_word): New inline function.
27412 (grub_pci_read_byte): Likewise.
27413 (grub_pci_write): Likewise.
27414 (grub_pci_write_word): Likewise.
27415 (grub_pci_write_byte): Likewise.
27416
27417 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
27418
27419 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
27420 (find_framebuf): Scan pci to locate the frame buffer address.
27421
27422 * commands/efi/fixvideo.c: New file.
27423
27424 * commands/efi/loadbios.c: Likewise.
27425
27426 * commands/memrw.c: Likewise.
27427
27428 * util/grub-dumpbios.in: Likewise.
27429
27430 * conf/common.rmk (grub-dumpbios): New utility.
27431 (pkglib_MODULES): New module memrw.mod.
27432 (memrw_mod_SOURCE): New macro.
27433 (memrw_mod_CFLAGS): Likewise.
27434 (memrw_mod_LDFLAGS): Likewise.
27435
27436 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
27437 fixvideo.mod.
27438 (loadbios_mod_SOURCE): New macro.
27439 (loadbios_mod_CFLAGS): Likewise.
27440 (loadbios_mod_LDFLAGS): Likewise.
27441 (fixvideo_mod_SOURCE): Likewise.
27442 (fixvideo_mod_CFLAGS): Likewise.
27443 (fixvideo_mod_LDFLAGS): Likewise.
27444
27445 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
27446 fixvideo.mod.
27447 (loadbios_mod_SOURCE): New macro.
27448 (loadbios_mod_CFLAGS): Likewise.
27449 (loadbios_mod_LDFLAGS): Likewise.
27450 (fixvideo_mod_SOURCE): Likewise.
27451 (fixvideo_mod_CFLAGS): Likewise.
27452 (fixvideo_mod_LDFLAGS): Likewise.
27453
27454 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
27455
27456 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
27457
27458 2009-04-07 David S. Miller <davem@davemloft.net>
27459
27460 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
27461 support for R_SPARC_OLO10 relocations. Fix compile warning for
27462 R_SPARC_WDISP30 case.
27463 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
27464
27465 2009-04-06 Pavel Roskin <proski@gnu.org>
27466
27467 * include/grub/misc.h (ARRAY_SIZE): New macro.
27468 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
27469 New macro.
27470 * loader/i386/linux.c (allocate_pages): Use free_pages().
27471 (grub_linux_unload): Don't use free_pages().
27472 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
27473 wrong index. Treat all other modes as text modes.
27474 (grub_cmd_linux): Initialize vid_mode unconditionally to
27475 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
27476
27477 * commands/help.c (print_command_help): Use cmd->prio, not
27478 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
27479
27480 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
27481
27482 Parttool
27483
27484 * parttool/pcpart.c: new file
27485 * commands/parttool.c: likewise
27486 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
27487 (parttool_mod_SOURCES): new variable
27488 (parttool_mod_CFLAGS): likewise
27489 (parttool_mod_LDFLAGS): likewise
27490 (pcpart_mod_SOURCES): likewise
27491 (pcpart_mod_CFLAGS): likewise
27492 (pcpart_mod_LDFLAGS): likewise
27493 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
27494 and parttool/pcpart.c
27495 * conf/i386-efi.rmk: likewise
27496 * conf/i386-ieee1275.rmk: likewise
27497 * conf/i386-pc.rmk: likewise
27498 * conf/powerpc-ieee1275.rmk: likewise
27499 * conf/sparc64-ieee1275.rmk: likewise
27500 * conf/x86_64-ieee1275.rmk: likewise
27501
27502 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27503
27504 Support for mtime and further expandability of dir command
27505
27506 * include/grub/lib/datetime.h: moved to ...
27507 * include/grub/datetime.h: ... moved here and added
27508 declaration of grub_unixtime2datetime. All users updated
27509 * include/grub/fs.h: new syntax for dir and mtime functions in
27510 struct grub_fs
27511 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
27512 and GRUB_FSHELP_FLAGS_MASK
27513 * commands/ls.c (grub_ls_list_files): Write mtime in long format
27514 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
27515 (grub_ext2_mtime): new function
27516 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
27517 (grub_hfsplus_mtime): new function
27518 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
27519 (GRUB_UFS_ATTR_FILE): likewise
27520 (GRUB_UFS_ATTR_LNK): likewise
27521 (struct grub_ufs_sblock): new fields mtime
27522 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
27523 all users updated
27524 (grub_ufs_dir): mtime support
27525 (grub_ufs_mtime): new function
27526 * fs/affs.c (grub_affs_dir): use new dir syntax
27527 * fs/afs.c (grub_afs_dir): likewise
27528 * fs/cpio.c (grub_cpio_dir): likewise
27529 * fs/fat.c (grub_fat_find_dir): likewise
27530 * fs/hfs.c (grub_hfs_dir): likewise
27531 * fs/iso9660.c (grub_iso9660_dir): likewise
27532 * fs/jfs.c (grub_jfs_dir): likewise
27533 * fs/minix.c (grub_minix_dir): likewise
27534 * fs/ntfs.c (grub_ntfs_dir): likewise
27535 * fs/reiserfs.c (grub_reiserfs_dir): likewise
27536 * fs/sfs.c (grub_sfs_dir): likewise
27537 * fs/xfs.c (grub_xfs_dir): likewise
27538 * util/hostfs.c (grub_hostfs_dir): likewise
27539 * lib/datetime.c: moved to ...
27540 * normal/datetime.c: ... moved here
27541 (grub_unixtime2datetime): new function
27542 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
27543 * normal/completion.c (iterate_dir): use new dir syntax
27544 * normal/misc.c (grub_normal_print_device_info): tell the
27545 last modification time of a volume
27546 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
27547 * conf/common.rmk: added lib/datetime.c to ls.mod
27548 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
27549 (normal_mod_SOURCES): likewise
27550 (datetime_mod_SOURCES): Removed lib/datetime.c
27551 * conf/i386-efi.rmk: likewise
27552 * conf/i386-ieee1275.rmk: likewise
27553 * conf/i386-pc.rmk: likewise
27554 * conf/powerpc-ieee1275.rmk: likewise
27555 * conf/sparc64-ieee1275.rmk: likewise
27556 * conf/x86_64-efi.rmk: likewise
27557
27558 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27559
27560 Trim trailing spaces in FAT label and support mtools-like labels
27561
27562 * fs/fat.c (grub_fat_iterate_dir): New function based
27563 on grub_fat_find_dir
27564 (grub_fat_find_dir): use grub_fat_iterate_dir
27565 (grub_fat_label): likewise
27566
27567 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27568
27569 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
27570 and command.h
27571 remove extraneous kernel_elf_HEADERS
27572
27573 2009-04-04 Bean <bean123ch@gnail.com>
27574
27575 * include/grub/util/misc.h: Add dummy function fsync for mingw.
27576
27577 * util/misc.c: Likewise.
27578
27579 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27580
27581 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
27582 instead of grub_printf.
27583
27584 2009-04-03 Robert Millan <rmh@aybabtu.com>
27585
27586 * loader/i386/linux.c (grub_linux_setup_video): Fill
27587 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
27588 values from `mode info' structure instead of hardcoded
27589 values.
27590
27591 2009-04-01 Pavel Roskin <proski@gnu.org>
27592
27593 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
27594 unused now.
27595 * genmk.rb: Likewise.
27596 * configure.ac: Likewise.
27597
27598 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
27599
27600 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
27601 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
27602
27603 2009-04-01 David S. Miller <davem@davemloft.net>
27604
27605 * normal/sparc64/setjmp.S: Fix setjmp implementation.
27606 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
27607 (grub_setjmp): Mark with 'returns_twice' attribute.
27608 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
27609 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
27610 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
27611
27612 2009-04-01 Robert Millan <rmh@aybabtu.com>
27613
27614 Reapply fix from 2008-07-28 which was accidentally reverted; also
27615 perform the same fix to a similar check in same function.
27616
27617 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
27618 with the same number are found, just use issue a warning with
27619 grub_dprintf(), as this error has been reported to be non-fatal.
27620
27621 2009-03-31 Pavel Roskin <proski@gnu.org>
27622
27623 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
27624 for cross-compilation.
27625
27626 2009-03-30 Robert Millan <rmh@aybabtu.com>
27627
27628 Fix i386-ieee1275 build.
27629
27630 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
27631 Remove declaration.
27632
27633 2009-03-30 Pavel Roskin <proski@gnu.org>
27634
27635 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
27636 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
27637 zero-terminated, rely only on the strlen value. Fix comparison
27638 of strings differing in length.
27639
27640 2009-03-30 Robert Millan <rmh@aybabtu.com>
27641
27642 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
27643 checking for abi version. Improve error messages on BIOS to notify
27644 user about `linux16' command.
27645
27646 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
27647
27648 Leak fixes
27649
27650 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
27651 in case of collision
27652 * disk/scsi.c (grub_scsi_open): free scsi in case of error
27653
27654 2009-03-29 Robert Millan <rmh@aybabtu.com>
27655
27656 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
27657 set `vid_mode' accordingly.
27658 (grub_linux_boot): Process `vid_mode' and set video mode.
27659
27660 2009-03-29 Robert Millan <rmh@aybabtu.com>
27661
27662 * util/grub.d/10_linux.in (linux_entry): New function.
27663 Factorize generation of Linux boot entries.
27664
27665 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
27666
27667 Make the format of Environment Block plain text. The boot loader
27668 part is not tested well yet.
27669
27670 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
27671 (buffer): Removed.
27672 (envblk): Likewise.
27673 (usage): Remove "info" and "clear". Add "unset". Update the
27674 description of "set", as this does not delete variables any
27675 longer.
27676 (create_envblk_file): Complete rewrite.
27677 (open_envblk_file): Likewise.
27678 (cmd_info): Removed.
27679 (cmd_list): Likewise.
27680 (cmd_set): Likewise.
27681 (cmd_clear): Likewise.
27682 (list_variables): New function.
27683 (write_envblk): Likewise.
27684 (set_variables): Likewise.
27685 (unset_variables): Likewise.
27686 (main): Complete rewrite.
27687
27688 * commands/loadenv.c (buffer): Removed.
27689 (envblk): Likewise.
27690 (open_envblk_file): New function.
27691 (read_envblk_file): Complete rewrite.
27692 (grub_cmd_load_env): Likewise.
27693 (grub_cmd_list_env): Likewise.
27694 (struct blocklist): New struct.
27695 (free_blocklists): New function.
27696 (check_blocklists): Likewise.
27697 (write_blocklists): Likewise.
27698 (grub_cmd_save_env): Complete rewrite.
27699
27700 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
27701 a plain text signature.
27702 (GRUB_ENVBLK_MAXLEN): Removed.
27703 (struct grub_envblk): Complete rewrite.
27704 (grub_envblk_find): Removed.
27705 (grub_envblk_insert): Likewise.
27706 (grub_envblk_open): New prototype.
27707 (grub_envblk_set): Likewise.
27708 (grub_envblk_delete): Put const to VALUE.
27709 (grub_envblk_iterate): Put const to NAME and VALUE.
27710 (grub_envblk_close): New prototype.
27711 (grub_envblk_buffer): New inline function.
27712 (grub_envblk_size): Likewise.
27713
27714 * lib/envblk.c: Include grub/mm.h.
27715 (grub_env_find): Removed.
27716 (grub_envblk_open): New function.
27717 (grub_envblk_close): Likewise.
27718 (escaped_value_len): Likewise.
27719 (find_next_line): Likewise.
27720 (grub_envblk_insert): Removed.
27721 (grub_envblk_set): New function.
27722 (grub_envblk_delete): Complete rewrite.
27723 (grub_envblk_iterate): Likewise.
27724
27725 2009-03-28 Robert Millan <rmh@aybabtu.com>
27726
27727 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
27728 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
27729 variables. Use 16-bit loader.
27730 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
27731 loader.
27732 * kern/i386/loader.S (grub_linux_boot): Rename to ...
27733 (grub_linux16_boot): ... this. Update all users.
27734 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
27735 (grub_linux_boot): ... this. Update all users.
27736
27737 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
27738 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
27739 commands to `linux16' and `initrd16'.
27740 (GRUB_MOD_FINI(linux)): Rename to ...
27741 (GRUB_MOD_FINI(linux16)): ... this.
27742
27743 2009-03-24 Pavel Roskin <proski@gnu.org>
27744
27745 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
27746 not just for compilation.
27747
27748 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
27749
27750 Move multiboot helper out of kernel
27751
27752 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
27753 `loader/i386/multiboot_helper.S'.
27754 * conf/i386-coreboot.rmk: Likewise
27755 * conf/i386-ieee1275.rmk: Likewise
27756
27757 * kern/i386/loader.S: Move multiboot helpers from here...
27758 * loader/i386/multiboot_helper.S: ...moved here
27759 * include/grub/i386/loader.h: Move declarations of multiboot
27760 helpers from here...
27761 * include/grub/i386/multiboot.h: ...moved here
27762 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
27763
27764 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27765
27766 * kern/env.c (grub_env_context_open): Added an argument to specify
27767 whether a new context inherits exported variables from current
27768 one. This is useful when making a sandbox to interpret a config
27769 file.
27770 All callers updated.
27771
27772 * include/grub/env.h (grub_env_context_open): Updated the prototype.
27773
27774 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27775
27776 * kern/env.c (grub_env_context_close): Fix memory leaks.
27777
27778 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27779
27780 * normal/main.c (grub_normal_execute): Added an argument
27781 BATCH to specify if an interactive interface should be provided
27782 after reading a config file.
27783 All callers updated.
27784 (read_command_list): Prevent being executed twice.
27785 (read_fs_list): Likewise.
27786
27787 * include/grub/normal.h (grub_normal_execute): Updated the
27788 prototype.
27789
27790 2009-03-22 Pavel Roskin <proski@gno.org>
27791
27792 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
27793 _start.
27794 * kern/i386/pc/startup.S: Likewise.
27795 * kern/i386/efi/startup.S: Likewise.
27796 * kern/i386/ieee1275/startup.S: Likewise.
27797 * kern/i386/coreboot/startup.S: Likewise.
27798 * kern/x86_64/efi/startup.S: Likewise.
27799
27800 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
27801 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
27802 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
27803
27804 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
27805
27806 Bugfixes in multiboot for bugs uncovered by solaris kernel.
27807
27808 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
27809 limit detection.
27810 Use vaddr of correct segment for entry_point.
27811
27812 2009-03-21 Bean <bean123ch@gmail.com>
27813
27814 * commands/blocklist.c: Add include file <grub/command.h>, remove
27815 <grub/normal.h> and <grub/arg.h>.
27816 (grub_cmd_blocklist): Use the new command interface.
27817 (GRUB_MOD_INIT): Likewise.
27818 (GRUB_MOD_FINI): Likewise.
27819 * commands/boot.c: Likewise.
27820 * commands/cat.c: Likewise.
27821 * commands/cmp.c: Likewise.
27822 * commands/configfile.c: Likewise.
27823 * commands/crc.c: Likewise.
27824 * commands/echo.c: Likewise.
27825 * commands/halt.c: Likewise.
27826 * commands/handler.c: Likewise.
27827 * commands/hdparm.c: Likewise.
27828 * commands/help.c: Likewise.
27829 * commands/hexdump.c: Likewise.
27830 * commands/loadenv.c: Likewise.
27831 * commands/ls.c: Likewise.
27832 * commands/lsmmap.c: Likewise.
27833 * commands/lspci.c: Likewise.
27834 * commands/loadenv.c: Likewise.
27835 * commands/read.c: Likewise.
27836 * commands/reboot.c: Likewise.
27837 * commands/search.c: Likewise.
27838 * commands/sleep.c: Likewise.
27839 * commands/test.c: Likewise.
27840 * commands/usbtest.c: Likewise.
27841 * commands/videotest.c: Likewise.
27842 * commands/i386/cpuid.c: Likewise.
27843 * commands/i386/pc/halt.c: Likewise.
27844 * commands/i386/pc/play.c: Likewise.
27845 * commands/i386/pc/pxecmd.c: Likewise.
27846 * commands/i386/pc/vbeinfo.c: Likewise.
27847 * commands/i386/pc/vbetest.c: Likewise.
27848 * commands/ieee1275/suspend.c: Likewise.
27849 * disk/loopback.c: Likewise.
27850 * font/font_cmd.c: Likewise.
27851 * hello/hello.c: Likewise.
27852 * loader/efi/appleloader.c: Likewise.
27853 * loader/efi/chainloader.c: Likewise.
27854 * loader/i386/bsd.c: Likewise.
27855 * loader/i386/efi/linux.c: Likewise.
27856 * loader/i386/ieee1275/linux.c: Likewise.
27857 * loader/i386/linux.c: Likewise.
27858 * loader/i386/pc/chainloader.c: Likewise.
27859 * loader/i386/pc/linux.c: Likewise.
27860 * loader/powerpc/ieee1275/linux.c: Likewise.
27861 * loader/multiboot_loader.c: Likewise.
27862 * term/gfxterm.c: Likewise.
27863 * term/i386/pc/serial.c: Likewise.
27864 * term/terminfo.c: Likewise.
27865
27866 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
27867 * term/i386/pc/vga.c: Likewise.
27868 * video/readers/jpeg.c: Likewise.
27869 * video/readers/png.c: Likewise.
27870 * video/readers/tga.c: Likewise.
27871
27872 * util/grub-fstest (cmd_loopback): Removed.
27873 (cmd_blocklist): Likewise.
27874 (cmd_ls): Likewise.
27875 (grub_register_command): Likewise.
27876 (grub_unregister_command): Likewise.
27877 (execute_command): Use grub_command_find to locate command and execute
27878 it.
27879
27880 * include/grub/efi/chainloader.h: Removed.
27881 * loader/efi/chainloader_normal.c: Likewise.
27882 * loader/i386/bsd_normal.c: Likewise.
27883 * loader/i386/pc/chainloader_normal.c: Likewise.
27884 * loader/i386/pc/multiboot_normal.c: Likewise.
27885 * loader/linux_normal.c: Likewise.
27886 * loader/multiboot_loader_normal.c: Likewise.
27887 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27888
27889 * gencmdlist.sh: Scan new registration command grub_register_extcmd
27890 and grub_register_command_p1.
27891
27892 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
27893 kern/command.c, lib/arg.c and commands/extcmd.c.
27894 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
27895 (minicmd_mod_SOURCES): New variable.
27896 (minicmd_mod_CFLAGS): Likewise.
27897 (minicmd_mod_LDFLAGS): Likewise.
27898 (extcmd_mod_SOURCES): Likewise.
27899 (extcmd_mod_CFLAGS): Likewise.
27900 (extcmd_mod_LDFLAGS): Likewise.
27901 (boot_mod_SOURCES): Removed.
27902 (boot_mod_CFLAGS): Likewise.
27903 (boot_mod_LDFLAGS): Likewise.
27904
27905 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
27906 kern/corecmd.c.
27907 (kernel_img_HEADERS): Add command.h.
27908 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
27909 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
27910 and lib/arg.c.
27911 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
27912 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
27913 remove the corresponding normal mode command.
27914 (normal_mod_SOURCES): Remove normal/arg.c.
27915 * conf/i386-coreboot.rmk: Likewise.
27916 * conf/i386-efi.rmk: Likewise.
27917 * conf/i386-ieee1275.rmk: Likewise.
27918 * conf/powerpc-ieee1275.rmk: Likewise.
27919 * conf/x86_64-efi.rmk: Likewise.
27920
27921 * include/grub/arg.h: Move from here ...
27922 * include/grub/lib/arg.h: ... to here.
27923
27924 * normal/arg.c: Move from here ...
27925 * lib/arg.c: ... to here.
27926
27927 * commands/extcmd.c: New file.
27928 * commands/minicmd.c: Likewise.
27929 * include/grub/command.h: Likewise.
27930 * include/grub/extcmd.h: Likewise.
27931 * kern/command.c: Likewise.
27932 * kern/corecmd.c: Likewise.
27933
27934 * kern/list.c (grub_list_iterate): Return int instead of void.
27935 (grub_list_insert): New function.
27936 (grub_prio_list_insert): Likewise.
27937
27938 * kern/rescue.c (grub_rescue_command): Removed.
27939 (grub_rescue_command_list): Likewise.
27940 (grub_rescue_register_command): Likewise.
27941 (grub_rescue_unregister_command): Likewise.
27942 (grub_rescue_cmd_boot): Move to minicmd.c
27943 (grub_rescue_cmd_help): Likewise.
27944 (grub_rescue_cmd_info): Likewise.
27945 (grub_rescue_cmd_boot): Likewise.
27946 (grub_rescue_cmd_testload): Likewise.
27947 (grub_rescue_cmd_dump): Likewise.
27948 (grub_rescue_cmd_rmmod): Likewise.
27949 (grub_rescue_cmd_lsmod): Likewise.
27950 (grub_rescue_cmd_exit): Likewise.
27951 (grub_rescue_print_devices): Moved to corecmd.c.
27952 (grub_rescue_print_files): Likewise.
27953 (grub_rescue_cmd_ls): Likewise.
27954 (grub_rescue_cmd_insmod): Likewise.
27955 (grub_rescue_cmd_set): Likewise.
27956 (grub_rescue_cmd_unset): Likewise.
27957 (attempt_normal_mode): Use grub_command_find to get normal module.
27958 (grub_enter_rescue_mode): Use grub_register_core_commands to register
27959 commands, remove grub_rescue_register_command calls.
27960
27961 * normal/command.c (grub_register_command): Removed.
27962 (grub_unregister_command): Likewise.
27963 (grub_command_find): Likewise.
27964 (grub_iterate_commands): Likewise.
27965 (rescue_command): Likewise.
27966 (export_command): Moved to corecmd.c.
27967 (set_command): Removed.
27968 (unset_command): Likewise.
27969 (insmod_command): Likewise.
27970 (rmmod_command): Likewise.
27971 (lsmod_command): Likewise.
27972 (grub_command_init): Likewise.
27973
27974 * normal/completion.c (iterate_command): Use cmd->prio to check for
27975 active command.
27976 (complete_arguments): Use grub_extcmd_t structure to find options.
27977 (grub_normal_do_completion): Change function grub_iterate_commands to
27978 grub_command_iterate.
27979
27980 * normal/execute.c (grub_script_execute_cmd): No need to parse
27981 argument here.
27982
27983 * normal/main.c (grub_dyncmd_dispatcher): New function.
27984 (read_command_list): Register unload commands as dyncmd.
27985 (grub_cmd_normal): Use new command interface, register rescue,
27986 unregister normal at entry, register normal, unregister rescue at exit.
27987
27988 * include/grub/list.h (grub_list_test_t): New type.
27989 (grub_list_iterate): Return int instead of void.
27990 (grub_list_insert): New function.
27991 (GRUB_AS_NAMED_LIST_P): New macro.
27992 (GRUB_AS_PRIO_LIST): Likewise.
27993 (GRUB_AS_PRIO_LIST_P): Likewise.
27994 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
27995 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
27996 (grub_prio_list): New structure.
27997 (grub_prio_list_insert): New function.
27998 (grub_prio_list_remove): New inline function.
27999
28000 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
28001 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
28002 (GRUB_COMMAND_FLAG_MENU): Likewise.
28003 (GRUB_COMMAND_FLAG_BOTH): Likewise.
28004 (GRUB_COMMAND_FLAG_TITLE): Likewise.
28005 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
28006 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
28007 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
28008 (grub_command): Likewise.
28009 (grub_register_command): Likewise.
28010 (grub_command_find): Likewise.
28011 (grub_iterate_commands): Likewise.
28012 (grub_command_init): Likewise.
28013 (grub_arg_parse): Likewise.
28014 (grub_arg_show_help): Likewise.
28015
28016 * include/grub/rescue.h (grub_rescue_register_command): Removed.
28017 (grub_rescue_unregister_command): Likewise.
28018
28019 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
28020 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
28021 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
28022
28023 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
28024 grub_rescue_cmd_initrd.
28025 * include/grub/i386/loader.h: Likewise.
28026 * include/grub/x86_64/loader.h: Likewise.
28027
28028 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
28029
28030 2009-03-21 Bean <bean123ch@gmail.com>
28031
28032 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
28033 instead of stat in mingw environment.
28034
28035 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
28036
28037 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
28038
28039 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
28040 AC_CONFIG_LINKS.
28041
28042 2009-03-21 Bean <bean123ch@gmail.com>
28043
28044 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
28045 out of range error.
28046
28047 2009-03-18 Michel Dänzer <michel@daenzer.net>
28048
28049 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
28050 checking inode flags for EXT4_EXTENTS_FLAG.
28051
28052 2009-03-18 Robert Millan <rmh@aybabtu.com>
28053
28054 * loader/i386/linux.c: Include `<grub/video.h>' and
28055 `<grub/i386/pc/vbe.h>'..
28056 (grub_linux_setup_video): New function. Loosely based on the EFI one.
28057 (grub_linux32_boot): Attempt to configure video settings with
28058 grub_linux_setup_video().
28059 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
28060 to avoid grub_console_fini() which would step out of graphical mode
28061 unconditionally.
28062
28063 2009-03-14 Robert Millan <rmh@aybabtu.com>
28064
28065 Fix build on powerpc.
28066 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
28067
28068 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
28069
28070 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
28071 background image command.
28072
28073 2009-03-12 Colin D Bennett <colin@gibibit.com>
28074
28075 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
28076 (grub_gfxterm_putchar): Extract pairs of identical calls to
28077 draw_cursor out of conditional blocks.
28078
28079 2009-03-11 Pavel Roskin <proski@gnu.org>
28080
28081 * fs/hfs.c (grub_hfs_strncasecmp): New function.
28082 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
28083
28084 2009-03-11 Robert Millan <rmh@aybabtu.com>
28085
28086 * loader/i386/multiboot_elfxx.c
28087 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
28088
28089 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
28090
28091 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
28092 `kern/handler.c'.
28093
28094 2009-03-11 Robert Millan <rmh@aybabtu.com>
28095
28096 * loader/i386/multiboot.c (code_size): New variable.
28097 (grub_multiboot): Define offsets by adding to `code_size' rather
28098 than subtracting from `grub_multiboot_payload_size'. Provide
28099 4-byte alignment to MBI and others by increasing
28100 `boot_loader_name_length' appropriately.
28101
28102 * loader/i386/multiboot_elfxx.c
28103 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
28104
28105 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
28106
28107 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
28108 `fs/ext2.c'.
28109
28110 2009-03-08 Robert Millan <rmh@aybabtu.com>
28111
28112 Make loader/i386/linux.c usable on i386-pc again.
28113
28114 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
28115 memory to heap.
28116 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
28117 `#error' stanza.
28118
28119 2009-03-07 Bean <bean123ch@gmail.com>
28120
28121 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
28122 allocation.
28123
28124 2009-03-06 Robert Millan <rmh@aybabtu.com>
28125
28126 Fix display issue on terminals with screen size other than 80x25
28127 (e.g. gfxterm with resolution higher than 640x480).
28128
28129 * normal/main.c (grub_normal_init_page): Display title text in a
28130 position relative to the center of the terminal instead of relying
28131 on a hardcoded offset.
28132
28133 2009-03-04 Robert Millan <rmh@aybabtu.com>
28134
28135 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
28136 installed.
28137
28138 * Makefile.in (host_kernel): New variable.
28139 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
28140 scripts instead of just the windows one.
28141 * configure.ac: Initialize and AC_SUBST `host_kernel'.
28142
28143 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
28144
28145 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
28146 `kern/handler.c'.
28147 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28148 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28149 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28150 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28151 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28152 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28153
28154 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
28155
28156 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
28157 or if there's no space for the disk label and print the partition number on a
28158 invalid magic.
28159
28160 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
28161
28162 * util/misc.c: Include <time.h>.
28163 (grub_millisleep): New function.
28164
28165 2009-03-04 Bean <bean123ch@gmail.com>
28166
28167 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
28168 another option -mno-red-zone.
28169
28170 * commands/handler.c: Change module description.
28171
28172 * kern/handler.c: Add missing space at the end of description line.
28173
28174 * kern/list.c: Likewise.
28175
28176 2009-03-03 Robert Millan <rmh@aybabtu.com>
28177
28178 Move more components to the relocation area, and fix mbi pointer
28179 handling to use the destination rather than the origin (thanks to
28180 Vladimir Serbinenko for spotting).
28181
28182 * loader/i386/multiboot.c (mbi_dest): New variable.
28183 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
28184 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
28185 relocation area.
28186
28187 2009-03-01 Bean <bean123ch@gmail.com>
28188
28189 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
28190 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
28191 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
28192 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
28193
28194 * loader/i386/efi/linux.c (acpi_guid): New variable.
28195 (acpi_guid): Likewise.
28196 (EBDA_SEG_ADDR): New constant.
28197 (LOW_MEM_ADDR): Likewise.
28198 (FAKE_EBDA_SEG): Likewise.
28199 (fake_bios_data): New function.
28200 (grub_linux_boot): Call fake_bios_data.
28201
28202 2009-03-01 Bean <bean123ch@gmail.com>
28203
28204 * commands/terminal.c: Removed.
28205
28206 * commands/handler.c: New file.
28207
28208 * include/grub/list.h: Likewise.
28209
28210 * include/grub/handler.h: Likewise.
28211
28212 * kern/list.c: Likewise.
28213
28214 * kern/handler.c: Likewise.
28215
28216 * kern/term.h: Include header file <grub/handler.h>.
28217 (grub_term_input): Move next field to the beginning.
28218 (grub_term_output): Likewise.
28219 (grub_term_input_class): New variable.
28220 (grub_term_output_class): Likewise.
28221 (grub_term_register_input): Changed to inline function.
28222 (grub_term_register_output): Likewise.
28223 (grub_term_unregister_input): Likewise.
28224 (grub_term_unregister_output): Likewise.
28225 (grub_term_set_current_input): Likewise.
28226 (grub_term_set_current_output): Likewise.
28227 (grub_term_get_current_input): Likewise.
28228 (grub_term_get_current_output): Likewise.
28229 (grub_term_iterate_input): Removed.
28230 (grub_term_iterate_output): Likewise.
28231
28232 * kern/term.c (grub_term_list_input): Removed.
28233 (grub_term_list_output): Likewise.
28234 (grub_term_input_class): New variable.
28235 (grub_term_output_class): Likewise.
28236 (grub_cur_term_input): Change variable as macro.
28237 (grub_cur_term_output): Likewise.
28238 (grub_term_register_input): Removed.
28239 (grub_term_register_output): Likewise.
28240 (grub_term_unregister_input): Likewise.
28241 (grub_term_unregister_output): Likewise.
28242 (grub_term_set_current_input): Likewise.
28243 (grub_term_set_current_output): Likewise.
28244 (grub_term_iterate_input): Likewise.
28245 (grub_term_iterate_output): Likewise.
28246 (grub_term_get_current_input): Likewise.
28247 (grub_term_get_current_output): Likewise.
28248
28249 * util/grub-editenv.c: Include header file <grub/handler.h>.
28250 (grub_term_get_current_input): Removed.
28251 (grub_term_get_current_output): Likewise.
28252 (grub_term_input_class): New variable.
28253 (grub_term_output_class): Likewise.
28254
28255 * util/grub-fstest.c (grub_term_get_current_input): Removed.
28256 (grub_term_get_current_output): Likewise.
28257 (grub_term_input_class): New variable.
28258 (grub_term_output_class): Likewise.
28259
28260 * util/grub-probe.c (grub_term_get_current_input): Removed.
28261 (grub_term_get_current_output): Likewise.
28262 (grub_term_input_class): New variable.
28263 (grub_term_output_class): Likewise.
28264
28265 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
28266 (grub_term_get_current_output): Likewise.
28267 (grub_term_input_class): New variable.
28268 (grub_term_output_class): Likewise.
28269
28270 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
28271 (terminal_mod_SOURCES): Likewise.
28272 (terminal_mod_CFLAGS): Likewise.
28273 (terminal_mod_LDFLAGS): Likewise.
28274
28275 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
28276 handler.c.
28277 (kernel_img_SOURCES): Add list.c and handler.c.
28278 (kernel_img_HEADERS): Add list.h and handler.h.
28279
28280 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
28281 handler.c.
28282 (kernel_mod_SOURCES): Add list.c and handler.c.
28283 (kernel_mod_HEADERS): Add list.h and handler.h.
28284
28285 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
28286 handler.c.
28287 (kernel_elf_SOURCES): Add list.c and handler.c.
28288 (kernel_elf_HEADERS): Add list.h and handler.h.
28289
28290 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
28291 handler.c.
28292 (kernel_elf_SOURCES): Add list.c and handler.c.
28293 (kernel_elf_HEADERS): Add list.h and handler.h.
28294
28295 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
28296 handler.c.
28297 (kernel_mod_SOURCES): Add list.c and handler.c.
28298 (kernel_mod_HEADERS): Add list.h and handler.h.
28299
28300 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
28301 handler.c.
28302 (kernel_elf_SOURCES): Add list.c and handler.c.
28303 (kernel_elf_HEADERS): Add list.h and handler.h.
28304
28305 2009-02-27 Robert Millan <rmh@aybabtu.com>
28306
28307 Factorize elf32 / elf64 code in Multiboot loader. This will
28308 prevent it from getting out of sync again.
28309
28310 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
28311 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
28312 grub_multiboot_load_elf64): Move from here ...
28313 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
28314 grub_multiboot_load_elf): ... to here (new file).
28315
28316 2009-02-27 Robert Millan <rmh@aybabtu.com>
28317
28318 * util/grub.d/10_linux.in: Rename "single-user mode" to
28319 "recovery mode".
28320
28321 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
28322
28323 Don't leak in SCSI code.
28324 * disk/scsi.c (grub_scsi_close): free `scsi'.
28325
28326 2009-02-27 Robert Millan <rmh@aybabtu.com>
28327
28328 * loader/i386/pc/multiboot.c: Move from here ...
28329 * loader/i386/multiboot.c: ... to here. Update all users.
28330
28331 2009-02-27 Robert Millan <rmh@aybabtu.com>
28332
28333 Patch from Alexandre Bique <bique.alexandre@gmail.com>
28334 * util/i386/pc/grub-setup.c (setup): Fix directory path.
28335
28336 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
28337
28338 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
28339 b-tree.
28340
28341 2009-02-27 Robert Millan <rmh@aybabtu.com>
28342
28343 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
28344 `0x' qualifier as 0 when base is specified as parameter).
28345
28346 2009-02-24 Bean <bean123ch@gmail.com>
28347
28348 * configure.ac: Check for -mcmodel=large in x86_64 target.
28349
28350 * include/grub/efi/api.h (efi_call_10): New macro.
28351 (efi_wrap_10): New function.
28352
28353 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
28354 (GRUB_PE32_REL_BASED_HIGH): Likewise.
28355 (GRUB_PE32_REL_BASED_LOW): Likewise.
28356 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
28357 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
28358 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
28359 (GRUB_PE32_REL_BASED_SECTION): Likewise.
28360 (GRUB_PE32_REL_BASED_REL): Likewise.
28361 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
28362 (GRUB_PE32_REL_BASED_DIR64): Likewise.
28363 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
28364
28365 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
28366 issue.
28367
28368 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
28369 (efi_wrap_10): New function.
28370
28371 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
28372
28373 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
28374 MB/MBP model (NV chipset).
28375 (devdata_devs): Add devpath_5 to the list.
28376
28377 * load/i386/efi/linux.c (video_base): Remove variable.
28378 (RGB_MASK): New macro.
28379 (RGB_MAGIC): Likewise.
28380 (LINE_MIN): Likewise.
28381 (LINE_MAX): Likewise.
28382 (FBTEST_STEP): Likewise.
28383 (FBTEST_COUNT): Likewise.
28384 (fb_list): New variable.
28385 (grub_find_video_card): Remove function.
28386 (find_framebuf): New function.
28387 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
28388 line length.
28389
28390 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
28391 problem for x86_64.
28392
28393 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
28394
28395 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
28396
28397 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
28398 coding tool name.
28399
28400 2009-02-22 Robert Millan <rmh@aybabtu.com>
28401
28402 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
28403 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
28404 in our relocation, instead of using it directly from heap. Also
28405 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
28406
28407 2009-02-21 Robert Millan <rmh@aybabtu.com>
28408
28409 Implement USB keyboard support (based on patch by Marco Gerards)
28410
28411 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
28412 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
28413 (usb_keyboard_mod_LDFLAGS): New variables.
28414
28415 * term/usb_keyboard.c: New file.
28416
28417 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28418
28419 Corrected wrong declaration
28420
28421 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
28422
28423 2009-02-14 Christian Franke <franke@computer.org>
28424
28425 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
28426 (grub_lspci_iter): Print class code and programming interface byte.
28427
28428 2009-02-14 Christian Franke <franke@computer.org>
28429
28430 * gendistlist.sh: Ignore `.svn' directories.
28431
28432 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
28433
28434 * fs/fat.c: Add 2009 to Copyright line.
28435
28436 2009-02-14 Christian Franke <franke@computer.org>
28437
28438 * commands/hdparm.c: New file. Provides `hdparm' command
28439 which sends ATA commands via grub_disk_ata_pass_through ().
28440
28441 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
28442
28443 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
28444 and <grub/cpu/io.h> to include/grub/ata.h.
28445 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
28446 (GRUB_CDROM_SECTOR_SIZE): Remove.
28447 (GRUB_ATA_*): Move to include/grub/ata.h.
28448 (GRUB_ATAPI_*): Likewise.
28449 (enum grub_ata_commands): Likewise.
28450 (enum grub_ata_timeout_milliseconds): Likewise.
28451 (struct grub_ata_device): Likewise.
28452 (grub_ata_regset): Likewise.
28453 (grub_ata_regget): Likewise.
28454 (grub_ata_regset2): Likewise.
28455 (grub_ata_regget2): Likewise.
28456 (grub_ata_check_ready): Likewise.
28457 (grub_ata_wait_not_busy): Remove static, exported in
28458 include/grub/ata.h.
28459 (grub_ata_wait_drq): Likewise.
28460 (grub_ata_pio_read): Likewise.
28461
28462 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
28463 function for hdparm.mod.
28464
28465 * include/grub/ata.h: New file, contains declarations from
28466 disk/ata.c.
28467 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
28468
28469 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
28470 (grub_disk_ata_pass_through): New exported variable.
28471
28472 * kern/disk.c (grub_disk_ata_pass_through): New variable.
28473
28474 2009-02-13 Colin D Bennett <colin@gibibit.com>
28475
28476 Support multiple fallback entries, and provide an API to support
28477 executing default+fallback menu entries. Renamed the `terminal' menu
28478 viewer to `text'.
28479
28480 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
28481 variable declaration.
28482 (grub_menu_execute_callback): New structure declaration.
28483 (grub_menu_execute_callback_t): New typedef.
28484 (grub_menu_execute_with_fallback): New function declaration.
28485 (grub_menu_get_entry): Likewise.
28486 (grub_menu_get_timeout): Likewise.
28487 (grub_menu_set_timeout): Likewise.
28488
28489 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
28490
28491 * normal/menu.c (grub_wait_after_message): Moved to
28492 `normal/menu_text.c'.
28493 (draw_border): Likewise.
28494 (print_message): Likewise.
28495 (print_entry): Likewise.
28496 (print_entries): Likewise.
28497 (grub_menu_init_page): Likewise.
28498 (get_entry_number): Likewise.
28499 (print_timeout): Likewise.
28500 (run_menu): Likewise.
28501 (grub_menu_execute_entry): Likewise.
28502 (show_text_menu): Likewise.
28503 (get_and_remove_first_entry_number): New function.
28504 (grub_menu_execute_with_fallback): Likewise.
28505 (get_entry): Renamed to ...
28506 (grub_menu_get_entry): .. this and made it global.
28507 (get_timeout): Renamed to ...
28508 (grub_menu_get_timeout): ... this and made it global.
28509 (set_timeout): Renamed to ...
28510 (grub_menu_set_timeout): ... this and made it global.
28511 (grub_normal_terminal_menu_viewer): Renamed to ...
28512 (grub_normal_text_menu_viewer): ... this.
28513
28514 * normal/menu_text.c: New file. Extracted text-menu-specific code
28515 from normal/menu.c.
28516
28517 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
28518 (normal_mod_SOURCES): Likewise.
28519
28520 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28521 (normal_mod_SOURCES): Likewise.
28522
28523 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28524 (normal_mod_SOURCES): Likewise.
28525
28526 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
28527 (normal_mod_SOURCES): Likewise.
28528
28529 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28530 (normal_mod_SOURCES): Likewise.
28531
28532 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28533 (normal_mod_SOURCES): Likewise.
28534
28535 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28536 (normal_mod_SOURCES): Likewise.
28537
28538 2009-02-11 Robert Millan <rmh@aybabtu.com>
28539
28540 * util/grub.d/00_header.in: Update old reference to `font' command.
28541
28542 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
28543
28544 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
28545
28546 Based on patch from Javier Martín.
28547
28548 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
28549
28550 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
28551 to avoid false positives with FAT.
28552 (grub_fstest_SOURCES): Likewise.
28553 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28554 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28555 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28556 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28557 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28558 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28559
28560 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
28561
28562 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
28563 bpb.version_specific.fat12_or_fat16.fstype and
28564 bpb.version_specific.fat32.fstype.
28565
28566 2009-02-08 Robert Millan <rmh@aybabtu.com>
28567
28568 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
28569
28570 2009-02-08 Robert Millan <rmh@aybabtu.com>
28571
28572 * Makefile.in (host_os, host_cpu): New variables.
28573 (target_os): Remove. Update all users.
28574
28575 2009-02-08 Marco Gerards <marco@gnu.org>
28576
28577 * Makefile.in (enable_grub_emu_usb): New variable.
28578 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
28579 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
28580 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
28581 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
28582 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
28583 `usbtest.mod' and `usbms.mod'.
28584 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
28585 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
28586 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
28587 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
28588 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
28589 variables.
28590
28591 * disk/usbms.c: New file.
28592
28593 * include/grub/usb.h: Likewise.
28594
28595 * include/grub/usbtrans.h: Likewise.
28596
28597 * include/grub/usbdesc.h: Likewise.
28598
28599 * bus/usb/usbtrans.c: Likewise.
28600
28601 * bus/usb/ohci.c: Likewise.
28602
28603 * bus/usb/uhci.c: Likewise.
28604
28605 * bus/usb/usbhub.c: Likewise.
28606
28607 * bus/usb/usb.c: Likewise.
28608
28609 * commands/usbtest.c: Likewise.
28610
28611 * util/usb.c: Likewise.
28612
28613 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
28614
28615 * configure.ac: Test for libusb presence.
28616
28617 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
28618
28619 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
28620
28621 * kern/mm.c: Add more comments.
28622
28623 2009-02-08 Robert Millan <rmh@aybabtu.com>
28624
28625 Patch from Javier Martín.
28626 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
28627 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
28628
28629 2009-02-08 Robert Millan <rmh@aybabtu.com>
28630
28631 * fs/cpio.c: Split tar functionality to ...
28632 * fs/tar.c: ... here (new file). Update all users.
28633
28634 2009-02-07 Robert Millan <rmh@aybabtu.com>
28635
28636 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
28637 backward-incompatible features.
28638
28639 Based on patch from Javier Martín, with some adjustments.
28640
28641 2009-02-07 Michael Scherer <misc@mandriva.org>
28642
28643 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
28644
28645 2009-02-07 Robert Millan <rmh@aybabtu.com>
28646
28647 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
28648 position of `disk/lvm.c' to ensure grub_init_all() always picks it
28649 after the RAID stuff.
28650
28651 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
28652
28653 Fixes problem when running vbetest command as reported by
28654 Vladimir Serbinenko <phcoder@gmail.com>.
28655
28656 * (grub_vbe_set_video_mode): Fixed problem with text modes.
28657
28658 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
28659
28660 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
28661 /dev/md/NpN style mdraid devices.
28662
28663 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
28664
28665 * util/unifont2pff.rb: Remove.
28666
28667 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
28668
28669 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
28670 `#'.
28671
28672 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
28673
28674 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
28675 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28676 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28677 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28678 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28679 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28680 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28681
28682 2009-02-02 Christian Franke <franke@computer.org>
28683
28684 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
28685
28686 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
28687
28688 * INSTALL: Note that we now require at least autoconf 2.59 and
28689 that LZO is optional.
28690
28691 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
28692
28693 Base on patch on bug #24154 created by Tomas Tintera
28694 <trosos@seznam.cz>.
28695
28696 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
28697
28698 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
28699
28700 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
28701 <bero@arklinux.org>.
28702
28703 * normal/parser.y (script_init): Add missing semicolon.
28704
28705 2009-01-31 Colin D Bennett <colin@gibibit.com>
28706
28707 * normal/main.c: Add include to grub/menu_viewer.h.
28708 (free_menu_entry_classes): Added.
28709 (grub_normal_menu_addentry): Added class property handling.
28710 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
28711 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
28712
28713 * normal/menu_viewer.c: New file.
28714
28715 * normal/menu.c (run_menu_entry): Renamed to ...
28716 (grub_menu_execute_entry): ... this and made it as global.
28717 (grub_menu_run): Renamed to ...
28718 (show_text_menu): ... this and made it local.
28719 (show_text_menu): Adapt to new function names.
28720 (grub_normal_terminal_menu_viewer): New global variable.
28721
28722 * include/grub/menu.h: New file.
28723
28724 * include/grub/menu_viewer.h: New file.
28725
28726 * include/grub/normal.h: Added include to grub/menu.h.
28727 (grub_menu_entry): Moved to include/grub/menu.h.
28728 (grub_menu_entry_t): Likewise.
28729 (grub_menu): Likewise.
28730 (grub_menu_t): Likewise.
28731 (grub_normal_terminal_menu_viewer): Added.
28732 (grub_menu_execute_entry): Likewise.
28733 (grub_menu_run): Removed.
28734
28735 * DISTLIST: Added include/grub/menu.h.
28736 Added include/grub/menu_viewer.h.
28737 Added normal/menu_viewer.c.
28738
28739 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
28740
28741 * normal/execute.c (grub_script_execute_menuentry): Changed to use
28742 arglist for menutitle arguments.
28743
28744 * normal/main.c (grub_normal_menu_addentry): Likewise.
28745
28746 * normal/parser.y (menuentry): Likewise.
28747
28748 * normal/script.c (grub_script_create_cmdmenu): Likewise.
28749
28750 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
28751 (grub_script_create_cmdmenu): Likewise.
28752
28753 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
28754
28755 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
28756 changes.
28757
28758 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
28759
28760 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
28761
28762 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
28763
28764 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28765
28766 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28767
28768 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28769
28770 2009-01-30 Christian Franke <franke@computer.org>
28771
28772 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
28773 in option help text.
28774
28775 2009-01-27 Pavel Roskin <proski@gnu.org>
28776
28777 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
28778
28779 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
28780
28781 * commands/lsmmap.c: Add include to grub/machine/memory.h.
28782
28783 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
28784
28785 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
28786 unregister function.
28787
28788 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
28789
28790 * disk/scsi.c (grub_scsi_read): Fix sign problem.
28791
28792 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
28793
28794 * util/grub-mkfont.c (usage): Fix typo.
28795
28796 * util/elf/grub-mkimage.c (load_modules): Fix warning.
28797
28798 2009-01-26 Daniel Mierswa <impulze@impulze.org>
28799
28800 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
28801
28802 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
28803
28804 * kern/misc.c (grub_strcasecmp): New function.
28805 (grub_strcasecmp): Use grub_size_t instead of int for length.
28806 Fix return value.
28807 * include/grub/misc.h: Update function prototypes.
28808
28809 2009-01-26 Robert Millan <rmh@aybabtu.com>
28810
28811 * configure.ac: Fix cross-compilation check.
28812
28813 2009-01-22 Christian Franke <franke@computer.org>
28814
28815 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
28816 (precision) digit string. Allow `.format2' without `format1' (width).
28817 Limit input chars for `%s' output to `format2' if specified. This is
28818 compatible with standard printf ().
28819
28820 2009-01-22 Christian Franke <franke@computer.org>
28821
28822 * disk/ata.c (grub_ata_wait_status): Replace by ...
28823 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
28824 other status bits may be invalid while BSY is asserted.
28825 (grub_ata_check_ready): New function.
28826 (grub_ata_cmd): Removed.
28827 (grub_ata_wait_drq): New function.
28828 (grub_ata_strncpy): Remove inline.
28829 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
28830 and error check now done by grub_ata_wait_drq ().
28831 (grub_ata_pio_write): Likewise.
28832 (grub_atapi_identify): Set DEV before check for !BSY. Use
28833 grub_ata_wait_drq () to wait for data.
28834 (grub_ata_device_initialize): Add status register check to
28835 detect missing SATA slave devices. Add debug messages.
28836 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
28837 (grub_atapi_packet): Set DEV before check for !BSY. Replace
28838 transfer loop by grub_ata_pio_write ().
28839 (grub_ata_identify): Set DEV before check for !BSY. Use
28840 grub_ata_wait_drq () to wait for data.
28841 (grub_ata_setaddress): Set DEV before check for !BSY.
28842 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
28843 read/write in one loop. Fix invalid command on write. Fix incomplete
28844 command on (size % batch) == 0. Add missing error check after write of
28845 last block. Add debug messages.
28846 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
28847
28848 2009-01-19 Christian Franke <franke@computer.org>
28849
28850 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
28851 (GRUB_ATAPI_IREASON_*): Likewise.
28852 (grub_ata_pio_write): Fix timeout error return.
28853 (grub_atapi_identify): Add grub_ata_wait () after cmd.
28854 (grub_atapi_wait_drq): New function.
28855 (grub_atapi_packet): New parameter `size'.
28856 Use grub_atapi_wait_drq () and direct write instead of
28857 grub_ata_pio_write ().
28858 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
28859 reads the number of bytes requested by the device for each DRQ
28860 assertion.
28861 (grub_atapi_write): Remove old implementation, return not
28862 implemented instead.
28863
28864 2009-01-19 Christian Franke <franke@computer.org>
28865
28866 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
28867 of 512 to calculate data size.
28868 (grub_scsi_read12): Likewise.
28869 (grub_scsi_write10): Likewise.
28870 (grub_scsi_write12): Likewise.
28871 (grub_scsi_read): Adjust size according to blocksize.
28872 Add checks for invalid blocksize and unaligned transfer.
28873
28874 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
28875
28876 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
28877
28878 * term/gfxterm.c (write_char): Fix background rendering for wide
28879 width glyphs.
28880
28881 2009-01-19 Robert Millan <rmh@aybabtu.com>
28882
28883 * config.guess: Update to latest version from config git.
28884 * config.sub: Likewise.
28885
28886 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
28887
28888 * Makefile.in: Change font compilation to use new grub-mkfont instead
28889 of java version.
28890
28891 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
28892 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
28893 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28894 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28895 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
28896 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
28897 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
28898 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
28899 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
28900
28901 2009-01-16 Christian Franke <franke@computer.org>
28902
28903 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
28904 (enum grub_ata_timeout_milliseconds): New enum.
28905 (grub_ata_wait_status): Add parameter milliseconds.
28906 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
28907 recovery from timed-out commands.
28908 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
28909 return grub_errno instead of REG_ERROR.
28910 (grub_ata_pio_write): Add parameter milliseconds.
28911 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
28912 Pass milliseconds to grub_ata_wait_status () and
28913 grub_ata_pio_read ().
28914 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
28915 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
28916 grub_ata_wait_status (). Fix IDENTIFY timeout check.
28917 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
28918 It is not suitable for device detection, because DEV bit is ignored,
28919 the command may run too long, and not all devices set the signature
28920 properly.
28921 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
28922 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
28923 Fix device selection, DEV bit must be set first to address the registers
28924 of the correct device.
28925 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
28926 grub_ata_pio_read/write ().
28927 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
28928 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
28929
28930 2009-01-13 Carles Pina i Estany <carles@pina.cat>
28931
28932 * util/grub-editenv.c (main): Use fseeko(), not fseek().
28933
28934 2009-01-13 Bean <bean123ch@gmail.com>
28935
28936 * util/grub-mkfont.c (write_font): forget to remove some debug code.
28937
28938 2009-01-13 Bean <bean123ch@gmail.com>
28939
28940 * Makefile.in: (enable_grub_mkfont): New variable.
28941 (freetype_cflags): Likewise.
28942 (freetype_libs): Likewise.
28943
28944 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
28945 (grub_mkfont_SOURCES): New variable.
28946 (grub_mkfont_CFLAGS): Likewise.
28947 (grub_mkfont_LDFLAGS): Likewise.
28948
28949 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
28950 library if `--enable-grub-mkfont' is requested.
28951 (enable_grub_mkfont): New variable.
28952 (freetype_cflags): Likewise.
28953 (freetype_libs): Likewise.
28954
28955 * util/grub-mkfont.c: New file.
28956
28957 2009-01-12 Christian Franke <franke@computer.org>
28958
28959 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
28960 mode check. Fix setting of compat_use[].
28961
28962 2009-01-10 Robert Millan <rmh@aybabtu.com>
28963
28964 Update a few copyright years which we forgot to do in 2008 (only for
28965 files whose changes made in 2008 were copyright-significant)
28966
28967 * Makefile.in: Add 2008 to Copyright line.
28968 * disk/ieee1275/ofdisk.c: Likewise.
28969 * disk/efi/efidisk.c: Likewise.
28970 * kern/dl.c: Likewise.
28971 * kern/sparc64/ieee1275/init.c: Likewise.
28972 * kern/mm.c: Likewise.
28973 * kern/efi/mm.c: Likewise.
28974 * boot/i386/pc/boot.S: Likewise.
28975 * genfslist.sh: Likewise.
28976 * fs/iso9660.c: Likewise.
28977 * fs/hfs.c: Likewise.
28978 * fs/jfs.c: Likewise.
28979 * fs/minix.c: Likewise.
28980 * fs/ufs.c: Likewise.
28981 * gensymlist.sh.in: Likewise.
28982 * genkernsyms.sh.in: Likewise.
28983 * include/grub/misc.h: Likewise.
28984 * include/grub/types.h: Likewise.
28985 * include/grub/symbol.h: Likewise.
28986 * include/grub/elf.h: Likewise.
28987 * include/grub/kernel.h: Likewise.
28988 * include/grub/disk.h: Likewise.
28989 * include/grub/dl.h: Likewise.
28990 * include/grub/i386/linux.h: Likewise.
28991 * include/grub/i386/pc/biosdisk.h: Likewise.
28992 * include/grub/efi/api.h: Likewise.
28993 * include/grub/efi/pe32.h: Likewise.
28994 * include/grub/util/misc.h: Likewise.
28995 * normal/execute.c: Likewise.
28996 * normal/arg.c: Likewise.
28997 * normal/completion.c: Likewise.
28998 * normal/lexer.c: Likewise.
28999 * normal/parser.y: Likewise.
29000 * normal/misc.c: Likewise.
29001 * commands/i386/pc/vbeinfo.c: Likewise.
29002 * commands/hexdump.c: Likewise.
29003 * commands/terminal.c: Likewise.
29004 * commands/ls.c: Likewise.
29005 * commands/help.c: Likewise.
29006 * partmap/pc.c: Likewise.
29007 * loader/efi/chainloader.c: Likewise.
29008 * loader/multiboot_loader.c: Likewise.
29009 * loader/i386/pc/multiboot2.c: Likewise.
29010 * term/efi/console.c: Likewise.
29011 * term/i386/pc/serial.c: Likewise.
29012 * util/lvm.c: Likewise.
29013 * util/console.c: Likewise.
29014 * util/i386/efi/grub-mkimage.c: Likewise.
29015 * util/raid.c: Likewise.
29016
29017 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
29018
29019 * commands/videotest.c: Removed include to grub/machine/memory.h.
29020
29021 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
29022 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
29023 (video_mod_SOURCES): Removed.
29024 (video_mod_CFLAGS): Likewise.
29025 (video_mod_LDFLAGS): Likewise.
29026 (gfxterm_mod_SOURCES): Likewise.
29027 (gfxterm_mod_CFLAGS): Likewise.
29028 (gfxterm_mod_LDFLAGS): Likewise.
29029 (videotest_mod_SOURCES): Likewise.
29030 (videotest_mod_CFLAGS): Likewise.
29031 (videotest_mod_LDFLAGS): Likewise.
29032 (bitmap_mod_SOURCES): Likewise.
29033 (bitmap_mod_CFLAGS): Likewise.
29034 (bitmap_mod_LDFLAGS): Likewise.
29035 (tga_mod_SOURCES): Likewise.
29036 (tga_mod_CFLAGS): Likewise.
29037 (tga_mod_LDFLAGS): Likewise.
29038 (jpeg_mod_SOURCES): Likewise.
29039 (jpeg_mod_CFLAGS): Likewise.
29040 (jpeg_mod_LDFLAGS): Likewise.
29041 (png_mod_SOURCES): Likewise.
29042 (png_mod_CFLAGS): Likewise.
29043 (png_mod_LDFLAGS): Likewise.
29044
29045 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
29046 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
29047 (video_mod_SOURCES): Added.
29048 (video_mod_CFLAGS): Likewise.
29049 (video_mod_LDFLAGS): Likewise.
29050 (videotest_mod_SOURCES): Likewise.
29051 (videotest_mod_CFLAGS): Likewise.
29052 (videotest_mod_LDFLAGS): Likewise.
29053 (bitmap_mod_SOURCES): Likewise.
29054 (bitmap_mod_CFLAGS): Likewise.
29055 (bitmap_mod_LDFLAGS): Likewise.
29056 (tga_mod_SOURCES): Likewise.
29057 (tga_mod_CFLAGS): Likewise.
29058 (tga_mod_LDFLAGS): Likewise.
29059 (jpeg_mod_SOURCES): Likewise.
29060 (jpeg_mod_CFLAGS): Likewise.
29061 (jpeg_mod_LDFLAGS): Likewise.
29062 (png_mod_SOURCES): Likewise.
29063 (png_mod_CFLAGS): Likewise.
29064 (png_mod_LDFLAGS): Likewise.
29065 (gfxterm_mod_SOURCES): Likewise.
29066 (gfxterm_mod_CFLAGS): Likewise.
29067 (gfxterm_mod_LDFLAGS): Likewise.
29068
29069 * term/gfxterm.c: Removed include to grub/machine/memory.h,
29070 grub/machine/console.h.
29071
29072 2009-01-04 Jerone Young <jerone@gmail.com>
29073
29074 Make on screen instructions clearer
29075
29076 Based on patch created by Jidanni <jidanni@jidanni.org>
29077
29078 * normal/menu.c: print clearer instructions on the screen
29079
29080 2009-01-02 Colin D Bennett <colin@gibibit.com>
29081
29082 New font engine.
29083
29084 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
29085 build system and fixed gfxterm.c to work with different sized fonts.
29086
29087 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
29088
29089 * configure: Re-generated.
29090
29091 * DISTLIST: Removed font/manager.c.
29092 Added font/font.c.
29093 Added font/font_cmd.c.
29094
29095 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
29096 compilation.
29097
29098 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
29099
29100 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
29101
29102 * kern/term.c: Changed users of grub_utf8_to_ucs4.
29103
29104 * normal/menu.c: Likewise.
29105
29106 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
29107 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
29108
29109 * include/grub/font.h: Replaced with new file.
29110
29111 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
29112 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
29113 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
29114 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
29115 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
29116 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
29117 fg_red, fg_green, fg_blue, fg_alpha.
29118 (grub_video_adapter): Removed blit_glyph.
29119 (grub_video_blit_glyph): Removed.
29120
29121 * font/manager.c: Removed file.
29122
29123 * font/font.c: New file.
29124
29125 * font/font_cmd.c: Likewise.
29126
29127 * video/video.c (grub_video_blit_glyph): Removed.
29128
29129 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
29130 (grub_video_vbe_map_rgba): Likewise.
29131 (grub_video_vbe_unmap_color_int): Likewise.
29132 (grub_video_vbe_blit_glyph): Removed.
29133 (grub_video_vbe_adapter): Removed blit_glyph.
29134
29135 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
29136 (get_pixel): Likewise.
29137 (set_pixel): Likewise.
29138
29139 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
29140
29141 * term/gfxterm.c: Adapted to new font engine.
29142
29143 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
29144
29145 * term/i386/pc/vga.c: Likewise.
29146
29147 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
29148
29149 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
29150
29151 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
29152
29153 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
29154
29155 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
29156
29157 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
29158
29159 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
29160
29161 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
29162
29163 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
29164
29165 * util/grub.d/00_header.in: Changed to use new loadfont command.
29166
29167 * util/grub-mkconfig_lib.in: Changed font extension.
29168
29169 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
29170
29171 * util/getroot.c (grub_util_get_grub_dev): Add support for
29172 /dev/md/dNNpNN style partitionable mdraid devices.
29173
29174 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
29175
29176 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
29177 at a time limit of the PXE TFTP API correctly.
29178 (grub_pxefs_close): Likewise.
29179
29180 2008-11-29 Robert Millan <rmh@aybabtu.com>
29181
29182 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
29183 grub_ata_device_initialize() calls.
29184
29185 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
29186
29187 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
29188 iteration failed.
29189 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
29190
29191 2008-11-28 Robert Millan <rmh@aybabtu.com>
29192
29193 Fix build on powerpc-ieee1275. Based on patch created by
29194 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
29195 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
29196 `kern/ieee1275/mmap.c'.
29197 * include/grub/powerpc/ieee1275/memory.h: New file.
29198
29199 Provide grub-install on coreboot.
29200 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
29201 (grub_install_SOURCES): New variable.
29202 * util/i386/pc/grub-install.in: Add a few condition checks to make it
29203 usable on coreboot.
29204
29205 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
29206
29207 * util/grub-fstest.c (grub_term_get_current_input): Change return type
29208 to `grub_term_input_t'.
29209 (grub_term_get_current_output): Change return type to
29210 `grub_term_output_t'.
29211
29212 2008-11-22 Robert Millan <rmh@aybabtu.com>
29213
29214 Fix breakage on coreboot due to declaration mismatch.
29215 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
29216 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
29217 grub_vga_text_cls().
29218
29219 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
29220 comments. Avoid copying one more byte than necessary (just in case).
29221
29222 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
29223 to 0x200000 (avoids trouble with some OFW implementations, and matches
29224 with the one in Yaboot).
29225 Reported by Manoel Abranches
29226
29227 2008-11-20 Robert Millan <rmh@aybabtu.com>
29228
29229 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
29230 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
29231
29232 * util/grub-mkconfig_lib.in (grub_warn): New function.
29233 (convert_system_path_to_grub_path): Use grub_warn() when issuing
29234 warnings, to obtain consistent formatting.
29235 * util/grub.d/00_header.in: Likewise.
29236 * util/update-grub_lib.in: Likewise.
29237
29238 * loader/i386/linux.c (allocate_pages): Fix a warning.
29239 Move comment text to `#error' stanza.
29240
29241 Harmonize ieee1275's grub_available_iterate() with the generic
29242 grub_machine_mmap_iterate() interface (fixes a recently-introduced
29243 build problem on i386-ieee1275):
29244 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
29245 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
29246 parameter `type'. Update all users of this function.
29247 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
29248 `kern/ieee1275/mmap.c'.
29249 * kern/ieee1275/init.c
29250 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
29251 with ...
29252 (grub_machine_mmap_iterate): ... this.
29253 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
29254 return type to `grub_err_t'. Update all implementations of this
29255 function prototype.
29256 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
29257 Likewise.
29258
29259 Add `lsmmap' command (lists firmware-provided memory map):
29260 * commands/lsmmap.c: New file.
29261 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
29262 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
29263 variables.
29264 * conf/powerpc-ieee1275.rmk: Likewise.
29265 * conf/i386-coreboot.rmk: Likewise.
29266 * conf/i386-ieee1275.rmk: Likewise.
29267
29268 2008-11-19 Robert Millan <rmh@aybabtu.com>
29269
29270 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
29271 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
29272 constraints to initrd allocation (based on code from
29273 loader/i386/pc/linux.c). Without them, initrd was allocated too high
29274 for Linux to find it.
29275
29276 2008-11-14 Robert Millan <rmh@aybabtu.com>
29277
29278 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
29279 order to cope with duplicate slashes.
29280
29281 2008-11-14 Robert Millan <rmh@aybabtu.com>
29282
29283 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
29284 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
29285 don't want to mess with lower memory, because it is used in the Linux
29286 loader.
29287
29288 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
29289 an appropriate place in lower memory, between 0x10000 and 0x90000,
29290 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
29291 is in our heap (probably as a result of it being corrupted during
29292 decompression). Add #error instance with comment to explain why this
29293 loader isn't currently usable on PC/BIOS.
29294
29295 2008-11-14 Robert Millan <rmh@aybabtu.com>
29296
29297 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
29298 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
29299
29300 2008-11-12 Robert Millan <rmh@aybabtu.com>
29301
29302 Make loader/i386/linux.c buildable on i386-pc (although disabled).
29303
29304 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
29305 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
29306 from here ...
29307 * include/grub/i386/pc/memory.h: ... to here.
29308
29309 2008-11-12 Robert Millan <rmh@aybabtu.com>
29310
29311 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
29312 split).
29313
29314 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
29315 (grub_console_cur_color, grub_console_real_putchar)
29316 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
29317 (grub_console_setcolorstate, grub_console_setcolor)
29318 (grub_console_getcolor): Move from here ...
29319 * include/grub/i386/vga_common.h: ... to here (new file).
29320
29321 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
29322 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
29323 `<grub/i386/io.h>'.
29324 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
29325 `<grub/i386/vga_common.h>'.
29326
29327 2008-11-12 Robert Millan <rmh@aybabtu.com>
29328
29329 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
29330 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
29331 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
29332 variables.
29333 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
29334 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
29335
29336 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
29337 grub_console_init() with call to grub_vga_text_init().
29338 (grub_machine_fini): Replace call to
29339 grub_console_fini() with call to grub_vga_text_fini() and
29340 grub_at_keyboard_fini().
29341
29342 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
29343 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
29344 (grub_console_setcolorstate, grub_console_setcolor)
29345 (grub_console_getcolor): New function prototypes.
29346
29347 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
29348 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
29349 (grub_vga_text_setcursor): Static-ize.
29350 (grub_vga_text_term): New structure.
29351 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
29352
29353 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
29354 (grub_console_cur_color, grub_console_standard_color)
29355 (grub_console_normal_color, grub_console_highlight_color)
29356 (map_char, grub_console_putchar, grub_console_getcharwidth)
29357 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
29358 (grub_console_getcolor): Move from here ...
29359 * term/i386/vga_common.c: ... to here (same function names).
29360
29361 2008-11-12 Robert Millan <rmh@aybabtu.com>
29362
29363 Use newly-added Multiboot support in coreboot.
29364
29365 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
29366 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
29367
29368 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
29369 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
29370 (codestart): Store the MBI in `startup_multiboot_info' when we're
29371 being loaded using Multiboot.
29372
29373 * kern/i386/coreboot/init.c (grub_machine_init): Move
29374 grub_at_keyboard_init() call to beginning of function (useful for
29375 debugging). Call grub_machine_mmap_init() before attempting to use
29376 grub_machine_mmap_iterate().
29377 (grub_lower_mem, grub_upper_mem): Move from here ...
29378 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
29379 here (new file).
29380
29381 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
29382 function prototype.
29383
29384 2008-11-12 Robert Millan <rmh@aybabtu.com>
29385
29386 Fix a regression introduced by the at_keyboard.mod split. Because
29387 some terminals are default on some platforms and non-default on
29388 others, the first terminal being registered determines which is
29389 going to be default.
29390
29391 * kern/term.c (grub_term_register_input): If this is the first
29392 terminal being registered, set it as the current one.
29393 (grub_term_register_output): Likewise.
29394
29395 * term/efi/console.c (grub_console_init): Do not call
29396 grub_term_set_current_output() or grub_term_set_current_input().
29397 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
29398 * term/i386/pc/console.c (grub_console_init): Likewise.
29399 (grub_console_fini): Do not call grub_term_set_current_input()
29400 (but leave grub_term_set_current_output() to restore text mode).
29401
29402 2008-11-10 Robert Millan <rmh@aybabtu.com>
29403
29404 * util/grub.d/00_header.in: Add backward compatibility check for
29405 versions of terminal.mod that don't understand `terminal_input' or
29406 `terminal_output'.
29407
29408 2008-11-09 Robert Millan <rmh@aybabtu.com>
29409
29410 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
29411 `terminal_input' / `terminal_output', not `terminal'.
29412
29413 2008-11-08 Robert Millan <rmh@aybabtu.com>
29414
29415 * Makefile.in (include_DATA): Fix srcdir=. assumption.
29416 (DISTCLEANFILES): Add `build_env.mk'.
29417
29418 2008-11-08 Robert Millan <rmh@aybabtu.com>
29419
29420 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
29421 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
29422 members. Update all users.
29423 * util/console.c (grub_ncurses_term): Split in ...
29424 (grub_ncurses_term_input): ... this, and ...
29425 (grub_ncurses_term_output): ... this. Update all users.
29426 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
29427
29428 2008-11-08 Robert Millan <rmh@aybabtu.com>
29429
29430 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
29431 (PKGDATA): Add $(pkgdata_SRCDIR).
29432 (pkglib_BUILDDIR): New variable.
29433 (pkgdata_SRCDIR): New variable.
29434 (build_env.mk): New target.
29435 (include_DATA): New variable.
29436 (install-local): Install $(include_DATA) files in $(includedir).
29437
29438 2008-11-07 Pavel Roskin <proski@gnu.org>
29439
29440 * gendistlist.sh: Use C locale for sorting to ensure consistent
29441 output on all systems.
29442
29443 * util/grub.d/00_header.in: Remove incorrect space before
29444 "serial".
29445
29446 2008-11-07 Robert Millan <rmh@aybabtu.com>
29447
29448 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
29449 per specification.
29450 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
29451 * loader/multiboot_loader.c (find_multi_boot2_header): New function
29452 (based on find_multi_boot1_header).
29453 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
29454 using find_multi_boot2_header(), and abort if neither Multiboot or
29455 Multiboot headers were found.
29456
29457 2008-11-07 Robert Millan <rmh@aybabtu.com>
29458
29459 Modularize at_keyboard.mod:
29460
29461 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
29462 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29463 (at_keyboard_mod_LDFLAGS): New variables.
29464
29465 Actual terminal split:
29466
29467 * include/grub/term.h (struct grub_term): Split in ...
29468 (struct grub_term_input): ... this, and ...
29469 (struct grub_term_output): ... this. Update all users.
29470 (grub_term_set_current): Split in ...
29471 (grub_term_set_current_input): ... this, and ...
29472 (grub_term_set_current_output): ... this.
29473 (grub_term_get_current): Split in ...
29474 (grub_term_get_current_input): ... this, and ...
29475 (grub_term_get_current_output): ... this.
29476 (grub_term_register): Split in ...
29477 (grub_term_register_input): ... this, and ...
29478 (grub_term_register_output): ... this.
29479 (grub_term_unregister): Split in ...
29480 (grub_term_unregister_input): ... this, and ...
29481 (grub_term_unregister_output): ... this.
29482 (grub_term_iterate): Split in ...
29483 (grub_term_iterate_input): ... this, and ...
29484 (grub_term_iterate_output): ... this.
29485
29486 * kern/term.c (grub_term_list): Split in ...
29487 (grub_term_list_input): ... this, and ...
29488 (grub_term_list_output): ... this. Update all users.
29489 (grub_cur_term): Split in ...
29490 (grub_cur_term_input): ... this, and ...
29491 (grub_cur_term_output): ... this. Update all users.
29492 (grub_term_set_current): Split in ...
29493 (grub_term_set_current_input): ... this, and ...
29494 (grub_term_set_current_output): ... this.
29495 (grub_term_get_current): Split in ...
29496 (grub_term_get_current_input): ... this, and ...
29497 (grub_term_get_current_output): ... this.
29498 (grub_term_register): Split in ...
29499 (grub_term_register_input): ... this, and ...
29500 (grub_term_register_output): ... this.
29501 (grub_term_unregister): Split in ...
29502 (grub_term_unregister_input): ... this, and ...
29503 (grub_term_unregister_output): ... this.
29504 (grub_term_iterate): Split in ...
29505 (grub_term_iterate_input): ... this, and ...
29506 (grub_term_iterate_output): ... this.
29507
29508 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
29509 a check for input and one for output (and only attempt to get keys
29510 from user when input works).
29511
29512 * util/grub-probe.c (grub_term_get_current): Split in ...
29513 (grub_term_get_current_input): ... this, and ...
29514 (grub_term_get_current_output): ... this.
29515 * util/grub-fstest.c: Likewise.
29516 * util/i386/pc/grub-setup.c: Likewise.
29517 * util/grub-editenv.c: Likewise.
29518
29519 Portability adjustments:
29520
29521 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
29522 `term/i386/pc/at_keyboard.c'.
29523 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
29524 grub_keyboard_controller_init() (now handled by terminal .init).
29525 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
29526 grub_at_keyboard_init().
29527 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
29528 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
29529 at_keyboard.mod via input terminal interface).
29530 * include/grub/i386/coreboot/console.h: Convert into a stub for
29531 `<grub/i386/pc/console.h>'.
29532
29533 Migrate full terminals to new API:
29534
29535 * term/efi/console.c (grub_console_term): Split into ...
29536 (grub_console_term_input): ... this, and ...
29537 (grub_console_term_output): ... this. Update all users.
29538 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
29539 (grub_ofconsole_init): Split into ...
29540 (grub_ofconsole_init_input): ... this, and ...
29541 (grub_ofconsole_init_output): ... this.
29542 (grub_ofconsole_term): Split into ...
29543 (grub_ofconsole_term_input): ... this, and ...
29544 (grub_ofconsole_term_output): ... this. Update all users.
29545 * term/i386/pc/serial.c (grub_serial_term): Split into ...
29546 (grub_serial_term_input): ... this, and ...
29547 (grub_serial_term_output): ... this. Update all users.
29548 * term/i386/pc/console.c (grub_console_term): Split into ...
29549 (grub_console_term_input): ... this, and ...
29550 (grub_console_term_output): ... this. Update all users.
29551 (grub_console_term_input): Only enable it on PC/BIOS platform.
29552 (grub_console_init): Remove grub_keyboard_controller_init() call.
29553
29554 Migrate input terminals to new API:
29555
29556 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
29557 `i386' and `i386/pc' to enable build on x86_64 (this driver is
29558 i386-specific anyway).
29559 (grub_console_checkkey): Rename to ...
29560 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
29561 users.
29562 (grub_keyboard_controller_orig): New variable.
29563 (grub_console_getkey): Rename to ...
29564 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
29565 users.
29566 (grub_keyboard_controller_init): Static-ize. Save original
29567 controller value so that it can be restored ...
29568 (grub_keyboard_controller_fini): ... here (new function).
29569 (grub_at_keyboard_term): New structure.
29570 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
29571 functions.
29572
29573 Migrate output terminals to new API:
29574
29575 * term/i386/pc/vga.c (grub_vga_term): Change type to
29576 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
29577 members. Update all users.
29578 * term/gfxterm.c (grub_video_term): Change type to
29579 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
29580 members. Update all users.
29581 * include/grub/i386/pc/console.h (grub_console_checkkey)
29582 (grub_console_getkey): Do not export (no longer needed by gfxterm,
29583 etc).
29584
29585 Migrate `terminal' command and userland tools to new API:
29586
29587 * commands/terminal.c (grub_cmd_terminal): Split into ...
29588 (grub_cmd_terminal_input): ... this, and ...
29589 (grub_cmd_terminal_output): ... this.
29590 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
29591 `terminal_input' and `terminal_output'.
29592 * util/grub.d/00_header.in: Adjust `terminal' calls to new
29593 `terminal_input' / `terminal_output' API.
29594 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
29595 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
29596 provided ${GRUB_TERMINAL}, convert it).
29597
29598 2008-11-04 Robert Millan <rmh@aybabtu.com>
29599
29600 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
29601 for FreeBSD.
29602 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
29603
29604 2008-11-03 Bean <bean123ch@gmail.com>
29605
29606 * kern/elf.c (grub_elf32_load): Revert to previous code.
29607 (grub_elf64_load): Likewise.
29608
29609 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
29610
29611 2008-11-01 Robert Millan <rmh@aybabtu.com>
29612
29613 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
29614 (TARGET_CPPFLAGS): Likewise.
29615 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
29616
29617 2008-11-01 Carles Pina i Estany <carles@pina.cat>
29618
29619 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
29620
29621 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
29622
29623 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
29624 addition of objects until the code is not going to be able to fail.
29625
29626 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
29627
29628 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
29629 (add a missing NULL check, and correct them by moving the pointer
29630 operations after the actual check).
29631
29632 2008-10-29 Robert Millan <rmh@aybabtu.com>
29633
29634 * util/i386/pc/grub-install.in: Handle empty string as output from
29635 make_system_path_relative_to_its_root().
29636
29637 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
29638
29639 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
29640 circular metadata worst case scenario. If the metadata is circular
29641 then copy the wrap in place.
29642 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
29643 project lib/format_text/layout.h
29644 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
29645
29646 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
29647
29648 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
29649
29650 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
29651
29652 * util/update-grub_lib.in: Mention filename in warning message.
29653
29654 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
29655
29656 * NEWS: Update for rename of update-grub to grub-mkconfig.
29657
29658 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
29659
29660 * util/update-grub_lib.in: Copy to ...
29661 * util/grub-mkconfig_lib.in: ... this. Update all users.
29662 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
29663 * util/update-grub.in: Rename to ...
29664 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
29665 option. Add `--output' option to allow users to specify the generated
29666 configuration file. Default to stdout.
29667 (update_grub_dir): Rename to ...
29668 (grub_mkconfig_dir): ... this.
29669 (grub_cfg): Default to an empty string.
29670 * conf/common.rmk (update-grub): Rename to ...
29671 (grub-mkconfig): ... this.
29672 (update-grub_lib): Copy to ...
29673 (grub-mkconfig_lib): ... this.
29674 (update-grub_SCRIPTS): Copy to ...
29675 (grub-mkconfig_SCRIPTS): ... this. Update all users.
29676 (update-grub_DATA): Rename to ...
29677 (grub-mkconfig_DATA): ... this.
29678
29679 2008-09-28 Robert Millan <rmh@aybabtu.com>
29680
29681 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
29682 to `modified'. Add the real `created' field.
29683 (grub_iso9660_uuid): Use `modified' rather than `created' for
29684 constructing the UUID.
29685
29686 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
29687
29688 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
29689 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
29690
29691 2008-09-28 Bean <bean123ch@gmail.com>
29692
29693 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
29694 Thanks to Christian Franke for finding this bug.
29695
29696 2008-09-25 Robert Millan <rmh@aybabtu.com>
29697
29698 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
29699 instances of grub_util_get_disk_name() (see previous commit).
29700
29701 2008-09-25 Robert Millan <rmh@aybabtu.com>
29702
29703 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
29704 `util/i386/get_disk_name.c'.
29705 * conf/i386-efi.rmk: Likewise.
29706 * conf/x86_64-efi.rmk: Likewise.
29707 * conf/i386-coreboot.rmk: Likewise.
29708 * conf/i386-ieee1275.rmk: Likewise.
29709 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
29710 `util/ieee1275/get_disk_name.c'.
29711 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
29712 * util/ieee1275/get_disk_name.c: Remove file.
29713 * util/i386/get_disk_name.c: Remove file.
29714 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
29715 "hd%d" for device.map entries, rather than using
29716 grub_util_get_disk_name().
29717
29718 2008-09-24 Carles Pina i Estany <carles@pina.cat>
29719
29720 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
29721 warning.
29722 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
29723
29724 2008-09-24 Carles Pina i Estany <carles@pina.cat>
29725
29726 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
29727 Changed to 0x5100.
29728 (GRUB_TERM_PPAGE): Changed to 0x4900.
29729
29730 2008-09-24 Robert Millan <rmh@aybabtu.com>
29731
29732 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
29733 macros (they were i386-pc specific).
29734 * include/grub/sparc64/ieee1275/console.h: Likewise.
29735 * include/grub/efi/console.h: Likewise.
29736
29737 2008-09-22 Bean <bean123ch@gmail.com>
29738
29739 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
29740 resident and in attribute list.
29741
29742 * include/grub/ntfs.h (BMP_LEN): Removed.
29743
29744 2008-09-22 Bean <bean123ch@gmail.com>
29745
29746 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
29747 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
29748
29749 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
29750 error occurs, as grub_disk_open will call grub_disk_close, which will
29751 call p->close (scsi).
29752
29753 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
29754
29755 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
29756 (AC_PREREQ): Bumped to 2.59.
29757 (AC_TRY_COMPILE): Replace obsolete macro with ...
29758 (AC_COMPILE_IFELSE): ... this.
29759 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
29760 (AC_LINK_IFELSE): ... this.
29761
29762 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
29763
29764 * autogen.sh: Add a call to `gendistlist.sh'.
29765
29766 2008-09-19 Christian Franke <franke@computer.org>
29767
29768 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
29769 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
29770 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
29771 Export __enable_execute_stack() to modules.
29772 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
29773 New function.
29774
29775 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
29776
29777 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
29778 Sort the list.
29779
29780 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
29781
29782 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
29783 #include <grub/util/hostdisk.h>.
29784
29785 2008-09-08 Robert Millan <rmh@aybabtu.com>
29786
29787 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
29788 segments when their filesz is zero (grub_file_read() interprets
29789 zero-size as "read until EOF", which results in memory corruption).
29790 Use `lowest_segment' rather than 0 for calculating the current
29791 segment load address.
29792
29793 2008-09-08 Robert Millan <rmh@aybabtu.com>
29794
29795 * util/hostdisk.c (open_device): Replace a grub_util_info() call
29796 with grub_dprintf("hostdisk", ...), as it was so verbose that it
29797 clobbered useful information.
29798
29799 2008-09-08 Robert Millan <rmh@aybabtu.com>
29800
29801 * include/grub/util/biosdisk.h: Move to ...
29802 * include/grub/util/hostdisk.h: ... here. Update all users.
29803 * util/biosdisk.c: Move to ...
29804 * util/hostdisk.c: ... here. Update all users.
29805
29806 2008-09-07 Robert Millan <rmh@aybabtu.com>
29807
29808 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
29809 variables.
29810 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
29811 and length can be stored directly in the `mbi->mmap_addr' and
29812 `mbi->mmap_length' struct fields.
29813
29814 2008-09-07 Robert Millan <rmh@aybabtu.com>
29815
29816 * conf/i386.rmk: New file. Provides declaration for building
29817 `cpuid.mod'.
29818 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
29819 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
29820 variables.
29821 Include `conf/i386.mk'.
29822 * conf/i386-efi.rmk: Likewise.
29823 * conf/x86_64-efi.rmk: Likewise.
29824 * conf/i386-coreboot.rmk: Likewise.
29825 * conf/i386-ieee1275.rmk: Likewise.
29826
29827 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
29828
29829 Based on patch created by Colin D Bennett <colin@gibibit.com>.
29830 Adds optimization support for BGR based modes.
29831
29832 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
29833 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
29834 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29835 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29836 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29837 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29838 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29839 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29840 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29841 (grub_video_i386_vbeblit_index_index): Likewise.
29842 (grub_video_i386_vbeblit_replace_directN): Added.
29843 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
29844 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
29845 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
29846 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
29847 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
29848 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
29849 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
29850 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
29851 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
29852 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
29853 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
29854 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
29855 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
29856
29857 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
29858 (grub_video_i386_vbefill_R8G8B8): Likewise.
29859 (grub_video_i386_vbefill_index): Likewise.
29860 (grub_video_i386_vbefill_direct32): Added.
29861 (grub_video_i386_vbefill_direct24): Likewise.
29862 (grub_video_i386_vbefill_direct16): Likewise.
29863 (grub_video_i386_vbefill_direct8): Likewise.
29864
29865 * include/grub/video.h (grub_video_blit_format): Removed
29866 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
29867 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
29868 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
29869 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
29870 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
29871
29872 * video/video.c (grub_video_get_blit_format): Updated to use new
29873 blit formats. Added handling for 16 bit color modes.
29874
29875 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
29876 fillers.
29877 (common_blitter): Updated to use new blitters.
29878
29879 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
29880 Removed.
29881 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
29882 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29883 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29884 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29885 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29886 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29887 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29888 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29889 (grub_video_i386_vbeblit_index_index): Likewise.
29890 (grub_video_i386_vbeblit_replace_directN): Added.
29891 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
29892 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
29893 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
29894 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
29895 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
29896 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
29897 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
29898 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
29899 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
29900 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
29901 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
29902 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
29903 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
29904
29905 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
29906 (grub_video_i386_vbefill_R8G8B8): Likewise.
29907 (grub_video_i386_vbefill_index): Likewise.
29908 (grub_video_i386_vbefill_direct32): Added.
29909 (grub_video_i386_vbefill_direct24): Likewise.
29910 (grub_video_i386_vbefill_direct16): Likewise.
29911 (grub_video_i386_vbefill_direct8): Likewise.
29912
29913 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
29914 types.
29915
29916 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
29917 types.
29918
29919 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
29920 blitter types.
29921
29922 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
29923 types.
29924
29925 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
29926
29927 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
29928 RAID level 1.
29929
29930 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
29931
29932 * fs/iso9660.c (grub_iso9660_date): New structure.
29933 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
29934 (grub_iso9660_uuid): New function.
29935
29936 2008-09-05 Bean <bean123ch@gmail.com>
29937
29938 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
29939
29940 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
29941 insensitive bit for names in Win32 and Win32 & DOS namespace.
29942
29943 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
29944
29945 * include/grub/types.h (LONG_MAX): Likewise.
29946
29947 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
29948
29949 * util/getroot.c: Include <config.h>.
29950 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
29951 add support for /dev/md/N devices and handle LVM double dash escaping.
29952
29953 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
29954
29955 * config.guess: Update to latest version from config git.
29956 * config.sub: Likewise.
29957
29958 2008-09-03 Robert Millan <rmh@aybabtu.com>
29959
29960 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
29961 `disk->total_sectors'.
29962
29963 2008-09-01 Colin D Bennett <colin@gibibit.com>
29964
29965 * include/grub/normal.h: Fixed incorrect comment for
29966 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
29967
29968 2008-09-01 Colin D Bennett <colin@gibibit.com>
29969
29970 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
29971 values with defines.
29972
29973 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
29974 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
29975 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
29976 (GRUB_VBE_MODEATTR_COLOR): Likewise.
29977 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
29978 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
29979 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
29980 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
29981 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
29982 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
29983 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
29984 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
29985 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
29986 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
29987 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
29988 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
29989 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
29990 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
29991 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
29992
29993 2008-08-31 Robert Millan <rmh@aybabtu.com>
29994
29995 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
29996 declaration.
29997 (grub_multiboot): Fix a few warnings.
29998
29999 2008-08-31 Robert Millan <rmh@aybabtu.com>
30000
30001 * loader/i386/pc/multiboot.c: Update comment not to say that
30002 boot_device support is unimplemented.
30003
30004 2008-08-31 Robert Millan <rmh@aybabtu.com>
30005
30006 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
30007 or memory map support are unimplemented.
30008
30009 2008-08-31 Colin D Bennett <colin@gibibit.com>
30010
30011 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
30012
30013 2008-08-31 Colin D Bennett <colin@gibibit.com>
30014
30015 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
30016 total video memory in 'vbeinfo' output; show color format details for
30017 each video mode.
30018
30019 2008-08-30 Pavel Roskin <proski@gnu.org>
30020
30021 * util/genmoddep.c: Remove for real this time.
30022 * DISTLIST: Remove util/genmoddep.c.
30023
30024 2008-08-30 Robert Millan <rmh@aybabtu.com>
30025
30026 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
30027 as required by Multiboot spec (it was already 4-byte aligned, but
30028 only by chance).
30029
30030 2008-08-29 Pavel Roskin <proski@gnu.org>
30031
30032 * kern/powerpc/ieee1275/crt0.S: Rename to ...
30033 * kern/powerpc/ieee1275/startup.S: ... this.
30034 * conf/powerpc-ieee1275.rmk: Adjust for the above.
30035 * DISTLIST: Likewise.
30036
30037 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
30038 grub/cpu/kernel.h. Add start label for consistency with other
30039 platforms. Add grub_prefix immediately after start. Add jump
30040 to the code after grub_prefix.
30041 * include/grub/powerpc/kernel.h: Provide valid values for
30042 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
30043
30044 2008-08-29 Bean <bean123ch@gmail.com>
30045
30046 * configure.ac: Change host_os to cygwin for mingw.
30047 (asprintf): New check for function.
30048
30049 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
30050 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
30051
30052 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
30053 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
30054 sync, sleep and grub_util_get_disk_size for mingw.
30055
30056 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
30057 to get size in mingw.
30058 (open_device): Use flag O_BINARY if it's defined.
30059 (find_root_device): Add dummy code for mingw.
30060
30061 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
30062 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
30063 (get_scsi_disk_name): Return 0 for mingw.
30064
30065 * util/hostfs.c: #include <grub/util/misc.h>.
30066 (grub_hostfs_open): Use "rb" flag to open file, use
30067 grub_util_get_disk_size to get disk size for mingw.
30068
30069 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
30070 (asprintf): New function if HAVE_ASPRINTF is not set.
30071 (sync): New function for mingw.
30072 (sleep): Likewise.
30073 (grub_util_get_disk_size): Likewise.
30074
30075 2008-08-28 Pavel Roskin <proski@gnu.org>
30076
30077 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30078 kern/time.c.
30079
30080 2008-08-28 Robert Millan <rmh@aybabtu.com>
30081
30082 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
30083
30084 2008-08-28 Robert Millan <rmh@aybabtu.com>
30085
30086 Change find_grub_drive() syntax so it doesn't prevent it from
30087 detecting NULL names as errors.
30088
30089 * util/biosdisk.c (find_grub_drive): Move free slot search code
30090 from here ...
30091 (find_free_slot): ... to here.
30092 (read_device_map): Use find_free_slot() to search for free slots.
30093
30094 2008-08-27 Marco Gerards <marco@gnu.org>
30095
30096 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
30097 (scsi_mod_SOURCES): New variable.
30098 (scsi_mod_CFLAGS): Likewise
30099 (scsi_mod_LDFLAGS): Likewise.
30100
30101 * disk/scsi.c: New file.
30102
30103 * include/grub/scsi.h: Likewise.
30104
30105 * include/grub/scsicmd.h: Likewise.
30106
30107 * disk/ata.c: Include <grub/scsi.h>.
30108 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
30109 instead.
30110 (grub_ata_iterate): Skip ATAPI devices.
30111 (grub_ata_open): Only handle ATAPI devices.
30112 (struct grub_atapi_read): Removed.
30113 (grub_atapi_readsector): Likewise.
30114 (grub_ata_read): No longer handle ATAPI devices.
30115 (grub_ata_write): Likewise.
30116 (grub_atapi_iterate): New function.
30117 (grub_atapi_read): Likewise.
30118 (grub_atapi_write): Likewise.
30119 (grub_atapi_open): Likewise.
30120 (grub_atapi_close): Likewise.
30121 (grub_atapi_dev): New variable.
30122 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
30123 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
30124
30125 * include/grub/disk.h (enum grub_disk_dev_id): Add
30126 `GRUB_DISK_DEVICE_SCSI_ID'.
30127
30128 2008-08-26 Robert Millan <rmh@aybabtu.com>
30129
30130 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
30131 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
30132 descriptive.
30133
30134 2008-08-23 Bean <bean123ch@gmail.com>
30135
30136 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
30137 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
30138 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
30139 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
30140 dm_nv.mod.
30141 (raid5rec_mod_SOURCES): New macro.
30142 (raid5rec_mod_CFLAGS): Likewise.
30143 (raid5rec_mod_LDFLAGS): Likewise.
30144 (raid6rec_mod_SOURCES): Likewise.
30145 (raid6rec_mod_CFLAGS): Likewise.
30146 (raid6rec_mod_LDFLAGS): Likewise.
30147 (mdraid_mod_SOURCES): Likewise.
30148 (mdraid_mod_CFLAGS): Likewise.
30149 (mdraid_mod_LDFLAGS): Likewise.
30150 (dm_nv_mod_SOURCES): Likewise.
30151 (dm_nv_mod_CFLAGS): Likewise.
30152 (dm_nv_mod_LDFLAGS): Likewise.
30153
30154 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
30155 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
30156 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
30157
30158 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
30159 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
30160
30161 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30162
30163 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30164
30165 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30166
30167 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30168
30169 * disk/raid5_recover.c: New file.
30170
30171 * disk/raid6_recover.c: Likewise.
30172
30173 * disk/mdraid_linux.c: Likewise.
30174
30175 * disk/dmraid_nvidia.c: Likewise.
30176
30177 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
30178 ULONG_MAX.
30179
30180 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
30181 calculate the size of raid device.
30182 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
30183 different layout of raid5.
30184 (grub_raid_scan_device): Remove code specific to mdraid.
30185 (grub_raid_list): New variable.
30186 (free_array): New function.
30187 (grub_raid_register): Likewise.
30188 (grub_raid_unregister): Likewise.
30189 (grub_raid_rescan): Likewise.
30190 (GRUB_MOD_INIT): Don't iterate device here.
30191 (GRUB_MOD_FINI): Use free_array to release resource.
30192
30193 * include/grub/raid.h: Remove macro and structure specific to mdraid.
30194 (grub_raid5_recover_func_t): New function variable type.
30195 (grub_raid6_recover_func_t): Likewise.
30196 (grub_raid5_recover_func): New variable.
30197 (grub_raid6_recover_func): Likewise.
30198 (grub_raid_register): New function.
30199 (grub_raid_unregister): Likewise.
30200 (grub_raid_rescan): Likewise.
30201 (grub_raid_block_xor): Likewise.
30202
30203 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
30204 (CMD_CRC): New macro.
30205 (part): Removed.
30206 (read_file): Handle device as well as file.
30207 (cmd_crc): New function.
30208 (fstest): Handle multiple disks.
30209 (options): Remove part, raw and long, add root and diskcount.
30210 (usage): Add crc, remove -p, -r, -l, add -r and -c.
30211 (main): Find the first non option entry and ignore subsequent options,
30212 add handling for the new options, support multiple disks.
30213
30214 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
30215
30216 2008-08-23 Bean <bean123ch@gmail.com>
30217
30218 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
30219
30220 * genfslist.sh: Ignore kernel.mod.
30221
30222 * genpartmaplist.sh: Likewise.
30223
30224 2008-08-23 Robert Millan <rmh@aybabtu.com>
30225
30226 * util/getroot.c (find_root_device): Skip anything that starts with
30227 a dot, not just directories. This avoids things like /dev/.tmp.md0.
30228
30229 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
30230
30231 * util/update-grub.in (GRUB_GFXMODE): Export variable.
30232 * util/grub.d/00_header.in: Allow the administrator to change default
30233 gfxmode via ${GRUB_GFXMODE}.
30234
30235 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
30236
30237 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
30238
30239 2008-08-21 Robert Millan <rmh@aybabtu.com>
30240
30241 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
30242 loader.
30243 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
30244 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
30245
30246 2008-08-20 Carles Pina i Estany <carles@pina.cat>
30247
30248 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
30249 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
30250
30251 2008-08-19 Robert Millan <rmh@aybabtu.com>
30252
30253 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
30254 (struct grub_virtual_screen): Remove `cursor_color'.
30255 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
30256 initialization.
30257 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
30258
30259 2008-08-18 Robert Millan <rmh@aybabtu.com>
30260
30261 Unify (identical) linux_normal.c files.
30262 * loader/i386/efi/linux_normal.c: Move from here ...
30263 * loader/linux_normal.c: ... to here. Update all users.
30264 * loader/i386/pc/linux_normal.c: Delete. Update all users.
30265 * loader/i386/ieee1275/linux_normal.c: Likewise.
30266
30267 2008-08-18 Robert Millan <rmh@aybabtu.com>
30268
30269 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
30270 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
30271 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
30272 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
30273 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
30274 New macros.
30275 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
30276 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
30277 (GRUB_LINUX_CL_END_OFFSET): ... to here.
30278 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
30279 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
30280 (GRUB_EFI_CL_END_OFFSET): Rename to ...
30281 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
30282 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
30283 Initialize `params->video_cursor_x' and `params->video_cursor_y'
30284 portably using grub_getxy().
30285 Replace `-EFI' with `-bzImage' in boot message.
30286
30287 2008-08-17 Robert Millan <rmh@aybabtu.com>
30288
30289 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
30290
30291 2008-08-17 Robert Millan <rmh@aybabtu.com>
30292
30293 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
30294
30295 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
30296 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
30297 (grub_machine_mmap_iterate): New function declaration.
30298 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
30299 structure.
30300 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
30301 macros.
30302
30303 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
30304 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
30305 Move e820 parsing from here ...
30306 * kern/i386/pc/mmap.c: New file.
30307 (grub_machine_mmap_iterate): ... to here.
30308
30309 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
30310 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
30311 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
30312 (grub_available_iterate): Redeclare to return `void', and redeclare
30313 its hook to use grub_uint64_t as addr and size parameters, and rename
30314 to ...
30315 (grub_machine_mmap_iterate): ... this. Update all users.
30316
30317 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
30318 to make it more readable. Rename to ...
30319 (grub_machine_mmap_iterate): ... this.
30320
30321 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
30322 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
30323 (grub_multiboot): Allocate an extra region after the payload, and fill
30324 it with a Multiboot memory map. Adjust a.out loader to calculate size
30325 with the extra space.
30326 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
30327 with the extra space.
30328
30329 2008-08-17 Carles Pina i Estany <carles@pina.cat>
30330
30331 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
30332
30333 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
30334
30335 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
30336 mdate-sh to the list `find' searches for.
30337 * DISTLIST: Regenerated.
30338
30339 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
30340
30341 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
30342 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
30343 genmoddep.awk, gensymlist.sh.in.
30344 (DISTDIRS): Add bus, docs, hook, lib.
30345 * DISTLIST: Regenerated.
30346 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
30347
30348 2008-08-16 Robert Millan <rmh@aybabtu.com>
30349
30350 * disk/raid.c (grub_raid_init): Handle/report errors set by
30351 grub_device_iterate().
30352 * disk/lvm.c (grub_lvm_init): Likewise.
30353
30354 2008-08-15 Bean <bean123ch@gmail.com>
30355
30356 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30357 and datehook.mod.
30358 (datetime_mod_SOURCES): New macro.
30359 (datetime_mod_CFLAGS): Likewise.
30360 (datetime_mod_LDFLAGS): Likewise.
30361 (date_mod_SOURCES): Likewise.
30362 (date_mod_CFLAGS): Likewise.
30363 (date_mod_LDFLAGS): Likewise.
30364 (datehook_mod_SOURCES): Likewise.
30365 (datehook_mod_CFLAGS): Likewise.
30366 (datehook_mod_LDFLAGS): Likewise.
30367
30368 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30369 and datehook.mod.
30370 (datetime_mod_SOURCES): New macro.
30371 (datetime_mod_CFLAGS): Likewise.
30372 (datetime_mod_LDFLAGS): Likewise.
30373 (date_mod_SOURCES): Likewise.
30374 (date_mod_CFLAGS): Likewise.
30375 (date_mod_LDFLAGS): Likewise.
30376 (datehook_mod_SOURCES): Likewise.
30377 (datehook_mod_CFLAGS): Likewise.
30378 (datehook_mod_LDFLAGS): Likewise.
30379
30380 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30381 and datehook.mod.
30382 (datetime_mod_SOURCES): New macro.
30383 (datetime_mod_CFLAGS): Likewise.
30384 (datetime_mod_LDFLAGS): Likewise.
30385 (date_mod_SOURCES): Likewise.
30386 (date_mod_CFLAGS): Likewise.
30387 (date_mod_LDFLAGS): Likewise.
30388 (datehook_mod_SOURCES): Likewise.
30389 (datehook_mod_CFLAGS): Likewise.
30390 (datehook_mod_LDFLAGS): Likewise.
30391
30392 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30393 and datehook.mod.
30394 (datetime_mod_SOURCES): New macro.
30395 (datetime_mod_CFLAGS): Likewise.
30396 (datetime_mod_LDFLAGS): Likewise.
30397 (date_mod_SOURCES): Likewise.
30398 (date_mod_CFLAGS): Likewise.
30399 (date_mod_LDFLAGS): Likewise.
30400 (datehook_mod_SOURCES): Likewise.
30401 (datehook_mod_CFLAGS): Likewise.
30402 (datehook_mod_LDFLAGS): Likewise.
30403
30404 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30405 and datehook.mod.
30406 (datetime_mod_SOURCES): New macro.
30407 (datetime_mod_CFLAGS): Likewise.
30408 (datetime_mod_LDFLAGS): Likewise.
30409 (date_mod_SOURCES): Likewise.
30410 (date_mod_CFLAGS): Likewise.
30411 (date_mod_LDFLAGS): Likewise.
30412 (datehook_mod_SOURCES): Likewise.
30413 (datehook_mod_CFLAGS): Likewise.
30414 (datehook_mod_LDFLAGS): Likewise.
30415
30416 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
30417
30418 * commands/date.c: New file.
30419
30420 * hook/datehook.c: Likewise.
30421
30422 * include/grub/lib/datetime.h: Likewise.
30423
30424 * include/grub/i386/cmos.h: Likewise.
30425
30426 * lib/datetime.c: Likewise.
30427
30428 * lib/i386/datetime.c: Likewise.
30429
30430 * lib/efi/datetime.c: Likewise.
30431
30432 2008-08-14 Robert Millan <rmh@aybabtu.com>
30433
30434 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
30435 (grub_mkelfimage_SOURCES): New variable.
30436 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
30437
30438 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
30439 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
30440 * conf/powerpc-ieee1275.rmk: Likewise.
30441 * conf/i386-ieee1275.rmk: Likewise.
30442
30443 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
30444 * kern/i386/coreboot/init.c: Likewise.
30445
30446 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
30447 with `<grub/cpu/kernel.h>'.
30448 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
30449 to ...
30450 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
30451 * kern/i386/coreboot/startup.S: Likewise.
30452
30453 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
30454 (GRUB_MOD_GAP): Remove.
30455 * include/grub/powerpc/kernel.h: New file.
30456 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
30457 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
30458 * include/grub/i386/kernel.h: New file.
30459 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
30460 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
30461 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
30462
30463 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
30464 `grub-mkelfimage'.
30465 Use --directory when invoking grub_mkimage.
30466
30467 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
30468 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
30469 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
30470 and GRUB_KERNEL_CPU_PREFIX.
30471
30472 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
30473
30474 * include/grub/err.h (grub_err_printf): New function prototype.
30475 * util/misc.c (grub_err_printf): New function.
30476 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
30477 grub_printf.
30478 * kern/err.c (grub_print_error): Use grub_err_printf.
30479
30480 2008-08-13 Robert Millan <rmh@aybabtu.com>
30481
30482 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
30483
30484 2008-08-13 Robert Millan <rmh@aybabtu.com>
30485
30486 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
30487 boot entry.
30488
30489 2008-08-12 Robert Millan <rmh@aybabtu.com>
30490
30491 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
30492 of the relocation code from here ...
30493 (grub_multiboot): ... to here.
30494 (forward_relocator, backward_relocator): Move from here ...
30495 * kern/i386/loader.S (grub_multiboot_forward_relocator)
30496 (grub_multiboot_backward_relocator): ... to here.
30497 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
30498 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
30499 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
30500 (grub_multiboot_forward_relocator_end)
30501 (grub_multiboot_backward_relocator)
30502 (grub_multiboot_backward_relocator_end): New variables.
30503
30504 2008-08-12 Bean <bean123ch@gmail.com>
30505
30506 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
30507
30508 2008-08-11 Robert Millan <rmh@aybabtu.com>
30509
30510 * kern/i386/linuxbios/startup.S: Move from here ...
30511 * kern/i386/coreboot/startup.S: ... to here.
30512
30513 * kern/i386/linuxbios/init.c: Move from here ...
30514 * kern/i386/coreboot/init.c: ... to here.
30515
30516 * kern/i386/linuxbios/table.c: Move from here ...
30517 * kern/i386/coreboot/mmap.c: ... to here.
30518
30519 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
30520
30521 2008-08-11 Robert Millan <rmh@aybabtu.com>
30522
30523 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
30524 errors. Leave it to the upper layer to handle them.
30525
30526 2008-08-09 Christian Franke <franke@computer.org>
30527
30528 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
30529 * conf/common.rmk: Install `grub-pe2elf' only if requested.
30530 Install `grub.d/10_windows' only on Cygwin.
30531 * configure.ac: Add subst of `target_os'.
30532 Check `target_os' also before setting TARGET_OBJ2ELF.
30533 Add `--enable-grub-pe2elf'.
30534
30535 2008-08-08 Robert Millan <rmh@aybabtu.com>
30536
30537 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
30538 (grub_last_time): Change type to grub_uint64_t.
30539 (grub_disk_open): Migrate code from to using grub_get_time_ms().
30540 (grub_disk_close): Likewise.
30541
30542 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
30543 (run_menu): Migrate code from to using grub_get_time_ms().
30544
30545 * util/misc.c (grub_get_time_ms): New function.
30546
30547 2008-08-08 Marco Gerards <marco@gnu.org>
30548
30549 * disk/ata.c (grub_ata_regget): Change return type to
30550 `grub_uint8_t'.
30551 (grub_ata_regget2): Likewise.
30552 (grub_ata_wait_status): New function.
30553 (grub_ata_wait_busy): Removed function, updated all users to use
30554 `grub_ata_wait_status'.
30555 (grub_ata_wait_drq): Likewise.
30556 (grub_ata_cmd): New function.
30557 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
30558 error handling.
30559 (grub_ata_pio_write): Add error handling.
30560 (grub_atapi_identify): Likewise.
30561 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
30562 handling.
30563 (grub_ata_identify): Use `grub_ata_cmd' and improve error
30564 handling. Actually use the detected registers. Reorder the
30565 detection logic such that it is easier to read.
30566 (grub_ata_pciinit): Do not assign the same ID to each controller.
30567 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
30568 handling.
30569 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
30570
30571 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
30572
30573 2008-08-08 Marco Gerards <marco@gnu.org>
30574
30575 * NEWS: Update.
30576
30577 2008-08-07 Bean <bean123ch@gmail.com>
30578
30579 * include/grub/x86_64/pci.h: New file.
30580
30581 2008-08-07 Christian Franke <franke@computer.org>
30582
30583 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
30584 (TIMER2_GATE): Likewise.
30585 (grub_pit_wait): Add enable/disable of the timer2 gate
30586 bit of port 0x61. This fixes a possible infinite loop.
30587
30588 2008-08-07 Bean <bean123ch@gmail.com>
30589
30590 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
30591 kern/i386/tsc.c and kern/i386/pit.c.
30592
30593 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
30594 x86_64 platform.
30595
30596 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
30597 <grub/i386/tsc.h>.
30598
30599 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
30600
30601 2008-08-07 Bean <bean123ch@gmail.com>
30602
30603 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
30604
30605 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
30606
30607 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
30608 multiple inclusion. Add #include <grub/types.h>.
30609
30610 2008-08-06 Christian Franke <franke@computer.org>
30611
30612 * conf/common.rmk: Build and install `10_windows'.
30613 * util/grub.d/10_windows.in: New script.
30614
30615 2008-08-06 Pavel Roskin <proski@gnu.org>
30616
30617 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
30618
30619 2008-08-06 Robert Millan <rmh@aybabtu.com>
30620
30621 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
30622 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
30623
30624 2008-08-06 Bean <bean123ch@gmail.com>
30625
30626 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
30627 (grub_pxefs_fs_int): Remove dummy definition.
30628 (grub_pxefs_open): Use data->block_size to store the current block
30629 size setting.
30630 (grub_pxefs_read): Use block size stored in data->block_size. As the
30631 value of grub_pxe_blksize can be changed after the file is opened.
30632
30633 2008-08-06 Bean <bean123ch@gmail.com>
30634
30635 * fs/i386/pc/pxe.c (curr_file): new variable.
30636 (grub_pxefs_open): Simply the handling of pxe file system. Don't
30637 require the dummy internal file system anymore.
30638 (grub_pxefs_read): Removed.
30639 (grub_pxefs_close): Likewise.
30640 (grub_pxefs_fs_int): Likewise.
30641 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
30642 connection when we switch file.
30643 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
30644
30645 2008-08-06 Robert Millan <rmh@aybabtu.com>
30646
30647 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
30648 `halt.mod'.
30649 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
30650 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
30651
30652 * kern/i386/halt.c: New file.
30653 * kern/i386/reboot.c: Likewise.
30654 * include/grub/i386/reboot.h: Likewise.
30655 * include/grub/i386/halt.h: Likewise.
30656
30657 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
30658 Include `<grub/cpu/halt.h>'.
30659 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
30660 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
30661
30662 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
30663 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
30664 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
30665 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
30666 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
30667 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
30668 from here ...
30669 * include/grub/i386/at_keyboard.h: ... to here.
30670
30671 2008-08-05 Robert Millan <rmh@aybabtu.com>
30672
30673 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
30674 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
30675 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
30676 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
30677 `kern/generic/millisleep.c'.
30678
30679 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
30680 instead of grub_get_rtc().
30681 (grub_tsc_init): Initialize `tsc_boot_time'.
30682
30683 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
30684 (grub_machine_init): Use grub_tsc_init() rather than
30685 installing an RTC-based handler via grub_install_get_time_ms().
30686
30687 * kern/i386/pit.c: New file.
30688 * include/grub/i386/pit.h: Likewise.
30689
30690 2008-08-05 Bean <bean123ch@gmail.com>
30691
30692 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
30693
30694 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
30695 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
30696 (pxe_mod_SOURCES): New macro.
30697 (pxe_mod_CFLAGS): Likewise.
30698 (pxe_mod_LDFLAGS): Likewise.
30699 (pxecmd_mod_SOURCES): Likewise.
30700 (pxecmd_mod_CFLAGS): Likewise.
30701 (pxecmd_mod_LDFLAGS): Likewise.
30702
30703 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
30704 (grub_pxe_call): Likewise.
30705
30706 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
30707
30708 * commands/i386/pc/pxecmd.c: New file.
30709
30710 * fs/i386/pc/pxe.c: Likewise.
30711
30712 * include/grub/i386/pc/pxe.h: Likewise.
30713
30714 2008-08-05 Bean <bean123ch@gmail.com>
30715
30716 * util/console.c (grub_console_cur_color): New variable.
30717 (grub_console_standard_color): Likewise.
30718 (grub_console_normal_color): Likewise.
30719 (grub_console_highlight_color): Likewise.
30720 (color_map): Likewise.
30721 (use_color): Likewise.
30722 (NUM_COLORS): New macro.
30723 (grub_ncurses_setcolorstate): Handle color properly.
30724 (grub_ncurses_setcolor): Don't change color here, just remember the
30725 settings, color will be set in grub_ncurses_setcolorstate.
30726 (grub_ncurses_getcolor): New function.
30727 (grub_ncurses_init): Initialize color pairs.
30728 (grub_ncurses_term): New member grub_ncurses_getcolor.
30729
30730 2008-08-05 Colin D Bennett <colin@gibibit.com>
30731
30732 High resolution timer support. Implemented for x86 CPUs using TSC.
30733 Extracted generic grub_millisleep() so it's linked in only as needed.
30734 This requires a Pentium compatible CPU; if the RDTSC instruction is
30735 not supported, then it falls back on the generic grub_get_time_ms()
30736 implementation that uses the machine's RTC.
30737
30738 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
30739 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
30740 `kern/generic/millisleep.c'.
30741
30742 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
30743 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
30744
30745 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
30746 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
30747
30748 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30749
30750 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30751 `kern/generic/millisleep.c'.
30752
30753 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30754
30755 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
30756
30757 * kern/generic/rtc_get_time_ms.c: New file.
30758
30759 * kern/generic/millisleep.c: New file.
30760
30761 * kern/misc.c: Don't include
30762 <kern/time.h> anymore.
30763 (grub_millisleep_generic): Removed.
30764
30765 * commands/sleep.c (grub_interruptible_millisleep): Uses
30766 grub_get_time_ms() instead of grub_get_rtc().
30767
30768 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
30769 function.
30770 (grub_cpu_is_cpuid_supported): New inline function.
30771 (grub_cpu_is_tsc_supported): New inline function.
30772 (grub_tsc_init): New function prototype.
30773 (grub_tsc_get_time_ms): New function prototype.
30774
30775 * kern/i386/tsc.c (grub_get_time_ms): New file.
30776
30777 * include/grub/time.h: Include <grub/types.h.
30778 (grub_millisleep_generic): Removed.
30779 (grub_get_time_ms): New prototype.
30780 (grub_install_get_time_ms): New prototype.
30781 (grub_rtc_get_time_ms): New prototype.
30782
30783 * kern/time.c (grub_get_time_ms): New function.
30784 (grub_install_get_time_ms): New function.
30785
30786 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
30787 <grub/time.h> anymore.
30788 (grub_millisleep): Removed.
30789 (grub_machine_init): Call grub_tsc_init.
30790
30791 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
30792 get_time_ms() implementation.
30793
30794 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
30795 (ieee1275_get_time_ms): New function.
30796 (grub_machine_init): Install get_time_ms() implementation.
30797
30798 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
30799 (grub_machine_init): Call grub_tsc_init().
30800 (grub_millisleep): Removed.
30801
30802 * kern/ieee1275/init.c (grub_millisleep): Removed.
30803 (grub_machine_init): Install ieee1275_get_time_ms()
30804 implementation.
30805 (ieee1275_get_time_ms): New function.
30806 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
30807 real work.
30808
30809 2008-08-05 Marco Gerards <marco@gnu.org>
30810
30811 * disk/ata.c: Include <grub/pci.h>.
30812 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
30813 (grub_ata_initialize): Rewritten.
30814 (grub_ata_device_initialize): New function.
30815
30816 2008-08-04 Pavel Roskin <proski@gnu.org>
30817
30818 * kern/main.c: Include grub/mm.h.
30819
30820 2008-08-04 Robert Millan <rmh@aybabtu.com>
30821
30822 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
30823 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
30824 corruption problem).
30825
30826 2008-08-04 Robert Millan <rmh@aybabtu.com>
30827
30828 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
30829 warnings introduced in my last commit.
30830
30831 2008-08-03 Robert Millan <rmh@aybabtu.com>
30832
30833 Make PCI available on all i386 architectures.
30834
30835 * include/grub/i386/pc/pci.h: Move from here ...
30836 * include/grub/i386/pci.h: ... to here.
30837
30838 * include/grub/i386/pc/pci.h: Remove.
30839 * include/grub/i386/efi/pci.h: Remove.
30840 * include/grub/x86_64/efi/pci.h: Remove.
30841
30842 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
30843 `<grub/cpu/pci.h>'.
30844
30845 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
30846 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
30847 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
30848
30849 * conf/i386-ieee1275.rmk: Likewise.
30850
30851 2008-08-03 Robert Millan <rmh@aybabtu.com>
30852
30853 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
30854 (grub_console_setcursor): Make it possible to set cursor off.
30855
30856 2008-08-03 Robert Millan <rmh@aybabtu.com>
30857
30858 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
30859 of modules instead of assuming which platform provides what.
30860 * util/update-grub.in: Likewise.
30861
30862 2008-08-03 Robert Millan <rmh@aybabtu.com>
30863
30864 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
30865 instead of `grub_install_dos_part' to determine whether a drive needs
30866 to be prepended to prefix (`grub_install_dos_part' is not reliable,
30867 because it can be overridden when loading GRUB via Multiboot).
30868
30869 2008-08-02 Robert Millan <rmh@aybabtu.com>
30870
30871 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
30872
30873 2008-08-02 Robert Millan <rmh@aybabtu.com>
30874
30875 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
30876 of informational grub_dprintf() calls.
30877
30878 2008-08-02 Robert Millan <rmh@aybabtu.com>
30879
30880 * disk/memdisk.c (memdisk_size): Don't initialize.
30881 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
30882
30883 * include/grub/i386/pc/kernel.h
30884 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
30885 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
30886 (grub_memdisk_image_size, grub_arch_memdisk_addr)
30887 (grub_arch_memdisk_size): Remove.
30888
30889 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
30890 field (was only used to transfer a constant). Add `type' field to
30891 support multiple module types.
30892 (grub_module_iterate): New function.
30893
30894 * kern/device.c (grub_device_open): Do not hide error messages
30895 when grub_disk_open() fails. Use grub_print_error() instead.
30896
30897 * kern/i386/pc/init.c (grub_arch_modules_addr)
30898 (grub_arch_memdisk_size): Remove functions.
30899 (grub_arch_modules_addr): Return the module address in high memory
30900 (now that it isn't copied anymore).
30901
30902 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
30903 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
30904 decompression routine (grub_total_module_size already includes that
30905 now). Don't copy modules back to low memory.
30906
30907 * kern/main.c: Include `<grub/mm.h>'.
30908 (grub_load_modules): Split out (and use) ...
30909 (grub_module_iterate): ... this function, which iterates through
30910 module objects and runs a hook.
30911 Comment out grub_mm_init_region() call, as it would cause non-ELF
30912 modules to be overwritten.
30913
30914 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
30915 the memdisk image in its own region, make it part of the module list.
30916 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
30917 (main): Parse --memdisk|-m option, and pass user-provided path as
30918 parameter to generate_image().
30919 (add_segments): Pass `memdisk_path' down to load_modules().
30920 (load_modules): Embed memdisk image in module section when requested.
30921 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
30922 `header.type' instead of `header.offset'.
30923
30924 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
30925 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
30926 (memdisk_mod_LDFLAGS): New variables.
30927 * conf/i386-coreboot.rmk: Likewise.
30928 * conf/i386-ieee1275.rmk: Likewise.
30929
30930 2008-08-02 Robert Millan <rmh@aybabtu.com>
30931
30932 * loader/i386/pc/multiboot.c (playground, forward_relocator)
30933 (backward_relocator): New variables. Used to allocate and relocate
30934 the payload, respectively.
30935 (grub_multiboot_load_elf32): Load into heap instead of requested
30936 address, install the appropriate relocator code in each bound of
30937 the payload, and set the entry point such that
30938 grub_multiboot_real_boot() will jump to one of them.
30939
30940 * kern/i386/loader.S (grub_multiboot_payload_size)
30941 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
30942 (grub_multiboot_payload_entry_offset): New variables.
30943 (grub_multiboot_real_boot): Set cpu context to what the relocator
30944 expects, and jump to the relocator instead of the payload.
30945
30946 * include/grub/i386/loader.h (grub_multiboot_payload_size)
30947 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
30948 (grub_multiboot_payload_entry_offset): Export.
30949
30950 2008-08-01 Bean <bean123ch@gmail.com>
30951
30952 * normal/menu_entry.c (editor_getline): Don't return the original
30953 string as result, as it will be released by lexer once it has done
30954 using it.
30955
30956 2008-08-01 Robert Millan <rmh@aybabtu.com>
30957
30958 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
30959 within menuentries, not before them.
30960 util/grub.d/10_hurd.in: Likewise.
30961
30962 2008-08-01 Bean <bean123ch@gmail.com>
30963
30964 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
30965 (bufio_mod_SOURCES): New macro.
30966 (bufio_mod_CFLAGS): Likewise.
30967 (bufio_mod_LDFLAGS): Likewise.
30968
30969 * include/grub/bufio.h: New file.
30970
30971 * io/bufio.c: Likewise.
30972
30973 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
30974 (grub_video_reader_png): Use grub_buffile_open to open file.
30975
30976 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
30977 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
30978
30979 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
30980 (grub_video_reader_tga): Use grub_buffile_open to open file.
30981
30982 * font/manager.c: Include <grub/bufio.h>.
30983 (add_font): Use grub_buffile_open to open file.
30984
30985 2008-07-31 Robert Millan <rmh@aybabtu.com>
30986
30987 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
30988 ELF segments, use a macro for arbitrarily accessing any of them instead
30989 of preparing a pointer that allows access to one at a time.
30990 (grub_multiboot_load_elf64): Likewise.
30991
30992 2008-07-31 Bean <bean123ch@gmail.com>
30993
30994 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
30995 GRUB_KERNEL_MACHINE_DATA_END.
30996
30997 2008-07-30 Robert Millan <rmh@aybabtu.com>
30998
30999 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
31000 Increase from 0x50 to 0x60.
31001 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
31002 use UUIDs to identify the root drive for them. If that's not
31003 possible, abort.
31004 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
31005 check, for cross-disk installs.
31006
31007 2008-07-30 Robert Millan <rmh@aybabtu.com>
31008
31009 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
31010 is non-empty, use it to set the `prefix' environment variable instead
31011 of the usual approach.
31012 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
31013 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
31014 environment variable instead of dummy make_install_device().
31015
31016 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
31017 (start): Insert a data section, with `grub_prefix' variable.
31018 * kern/i386/linuxbios/startup.S: Likewise.
31019
31020 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
31021 New variable reference.
31022 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
31023 New macro. Defines offset of `grub_prefix' within startup.S (relative
31024 to `start').
31025 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
31026 section within startup.S (relative to `start').
31027 * include/grub/i386/coreboot/kernel.h: Likewise.
31028
31029 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
31030 Overwrite grub_prefix with its contents, at the beginning of the
31031 first segment.
31032 (main): Understand -p|--prefix.
31033
31034 2008-07-30 Robert Millan <rmh@aybabtu.com>
31035
31036 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
31037
31038 2008-07-30 Robert Millan <rmh@aybabtu.com>
31039
31040 * term/i386/pc/vga_text.c (grub_console_cls): Use
31041 grub_console_gotoxy() to go back to beginning of the screen.
31042 Found by Patrick Georgi <patrick.georgi@coresystems.de>
31043
31044 2008-07-29 Christian Franke <franke@computer.org>
31045
31046 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
31047 Add conversion of emulated mount points on Cygwin.
31048
31049 2008-07-29 Christian Franke <franke@computer.org>
31050
31051 * util/update-grub.in: Add a check for admin
31052 group on Cygwin.
31053 Remove old `grub.cfg.new' before creation.
31054 Add `-f' to `mv' to handle the different filesystem
31055 semantics of Windows.
31056
31057 2008-07-29 Bean <bean123ch@gmail.com>
31058
31059 * normal/main.c (get_line): Fix buffer overflow bug.
31060
31061 2008-07-28 Robert Millan <rmh@aybabtu.com>
31062
31063 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
31064 (struct grub_apple_header): New struct. Describes the layout of
31065 the partmap header.
31066 (apple_partition_map_iterate): Check the header magic as well as the
31067 partition magic (which was already being checked).
31068
31069 2008-07-28 Pavel Roskin <proski@gnu.org>
31070
31071 * genmk.rb: Add a warning to the beginning of the output that
31072 it's a generated file and should not be edited.
31073
31074 2008-07-28 Robert Millan <rmh@aybabtu.com>
31075
31076 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
31077 with the same number are found, just use issue a warning with
31078 grub_dprintf(), as this error has been reported to be non-fatal.
31079
31080 2008-07-27 Robert Millan <rmh@aybabtu.com>
31081
31082 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
31083 information.
31084
31085 2008-07-27 Bean <bean123ch@gmail.com>
31086
31087 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
31088 (grub_fat_find_dir): Ignore case when comparing filename.
31089
31090 2008-07-27 Bean <bean123ch@gmail.com>
31091
31092 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
31093 smallino, as it's more descriptive, and i8count can be confused with
31094 the other field count.
31095 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
31096 inode type.
31097
31098 2008-07-27 Bean <bean123ch@gmail.com>
31099
31100 * commands/crc.c: New file.
31101
31102 * lib/crc.c: Likewise.
31103
31104 * include/grub/lib/crc.h: Likewise.
31105
31106 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
31107
31108 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
31109 (hexdump): Move this function to ...
31110
31111 * lib/hexdump.c: ... here.
31112
31113 * include/grub/hexdump.h: Renamed to ...
31114
31115 * include/grub/lib/hexdump.h: ... this.
31116
31117 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
31118
31119 * util/grub-editenv.c: Likewise.
31120
31121 * include/envblk.h: Renamed to ...
31122
31123 * include/lib/envblk.h: ... this.
31124
31125 * util/envblk.c: Renamed to ...
31126
31127 * lib/envblk.c: ... this.
31128
31129 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
31130 lib/hexdump.c.
31131 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
31132 (pkglib_MODULES): Add crc.mod.
31133 (hexdump_mod_SOURCES): Add lib/hexdump.c.
31134 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
31135 (crc_mod_SOURCES): New macro.
31136 (crc_mod_CFLAGS): Likewise.
31137 (crc_mod_LDFLAGS): Likewise.
31138
31139 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
31140
31141 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31142
31143 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31144
31145 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31146
31147 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31148
31149 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
31150
31151 * commands/help.c: Include <grub/term.h>.
31152 (TERM_WIDTH): Removed. Updated all users.
31153
31154 2008-07-27 Pavel Roskin <proski@gnu.org>
31155
31156 * util/getroot.c (find_root_device): Rephrase a comment to avoid
31157 spurious warnings about a comment within a comment.
31158
31159 2008-07-25 Robert Millan <rmh@aybabtu.com>
31160
31161 * util/getroot.c (find_root_device): Skip devices that match
31162 /dev/dm-[0-9]. This lets the real device be found for any type of
31163 abstraction (LVM, EVMS, RAID..).
31164 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
31165 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
31166 device is found first, find_root_device() will now skip it.
31167
31168 2008-07-24 Pavel Roskin <proski@gnu.org>
31169
31170 * include/grub/types.h: Use __builtin_bswap32() and
31171 __builtin_bswap64() with gcc 4.3 and newer.
31172
31173 2008-07-24 Christian Franke <franke@computer.org>
31174
31175 * util/i386/pc/grub-install.in: If `--debug' is specified,
31176 pass `--verbose' to grub-setup.
31177 Abort script if make_system_path_relative_to_its_root() fails.
31178
31179 2008-07-24 Bean <bean123ch@gmail.com>
31180
31181 * configure.ac: Fixed a bug caused by the previous cygwin patch,
31182 variable `target_platform' should be `platform'.
31183
31184 2008-07-24 Bean <bean123ch@gmail.com>
31185
31186 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
31187 (grub_png_init_fixed_block): New function.
31188 (grub_png_decode_image_data): Handle fixed huffman code compression.
31189
31190 2008-07-24 Bean <bean123ch@gmail.com>
31191
31192 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
31193 (grub_pe2elf_SOURCES): New macro.
31194 (CLEANFILES): Add grub-pe2elf.
31195
31196 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
31197 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
31198 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
31199 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
31200 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
31201 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
31202 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
31203 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
31204 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
31205 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
31206 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
31207 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
31208 (GRUB_PE32_DT_FUNCTION): Likewise.
31209 (GRUB_PE32_REL_I386_DIR32): Likewise.
31210 (GRUB_PE32_REL_I386_REL32): Likewise.
31211 (grub_pe32_symbol): New structure.
31212 (grub_pe32_reloc): Likewise.
31213
31214 * util/grub-pe2elf.c: New file.
31215
31216 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
31217 start symbol in non pc platform.
31218
31219 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
31220
31221 The following patches are from Christian Franke.
31222
31223 * include/grub/dl.h: Remove .previous, gas supports this only
31224 for ELF format.
31225
31226 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
31227 Remove .type, gas supports this only for ELF format.
31228
31229 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
31230 nullbytes in symbol table. This fixes an infinite loop if table is
31231 zero filled.
31232
31233 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
31234 TARGET_IMG_LDFLAGS and EXEEXT.
31235
31236 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
31237 TARGET_IMG_LDFLAGS_AC.
31238 (grub_CHECK_STACK_ARG_PROBE): New function.
31239
31240 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
31241
31242 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
31243
31244 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
31245 to set TARGET_IMG_LD* accordingly.
31246 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
31247 Add call to grub_CHECK_STACK_ARG_PROBE.
31248 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
31249
31250 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
31251
31252 * genmk.rb: Add EXEEXT to CLEANFILES.
31253
31254 2008-07-23 Robert Millan <rmh@aybabtu.com>
31255
31256 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
31257 define the codes for arrows and lines used for the menu).
31258 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
31259 as well.
31260
31261 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
31262 fonts, because the latter are too slow.
31263
31264 2008-07-21 Bean <bean123ch@gmail.com>
31265
31266 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
31267 a20. Run keyboard test last, as it will cause macbook to halt.
31268
31269 2008-07-18 Pavel Roskin <proski@gnu.org>
31270
31271 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
31272 load foreign architecture modules correctly anyway. Keep
31273 support for loading host architecture modules, whether we
31274 compile them or not.
31275
31276 2008-07-17 Pavel Roskin <proski@gnu.org>
31277
31278 * configure.ac: Use -m32 or -m64 regardless of whether we had to
31279 change target_cpu. The compiler default can mismatch target_cpu
31280 in any case.
31281
31282 * disk/efi/efidisk.c: Fix format warnings on x86_64.
31283 * kern/efi/efi.c: Likewise.
31284
31285 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
31286 target compiler is functional.
31287 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
31288 are set up.
31289
31290 * configure.ac: Default to efi platform for x86_64-apple. Allow
31291 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
31292 adjustments from the rest, only do them if target is not
31293 explicitly given. Merge other adjustments with the final sanity
31294 check. Remove an extraneous check for supported CPU. Be
31295 specific which CPU and which platform is not supported.
31296
31297 * configure.ac: Default to pc platform for x86_64.
31298
31299 2008-07-17 Robert Millan <rmh@aybabtu.com>
31300
31301 Partial LinuxBIOS -> Coreboot rename.
31302
31303 * conf/i386-linuxbios.rmk: Renamed to ...
31304 * conf/i386-coreboot.rmk: ... this.
31305 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
31306 * configure.ac: Accept "coreboot" as input platform (but maintain
31307 compatibility with "linuxbios").
31308 * include/grub/i386/linuxbios: Renamed to ...
31309 * include/grub/i386/coreboot: ... this.
31310
31311 2008-07-17 Bean <bean123ch@gmail.com>
31312
31313 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
31314 (appleldr_mod_SOURCE): New variable.
31315 (appleldr_mod_CFLAGS): Likewise.
31316 (appleldr_mod_LDFLAGS): Likewise.
31317 (pci_mod_SOURCES): Likewise.
31318 (pci_mod_CFLAGS): Likewise.
31319 (pci_mod_LDFLAGS): Likewise.
31320 (lspci_mod_SOURCES): Likewise.
31321 (lspci_mod_CFLAGS): Likewise.
31322 (lspci_mod_LDFLAGS): Likewise.
31323
31324 * conf/x86_64-efi.rmk: New file.
31325
31326 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
31327 macro.
31328 (grub_efidisk_write): Likewise.
31329
31330 * include/efi/api.h (efi_call_0): New macro.
31331 (efi_call_1): Likewise.
31332 (efi_call_2): Likewise.
31333 (efi_call_3): Likewise.
31334 (efi_call_4): Likewise.
31335 (efi_call_5): Likewise.
31336 (efi_call_6): Likewise.
31337
31338 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
31339 grub_rescue_cmd_chainloader.
31340
31341 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
31342 (grub_pe32_optional_header): Change some fields based on i386 or
31343 x86_64 platform.
31344 (GRUB_PE32_PE32_MAGIC): Likewise.
31345
31346 * include/grub/efi/uga_draw.h: New file.
31347
31348 * include/grub/elf.h (STN_ABS): New constant.
31349 (R_X86_64_NONE): Relocation constant for x86_64.
31350 (R_X86_64_64): Likewise.
31351 (R_X86_64_PC32): Likewise.
31352 (R_X86_64_GOT32): Likewise.
31353 (R_X86_64_PLT32): Likewise.
31354 (R_X86_64_COPY): Likewise.
31355 (R_X86_64_GLOB_DAT): Likewise.
31356 (R_X86_64_JUMP_SLOT): Likewise.
31357 (R_X86_64_RELATIVE): Likewise.
31358 (R_X86_64_GOTPCREL): Likewise.
31359 (R_X86_64_32): Likewise.
31360 (R_X86_64_32S): Likewise.
31361 (R_X86_64_16): Likewise.
31362 (R_X86_64_PC16): Likewise.
31363 (R_X86_64_8): Likewise.
31364 (R_X86_64_PC8): Likewise.
31365
31366 * include/grub/i386/efi/pci.h: New file.
31367
31368 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
31369 Change it value based on platform.
31370 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
31371 (GRUB_E820_RAM): Likewise.
31372 (GRUB_E820_RESERVED): Likewise.
31373 (GRUB_E820_ACPI): Likewise.
31374 (GRUB_E820_NVS): Likewise.
31375 (GRUB_E820_EXEC_CODE): Likewise.
31376 (GRUB_E820_MAX_ENTRY): Likewise.
31377 (grub_e820_mmap): New structure.
31378 (linux_kernel_header): Change the efi field according to different
31379 kernel version, also field from linux_kernel_header.
31380
31381 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
31382
31383 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
31384 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
31385 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
31386 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
31387 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
31388 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
31389 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
31390 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
31391 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
31392 (GRUB_PCI_ADDR_IO_MASK): Likewise.
31393
31394 * include/grub/x86_64/efi/kernel.h: New file.
31395
31396 * include/grub/x86_64/efi/loader.h: Likewise.
31397
31398 * include/grub/x86_64/efi/machine.h: Likewise.
31399
31400 * include/grub/x86_64/efi/pci.h: Likewise.
31401
31402 * include/grub/x86_64/efi/time.h: Likewise.
31403
31404 * include/grub/x86_64/linux.h: Likewise.
31405
31406 * include/grub/x86_64/setjmp.h: Likewise.
31407
31408 * include/grub/x86_64/time.h: Likewise.
31409
31410 * include/grub/x86_64/types.h: Likewise.
31411
31412 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
31413 GRUB_TARGET_SIZEOF_VOID_P.
31414
31415 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
31416 (grub_efi_locate_handle): Likewise.
31417 (grub_efi_open_protocol): Likewise.
31418 (grub_efi_set_text_mode): Likewise.
31419 (grub_efi_stall): Likewise.
31420 (grub_exit): Likewise.
31421 (grub_reboot): Likewise.
31422 (grub_halt): Likewise.
31423 (grub_efi_exit_boot_services): Likewise.
31424 (grub_get_rtc): Likewise.
31425
31426 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
31427 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
31428 (grub_efi_allocate_pages): Wrap efi calls.
31429 (grub_efi_free_pages): Wrap efi calls.
31430 (grub_efi_get_memory_map): Wrap efi calls.
31431
31432 * kern/x86_64/dl.c: New file.
31433
31434 * kern/x86_64/efi/callwrap.S: Likewise.
31435
31436 * kern/x86_64/efi/startup.S: Likewise.
31437
31438 * loader/efi/appleloader.c: Likewise.
31439
31440 * loader/efi/chainloader.c (cmdline): New variable.
31441 (grub_chainloader_unload): Wrap efi calls.
31442 (grub_chainloader_boot): Likewise.
31443 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
31444 command line.
31445
31446 * loader/efi/chainloader_normal.c (chainloader_command):
31447 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
31448 command line.
31449
31450 * loader/i386/efi/linux.c (allocate_pages): Change allocation
31451 method.
31452 (grub_e820_add_region): New function.
31453 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
31454 booting.
31455 (grub_find_video_card): New function.
31456 (grub_linux_setup_video): New function.
31457 (grub_rescue_cmd_linux): Probe for video information.
31458
31459 * normal/x86_64/setjmp.S: New file.
31460
31461 * term/efi/console.c (map_char): New function.
31462 (grub_console_putchar): Map unicode char.
31463 (grub_console_checkkey): Wrap efi calls.
31464 (grub_console_getkey): Likewise.
31465 (grub_console_getwh): Likewise.
31466 (grub_console_gotoxy): Likewise.
31467 (grub_console_cls): Likewise.
31468 (grub_console_setcolorstate): Likewise.
31469 (grub_console_setcursor): Likewise.
31470
31471 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
31472
31473 2008-07-16 Pavel Roskin <proski@gnu.org>
31474
31475 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
31476 format strings.
31477
31478 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
31479 pointer, not an integer. This fixes a warning and prevents
31480 precision loss on 64-bit systems.
31481 (relocate_addresses): Remove unneeded cast.
31482
31483 2008-07-15 Pavel Roskin <proski@gnu.org>
31484
31485 * kern/i386/ieee1275/init.c: Include grub/cache.h.
31486
31487 * term/ieee1275/ofconsole.c: Disable code unused on i386.
31488
31489 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
31490 Fix comparison between signed and unsigned.
31491
31492 * include/grub/i386/ieee1275/console.h: Declare
31493 grub_console_init() and grub_console_fini().
31494
31495 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
31496 It's empty and unused.
31497
31498 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
31499 beginning to avoid warnings with some compilers.
31500
31501 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
31502 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
31503
31504 2008-07-14 Pavel Roskin <proski@gnu.org>
31505
31506 * kern/env.c (grub_register_variable_hook): Don't copy empty
31507 string, it leaks memory. Pass "" to grub_env_set(), it should
31508 handle constant strings.
31509
31510 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
31511 * commands/cmp.c (grub_cmd_cmp): Likewise.
31512 * kern/dl.c (grub_dl_flush_cache): Likewise.
31513 (grub_dl_load_core): Likewise.
31514 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
31515 (grub_elf64_load_phdrs): Likewise.
31516
31517 2008-07-13 Pavel Roskin <proski@gnu.org>
31518
31519 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
31520 between signed and unsigned.
31521 (LzmaEnc_Finish): Fix warning about an unused parameter.
31522
31523 2008-07-13 Bean <bean123ch@gmail.com>
31524
31525 * Makefile.in (enable_lzo): New rule.
31526
31527 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
31528
31529 * configure.ac (ENABLE_LZO): New option --enable-lzo.
31530
31531 * boot/i386/pc/lnxboot.S: #include <config.h>.
31532
31533 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
31534 its value according to the compression algorithm used, lzo or lzma.
31535
31536 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
31537 compression algorithm according to configure macro.
31538
31539 * kern/i386/pc/startup.S (codestart): Likewise.
31540
31541 * kern/i386/pc/lzma_decode.S: New file.
31542
31543 * include/grub/lib/LzFind.h: Likewise.
31544
31545 * include/grub/lib/LzHash.h: Likewise.
31546
31547 * include/grub/lib/LzmaDec.h: Likewise.
31548
31549 * include/grub/lib/LzmaEnc.h: Likewise.
31550
31551 * include/grub/lib/LzmaTypes.h: Likewise.
31552
31553 * lib/LzFind.c: Likewise.
31554
31555 * lib/LzmaDec.c: Likewise.
31556
31557 * lib/LzmaEnc.c: Likewise.
31558
31559 2008-07-13 Bean <bean123ch@gmail.com>
31560
31561 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
31562 (grub_ext4_extent_header): New structure.
31563 (grub_ext4_extent): Likewise.
31564 (grub_ext4_extent_idx): Likewise.
31565 (grub_ext4_find_leaf): New function.
31566 (grub_ext2_read_block): Handle extents.
31567
31568 2008-07-12 Robert Millan <rmh@aybabtu.com>
31569
31570 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
31571
31572 2008-07-11 Robert Millan <rmh@aybabtu.com>
31573
31574 * util/grub.d/40_custom.in: New file. Example on how to add custom
31575 entries to /etc/grub.d.
31576 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
31577 40_custom (implicitly, by merging all the grub.d rules).
31578
31579 2008-07-11 Pavel Roskin <proski@gnu.org>
31580
31581 * commands/read.c (grub_getline): Fix invalid memory access.
31582 Don't add newline to the variable value.
31583
31584 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
31585 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
31586 (serial_hw_get_port): Check validity of the port number.
31587 (grub_cmd_serial): Check return value of serial_hw_get_port().
31588
31589 2008-07-07 Pavel Roskin <proski@gnu.org>
31590
31591 * boot/i386/pc/diskboot.S (notification_string): Replace
31592 "Loading kernel" with just "loading". This is shorter, less
31593 confusing and saves a few bytes for possible future changes.
31594
31595 2008-07-05 Pavel Roskin <proski@gnu.org>
31596
31597 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
31598 size for ATAPI devices, they are undefined. Output sector
31599 number in decimal form.
31600
31601 * disk/ata.c: Use named constants for status bits.
31602
31603 2008-07-04 Pavel Roskin <proski@gnu.org>
31604
31605 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
31606 grub_addr_t before casting it to the void pointer to fix a
31607 warning. Non-addressable regions are discarded earlier.
31608 (grub_arch_modules_addr): Cast _end to grub_addr_t.
31609 * kern/i386/linuxbios/table.c: Include grub/misc.h.
31610 (check_signature): Don't shadow table_header.
31611 (grub_linuxbios_table_iterate): Cast numeric constants to
31612 grub_linuxbios_table_header_t.
31613 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
31614 grub_stop().
31615
31616 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
31617 prevent warnings.
31618
31619 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
31620 pointer, which can cause warnings. Support 64-bit addresses.
31621
31622 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
31623 of sizeof(long). This fixes PowerPC image generation on x86_64.
31624
31625 2008-07-04 Robert Millan <rmh@aybabtu.com>
31626
31627 This fixes a performance issue when pc & gpt partmap iterators
31628 didn't abort iteration even after our hook found what it was
31629 looking for (often causing expensive probes of non-existent drives).
31630
31631 Some callers relied on previous buggy behaviour, since they would
31632 raise an error when their own hooks caused early abortion of its
31633 iteration.
31634
31635 * kern/device.c (grub_device_open): Improve error message.
31636 * disk/lvm.c (grub_lvm_open): Likewise.
31637 * disk/raid.c (grub_raid_open): Likewise.
31638
31639 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
31640 when hook requests it, independently of grub_errno.
31641 (pc_partition_map_probe): Do not fail when find_func() caused
31642 early abortion of pc_partition_map_iterate().
31643
31644 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
31645 when hook requests it, independently of grub_errno.
31646 (gpt_partition_map_probe): Do not fail when find_func() caused
31647 early abortion of gpt_partition_map_iterate().
31648
31649 * kern/partition.c (grub_partition_iterate): Abort parent iteration
31650 when hook requests it, independently of grub_errno. Do not fail when
31651 part_map_iterate_hook() caused early abortion of p->iterate().
31652
31653 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
31654 when grub_partition_iterate() returned with non-zero.
31655
31656 2008-07-03 Pavel Roskin <proski@gnu.org>
31657
31658 * disk/ata.c (grub_ata_pio_write): Check status before writing,
31659 like we do in grub_ata_pio_read().
31660 (grub_ata_readwrite): Always write individual sectors. Fix the
31661 sector count for the remainder.
31662 (grub_ata_write): Enable writing to ATA devices. Correctly
31663 report error for ATAPI devices.
31664
31665 2008-07-02 Pavel Roskin <proski@gnu.org>
31666
31667 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
31668 warning.
31669
31670 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
31671 for every read sector, we already increment it for the whole
31672 batch. This fixes reading more than 256 sectors at once.
31673
31674 * util/grub-editenv.c (cmd_info): Cast argument to long
31675 explicitly. ptrdiff_t reduces to int on i386.
31676
31677 * util/grub-editenv.c (main): Be specific which parameter is
31678 missing.
31679
31680 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
31681 (memdisk): Make memdisk_orig_addr a pointer.
31682
31683 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
31684 for file offsets, use grub_off_t instead. Fix printf format
31685 warnings.
31686
31687 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
31688 there. Real unexpected warnings should not drown in the noise
31689 about known problems.
31690
31691 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
31692 grub_disk_addr_t for memory addresses.
31693
31694 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
31695 explicitly to fix a warning.
31696
31697 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
31698
31699 * Makefile.in (MODULE_LDFLAGS): New variable.
31700 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
31701 the linker accepts --build-id=none.
31702 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
31703 MODULE_LDFLAGS.
31704 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
31705
31706 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
31707 those in Linux XFS code. Provide a way to access 64-bit parent
31708 inode.
31709 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
31710 the end of struct grub_xfs_dir_header.
31711
31712 2008-07-02 Bean <bean123ch@gmail.com>
31713
31714 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
31715 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
31716 and GRUB_IEEE1275_FLAG_NO_ANSI.
31717
31718 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
31719 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
31720 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
31721
31722 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
31723 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
31724
31725 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
31726 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
31727
31728 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
31729 esc sequence on non ANSI terminal.
31730 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
31731
31732 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
31733 beginning of file.
31734
31735 2008-07-02 Bean <bean123ch@gmail.com>
31736
31737 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
31738 (grub_editenv_SOURCES): New variable.
31739 (pkglib_MODULES): Add loadenv.mod.
31740 (loadenv_mod_SOURCES): New variable.
31741 (loadenv_mod_CFLAGS): Likewise.
31742 (loadenv_mod_LDFLAGS): Likewise.
31743
31744 * include/grub/envblk.h: New file.
31745
31746 * util/envblk.c: New file.
31747
31748 * util/grub-editenv.c: New file.
31749
31750 * commands/loadenv.c: New file.
31751
31752 2008-07-01 Pavel Roskin <proski@gnu.org>
31753
31754 * include/multiboot2.h (struct multiboot_tag_module): Use char,
31755 not unsigned char. This fixes warnings and is consistent with
31756 other tags.
31757
31758 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
31759
31760 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
31761
31762 * term/tparm.c (analyze): Always set *popcount.
31763
31764 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
31765 cast to fix a warning.
31766
31767 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
31768 cast to suppress a warning.
31769
31770 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
31771 grub_fshelp_read_file() expects.
31772
31773 * fs/fat.c: Fix UUID calculation on big-endian systems. We
31774 write uuid as a 32-bit value in CPU byte order, so declare and
31775 use it as such.
31776
31777 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
31778 long if the format specifier expects it.
31779 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
31780 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31781 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
31782 long to fix a warning.
31783 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
31784 grub_dprintf() arguments to fix warnings.
31785
31786 2008-06-30 Pavel Roskin <proski@gnu.org>
31787
31788 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
31789 install_bsd_part immediately before core.img is embedded or
31790 modified on disk. This fixes core.img verification if core.img
31791 cannot be embedded.
31792
31793 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
31794 core_path to calculate the blocklist.
31795 Patch from Javier Martín <lordhabbit@gmail.com>
31796
31797 2008-06-29 Robert Millan <rmh@aybabtu.com>
31798
31799 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
31800 block to disk block.
31801 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
31802 Patch from Niels Böhm <bitbucket@arcor.de>
31803
31804 2008-06-29 Robert Millan <rmh@aybabtu.com>
31805
31806 * util/update-grub_lib.in (font_path): Search for fonts in
31807 /boot/grub first, which is more likely to be readable (we aren't
31808 deciding where fonts live, just looking for them).
31809
31810 2008-06-26 Pavel Roskin <proski@gnu.org>
31811
31812 * util/biosdisk.c (read_device_map): Don't leave dead map
31813 entries for devices failing stat() check.
31814
31815 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
31816 core_path_dev for the core.img path on the target device.
31817
31818 2008-06-26 Robert Millan <rmh@aybabtu.com>
31819
31820 * disk/fs_uuid.c: New file.
31821 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
31822 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
31823 (fs_uuid_mod_LDFLAGS): New variables.
31824 * include/grub/disk.h (grub_disk_dev_id): Add
31825 `GRUB_DISK_DEVICE_UUID_ID'.
31826 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
31827 implement iterate().
31828
31829 2008-06-26 Robert Millan <rmh@aybabtu.com>
31830
31831 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
31832 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
31833 Linux image includes no initrd.
31834
31835 2008-06-21 Javier Martín <lordhabbit@gmail.com>
31836
31837 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
31838 call to resolve the core image location that effectively appended the
31839 name twice.
31840
31841 2008-06-21 Robert Millan <rmh@aybabtu.com>
31842
31843 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
31844 call from here ...
31845
31846 * util/grub.d/10_hurd.in: ... to here ...
31847 * util/grub.d/10_linux.in: ... and here.
31848
31849 2008-06-19 Robert Millan <rmh@aybabtu.com>
31850
31851 * kern/main.c (grub_main): Export `prefix' variable immediately
31852 after it has been set by grub_machine_set_prefix().
31853
31854 2008-06-19 Robert Millan <rmh@aybabtu.com>
31855
31856 * commands/search.c (search_label, search_fs_uuid, search_file): Print
31857 search result when not saving to variable, not the other way around.
31858 When saving to variable, abort iteration as soon as a match is found.
31859
31860 2008-06-19 Robert Millan <rmh@aybabtu.com>
31861
31862 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
31863 check for partition that provides /boot/grub. Its logic is flawed,
31864 as it prevents prepare_grub_to_access_device() from being called
31865 multiple times.
31866
31867 2008-06-19 Robert Millan <rmh@aybabtu.com>
31868
31869 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
31870 "insmod" command directly when abstraction modules are needed,
31871 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
31872 since it had already been processed).
31873
31874 2008-06-19 Pavel Roskin <proski@gnu.org>
31875
31876 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
31877 changed. This is needed in case GRUB_LIBDIR changes.
31878 * conf/i386-ieee1275.rmk: Likewise.
31879 * conf/i386-linuxbios.rmk: Likewise.
31880 * conf/i386-pc.rmk: Likewise.
31881 * conf/powerpc-ieee1275.rmk: Likewise.
31882
31883 2008-06-18 Pavel Roskin <proski@gnu.org>
31884
31885 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
31886 kernel_elf_symlist.c to symlist.c for consistency with other
31887 architectures. Update all users.
31888 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31889
31890 2008-06-18 Robert Millan <rmh@aybabtu.com>
31891
31892 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
31893 it in prefix.
31894
31895 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
31896 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
31897 a RAID device, run setup() for all members independently on whether
31898 LVM abstraction is being used.
31899 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
31900 If grub-mkimage has set `*install_dos_part == -2', don't override this
31901 value.
31902 Perform *install_dos_part adjustments independently on whether
31903 we're embedding or not.
31904 Clarify error message when image is too big for embedding.
31905 Remove duplicate *install_dos_part stanza.
31906
31907 2008-06-17 Robert Millan <rmh@aybabtu.com>
31908
31909 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
31910 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
31911 variables.
31912 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
31913 values in grub_ofconsole_normal_color and
31914 grub_ofconsole_highlight_color (they're not directly related to
31915 background and foreground).
31916 (grub_ofconsole_setcolorstate): Extract background and foreground
31917 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
31918
31919 2008-06-17 Robert Millan <rmh@aybabtu.com>
31920
31921 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
31922 /boot/grub for the check in last commit, not /boot (they could be
31923 different partitions).
31924
31925 2008-06-16 Robert Millan <rmh@aybabtu.com>
31926
31927 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
31928 asked to setup access for the same partition that provides /boot,
31929 don't bother using UUIDs since our root already has the value we
31930 want.
31931
31932 2008-06-16 Robert Millan <rmh@aybabtu.com>
31933
31934 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
31935 I2O devices.
31936 Patch from Sven Mueller <sven@debian.org>.
31937
31938 2008-06-16 Robert Millan <rmh@aybabtu.com>
31939
31940 * util/update-grub.in: Check for $EUID instead of $UID.
31941 Reported by Vincent Zweije.
31942
31943 2008-06-16 Bean <bean123ch@gmail.com>
31944
31945 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
31946 (grub_ext2_read_block): Likewise.
31947 (grub_ext2_read_inode): Likewise.
31948 (grub_ext2_mount): Likewise.
31949 (grub_ext2_close): Likewise.
31950 (grub_ext3_get_journal): Removed.
31951
31952 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
31953 (grub_reiserfs_read_symlink): Likewise.
31954 (grub_reiserfs_mount): Likewise.
31955 (grub_reiserfs_open): Likewise.
31956 (grub_reiserfs_read): Likewise.
31957 (grub_reiserfs_close): Likewise.
31958 (grub_reiserfs_get_journal): Removed.
31959
31960 * fs/fshelp.c (grub_fshelp_read): Removed.
31961 (grub_fshelp_map_block): Likewise.
31962
31963 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
31964 (grub_fshelp_journal): Likewise.
31965 (grub_fshelp_read): Likewise.
31966 (grub_fshelp_map_block): Likewise.
31967
31968 2008-06-16 Pavel Roskin <proski@gnu.org>
31969
31970 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
31971 floating point anymore.
31972 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
31973
31974 2008-06-15 Pavel Roskin <proski@gnu.org>
31975
31976 * commands/ls.c (grub_ls_list_files): Use integer calculations
31977 for human readable format, avoid floating point use.
31978 * kern/misc.c (grub_ftoa): Remove.
31979 (grub_vsprintf): Remove floating point support.
31980
31981 2008-06-15 Robert Millan <rmh@aybabtu.com>
31982
31983 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
31984 devices.
31985 Reported by Max Vozeler.
31986
31987 2008-06-15 Robert Millan <rmh@aybabtu.com>
31988
31989 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
31990 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
31991 skipped later.
31992 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
31993 the beginning of the prefix.
31994
31995 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
31996 It is assumed that if we have a memdisk, grub-mkimage has set
31997 grub_prefix to include the "(memdisk)" drive in it.
31998
31999 2008-06-15 Robert Millan <rmh@aybabtu.com>
32000
32001 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
32002 Initialize keyboard controller after registering the terminal, so that
32003 grub_printf() can be called from grub_keyboard_controller_init().
32004
32005 2008-06-15 Robert Millan <rmh@aybabtu.com>
32006
32007 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
32008 extent-btree which is written as big endian on disk.
32009 Reported by Alain Greppin <al@chilibi.org>.
32010
32011 2008-06-14 Robert Millan <rmh@aybabtu.com>
32012
32013 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
32014 * util/i386/pc/grub-install.in (modules): Likewise.
32015
32016 2008-06-13 Pavel Roskin <proski@gnu.org>
32017
32018 * commands/ls.c (grub_ls_list_files): Fix format warnings.
32019
32020 2008-06-13 Bean <bean123ch@gmail.com>
32021
32022 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
32023
32024 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
32025
32026 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
32027 to indicate sparse block.
32028
32029 2008-06-12 Pavel Roskin <proski@gnu.org>
32030
32031 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
32032 number, grub_fshelp_read() does it for us.
32033
32034 * fs/fshelp.c (grub_fshelp_read): New function. Implement
32035 linear disk read with journal translation.
32036 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
32037 * include/grub/fshelp.h: Declare grub_fshelp_read().
32038
32039 2008-06-09 Pavel Roskin <proski@gnu.org>
32040
32041 * fs/minix.c (grub_minix_mount): Handle error reading
32042 superblock.
32043
32044 2008-06-08 Robert Millan <rmh@aybabtu.com>
32045
32046 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
32047 don't append the RAID prefix afterwards.
32048 Reported by Clint Adams.
32049
32050 2008-06-08 Robert Millan <rmh@aybabtu.com>
32051
32052 Based on description from Pavel:
32053 * kern/disk.c (grub_disk_check_range): Rename to ...
32054 (grub_disk_adjust_range): ... this. Add a comment explaining the
32055 tasks performed by this function.
32056
32057 2008-06-08 Robert Millan <rmh@aybabtu.com>
32058
32059 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
32060 `num_serial' (for consistency with other variables).
32061 (struct grub_ntfs_data): Add `uuid' member.
32062 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
32063 (grub_ntfs_uuid): New function.
32064 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
32065
32066 2008-06-07 Pavel Roskin <proski@gnu.org>
32067
32068 * util/biosdisk.c (open_device): Revert last change to the
32069 function, it broke installation. The sector needs to be
32070 different dependent on which device is opened.
32071
32072 2008-06-06 Robert Millan <rmh@aybabtu.com>
32073
32074 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
32075 rest of GRUB, and breakage doesn't happen if its value were modified.
32076
32077 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
32078 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
32079 a constant (same value).
32080 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
32081 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
32082
32083 2008-06-06 Robert Millan <rmh@aybabtu.com>
32084
32085 * util/biosdisk.c (open_device): Do not modify sector offset when
32086 accessing a partition. kern/disk.c already handles this for us.
32087
32088 2008-06-06 Robert Millan <rmh@aybabtu.com>
32089
32090 * util/grub-emu.c (grub_machine_init): Move code in this function from
32091 here ...
32092 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
32093 segfault in case grub_printf() is called).
32094
32095 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
32096 grub_probe. Update all users not to explicitly add it again.
32097 (grub_device): New variable; contains corresponding device for grubdir.
32098 (fs_module, partmap_module, devabstraction_module): Pass
32099 `--device ${grub_device}' to grub_probe to avoid traversing /dev
32100 every time.
32101
32102 2008-06-05 Robert Millan <rmh@aybabtu.com>
32103
32104 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
32105 is found, print it (same layout as with labels).
32106
32107 2008-06-04 Robert Millan <rmh@aybabtu.com>
32108
32109 * util/biosdisk.c (get_drive): Rename to ...
32110 (find_grub_drive): ... this. Update all users.
32111
32112 (get_os_disk): Rename to ...
32113 (convert_system_partition_to_system_disk): ... this. Update all users.
32114
32115 (find_drive): Rename to ...
32116 (find_system_device): ... this. Update all users.
32117
32118 2008-06-04 Robert Millan <rmh@aybabtu.com>
32119
32120 * util/biosdisk.c (get_os_disk): Handle IDA devices.
32121 * util/grub-mkdevicemap.c (get_mmc_disk_name)
32122 (make_device_map): Likewise.
32123
32124 2008-06-01 Robert Millan <rmh@aybabtu.com>
32125
32126 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
32127 before dereferencing it.
32128
32129 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
32130 union with fat12/fat16-specific ones. Add some new fields, including
32131 `num_serial' for both versions.
32132 (struct grub_fat_data): Add `uuid' member.
32133 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
32134 names. Initialize `data->uuid' using `num_serial'.
32135 (grub_fat_uuid): New function.
32136 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
32137
32138 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
32139 (grub_reiserfs_uuid): New function.
32140 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
32141 member.
32142
32143 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
32144 (grub_xfs_uuid): New function.
32145 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
32146
32147 2008-06-01 Robert Millan <rmh@aybabtu.com>
32148
32149 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
32150 code that is backward compatible with pre-uuid search command.
32151
32152 2008-05-31 Robert Millan <rmh@aybabtu.com>
32153
32154 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
32155 floppies after everything else, to ensure floppy drive isn't accessed
32156 unnecessarily (patch from Bean).
32157
32158 2008-05-31 Robert Millan <rmh@aybabtu.com>
32159
32160 * commands/search.c (search_label, search_fs_uuid, search_file): Do
32161 not print device names when we were asked to set a variable.
32162
32163 2008-05-31 Robert Millan <rmh@aybabtu.com>
32164
32165 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
32166 using "cursor-on" and "cursor-off" commands (understood at least by
32167 the Open Firmware flavour on OLPC).
32168
32169 2008-05-31 Michael Gorven <michael@gorven.za.net>
32170
32171 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
32172 on and off sequences.
32173
32174 2008-05-31 Robert Millan <rmh@aybabtu.com>
32175
32176 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
32177 * util/update-grub.in: Likewise.
32178
32179 2008-05-30 Pavel Roskin <proski@gnu.org>
32180
32181 * util/biosdisk.c (linux_find_partition): Simplify logic and
32182 make the code more universal. Keep special processing for
32183 devfs, but use a simple rule for all other devices. If the
32184 device ends with a number, append 'p' and the partition number.
32185 Otherwise, append only the partition number.
32186
32187 2008-05-30 Robert Millan <rmh@aybabtu.com>
32188
32189 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
32190 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
32191 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
32192 the `root' parameter to Linux.
32193
32194 2008-05-30 Robert Millan <rmh@aybabtu.com>
32195
32196 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
32197 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
32198 --fs_uuid with --fs-uuid.
32199 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
32200 all filesystems support them).
32201
32202 2008-05-30 Robert Millan <rmh@aybabtu.com>
32203
32204 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
32205 grub_printf() flags, since we're printing in units of 2 bytes.
32206
32207 2008-05-30 Robert Millan <rmh@aybabtu.com>
32208
32209 * util/grub.d/00_header.in: Remove obsolete comment referencing
32210 convert_system_path_to_grub_path().
32211 * util/update-grub.in: Likewise.
32212 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
32213 (convert_system_path_to_grub_path): Add a warning message explaining
32214 that this function is deprecated. Rely on is_path_readable_by_grub()
32215 for the readability checks.
32216 (font_path): Use is_path_readable_by_grub() for the readability
32217 check rather than convert_system_path_to_grub_path().
32218
32219 2008-05-30 Robert Millan <rmh@aybabtu.com>
32220
32221 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
32222 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
32223 converting it first.
32224 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
32225 grub.cfg for access to font file, and afterwards call it again to set
32226 the root device.
32227
32228 2008-05-30 Robert Millan <rmh@aybabtu.com>
32229
32230 * commands/search.c (options): Add --fs_uuid option.
32231 (search_fs_uuid): New function.
32232 (grub_cmd_search): Fix --set argument passing.
32233 Use search_fs_uuid() when requested via --fs_uuid.
32234 (grub_search_init): Update help message.
32235 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
32236 and redeclare it as an array of 16-bit words.
32237 (grub_ext2_uuid): New function.
32238 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
32239 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
32240 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
32241 (GRUB_DEVICE_BOOT_UUID): New variables.
32242 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
32243 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
32244 whenever possible.
32245 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
32246 just assume `root' variable has the right value.
32247 * util/grub.d/10_linux.in: Likewise.
32248 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
32249 via PRINT_FS_UUID.
32250 (main): Recognise `-t fs_uuid' argument.
32251
32252 2008-05-30 Robert Millan <rmh@aybabtu.com>
32253
32254 * util/biosdisk.c (map): Redefine structure to hold information
32255 about GRUB drive name.
32256 (get_drive): Reimplement without assuming (and verifying) BIOS-like
32257 drive names.
32258 (call_hook): Remove.
32259 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
32260 member. Assume drive has partitions.
32261 (grub_util_biosdisk_open): Access device names via `.device' struct
32262 member.
32263 (open_device): Likewise.
32264 (find_drive): Likewise.
32265 (read_device_map): Adjust map[] usage to match the new struct
32266 definition. Don't check for duplicates (still possible, but not cheap
32267 anymore).
32268 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
32269 (make_device_name): Remove assumption of BIOS-like drive names.
32270
32271 2008-05-30 Pavel Roskin <proski@gnu.org>
32272
32273 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
32274 compiling execute.c doesn't need grub_script.tab.h anymore.
32275 (normal/command.c_DEPENDENCIES): Likewise.
32276 (normal/function.c_DEPENDENCIES): Likewise.
32277 * conf/i386-ieee1275.rmk: Likewise.
32278 * conf/i386-linuxbios.rmk: Likewise.
32279 * conf/i386-pc.rmk: Likewise.
32280 * conf/powerpc-ieee1275.rmk: Likewise.
32281 * conf/sparc64-ieee1275.rmk: Likewise.
32282
32283 2008-05-29 Pavel Roskin <proski@gnu.org>
32284
32285 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
32286 when scanning metadata for volume group name.
32287
32288 * include/grub/script.h: Don't include grub_script.tab.h. It's
32289 a generated file, which may only be included from the files with
32290 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
32291 use union YYSTYPE, as the later allows forward declaration.
32292 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
32293
32294 2008-05-29 Robert Millan <rmh@aybabtu.com>
32295
32296 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
32297 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
32298 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
32299 (grub_console_checkkey): Add grub_dprintf() call to report unknown
32300 scan codes.
32301
32302 2008-05-29 Robert Millan <rmh@aybabtu.com>
32303
32304 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
32305 control key combinations.
32306
32307 2008-05-29 Robert Millan <rmh@aybabtu.com>
32308
32309 * util/powerpc/ieee1275/grub-install.in: Move from here ...
32310 * util/ieee1275/grub-install.in: ... to here.
32311 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
32312 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
32313 (grub_install_SOURCES): Likewise.
32314
32315 2008-05-29 Robert Millan <rmh@aybabtu.com>
32316
32317 * fs/affs.c: Update copyright year.
32318 * fs/ext2.c: Likewise.
32319 * fs/fshelp.c: Likewise.
32320 * fs/hfsplus.c: Likewise.
32321 * fs/ntfs.c: Likewise.
32322 * fs/xfs.c: Likewise.
32323 * include/grub/fshelp.h: Likewise.
32324 * util/grub-mkdevicemap.c: Likewise.
32325
32326 2008-05-28 Robert Millan <rmh@aybabtu.com>
32327
32328 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
32329 might need to be fatfs to support some firmware implementations
32330 (e.g. OFW or EFI).
32331
32332 2008-05-28 Robert Millan <rmh@aybabtu.com>
32333
32334 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
32335 devices.
32336 * util/grub-mkdevicemap.c (get_mmc_disk_name)
32337 (make_device_map): Likewise.
32338
32339 2008-05-20 Bean <bean123ch@gmail.com>
32340
32341 * fs/fshelp.c (grub_fshelp_map_block): New function.
32342 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
32343 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
32344
32345 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
32346 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
32347 (grub_fshelp_journal): New structure.
32348 (grub_fshelp_map_block): New function prototype.
32349 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
32350 (grub_fshelp_map_block): Likewise.
32351
32352 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
32353 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
32354 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
32355 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
32356 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
32357 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
32358 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
32359 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
32360 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
32361 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
32362 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
32363 (grub_ext2_sblock): New members for journal support.
32364 (grub_ext3_journal_header): New structure.
32365 (grub_ext3_journal_revoke_header): Likewise.
32366 (grub_ext3_journal_block_tag): Likewise.
32367 (grub_ext3_journal_sblock): Likewise.
32368 (grub_fshelp_node): New members logfile and journal.
32369 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
32370 grub_fshelp_map_block to get real block number.
32371 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
32372 number.
32373 (grub_ext2_read_inode): Likewise.
32374 (grub_ext3_get_journal): New function.
32375 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
32376 (grub_ext2_close): Release memory used by journal.
32377
32378 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
32379 (REISERFS_MAGIC_DESC_BLOCK): New macro.
32380 (grub_reiserfs_transaction_header): Renamed to
32381 grub_reiserfs_description_block, replace field data with real_blocks.
32382 (grub_reiserfs_commit_block): New structure.
32383 (grub_reiserfs_data): New member journal.
32384 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
32385 number.
32386 (grub_reiserfs_read_symlink): Likewise.
32387 (grub_reiserfs_iterate_dir): Likewise.
32388 (grub_reiserfs_open): Likewise.
32389 (grub_reiserfs_read): Likewise.
32390 (grub_reiserfs_get_journal): New function.
32391 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
32392 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
32393 using grub_reiserfs_get_journal.
32394 (grub_reiserfs_close): Release memory used by journal.
32395
32396 * fs/affs.c (grub_affs_read_block): Change block type to
32397 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
32398
32399 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
32400
32401 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
32402
32403 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
32404
32405 * fs/udf.c (grub_udf_read_block): Change block type to
32406 grub_disk_addr_t. Use type cast to avoid warning.
32407
32408 * fs/xfs.c (grub_xfs_read_block): Likewise.
32409
32410 2008-05-16 Christian Franke <franke@computer.org>
32411
32412 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
32413 to ensure that break with ESC will always work.
32414 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
32415 Remove ESC from keyboard queue.
32416
32417 2008-05-16 Christian Franke <franke@computer.org>
32418
32419 * util/biosdisk.c: [__CYGWIN__] Add includes.
32420 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
32421 (get_os_disk): Move variable declarations to OS specific
32422 parts to avoid warning.
32423 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
32424 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
32425 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
32426 Cygwin.
32427 * util/getroot.c: [__CYGWIN__] Add includes.
32428 (strip_extra_slashes): Fix "/" case.
32429 [__CYGWIN__] (get_win32_path): New function.
32430 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
32431 [__CYGWIN__] (find_root_device): Disable.
32432 [__CYGWIN__] (get_bootsec_serial): New function.
32433 [__CYGWIN__] (find_cygwin_root_device): Likewise.
32434 [__linux__] (grub_guess_root_device): Add early returns to simplify
32435 structure.
32436 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
32437 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
32438 check for Linux only.
32439
32440 2008-05-15 Bean <bean123ch@gmail.com>
32441
32442 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
32443 keyboard hang problem in apple's intel mac.
32444
32445 2008-05-09 Robert Millan <rmh@aybabtu.com>
32446
32447 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
32448 devices.
32449 * util/grub-mkdevicemap.c (get_virtio_disk_name)
32450 (make_device_map): Likewise.
32451 Reported by Aurelien Jarno <aurel32@debian.org>
32452
32453 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
32454
32455 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
32456 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
32457 (make_device_map): Output entries for xvd type disks.
32458
32459 2008-05-07 Robert Millan <rmh@aybabtu.com>
32460
32461 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
32462 devices.
32463 * util/grub-mkdevicemap.c (get_cciss_disk_name)
32464 (make_device_map): Likewise.
32465 Reported by Roland Dreier <rdreier@cisco.com>
32466
32467 2008-05-07 Robert Millan <rmh@aybabtu.com>
32468
32469 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
32470 grub_strstr() call. Correct a few mistakes in failure path handling.
32471
32472 2008-05-06 Robert Millan <rmh@aybabtu.com>
32473
32474 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
32475 Do not print a trailing slash (therefore, the root directory is an
32476 empty string).
32477 (convert_system_path_to_grub_path): Do not remove trailing slash
32478 from make_system_path_relative_to_its_root() output.
32479
32480 * util/i386/pc/grub-install.in: Add trailing slash to output from
32481 make_system_path_relative_to_its_root().
32482
32483 2008-05-06 Robert Millan <rmh@aybabtu.com>
32484
32485 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
32486 ensures that output lines aren't intermangled with those sent to
32487 stderr (via grub_util_info()).
32488 * util/grub-probe.c (grub_refresh): Likewise.
32489 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
32490
32491 2008-05-05 Christian Franke <franke@computer.org>
32492
32493 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
32494 Add Cygwin device names.
32495 (get_ide_disk_name) [__CYGWIN__]: Likewise.
32496 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
32497 (check_device): Return error instead of success on empty name.
32498 (make_device_map): Move label inside linux specific code to
32499 prevent compiler warning.
32500
32501 2008-04-30 Robert Millan <rmh@aybabtu.com>
32502
32503 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
32504 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
32505 first boot option.
32506 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
32507
32508 2008-04-29 Robert Millan <rmh@aybabtu.com>
32509
32510 * docs/grub.cfg: New file (example GRUB configuration).
32511
32512 2008-04-26 Robert Millan <rmh@aybabtu.com>
32513
32514 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
32515 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
32516 and `disk/ieee1275/nand.c'.
32517
32518 2008-04-25 Bean <bean123ch@gmail.com>
32519
32520 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
32521 i386-linuxbios.
32522
32523 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
32524 change the buffer size to 4096 for cdrom device.
32525
32526 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
32527 and nand.mod.
32528 (_linux_mod_SOURCES): New variable.
32529 (_linux_mod_CFLAGS): Likewise.
32530 (_linux_mod_LDFLAGS): Likewise.
32531 (linux_mod_SOURCES): Likewise.
32532 (linux_mod_CFLAGS): Likewise.
32533 (linux_mod_LDFLAGS): Likewise.
32534 (nand_mod_SOURCES): Likewise.
32535 (nand_mod_CFLAGS): Likewise.
32536 (nand_mod_LDFLAGS): Likewise.
32537
32538 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
32539 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
32540 type property. (nand device in olpc don't have this property)
32541
32542 * include/grub/disk.h (grub_disk_dev_id): New macro
32543 GRUB_DISK_DEVICE_NAND_ID.
32544
32545 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
32546 function prototype.
32547 (grub_rescue_cmd_initrd): Likewise.
32548
32549 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
32550 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
32551 ofw_cif_handler and ofw_idt, adjust padding number.
32552
32553 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
32554 GRUB_MACHINE_IEEE1275 is defined.
32555
32556 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
32557 Use NESTED_FUNC_ATTR attribute on the hook parameter.
32558
32559 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
32560 on nested function heap_init.
32561 (grub_upper_mem): New variable for i386-ieee1275.
32562 (grub_get_extended_memory): New function for i386-ieee1275.
32563 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
32564
32565 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
32566 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
32567 property.
32568
32569 * loader/i386/ieee1275/linux.c: New file.
32570
32571 * loader/i386/ieee1275/linux_normal.c: New file.
32572
32573 * disk/ieee1275/nand.c: New file.
32574
32575 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
32576
32577 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
32578 value.
32579 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
32580
32581 2008-04-18 Robert Millan <rmh@aybabtu.com>
32582
32583 Restructures early code path on ieee1275 to unify grub_main() as
32584 the first C function that is executed in every platform.
32585
32586 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
32587 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
32588 cmain().
32589 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
32590 * kern/ieee1275/cmain.c (cmain): Rename to ...
32591 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
32592 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
32593 at the beginning.
32594
32595 2008-04-18 Robert Millan <rmh@aybabtu.com>
32596
32597 * util/update-grub.in: Fix syntax error when setting
32598 `GRUB_PRELOAD_MODULES'.
32599 Reported by Stephane Chazelas <stephane@artesyncp.com>
32600
32601 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
32602
32603 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
32604 section into account, newer toolchains generate unique build ids
32605 * configure.ac: remove the test for --build-id=none acceptance,
32606 we want build ids to be preserved
32607 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
32608 far from other sections don't cause the raw binary images grow
32609 size
32610
32611 2008-04-15 Robert Millan <rmh@aybabtu.com>
32612
32613 * disk/lvm.c: Update copyright year.
32614 * kern/misc.c: Likewise.
32615
32616 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32617
32618 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
32619 there is no memory left for physical volume name.
32620
32621 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32622
32623 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
32624 volume name mapping to support bigger than 9 character names properly.
32625
32626 2008-04-13 Robert Millan <rmh@aybabtu.com>
32627
32628 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
32629 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
32630
32631 2008-04-13 Christian Franke <franke@computer.org>
32632
32633 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
32634 to create a floppy emulation boot CD when non emulation mode
32635 does not work.
32636 Enable Joliet CD filesystem extension.
32637
32638 2008-04-13 Robert Millan <rmh@aybabtu.com>
32639
32640 * kern/misc.c (grub_strncat): Fix off-by-one error.
32641 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
32642
32643 * kern/env.c (grub_env_context_close): Clear current context, not
32644 previous one.
32645 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
32646
32647 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
32648
32649 2008-04-13 Robert Millan <rmh@aybabtu.com>
32650
32651 Improve robustness when handling LVM.
32652
32653 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
32654 (and leave `*p' unmodified).
32655 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
32656 through it.
32657 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
32658 iterating through it.
32659 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
32660 through it.
32661 (grub_lvm_scan_device): Check the return value (and fail gracefully
32662 when due) on each grub_lvm_getvalue() or grub_strstr() call.
32663 Don't assume `vg->pvs != NULL' when iterating through it.
32664
32665 2008-04-13 Robert Millan <rmh@aybabtu.com>
32666
32667 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
32668 * genmk.rb (partmap): New variable.
32669 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
32670 (#{partmap}): New target rule.
32671 * genpartmaplist.sh: New file.
32672 * Makefile.in (pkglib_DATA): Add partmap.lst.
32673 (partmap.lst): New target rule.
32674 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
32675 modules (including all partition maps), instead of preloading them.
32676
32677 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
32678
32679 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
32680 `linux-boot-prober' (if installed) to detect other operating
32681 systems which are installed on the computer and add them to
32682 the boot menu.
32683 * conf/common.rmk: Build and install 30_os-prober.
32684
32685 2008-04-12 Robert Millan <rmh@aybabtu.com>
32686
32687 * kern/powerpc/ieee1275/init.c: Move from here ...
32688 * kern/ieee1275/init.c: ... to here. Update all users.
32689
32690 * kern/powerpc/ieee1275/cmain.c: Move from here ...
32691 * kern/ieee1275/cmain.c: ... to here. Update all users.
32692
32693 * kern/powerpc/ieee1275/openfw.c: Move from here ...
32694 * kern/ieee1275/openfw.c: ... to here. Update all users.
32695
32696 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
32697 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
32698
32699 2008-04-10 Pavel Roskin <proski@gnu.org>
32700
32701 * configure.ac: Always use "_cv_" in cache variables for
32702 compatibility with Autoconf 2.62.
32703
32704 2008-04-07 Robert Millan <rmh@aybabtu.com>
32705
32706 Revert grub/machine/init.h addition by Pavel (since it breaks on
32707 i386-ieee1275 and others):
32708 * util/i386/pc/misc.c: Remove grub/machine/init.h.
32709 * util/powerpc/ieee1275/misc.c: Likewise.
32710
32711 2008-04-07 Robert Millan <rmh@aybabtu.com>
32712
32713 * util/grub-probe.c (probe): Improve error message.
32714
32715 2008-04-07 Robert Millan <rmh@aybabtu.com>
32716
32717 * util/biosdisk.c (read_device_map): Skip devices that don't exist
32718 (this prevents the presence of a bogus entry from ruining the whole
32719 thing).
32720
32721 2008-04-06 Pavel Roskin <proski@gnu.org>
32722
32723 * util/biosdisk.c: Include grub/util/biosdisk.h.
32724 * util/grub-fstest.c (execute_command): Make static.
32725 * util/grub-mkdevicemap.c (check_device): Likewise.
32726 * util/i386/pc/misc.c: Include grub/machine/init.h.
32727 * util/powerpc/ieee1275/misc.c: Likewise.
32728 * util/lvm.c: Include grub/util/lvm.h.
32729 * util/misc.c: Include grub/kernel.h, grub/misc.h and
32730 grub/cache.h.
32731 * util/raid.c: Include grub/util/raid.h.
32732 (grub_util_getdiskname): Make static.
32733
32734 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
32735 grub_hostfs_fini(), as they are called from grub_init_all() and
32736 grub_fini_all() respectively. This fixes an infinite loop in
32737 grub-fstest due to double registration of hostfs.
32738 Reported by Christian Franke <Christian.Franke@t-online.de>
32739
32740 2008-04-05 Pavel Roskin <proski@gnu.org>
32741
32742 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
32743 all 8 functions. Otherwise, probe function 0 only.
32744
32745 2008-04-04 Pavel Roskin <proski@gnu.org>
32746
32747 * commands/lspci.c (grub_lspci_iter): Print the bus number
32748 correctly.
32749
32750 * commands/lspci.c (grub_pci_classes): Fix typos.
32751 (grub_lspci_iter): Don't print func twice. Print vendor ID
32752 before device ID, as it's normally done.
32753
32754 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
32755 Fix signedness warnings.
32756 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
32757 Likewise.
32758 * util/ieee1275/get_disk_name.c: Include config.h so that
32759 _GNU_SOURCE is defined and getline() is declared. Mark an
32760 unused argument as such. Fix a signedness warning.
32761
32762 2008-04-02 Pavel Roskin <proski@gnu.org>
32763
32764 * genkernsyms.sh.in: Use more robust assignments for CC and
32765 srcdir. Quote srcdir.
32766 * gensymlist.sh.in: Likewise. Assert at the compile time that
32767 the symbol table is not empty.
32768
32769 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
32770 * fs/cpio.c (grub_cpio_read): Likewise.
32771
32772 2008-04-01 Pavel Roskin <proski@gnu.org>
32773
32774 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
32775 * disk/host.c (grub_host_open): Likewise.
32776 * disk/loopback.c (grub_loopback_open): Likewise.
32777 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
32778 disk->id as in disk/host.c, not a multi-character constant.
32779
32780 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
32781 later is obsolete, potentially dangerous and sets a bad example.
32782 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
32783 * util/misc.c (grub_util_get_image_size): Likewise.
32784
32785 * disk/loopback.c (options): Improve help for "--partitions".
32786
32787 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
32788 options to align them with the short options, e.g. "echo -e".
32789
32790 2008-03-31 Bean <bean123ch@gmail.com>
32791
32792 * video/reader/png.c (grub_png_data): New member is_16bit and
32793 image_data.
32794 (grub_png_decode_image_header): Detect 16 bit png image.
32795 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
32796 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
32797 (grub_video_reader_png): Release memory occupied by image_data.
32798
32799 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
32800 4096 bytes.
32801 (grub_nfs_mount): Skip the test for sector per cluster.
32802
32803 * include/grub/ntfs.h (MAX_SPC): Removed.
32804
32805 2008-03-31 Bean <bean123ch@gmail.com>
32806
32807 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
32808 (grub_probe_SOURCES): Add fs/afs.c.
32809 (grub_fstest_SOURCES): Likewise.
32810 (afs_mod_SOURCES): New variable.
32811 (afs_mod_CFLAGS): Likewise.
32812 (afs_mod_LDFLAGS): Likewise.
32813
32814 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
32815 (grub_emu_SOURCES): Likewise.
32816
32817 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32818
32819 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32820
32821 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32822
32823 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32824
32825 * fs/afs.c: New file.
32826
32827 2008-03-30 Pavel Roskin <proski@gnu.org>
32828
32829 * disk/host.c: Include grub/misc.h to fix a warning.
32830 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
32831 warnings about implicit declarations.
32832
32833 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
32834 variable.
32835 * include/grub/i386/loader.h: Change declaration of
32836 grub_linux_boot() to match what grub_loader_set() expects.
32837 * util/getroot.c (grub_guess_root_device): Return const char* to
32838 fix a warning.
32839 * util/grub-probe.c (probe): Fix a warning about uninitialized
32840 abstraction_name variable.
32841 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
32842 second argument as unused to fix a warning.
32843
32844 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
32845 missing grub_error() call.
32846
32847 * util/update-grub_lib.in: Define datarootdir, since Autoconf
32848 2.60 and newer uses it to define datadir.
32849
32850 * commands/sleep.c: Fix warning about implicit declaration.
32851 * disk/memdisk.c: Likewise.
32852 * loader/aout.c: Likewise.
32853 * loader/i386/bsd_normal.c: Likewise.
32854 * util/grub-probe.c: Likewise.
32855
32856 * commands/i386/cpuid.c (has_longmode): Make static.
32857 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
32858 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
32859
32860 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
32861 GDT. This is more robust, as %ds can change.
32862 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
32863 calling real_to_prot().
32864 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
32865
32866 2008-03-28 Pavel Roskin <proski@gnu.org>
32867
32868 * kern/i386/pc/startup.S: Assert that uncompressed functions
32869 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
32870 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
32871 code, as they push parts of the code (error handlers) beyond
32872 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
32873 code as correctness and size.
32874
32875 2008-03-28 Pavel Roskin <proski@gnu.org>
32876
32877 * kern/i386/pc/startup.S
32878 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
32879 data block address to the real mode, keep offset minimal. This
32880 works around a bug in AWARD BIOS on old Athlon systems, which
32881 makes CD detection hang.
32882
32883 2008-03-26 Pavel Roskin <proski@gnu.org>
32884
32885 * normal/color.c (grub_parse_color_name_pair): Make `name' a
32886 const.
32887 * include/grub/normal.h: Add grub_parse_color_name_pair()
32888 declaration.
32889
32890 2008-03-24 Bean <bean123ch@gmail.com>
32891
32892 * disk/i386/pc/biosdisk.c (cd_start): Removed.
32893 (cd_count): Removed.
32894 (cd_drive): New variable.
32895 (grub_biosdisk_get_drive): Don't check for (cdN) device.
32896 (grub_biosdisk_call_hook): Likewise.
32897 (grub_biosdisk_iterate): Change cdrom detection method.
32898 (grub_biosdisk_open): Replace cd_start with cd_drive.
32899 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
32900 detect cdrom device.
32901
32902 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
32903 Removed.
32904 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
32905 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
32906 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
32907 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
32908 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
32909 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
32910 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
32911 (grub_biosdisk_cdrp): New structure.
32912 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
32913
32914 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
32915
32916 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
32917 device.
32918
32919 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
32920 New function.
32921
32922 2008-03-20 Robert Millan <rmh@aybabtu.com>
32923
32924 Remove 2 TiB limit in ata.mod.
32925 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
32926 (grub_ata_dumpinfo): Print sector count with 0x%llx.
32927 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
32928 grub_uint64_t instead of grub_uint32_t.
32929
32930 2008-03-05 Bean <bean123ch@gmail.com>
32931
32932 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
32933 (grub_multiboot): Set boot device.
32934
32935 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
32936
32937 2008-03-02 Bean <bean123ch@gmail.com>
32938
32939 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
32940 symlink_buffer.
32941
32942 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
32943
32944 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
32945 texinfo.tex.
32946
32947 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
32948 modified.
32949
32950 * docs/fdl.texi: New file.
32951
32952 * docs/mdate-sh: New file. Copied from gnulib.
32953 * docs/texinfo.tex: Likewise.
32954
32955 * config.guess: Updated from gnulib.
32956 * install-sh: Likewise.
32957
32958 2008-02-28 Robert Millan <rmh@aybabtu.com>
32959
32960 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
32961 (aout_mod_SOURCES): New variable.
32962 (aout_mod_CFLAGS): Likewise.
32963 (aout_mod_LDFLAGS): Likewise.
32964
32965 * conf/i386-ieee1275.rmk: Likewise.
32966
32967 2008-02-28 Robert Millan <rmh@aybabtu.com>
32968
32969 * util/update-grub.in: Reorganise terminal validity check. Accept
32970 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
32971 Based on suggestion by Franklin PIAT.
32972
32973 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
32974
32975 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
32976 function.
32977 * util/getroot.c (grub_util_check_block_device): New function that
32978 returns the given argument if it is a block device and returns NULL else.
32979 * util/grub-probe.c (argument_is_device): New variable.
32980 (probe): Promote device_name from a variable to an argument. Receive
32981 device_name from grub_util_check_block_device() if path is NULL and from
32982 grub_guess_root_device() else. Do not free() device_name anymore.
32983 (options): Introduce new parameter '-d, --device'.
32984 (main): Add description of the new parameter to the help screen.
32985 Rename path variable to argument. Set argument_is_device if the '-d'
32986 option is given. Pass argument to probe() depending on
32987 argument_is_device.
32988
32989 2008-02-24 Bean <bean123ch@gmail.com>
32990
32991 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
32992 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
32993 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
32994 (GRUB_ISO9660_VOLDESC_PART): Likewise.
32995 (GRUB_ISO9660_VOLDESC_END): Likewise.
32996 (grub_iso9660_primary_voldesc): New member escape.
32997 (grub_iso9660_data): New member joliet.
32998 (grub_iso9660_convert_string): New function.
32999 (grub_iso9660_mount): Detect joliet extension.
33000 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
33001 (grub_iso9660_iso9660_label): Likewise.
33002
33003 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
33004 (grub_setup_SOURCES): Add fs/udf.c.
33005 (grub_fstest_SOURCES): Likewise.
33006 (udf_mod_SOURCES): New variable.
33007 (udf_mod_CFLAGS): Likewise.
33008 (udf_mod_LDFLAGS): Likewise.
33009
33010 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
33011 (grub_emu_SOURCES): Likewise.
33012
33013 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33014
33015 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33016
33017 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33018
33019 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33020
33021 * fs/udf.c: New file.
33022
33023 2008-02-24 Robert Millan <rmh@aybabtu.com>
33024
33025 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
33026 (normal/lexer.c_DEPENDENCIES): New variables.
33027 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
33028 (normal/lexer.c_DEPENDENCIES): Likewise.
33029 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
33030 (normal/lexer.c_DEPENDENCIES): Likewise.
33031 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
33032 (normal/lexer.c_DEPENDENCIES): Likewise.
33033 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
33034 (normal/lexer.c_DEPENDENCIES): Likewise.
33035 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
33036 (normal/lexer.c_DEPENDENCIES): Likewise.
33037
33038 2008-02-23 Robert Millan <rmh@aybabtu.com>
33039
33040 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
33041 since they were intended to be in hex. This didn't break previously
33042 because of a bug in gpt_partition_map_iterate() (see below).
33043
33044 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
33045 when checking the validity of GPT header.
33046 Remove `partno', since it always provides the same information as `i'.
33047
33048 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
33049
33050 * include/grub/efi/time.h: Fix a wrong comment.
33051
33052 2008-02-19 Pavel Roskin <proski@gnu.org>
33053
33054 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
33055 message.
33056
33057 2008-02-19 Bean <bean123ch@gmail.com>
33058
33059 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
33060 (aout_mod_SOURCES): New variable.
33061 (aout_mod_CFLAGS): Likewise.
33062 (aout_mod_LDFLAGS): Likewise.
33063 (_bsd_mod_SOURCES): New variable.
33064 (_bsd_mod_CFLAGS): Likewise.
33065 (_bsd_mod_LDFLAGS): Likewise.
33066 (bsd_mod_SOURCES): New variable.
33067 (bsd_mod_CFLAGS): Likewise.
33068 (bsd_mod_LDFLAGS): Likewise.
33069
33070 * include/grub/aout.h: New file.
33071
33072 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
33073
33074 * include/grub/i386/bsd.h: New file.
33075
33076 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
33077 to make it public.
33078
33079 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
33080 function is called, so that it's possible to change it inside the hook.
33081 (grub_elf64_load): Likewise.
33082 (grub_elf_file): Don't close the file if elf header is not found.
33083 (grub_elf_close): Close the file if grub_elf_file fails (The new
33084 grub_elf_file won't close it).
33085 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
33086 (grub_elf64_size): Likewise.
33087
33088 * kern/i386/loader.S (grub_unix_real_boot): New function.
33089
33090 * loader/aout.c: New file.
33091
33092 * loader/i386/bsd.c: New file.
33093
33094 * loader/i386/bsd_normal.c: New file.
33095
33096 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
33097
33098 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
33099 can test other formats.
33100
33101 2008-02-19 Robert Millan <rmh@aybabtu.com>
33102
33103 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
33104 (grub_gpt_partition_type_empty): Redefine with macro from
33105 `<grub/gpt_partition.h>'.
33106 (gpt_partition_map_iterate): Adjust partition type comparison.
33107
33108 Export `entry' as partmap-specific `part.data' struct.
33109 (grub_gpt_header, grub_gpt_partentry): Move from here ...
33110
33111 * include/grub/gpt_partition.h (grub_gpt_header)
33112 (grub_gpt_partentry): ... to here (new file).
33113
33114 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
33115
33116 (grub_gpt_partition_type_bios_boot): New const variable, defined
33117 with macro from `<grub/gpt_partition.h>'.
33118
33119 (setup): Replace `first_start' with `embed_region', which keeps
33120 track of the embed region (and is partmap-agnostic).
33121
33122 Replace find_first_partition_start() with find_usable_region(),
33123 which finds a usable region for embedding using partmap-specific
33124 knowledge (supports PC/MSDOS and GPT).
33125
33126 Fix all assumptions that the embed region start at sector 1, using
33127 `embed_region.start' from now on. Similarly, use `embed_region.end'
33128 rather than `first_start' to calculate available size.
33129
33130 In grub_util_info() message, replace "into after the MBR" with an
33131 indication of the specific sector our embed region starts at.
33132
33133 2008-02-19 Robert Millan <rmh@aybabtu.com>
33134
33135 * DISTLIST: Replace `commands/ieee1275/halt.c' and
33136 `commands/ieee1275/reboot.c' with `commands/halt.c' and
33137 `commands/reboot.c'.
33138 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
33139 (halt_mod_SOURCES): Likewise.
33140 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
33141 (halt_mod_SOURCES): Likewise.
33142
33143 2008-02-17 Christian Franke <franke@computer.org>
33144
33145 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
33146
33147 2008-02-17 Robert Millan <rmh@aybabtu.com>
33148
33149 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
33150 set `first_start' to 0 for non-PC/MSDOS partition maps.
33151
33152 2008-02-16 Robert Millan <rmh@aybabtu.com>
33153
33154 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
33155 do not assume partition map is PC/MSDOS before performing checks that
33156 are specific to that layout.
33157
33158 2008-02-13 Robert Millan <rmh@aybabtu.com>
33159
33160 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
33161 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
33162 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
33163
33164 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
33165
33166 * configure.ac: Only a cosmetic change on the handling of
33167 -fno-stack-protector.
33168
33169 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
33170
33171 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
33172 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
33173 reboot.c.
33174 (grub_install_SOURCES): Add halt.mod and reboot.mod.
33175 (halt_mod_SOURCES): New variable.
33176 (halt_mod_CFLAGS): Likewise.
33177 (halt_mod_LDFLAGS): Likewise.
33178 (reboot_mod_SOURCES): Likewise.
33179 (reboot_mod_CFLAGS): Likewise.
33180 (reboot_mod_LDFLAGS): Likewise.
33181
33182 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
33183 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
33184 reboot.c.
33185 (halt_mod_SOURCES): Likewise.
33186 (reboot_mod_SOURCES): Likewise.
33187
33188 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
33189 commands/i386/pc/reboot.c by commands/reboot.c.
33190 (reboot_mod_SOURCES): Likewise.
33191
33192 * commands/i386/pc/reboot.c: merge this file ...
33193
33194 * commands/ieee1275/reboot.c: ... and this file ...
33195
33196 * commands/reboot.c: ... to this file.
33197 Add some precompiler directive to include the correct header for
33198 each machine.
33199
33200 * commands/ieee1275/halt.c: move this file ...
33201
33202 * commands/halt.c: ... to here.
33203 Add some precompiler directive to include the correct header for
33204 each machine.
33205
33206 * include/grub/efi/efi.h (grub_reboot): New function declaration.
33207 (grub_halt): Likewise.
33208
33209 * kern/efi/efi.c (grub_reboot): New function.
33210 (grub_halt): Likewise.
33211
33212 2008-02-12 Robert Millan <rmh@aybabtu.com>
33213
33214 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
33215 /dev (like it is done for /dev/mapper). This doesn't provide support
33216 for EVMS, but at least it is now easy to identify the problem when it
33217 arises.
33218
33219 2008-02-11 Robert Millan <rmh@aybabtu.com>
33220
33221 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
33222 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
33223 comparing it with -1, not 0.
33224
33225 2008-02-10 Robert Millan <rmh@aybabtu.com>
33226
33227 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
33228 `disk/lvm.c'.
33229 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33230 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
33231
33232 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
33233 `disk/lvm.c' to the end of the list.
33234 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33235 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33236
33237 2008-02-10 Robert Millan <rmh@aybabtu.com>
33238
33239 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
33240 grub_print_error() instead. This will let user know why we're entering
33241 rescue mode.
33242 Based on suggestions from Sam Morris.
33243
33244 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
33245
33246 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
33247 on remaining N args, instead of "--" arg N times.
33248
33249 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
33250
33251 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
33252 (fill_with_default_glyph): Changed to use unknown_glyph for fill
33253 pattern for unknown glyphs.
33254
33255 2008-02-09 Robert Millan <rmh@aybabtu.com>
33256
33257 * configure.ac: Probe for `help2man'.
33258 * Makefile.in (builddir): New variable.
33259 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
33260 or otherwise add a few flags/options to it.
33261 (install-local): For every executable utility or script that is
33262 installed, invoke $(HELP2MAN) to install a manpage based on --help
33263 output.
33264
33265 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
33266 that it doesn't prevent --help from working in build tree.
33267
33268 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
33269 with `bug-grub@gnu.org'.
33270 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
33271 * util/update-grub.in (usage): New function.
33272 Implement proper argument check, with support for --help and --version
33273 (as well as existing -y).
33274
33275 2008-02-09 Christian Franke <franke@computer.org>
33276
33277 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
33278 avoid overwriting previous output.
33279 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
33280
33281 2008-02-09 Robert Millan <rmh@aybabtu.com>
33282
33283 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
33284 drawing the menu.
33285
33286 2008-02-09 Robert Millan <rmh@aybabtu.com>
33287
33288 * commands/sleep.c: New file.
33289 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
33290 (sleep_mod_SOURCES): New variable.
33291 (sleep_mod_CFLAGS): Likewise.
33292 (sleep_mod_LDFLAGS): Likewise.
33293
33294 2008-02-09 Robert Millan <rmh@aybabtu.com>
33295
33296 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
33297 situations in which we can deduce the RAID size and the superblock
33298 doesn't match it.
33299
33300 2008-02-09 Robert Millan <rmh@aybabtu.com>
33301
33302 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
33303 and return a grub_diskmemberlist_t composed of LVM physical volumes.
33304 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
33305
33306 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
33307 and return a grub_diskmemberlist_t composed of physical array members.
33308 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
33309
33310 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
33311 prototype.
33312 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
33313 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
33314 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
33315
33316 * util/grub-probe.c (probe): Move partmap probing code from here ...
33317 (probe_partmap): ... to here.
33318 (probe): Use probe_partmap() once for the disk we're probing, and
33319 additionally, when such disk contains a memberlist() struct member,
33320 once for each disk that is contained in the structure returned by
33321 memberlist().
33322
33323 2008-02-09 Robert Millan <rmh@aybabtu.com>
33324
33325 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
33326 environment variable to 'all' in order to obtain debug output from
33327 non-util/ code.
33328 * util/i386/pc/grub-setup.c (main): Likewise.
33329
33330 2008-02-08 Robert Millan <rmh@aybabtu.com>
33331
33332 * disk/raid.c (grub_raid_scan_device): Check for
33333 `array->device[sb.this_disk.number]' rather than for
33334 `array->device[sb.this_disk.number]->name', since the latter is not
33335 guaranteed to be accessible.
33336
33337 2008-02-08 Robert Millan <rmh@aybabtu.com>
33338
33339 * disk/raid.c: Update copyright.
33340 * fs/cpio.c: Likewise.
33341 * include/grub/raid.h: Likewise.
33342 * loader/i386/pc/multiboot.c: Likewise.
33343 * util/hostfs.c: Likewise.
33344
33345 2008-02-08 Robert Millan <rmh@aybabtu.com>
33346
33347 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
33348 to a grub_disk_t array.
33349 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
33350 `device[x]'.
33351 (grub_raid_scan_device): Replace `device[x].name' accesses with
33352 `device[x]->name'. Simplify initialization of `array->device[x]'.
33353
33354 2008-02-08 Robert Millan <rmh@aybabtu.com>
33355
33356 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
33357 grub_dprintf() calls.
33358 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
33359 error message.
33360
33361 2008-02-07 Christian Franke <franke@computer.org>
33362
33363 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
33364 instead of fseek and ftell to support large files.
33365 (grub_hostfs_read): Likewise.
33366
33367 2008-02-07 Robert Millan <rmh@aybabtu.com>
33368
33369 Patch from Jeroen Dekkers.
33370 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
33371 failure, since successfully reading all array members might not be
33372 required.
33373
33374 2008-02-06 Robert Millan <rmh@aybabtu.com>
33375
33376 * util/grub-probe.c (probe): Simplify partmap probing (with the
33377 assumption that the first word up to the underscore equals to
33378 the module name).
33379
33380 2008-02-06 Christian Franke <franke@computer.org>
33381
33382 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
33383 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
33384 last block of a cpio or tar stream.
33385 Check for "TRAILER!!!" instead of any empty data
33386 block to detect last block of a cpio stream.
33387 (grub_cpio_dir): Fix constness of variable np.
33388 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
33389 cpio or tar trailer is detected. This fixes a crash
33390 on open of a non existing file.
33391
33392 2008-02-05 Bean <bean123ch@gmail.com>
33393
33394 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
33395 address of entry.
33396 (grub_multiboot_load_elf64): Likewise.
33397 (grub_multiboot): Initialize mbi structure.
33398
33399 * util/grub-fstest.c: Don't include unused header file script.h.
33400
33401 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
33402 of file.
33403 (grub_fstest_SOURCES): Likewise.
33404
33405 2008-02-05 Robert Millan <rmh@aybabtu.com>
33406
33407 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
33408 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
33409 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
33410 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
33411
33412 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
33413 (translation_table): Replace hardcoded values with macros
33414 provided by `<grub/term.h>'.
33415
33416 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
33417 (keyboard_map): Correct/add a few values, with macros provided
33418 by `<grub/term.h>'.
33419 (keyboard_map_shift): Zero values that don't differ from their
33420 `keyboard_map' equivalents.
33421 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
33422 Discard the second scan code that is always sent by Caps lock.
33423 Only use `keyboard_map_shift' when it provides a non-zero value,
33424 otherwise fallback to `keyboard_map'.
33425
33426 2008-02-04 Bean <bean123ch@gmail.com>
33427
33428 * Makefile.in (enable_grub_fstest): New variable.
33429
33430 * conf/common.rmk (grub_fstest_init.lst): New rule.
33431 (grub_fstest_init.h): Likewise.
33432 (grub_fstest_init.c): Likewise.
33433 (util/grub-fstest.c_DEPENDENCIES): New variable.
33434 (grub_fstest_SOURCES): Likewise.
33435
33436 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
33437
33438 * util/grub-fstest.c: New file.
33439
33440 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33441
33442 Make grub-setup handle a separate root device.
33443
33444 * util/i386/pc/grub-setup.c (setup): Always open the root device,
33445 so that the root device can be compared with the destination
33446 device.
33447 When embedding the core image, if the root and destination devices
33448 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
33449 0xFF.
33450 When not embedding, set ROOT_DRIVE to 0xFF.
33451
33452 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33453
33454 Add support for having a grub directory in a different drive. This
33455 is still only the data handling part.
33456
33457 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
33458 (codestart): Save %dh in GRUB_ROOT_DRIVE.
33459 (grub_root_drive): New variable.
33460
33461 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
33462 instead of GRUB_BOOT_DRIVE to construct a device name. Set
33463 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
33464 as it was.
33465
33466 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
33467
33468 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
33469 macro.
33470 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
33471
33472 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
33473 is bogus, because PXE booting does not specify any drive
33474 correctly.
33475
33476 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
33477 am not sure if this is really correct.
33478
33479 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
33480 is always identical to the boot drive when booting from a CD.
33481
33482 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
33483 longer.
33484 (root_drive): New variable.
33485 (real_start): Unconditionally set %dh to ROOT_DRIVE.
33486 (setup_sectors): Push %dx right after popping it, because %dh will
33487 be modified later.
33488 (copy_buffer): Restore %dx.
33489
33490 2008-02-03 Robert Millan <rmh@aybabtu.com>
33491
33492 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
33493 use `cdboot.img' for cdrom images.
33494
33495 2008-02-03 Robert Millan <rmh@aybabtu.com>
33496
33497 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
33498 only setup gfxterm when `font' command has succeeded.
33499
33500 2008-02-03 Robert Millan <rmh@aybabtu.com>
33501
33502 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
33503 (grub_rescue_cmd_multiboot_loader)
33504 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
33505
33506 2008-02-03 Pavel Roskin <proski@gnu.org>
33507
33508 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
33509 %edx and %esi from stack only after grub_gate_a20() is called.
33510 grub_gate_a20() clobbers %edx.
33511
33512 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33513
33514 * configure.ac (AC_INIT): Bumped to 1.96.
33515
33516 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
33517 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
33518 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
33519 video/readers/png.c.
33520
33521 2008-02-03 Bean <bean123ch@gmail.com>
33522
33523 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
33524 (cdboot_img_SOURCES): New variable.
33525 (cdboot_img_ASFLAGS): New variable.
33526 (cdboot_img_LDFLAGS): New variable.
33527
33528 * boot/i386/pc/cdboot.S: New file.
33529
33530 * disk/i386/pc/biosdisk.c (cd_start): New variable.
33531 (cd_count): Likewise.
33532 (grub_biosdisk_get_drive): Add support for cd device.
33533 (grub_biosdisk_call_hook): Likewise.
33534 (grub_biosdisk_iterate): Likewise.
33535 (grub_biosdisk_open): Likewise.
33536 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
33537 (grub_biosdisk_rw): Support reading from cd device.
33538 (GRUB_MOD_INIT): Iterate cd devices.
33539
33540 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
33541 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
33542 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
33543
33544 * kern/i386/pc/init.c (make_install_device): Check for cd device.
33545
33546 2008-02-02 Robert Millan <rmh@aybabtu.com>
33547
33548 * commands/read.c: New file.
33549 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
33550 (read_mod_SOURCES): New variable.
33551 (read_mod_CFLAGS): Likewise.
33552 (read_mod_LDFLAGS): Likewise.
33553
33554 2008-02-02 Robert Millan <rmh@aybabtu.com>
33555
33556 * normal/main.c (grub_normal_execute): Check for `menu->size' when
33557 determining whether menu has to be displayed.
33558
33559 2008-02-02 Marco Gerards <marco@gnu.org>
33560
33561 * bus/pci.c: New file.
33562
33563 * include/grub/pci.h: Likewise.
33564
33565 * include/grub/i386/pc/pci.h: Likewise.
33566
33567 * commands/lspci.c: Likewise.
33568
33569 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
33570 `lspci.mod'.
33571 (pci_mod_SOURCES): New variable.
33572 (pci_mod_CFLAGS): Likewise.
33573 (pci_mod_LDFLAGS): Likewise.
33574 (lspci_mod_SOURCES): Likewise.
33575 (lspci_mod_CFLAGS): Likewise.
33576 (lspci_mod_LDFLAGS): Likewise.
33577
33578 2008-02-02 Bean <bean123ch@gmail.com>
33579
33580 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
33581 (grub_ufs_get_file_block): Fix indirect block calculation problem.
33582
33583 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
33584 (grub_xfs_btree_node): New structure.
33585 (grub_xfs_btree_root): New structure.
33586 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
33587 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
33588 (GRUB_XFS_EXTENT_BLOCK): Likewise.
33589 (GRUB_XFS_EXTENT_SIZE): Likewise.
33590 (grub_xfs_read_block): Support btree format type.
33591 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
33592 Use directory block as basic unit.
33593
33594 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
33595
33596 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
33597 __attribute__ ((__regparm__ (1))).
33598
33599 2008-02-01 Robert Millan <rmh@aybabtu.com>
33600
33601 Correct a mistake in previous commit.
33602
33603 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
33604 top.
33605 (normal/command.c_DEPENDENCIES): New variable.
33606
33607 2008-02-01 Robert Millan <rmh@aybabtu.com>
33608
33609 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
33610 top.
33611 (normal/command.c_DEPENDENCIES): New variable.
33612 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
33613 * conf/i386-ieee1275.rmk: Likewise.
33614 * conf/i386-linuxbios.rmk: Likewise.
33615 * conf/i386-pc.rmk: Likewise.
33616 * conf/sparc64-ieee1275.rmk: Likewise.
33617 * conf/powerpc-ieee1275.rmk: Likewise.
33618 (grub_emu_SOURCES): Add `fs/fshelp.c'.
33619
33620 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
33621
33622 2008-02-01 Robert Millan <rmh@aybabtu.com>
33623
33624 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
33625 call at beginning of function.
33626
33627 2008-01-31 Pavel Roskin <proski@gnu.org>
33628
33629 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
33630 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
33631 (grub_mkrescue_SOURCES): Likewise.
33632 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
33633
33634 2008-01-30 Robert Millan <rmh@aybabtu.com>
33635
33636 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
33637 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
33638 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
33639 (grub_probe_SOURCES): ... to here.
33640
33641 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
33642 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
33643 * conf/i386-ieee1275.rmk: Likewise.
33644 * conf/i386-linuxbios.rmk: Likewise.
33645 * conf/powerpc-ieee1275.rmk: Likewise.
33646
33647 2008-01-30 Tristan Gingold <gingold@free.fr>
33648
33649 * kern/rescue.c: Silently accept empty lines.
33650
33651 2008-01-29 Bean <bean123ch@gmail.com>
33652
33653 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
33654 (real_code_2): Code cleanup and change comment style.
33655 (move_memory): Avoid using 32-bit address mode.
33656
33657 2008-01-29 Bean <bean123ch@gmail.com>
33658
33659 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
33660 (png_mod_SOURCES): New variable.
33661 (png_mod_CFLAGS): Likewise.
33662 (png_mod_LDFLAGS): Likewise.
33663
33664 * video/readers/png.c: New file.
33665
33666 2008-01-28 Robert Millan <rmh@aybabtu.com>
33667
33668 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
33669 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
33670 `ifndef GRUB_MOD_GAP' hack.
33671 * util/elf/grub-mkimage.c (add_segments): Likewise.
33672
33673 2008-01-27 Robert Millan <rmh@aybabtu.com>
33674
33675 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
33676 `GRUB_MOD_GAP' for platforms in which it's not defined.
33677 * util/elf/grub-mkimage.c (add_segments): Likewise.
33678
33679 2008-01-27 Robert Millan <rmh@aybabtu.com>
33680
33681 Get grub-emu to build again (including parallel builds).
33682
33683 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
33684 Split into ...
33685 (util/grub-emu.c_DEPENDENCIES): ... this, ...
33686 (normal/execute.c_DEPENDENCIES): ... this, ...
33687 (grub-emu_DEPENDENCIES): ... and this.
33688
33689 * conf/i386-efi.rmk: Likewise.
33690 * conf/i386-linuxbios.rmk: Likewise.
33691 * conf/i386-ieee1275.rmk: Likewise.
33692 * conf/powerpc-ieee1275.rmk: Likewise.
33693 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
33694
33695 2008-01-27 Robert Millan <rmh@aybabtu.com>
33696
33697 * NEWS: Add a few items.
33698
33699 2008-01-27 Robert Millan <rmh@aybabtu.com>
33700
33701 Fix parallel builds with grub-emu. Based on earlier commit for
33702 grub-probe and grub-setup.
33703
33704 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33705 (util/grub-emu.c_DEPENDENCIES): ... this.
33706 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33707 (util/grub-emu.c_DEPENDENCIES): ... this.
33708 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33709 (util/grub-emu.c_DEPENDENCIES): ... this.
33710 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33711 (util/grub-emu.c_DEPENDENCIES): ... this.
33712 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33713 (util/grub-emu.c_DEPENDENCIES): ... this.
33714
33715 2008-01-27 Pavel Roskin <proski@gnu.org>
33716
33717 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
33718 to create a gap between _end and the modules added to the image
33719 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
33720 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
33721 * util/elf/grub-mkimage.c (add_segments): Likewise.
33722
33723 2008-01-26 Pavel Roskin <proski@gnu.org>
33724
33725 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
33726 just return an error.
33727
33728 2008-01-26 Bean <bean123ch@gmail.com>
33729
33730 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
33731 (grub_reiserfs_get_item): Save offset of the next item.
33732 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
33733
33734 2008-01-25 Robert Millan <rmh@aybabtu.com>
33735
33736 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
33737 make all filesystem sources appear together (possibly fixing omissions
33738 while at it).
33739 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33740 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33741 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33742 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33743
33744 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
33745 add `kern/file.c'.
33746 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
33747 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
33748 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
33749 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
33750
33751 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
33752 (probe): Add a sanity check to make sure of our ability to read
33753 requested files when probing for filesystem type.
33754
33755 * genmk.rb: Update copyright year (2007).
33756
33757 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
33758 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
33759 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
33760 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
33761 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
33762 : Remove function prototypes.
33763
33764 2008-01-25 Robert Millan <rmh@aybabtu.com>
33765
33766 Revert my previous commits (based on wrong assumption of how grub_errno
33767 works).
33768
33769 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
33770 * kern/file.c (grub_file_open): Likewise.
33771
33772 2008-01-24 Pavel Roskin <proski@gnu.org>
33773
33774 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
33775 that hang if GRUB tries to setup colors.
33776 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
33777 colors for firmwares that don't support it.
33778 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
33779 Recognize Open Hack'Ware, set flags to work around its
33780 limitations.
33781
33782 2008-01-24 Robert Millan <rmh@aybabtu.com>
33783
33784 * kern/file.c (grub_file_open): Do not account previous failures of
33785 unrelated functions when grub_errno is checked for.
33786 Reported by Oleg Strikov.
33787
33788 2008-01-24 Bean <bean123ch@gmail.com>
33789
33790 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
33791 (grub_ufs_sblock): New member volume name.
33792 (grub_ufs_find_file): Fix string copy bug.
33793 (grub_ufs_label): Implement this function properly.
33794
33795 * fs/hfs.c (grub_hfs_cnid_type): New enum.
33796 (grub_hfs_iterate_records): Use the correct file number for extents
33797 and catalog file. Fix problem in next index calculation.
33798 (grub_hfs_find_node): Replace recursive function call with loop.
33799 (grub_hfs_iterate_dir): Replace recursive function call with loop.
33800
33801 2008-01-23 Robert Millan <rmh@aybabtu.com>
33802
33803 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
33804 `<grub/symbol.h>' and `<grub/multiboot.h>'.
33805 (grub_multiboot2_real_boot): New function prototype.
33806
33807 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
33808 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
33809
33810 * kern/i386/ieee1275/init.c (grub_os_area_addr)
33811 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
33812
33813 2008-01-23 Robert Millan <rmh@aybabtu.com>
33814
33815 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
33816 #ifdef'ed out grub_printf().
33817
33818 2008-01-23 Robert Millan <rmh@aybabtu.com>
33819
33820 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
33821 grub_dprintf calls, since they make "debug=all" mode unusable.
33822 (grub_console_checkkey): Likewise.
33823
33824 2008-01-23 Robert Millan <rmh@aybabtu.com>
33825
33826 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33827 `term/i386/pc/at_keyboard.c'.
33828 (pkglib_MODULES): Add `serial.mod'.
33829 (serial_mod_SOURCES): New variable.
33830 (serial_mod_CFLAGS): Likewise.
33831 (serial_mod_LDFLAGS): Likewise.
33832
33833 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
33834 `<grub/powerpc/ieee1275/console.h>'.
33835 (grub_keyboard_controller_init): New function prototype.
33836 (grub_console_checkkey): Likewise.
33837 (grub_console_getkey): Likewise.
33838
33839 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
33840 keyboard on i386.
33841
33842 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
33843 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
33844
33845 2008-01-23 Robert Millan <rmh@aybabtu.com>
33846
33847 * kern/i386/pc/init.c (make_install_device): When memdisk image is
33848 present, "(memdisk)/boot/grub" becomes the default prefix.
33849
33850 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
33851 a memdisk tarball with all the modules. Add --overlay=DIR option that
33852 allows users to overlay additional files into the image.
33853
33854 2008-01-23 Robert Millan <rmh@aybabtu.com>
33855
33856 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
33857 and `machine/memory.h'.
33858 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
33859 (_multiboot_mod_SOURCES): New variable.
33860 (_multiboot_mod_CFLAGS): Likewise.
33861 (_multiboot_mod_LDFLAGS): Likewise.
33862 (multiboot_mod_SOURCES): Likewise.
33863 (multiboot_mod_CFLAGS): Likewise.
33864 (multiboot_mod_LDFLAGS): Likewise.
33865
33866 * include/grub/i386/ieee1275/loader.h: New file.
33867
33868 * include/grub/i386/ieee1275/machine.h: Likewise.
33869
33870 * include/grub/i386/ieee1275/memory.h: Likewise.
33871
33872 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
33873 variable declaration.
33874 (grub_os_area_size): Likewise.
33875
33876 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
33877 (grub_lower_mem, grub_upper_mem): New variables.
33878 (grub_stop_floppy): New function (just to make
33879 grub_multiboot2_real_boot() happy).
33880
33881 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
33882 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
33883 (grub_stop): New function.
33884 Include `"../realmode.S"' and `"../loader.S"'.
33885
33886 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
33887 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
33888
33889 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
33890 rely on grub_multiboot2_real_boot() for final boot.
33891
33892 2008-01-22 Robert Millan <rmh@aybabtu.com>
33893
33894 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
33895 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
33896 device that doesn't look like an SD card.
33897 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
33898 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
33899 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
33900 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
33901 found.
33902
33903 2008-01-22 Robert Millan <rmh@aybabtu.com>
33904
33905 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
33906 avoid claiming over our own code.
33907
33908 2008-01-22 Bean <bean123ch@gmail.com>
33909
33910 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
33911 (jpeg_mod_SOURCES): New variable.
33912 (jpeg_mod_CFLAGS): Likewise.
33913 (jpeg_mod_LDFLAGS): Likewise.
33914
33915 * video/readers/jpeg.c : New file.
33916
33917 2008-01-22 Bean <bean123ch@gmail.com>
33918
33919 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
33920 there are no more items.
33921
33922 2008-01-21 Robert Millan <rmh@aybabtu.com>
33923
33924 * kern/mm.c (grub_mm_init_region): Improve debug message.
33925
33926 2008-01-21 Robert Millan <rmh@aybabtu.com>
33927
33928 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
33929 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
33930 address.
33931 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
33932 a C macro.
33933 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
33934 Indicates start of upper memory.
33935 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
33936 (generate_image): Abort when image size is big enough to corrupt
33937 upper memory.
33938
33939 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
33940 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
33941 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
33942 instead of hardcoding 0xA0000.
33943 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
33944 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
33945 instead of hardcoding 0xA0000.
33946
33947 2008-01-21 Robert Millan <rmh@aybabtu.com>
33948
33949 * disk/memdisk.c (memdisk_size): New variable.
33950 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
33951 `memdisk_size'.
33952 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
33953 image to dynamic memory.
33954 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
33955 `memdisk_size'. Free memdisk block.
33956
33957 2008-01-21 Robert Millan <rmh@aybabtu.com>
33958
33959 Fix detection of very small filesystems (like tar).
33960
33961 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
33962 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
33963 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
33964 a problem with this disk).
33965
33966 2008-01-21 Robert Millan <rmh@aybabtu.com>
33967
33968 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
33969 on grub_biosdisk_rw_standard() error.
33970
33971 2008-01-21 Robert Millan <rmh@aybabtu.com>
33972
33973 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
33974 recent changes.
33975 * kern/elf.c: Likewise.
33976 * kern/ieee1275/ieee1275.c: Likewise.
33977 * kern/powerpc/ieee1275/openfw.c: Likewise.
33978 * term/ieee1275/ofconsole.c: Likewise.
33979
33980 2008-01-21 Robert Millan <rmh@aybabtu.com>
33981
33982 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
33983
33984 * include/grub/kernel.h (grub_arch_memdisk_addr)
33985 (grub_arch_memdisk_size): Moved from here ...
33986
33987 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
33988 (grub_arch_memdisk_size): ... to here.
33989
33990 2008-01-21 Robert Millan <rmh@aybabtu.com>
33991
33992 Mostly based on bugfix from Bean.
33993
33994 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
33995 attribute with hook() parameter.
33996 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
33997 declaration.
33998 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
33999 attribute with hook() parameter.
34000 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
34001 declaration.
34002
34003 2008-01-21 Robert Millan <rmh@aybabtu.com>
34004
34005 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
34006 (pkglib_MODULES): Add `memdisk.mod'.
34007 (memdisk_mod_SOURCES): New variable.
34008 (memdisk_mod_CFLAGS): Likewise.
34009 (memdisk_mod_LDFLAGS): Likewise.
34010
34011 * disk/memdisk.c: New file.
34012
34013 * include/grub/disk.h (grub_disk_dev_id): Add
34014 `GRUB_DISK_DEVICE_MEMDISK_ID'.
34015
34016 * include/grub/i386/pc/kernel.h
34017 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
34018 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
34019 (grub_kernel_image_size): New variable declaration.
34020 (grub_total_module_size): Likewise.
34021 (grub_memdisk_image_size): Likewise.
34022
34023 * include/grub/i386/pc/memory.h
34024 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
34025
34026 * include/grub/kernel.h: Include `<grub/symbol.h>'.
34027 (grub_arch_memdisk_addr): New variable declaration.
34028 (grub_arch_memdisk_size): Likewise.
34029
34030 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
34031 (grub_arch_memdisk_size): Likewise.
34032
34033 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
34034 (codestart): Replace hardcoded `0x100000' with
34035 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
34036
34037 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
34038 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
34039 not NULL, append the contents of the file it refers to, at the end of
34040 the compressed kernel image. Initialize `grub_memdisk_image_size'
34041 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
34042 (options): Add "memdisk"|'m' option.
34043 (main): Parse --memdisk|-m option, and pass user-provided path as
34044 parameter to generate_image().
34045
34046 2008-01-20 Robert Millan <rmh@aybabtu.com>
34047
34048 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
34049 grub_dprintf() calls from here ...
34050 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
34051
34052 2008-01-20 Robert Millan <rmh@aybabtu.com>
34053
34054 Fix detection of "real mode" when /options/real-mode? doesn't exist.
34055
34056 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
34057 declaration.
34058 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
34059 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
34060 `GRUB_IEEE1275_FLAG_REAL_MODE'.
34061 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
34062 property).
34063 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
34064 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
34065
34066 2008-01-19 Robert Millan <rmh@aybabtu.com>
34067
34068 Get rid of confusing function (superseded by
34069 `grub_ieee1275_get_integer_property')
34070 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
34071 prototype.
34072 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
34073 function.
34074 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
34075 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
34076 in native endianness from grub_ieee1275_get_integer_property().
34077
34078 2008-01-19 Robert Millan <rmh@aybabtu.com>
34079
34080 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
34081 command after "shut-down", since implementations differ on which
34082 the command for halt is.
34083
34084 2008-01-19 Robert Millan <rmh@aybabtu.com>
34085
34086 * include/grub/i386/linuxbios/console.h: Add header protection.
34087 (grub_keyboard_controller_init): New function prototype.
34088 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
34089 (KEYBOARD_COMMAND_READ): Likewise.
34090 (KEYBOARD_COMMAND_WRITE): Likewise.
34091 (KEYBOARD_SCANCODE_SET1): Likewise.
34092 (grub_keyboard_controller_write): New function.
34093 (grub_keyboard_controller_read): Likewise.
34094 (grub_keyboard_controller_init): Likewise.
34095
34096 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
34097 (grub_console_init): On coreboot/LinuxBIOS, call
34098 grub_keyboard_controller_init().
34099
34100 2008-01-19 Robert Millan <rmh@aybabtu.com>
34101
34102 PowerPC changes provided by Pavel Roskin.
34103
34104 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
34105 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
34106 don't rely on cmain() doing it.
34107 * kern/i386/ieee1275/startup.S (_start): Store %eax in
34108 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
34109
34110 2008-01-16 Robert Millan <rmh@aybabtu.com>
34111
34112 * include/grub/i386/linuxbios/memory.h
34113 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
34114 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
34115 receive `table_header' as argument. Instead, probe for it in the
34116 known memory ranges where it can be present.
34117 (grub_available_iterate): Do not pass a fixed `table_header' address
34118 to grub_linuxbios_table_iterate().
34119
34120 2008-01-15 Robert Millan <rmh@aybabtu.com>
34121
34122 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
34123 * conf/i386-ieee1275.rmk: New file.
34124 * include/grub/i386/ieee1275/console.h: Likewise.
34125 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
34126 * include/grub/i386/ieee1275/kernel.h: Likewise.
34127 * include/grub/i386/ieee1275/time.h: Likewise.
34128 * kern/i386/ieee1275/init.c: Likewise.
34129 * kern/i386/ieee1275/startup.S: Likewise.
34130
34131 2008-01-15 Robert Millan <rmh@aybabtu.com>
34132
34133 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
34134 when pointers are 32-bit (but still do set it to one when they are
34135 64-bit).
34136
34137 2008-01-15 Robert Millan <rmh@aybabtu.com>
34138
34139 * include/grub/ieee1275/ieee1275.h
34140 (grub_ieee1275_get_integer_property): New function prototype.
34141
34142 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
34143 (grub_ieee1275_get_integer_property): New function. Wraps around
34144 grub_ieee1275_get_property() to handle endianness.
34145
34146 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
34147 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
34148 where appropriate.
34149 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
34150 (grub_map): Likewise.
34151 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
34152
34153 2008-01-15 Bean <bean123ch@gmail.com>
34154
34155 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
34156 (grub_script_execute_cmdline): Reset grub_errno.
34157
34158 * normal/main.c (read_config_file): Reset grub_errno.
34159
34160 * normal/parse.y (script_init): New.
34161 (script): Move function and menuentry here.
34162 (delimiter): New.
34163 (command): Add delimiter at the end of command.
34164 (commands): Adjust to match the new command.
34165 (commandblock): Remove grub_script_lexer_record_start.
34166 (menuentry): Add grub_script_lexer_record_start, use the new commands.
34167 (if): Use the new commands.
34168
34169 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
34170
34171 2008-01-15 Robert Millan <rmh@aybabtu.com>
34172
34173 * normal/menu.c (run_menu): Move timeout message from here ...
34174 (print_timeout): ... to here.
34175 (run_menu): Use print_timeout() once during initial draw to print
34176 the whole message, and again in every clock tick to update only
34177 the number of seconds.
34178
34179 2008-01-15 Robert Millan <rmh@aybabtu.com>
34180
34181 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
34182 actual size of `available' from grub_ieee1275_get_property(), and
34183 restrict parsing to that bound.
34184
34185 2008-01-15 Christian Franke <franke@computer.org>
34186
34187 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
34188 (argp_program_version): Remove variable.
34189 (argp_program_bug_address): Likewise.
34190 (options): Convert from struct argp_option to struct option.
34191 (struct arguments): Remove.
34192 (parse_opt): Remove.
34193 (usage): New function.
34194 (main): Replace struct args members by simple variables.
34195 Replace argp_parse() by getopt_long().
34196 Add switch to evaluate options.
34197 Add missing "(...)" around root_dev in prefix string.
34198
34199 2008-01-14 Robert Millan <rmh@aybabtu.com>
34200
34201 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
34202 for grub_ieee1275_exit(), in order to improve portability.
34203
34204 2008-01-14 Robert Millan <rmh@aybabtu.com>
34205
34206 * util/grub.d/10_linux.in (prefix): Define.
34207 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
34208
34209 2008-01-13 Pavel Roskin <proski@gnu.org>
34210
34211 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
34212 grub_errno if no errors have been detected.
34213
34214 2008-01-12 Robert Millan <rmh@aybabtu.com>
34215
34216 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
34217 (grub_util_get_dev_abstraction): New function prototype.
34218
34219 * util/getroot.c: Include `<grub/util/getroot.h>'
34220 (grub_util_get_grub_dev): Move detection of abstraction type to ...
34221 (grub_util_get_dev_abstraction): ... here (new function).
34222
34223 * util/grub-probe.c: Convert PRINT_* to an enum. Add
34224 `PRINT_ABSTRACTION'.
34225 (probe): Probe for abstraction type when requested.
34226 (main): Understand `--target=abstraction'.
34227
34228 * util/i386/efi/grub-install.in: Add abstraction module to core
34229 image when it is found to be necessary.
34230 * util/i386/pc/grub-install.in: Likewise.
34231 * util/powerpc/ieee1275/grub-install.in: Likewise.
34232
34233 * util/update-grub_lib.in (font_path): Return system path without
34234 converting to GRUB path.
34235 * util/update-grub.in: Convert system path returned by font_path()
34236 to a GRUB path. Use `grub-probe -t abstraction' to determine what
34237 abstraction module is needed for loading fonts (if any). Export
34238 that as `GRUB_PRELOAD_MODULES'.
34239 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
34240 insmod commands).
34241
34242 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
34243
34244 Remove some unused code from reiserfs.
34245
34246 * fs/reiserfs.c (struct grub_reiserfs_key)
34247 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
34248 (struct grub_reiserfs_node_body): Removed.
34249 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
34250 Likewise.
34251 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34252 Likewise.
34253 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34254 Likewise.
34255 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34256 Likewise.
34257 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
34258 Likewise.
34259 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
34260 Likewise.
34261 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34262 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34263 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34264
34265 2008-01-10 Robert Millan <rmh@aybabtu.com>
34266
34267 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
34268 Determines if a file is garbage left by packaging systems, etc.
34269 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
34270 for processing /etc/grub.d scripts.
34271 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
34272 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
34273 as a condition for processing Linux images.
34274
34275 2008-01-10 Pavel Roskin <proski@gnu.org>
34276
34277 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
34278 to compile reiserfs.c on PowerPC.
34279
34280 2008-01-10 Robert Millan <rmh@aybabtu.com>
34281
34282 * kern/device.c (grub_device_iterate): Do not abort device iteration
34283 when one of the devices cannot be opened.
34284 * kern/disk.c (grub_disk_open): Do not account previous failures of
34285 unrelated functions when grub_errno is checked for.
34286
34287 2008-01-08 Robert Millan <rmh@aybabtu.com>
34288
34289 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
34290 `! grub_linux_is_bzimage', change order of address comparison to make
34291 it more intuitive, and improve "too big zImage" error message.
34292
34293 2008-01-08 Robert Millan <rmh@aybabtu.com>
34294
34295 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
34296 `$(update-grub_DATA)'.
34297 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
34298 targets.
34299
34300 2008-01-07 Robert Millan <rmh@aybabtu.com>
34301
34302 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
34303 which instruction is modified by grub-setup during installation
34304 (since it wasn't obvious by only looking at this file).
34305
34306 2008-01-07 Robert Millan <rmh@aybabtu.com>
34307
34308 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
34309 listing actual TODO items.
34310
34311 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34312
34313 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
34314 correctly.
34315 (grub_reiserfs_get_key_offset): Likewise.
34316 (grub_reiserfs_set_key_offset): Likewise.
34317 (grub_reiserfs_set_key_type): Likewise.
34318 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
34319
34320 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
34321 better to remove the bitfield version completely.
34322
34323 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34324
34325 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
34326 allocated from the heap, due to the fshelp implementation.
34327 (grub_reiserfs_dir): Free NODE, due to the same reason.
34328
34329 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34330
34331 Mostly from Vincent Pelletier:
34332
34333 * fs/reiserfs.c: New file.
34334
34335 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
34336 (reiserfs_mod_SOURCES): New variable.
34337 (reiserfs_mod_CFLAGS): Likewise.
34338 (reiserfs_mod_LDFLAGS): Likewise.
34339
34340 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
34341 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
34342 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
34343 normal/color.c.
34344
34345 2008-01-06 Robert Millan <rmh@aybabtu.com>
34346
34347 * normal/color.c: Remove `<grub/env.h>'.
34348
34349 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
34350
34351 * include/grub/normal.h: Include <grub/env.h>.
34352
34353 2008-01-05 Robert Millan <rmh@aybabtu.com>
34354
34355 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
34356 usage example with `(hd0,1)'.
34357 Reported by Samuel Thibault.
34358
34359 2008-01-05 Robert Millan <rmh@aybabtu.com>
34360
34361 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
34362 (grub_linux_boot_zimage): Rename to ...
34363 (grub_linux_boot): ... this.
34364 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
34365 (grub_linux_boot_zimage): Conditionalize zImage copy.
34366
34367 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
34368 (grub_linux_boot_bzimage): Remove prototype.
34369 (grub_linux_boot_zimage): Rename to ...
34370 (grub_linux_boot): ... this.
34371
34372 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
34373 (grub_linux_boot): Remove function.
34374
34375 2008-01-05 Robert Millan <rmh@aybabtu.com>
34376
34377 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
34378 (grub_env_write_color_highlight): Likewise.
34379 (grub_wait_after_message): Likewise.
34380
34381 * normal/color.c: New file.
34382
34383 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34384 (normal_mod_DEPENDENCIES): Likewise.
34385
34386 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34387 (normal_mod_DEPENDENCIES): Likewise.
34388
34389 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34390 (normal_mod_DEPENDENCIES): Likewise.
34391
34392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34393 (normal_mod_DEPENDENCIES): Likewise.
34394
34395 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
34396 for waiting after a message is printed.
34397 * normal/main.c (read_config_file): Likewise.
34398 (grub_normal_init): Register grub_env_write_color_normal() and
34399 grub_env_write_color_highlight() hooks. Mark `color_normal' and
34400 `color_highlight' variables as global.
34401
34402 * normal/menu.c (grub_wait_after_message): New function.
34403 (grub_color_menu_normal): New variable. Replaces ...
34404 (GRUB_COLOR_MENU_NORMAL): ... this macro.
34405 (grub_color_menu_highlight): New variable. Replaces ...
34406 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
34407 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
34408 `GRUB_TERM_COLOR_STANDARD'.
34409 (print_message): Use `grub_setcolorstate' to reload colors. Rename
34410 `normal_code' and `highlight_code' to `old_color_normal' and
34411 `old_color_highlight', respectively.
34412 (grub_menu_init_page): Update colors when drawing the menu, based on
34413 `menu_color_normal' and `menu_color_highlight' variables.
34414 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
34415 a message is printed.
34416
34417 2008-01-05 Robert Millan <rmh@aybabtu.com>
34418
34419 * kern/env.c (grub_env_context_open): Propagate hooks for global
34420 variables to new context.
34421
34422 * kern/main.c (grub_set_root_dev): Export `root' variable.
34423
34424 2008-01-05 Robert Millan <rmh@aybabtu.com>
34425
34426 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
34427 discs unconditionally, since udev and others have options to provide
34428 them.
34429
34430 2008-01-05 Robert Millan <rmh@aybabtu.com>
34431
34432 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
34433
34434 2008-01-04 Christian Franke <franke@computer.org>
34435
34436 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
34437 of eisa_mmap.
34438
34439 2008-01-03 Pavel Roskin <proski@gnu.org>
34440
34441 * kern/i386/linuxbios/init.c: Put "void" to all function
34442 declarations with no arguments.
34443 * kern/powerpc/ieee1275/init.c: Likewise.
34444 * term/i386/pc/at_keyboard.c: Likewise.
34445 * term/i386/pc/vga_text.c: Likewise.
34446 * util/grub-mkdevicemap.c: Likewise.
34447
34448 2008-01-02 Robert Millan <rmh@aybabtu.com>
34449
34450 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
34451 message when loaded image is out of bounds.
34452 (grub_multiboot_load_elf64): Likewise.
34453
34454 2008-01-02 Pavel Roskin <proski@gnu.org>
34455
34456 * util/grub.d/10_linux.in: Try version without ".old" when
34457 looking for initrd. It's better to use initrd from the newer
34458 kernel of the same version than no initrd at all.
34459
34460 2008-01-01 Robert Millan <rmh@aybabtu.com>
34461
34462 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
34463
34464 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
34465
34466 * include/grub/video.h: Added grub_video_unmap_color and
34467 grub_video_get_active_render_target.
34468 (grub_video_adapter): Added unmap_color and get_active_render_target.
34469
34470 * video/video.c: Added grub_video_unmap_color and
34471 grub_video_get_active_render_target.
34472 (grub_video_get_info): Changed method to accept NULL pointer as an
34473 argument to allow detection of active video adapter.
34474
34475 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
34476 grub_video_vbe_unmap_color_int.
34477 Added grub_video_vbe_unmap_color and
34478 grub_video_vbe_get_active_render_target.
34479 (grub_video_vbe_adapter): Added unmap_color and
34480 get_active_render_target.
34481
34482 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
34483 with grub_video_vbe_unmap_color_int.
34484
34485 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
34486 (DEFAULT_NORMAL_COLOR): Likewise.
34487 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
34488 (DEFAULT_FG_COLOR): Removed.
34489 (DEFAULT_BG_COLOR): Likewise.
34490 (DEFAULT_CURSOR_COLOR): Changed value.
34491 (grub_virtual_screen): Added standard_color_setting,
34492 normal_color_setting, highlight_color_setting and term_color.
34493 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
34494 (bitmap_width): Added.
34495 (bitmap_height): Likewise.
34496 (bitmap): Likewise.
34497 (set_term_color): Likewise.
34498 (grub_virtual_screen_setup): Changed to use new terminal coloring
34499 settings.
34500 (grub_gfxterm_init): Added init for bitmap.
34501 (grub_gfxterm_fini): Added destroy for bitmap.
34502 (redraw_screen_rect): Updated to use background bitmap and new
34503 terminal coloring.
34504 (scroll_up): Added optimization for case when there is no bitmap.
34505 (grub_gfxterm_cls): Fixed to use correct background color.
34506 (grub_virtual_screen_setcolorstate): Changed to use new terminal
34507 coloring.
34508 (grub_virtual_screen_setcolor): Likewise.
34509 (grub_virtual_screen_getcolor): Added.
34510 (grub_gfxterm_background_image_cmd): Likewise.
34511 (grub_video_term): Added setcolor and getcolor.
34512 (MOD_INIT): Added registration of background_image command.
34513 (MOD_TERM): Added unregistration for background_image command.
34514
34515 2007-12-30 Pavel Roskin <proski@gnu.org>
34516
34517 * loader/multiboot_loader.c: Fix multiboot command
34518 unregistration. Fix all typos in the word "multiboot".
34519
34520 2007-12-29 Pavel Roskin <proski@gnu.org>
34521
34522 * util/grub.d/10_linux.in: Refactor search for initrd. Add
34523 support for initrd names used in Fedora.
34524
34525 2007-12-26 Bean <bean123ch@gmail.com>
34526
34527 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
34528 (cpio_mod_SOURCES): New variable.
34529 (cpio_mod_CFLAGS): Likewise.
34530 (cpio_mod_LDFLAGS): Likewise.
34531
34532 * fs/cpio.c: New file.
34533
34534 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
34535
34536 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34537
34538 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34539
34540 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34541
34542 2007-12-25 Robert Millan <rmh@aybabtu.com>
34543
34544 * include/grub/term.h (struct grub_term): Add `getcolor' function.
34545 (grub_getcolor): New function.
34546
34547 * kern/term.c (grub_getcolor): New function.
34548 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
34549 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
34550 (print_entry): Set normal and highlight colors to
34551 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
34552 respectively, before printing and restore them to old
34553 values afterwards.
34554 (grub_menu_init_page): Likewise. Fill an additional colored space
34555 that would otherwise be left blank.
34556
34557 * term/efi/console.c (grub_console_getcolor): New function.
34558 (struct grub_console_term.getcolor): New variable.
34559 * term/i386/pc/console.c (grub_console_getcolor): New function.
34560 (struct grub_console_term.getcolor): New variable.
34561 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
34562 (struct grub_console_term.getcolor): New variable.
34563
34564 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
34565 (struct grub_console_term.setcolor): Remove variable.
34566 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
34567 (struct grub_console_term.setcolor): Remove variable.
34568 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
34569 (struct grub_console_term.setcolor): Remove variable.
34570 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
34571 (struct grub_console_term.setcolor): Remove variable.
34572
34573 2007-12-25 Robert Millan <rmh@aybabtu.com>
34574
34575 * configure.ac: Search for possible unifont.hex locations, and
34576 define UNIFONT_HEX if found.
34577
34578 * Makefile.in (UNIFONT_HEX): Define variable.
34579 (DATA): Rename to ...
34580 (PKGLIB): ... this. Update all users.
34581 (PKGDATA): New variable.
34582 (pkgdata_IMAGES): Rename to ...
34583 (pkglib_IMAGES): ... this. Update all users.
34584 (pkgdata_MODULES): Rename to ...
34585 (pkglib_MODULES): ... this. Update all users.
34586 (pkgdata_PROGRAMS): Rename to ...
34587 (pkglib_PROGRAMS): ... this. Update all users.
34588 (pkgdata_DATA): Rename to ...
34589 (pkglib_DATA): ... this. Update all users.
34590 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
34591 (unicode.pff, ascii.pff): New rules.
34592 (all-local): Add `$(PKGDATA)' dependency.
34593 (install-local): Process `$(PKGDATA)'.
34594
34595 * util/update-grub_lib.in (font_path): Search for *.pff files in
34596 a few more locations, including `${pkgdata}'.
34597
34598 2007-12-23 Robert Millan <rmh@aybabtu.com>
34599
34600 Patch from Bean <bean123ch@gmail.com>:
34601 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
34602 `size'.
34603
34604 2007-12-21 Bean <bean123ch@gmail.com>
34605
34606 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
34607 (ntfscomp_mod_SOURCES): New variable.
34608 (ntfscomp_mod_CFLAGS): Likewise.
34609 (ntfscomp_mod_LDFLAGS): Likewise.
34610
34611 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
34612 (grub_probe_SOURCES): Likewise.
34613 (grub_emu_SOURCES): Likewise.
34614
34615 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34616 (grub_emu_SOURCES): Likewise.
34617
34618 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34619 (grub_emu_SOURCES): Likewise.
34620
34621 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34622 (grub_emu_SOURCES): Likewise.
34623
34624 * fs/ntfs.c (grub_ntfscomp_func): New variable.
34625 (read_run_list): Renamed to grub_ntfs_read_run_list.
34626 (decomp_nextvcn): Moved to ntfscomp.c.
34627 (decomp_getch): Likewise.
34628 (decomp_get16): Likewise.
34629 (decomp_block): Likewise.
34630 (read_block): Likewise.
34631 (read_data): Partially moved to ntfscomp.c.
34632 (fixup): Change unsigned to grub_uint16_t.
34633 (read_mft): Change unsigned long to grub_uint32_t.
34634 (read_attr): Likewise.
34635 (read_data): Likewise.
34636 (read_run_data): Likewise.
34637 (read_run_list): Likewise.
34638 (read_mft): Likewise.
34639
34640 * fs/ntfscomp.c: New file.
34641
34642 * include/grub/ntfs.h: New file.
34643
34644 2007-12-16 Robert Millan <rmh@aybabtu.com>
34645
34646 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
34647 IDE disk check, since Linux is known to support 20 IDE disks.
34648 Reported by Colin Watson.
34649
34650 2007-12-15 Bean <bean123ch@gmail.com>
34651
34652 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
34653 (lnxboot_img_SOURCES): New variable.
34654 (lnxboot_img_ASFLAGS): Likewise.
34655 (lnxboot_img_LDFLAGS): Likewise.
34656
34657 * boot/i386/pc/lnxboot.S: New file.
34658
34659 2007-11-24 Pavel Roskin <proski@gnu.org>
34660
34661 * configure.ac: Test if '--build-id=none' is supported by the
34662 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
34663 objcopy to generate incorrect binary files (binutils
34664 2.17.50.0.18-1 as shipped by Fedora 8).
34665 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
34666 linking, so that build ID doesn't break the test.
34667
34668 2007-11-24 Pavel Roskin <proski@gnu.org>
34669
34670 * include/grub/i386/time.h: use "void" in the argument list
34671 of grub_cpu_idle().
34672 * include/grub/powerpc/time.h: Likewise.
34673 * include/grub/sparc64/time.h: Likewise.
34674
34675 2007-11-18 Christian Franke <franke@computer.org>
34676
34677 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
34678 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
34679 This fixes the problem that function keys did not work in grub-emu.
34680
34681 2007-11-18 Christian Franke <franke@computer.org>
34682
34683 * disk/host.c (grub_host_open): Remove attribute unused from
34684 name parameter. Add check for "host". This fixes the problem
34685 that grub-emu does not find partitions.
34686
34687 2007-11-18 Christian Franke <franke@computer.org>
34688
34689 * util/hostfs.c (is_dir): New function.
34690 (grub_hostfs_dir): Handle missing dirent.d_type case.
34691 (grub_hostfs_read): Add missing fseek().
34692 (grub_hostfs_label): Clear label pointer. This fixes a crash
34693 of grub-emu on "ls (host)".
34694
34695 2007-11-18 Christian Franke <franke@computer.org>
34696
34697 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
34698 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
34699 to 64 bit boundary by default.
34700
34701 2007-11-18 Bean <bean123ch@gmail.com>
34702
34703 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
34704 (hexdump_mod_SOURCES): New variable.
34705 (hexdump_mod_CFLAGS): Likewise.
34706 (hexdump_mod_LDFLAGS): Likewise.
34707
34708 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34709
34710 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34711
34712 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34713
34714 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34715
34716 * include/grub/hexdump.h: New file.
34717
34718 * commands/hexdump.c: New file.
34719
34720 2007-11-10 Robert Millan <rmh@aybabtu.com>
34721
34722 * commands/i386/pc/play.c (beep_off): Switch order of arguments
34723 in grub_outb() calls.
34724 (beep_on): Likewise.
34725
34726 2007-11-10 Christian Franke <franke@computer.org>
34727
34728 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
34729 (grub_menu_run): Likewise.
34730
34731 2007-11-10 Robert Millan <rmh@aybabtu.com>
34732
34733 * include/grub/i386/efi/machine.h: New file.
34734 * include/grub/i386/linuxbios/machine.h: Likewise.
34735 * include/grub/i386/pc/machine.h: Likewise.
34736 * include/grub/powerpc/ieee1275/machine.h: Likewise.
34737 * include/grub/sparc64/ieee1275/machine.h: Likewise.
34738
34739 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
34740 (serial_hw_io_addr): New variable.
34741 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
34742 instead of `(unsigned short *) 0x400'.
34743
34744 2007-11-10 Bean <bean123ch@gmail.com>
34745
34746 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
34747
34748 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
34749
34750 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
34751 (vga_mod_SOURCES): Added.
34752 (vga_mod_CFLAGS): Likewise.
34753 (vga_mod_LDFLAGS): Likewise.
34754
34755 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
34756 grub_outb() calls.
34757 (set_map_mask): Likewise.
34758 (set_read_map): Likewise.
34759 (set_read_address): Likewise.
34760 (vga_font): Removed variable.
34761 (get_vga_glyph): Removed function.
34762 (invalidate_char): Likewise.
34763 (write_char): Changed to use grub_font_get_glyph() for font
34764 information.
34765 (grub_vga_putchar): Likewise.
34766 (grub_vga_getcharwidth): Likewise.
34767
34768 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
34769
34770 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
34771 flags.
34772 (pxeboot_img_LDFLAGS): Likewise.
34773 (diskboot_img_LDFLAGS): Likewise.
34774 (kernel_img_LDFLAGS): Likewise.
34775
34776 2007-11-06 Robert Millan <rmh@aybabtu.com>
34777
34778 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
34779 in grub_outb() calls.
34780 (serial_hw_init): Likewise.
34781
34782 2007-11-05 Robert Millan <rmh@aybabtu.com>
34783
34784 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
34785 spaces. Skip non-regular files.
34786
34787 2007-11-05 Robert Millan <rmh@aybabtu.com>
34788
34789 * kern/disk.c (grub_disk_firmware_fini)
34790 (grub_disk_firmware_is_tainted): New variables.
34791
34792 * include/grub/disk.h (grub_disk_firmware_fini)
34793 (grub_disk_firmware_is_tainted): Likewise.
34794
34795 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
34796 (grub_disk_biosdisk_fini): ... to here.
34797 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
34798 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
34799 is set. Register grub_disk_biosdisk_fini() in
34800 `grub_disk_firmware_fini'.
34801
34802 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
34803 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
34804 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
34805 to finish existing firmware disk interface.
34806
34807 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
34808 (ata_mod_SOURCES): New variable.
34809 (ata_mod_CFLAGS): Likewise.
34810 (ata_mod_LDFLAGS): Likewise.
34811
34812 2007-11-05 Robert Millan <rmh@aybabtu.com>
34813
34814 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
34815 (grub_ata_wait): Reimplement using grub_millisleep().
34816
34817 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
34818 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
34819
34820 2007-11-03 Marco Gerards <marco@gnu.org>
34821
34822 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
34823 (CRTC_ADDR_PORT): New macro.
34824 (CRTC_DATA_PORT): Likewise.
34825 (CRTC_CURSOR): Likewise.
34826 (CRTC_CURSOR_ADDR_HIGH): Likewise.
34827 (CRTC_CURSOR_ADDR_LOW): Likewise.
34828 (update_cursor): New function.
34829 (grub_console_real_putchar): Call `update_cursor'.
34830 (grub_console_gotoxy): Likewise.
34831 (grub_console_cls): Set the default color when clearing the
34832 screen.
34833 (grub_console_setcursor): Implemented.
34834
34835 2007-11-03 Marco Gerards <marco@gnu.org>
34836
34837 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
34838 become activate.
34839 (grub_ata_pio_write): Likewise.
34840
34841 (grub_atapi_identify): Wait after issuing an ATA command.
34842 (grub_atapi_packet): Likewise.
34843 (grub_ata_identify): Likewise.
34844 (grub_ata_readwrite): Likewise.
34845
34846 2007-11-03 Marco Gerards <marco@gnu.org>
34847
34848 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
34849 (grub_ata_pio_write): Likewise.
34850 (grub_ata_readwrite): Use `grub_error', instead of
34851 returning `grub_errno'.
34852
34853 2007-11-03 Marco Gerards <marco@gnu.org>
34854
34855 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
34856 grub_ata_pio_write once for every single sector, instead of for
34857 multiple sectors.
34858
34859 2007-10-31 Robert Millan <rmh@aybabtu.com>
34860
34861 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
34862
34863 * conf/i386-linuxbios.rmk: New file.
34864
34865 * kern/i386/pc/hardware.c: Likewise.
34866 * term/i386/pc/at_keyboard.c: Likewise.
34867 * term/i386/pc/vga_text.c: Likewise.
34868
34869 * include/grub/i386/linuxbios/boot.h: Likewise.
34870 * include/grub/i386/linuxbios/console.h: Likewise.
34871 * include/grub/i386/linuxbios/init.h: Likewise.
34872 * include/grub/i386/linuxbios/kernel.h: Likewise.
34873 * include/grub/i386/linuxbios/loader.h: Likewise.
34874 * include/grub/i386/linuxbios/memory.h: Likewise.
34875 * include/grub/i386/linuxbios/serial.h: Likewise.
34876 * include/grub/i386/linuxbios/time.h: Likewise.
34877
34878 * kern/i386/linuxbios/init.c: Likewise.
34879 * kern/i386/linuxbios/startup.S: Likewise.
34880 * kern/i386/linuxbios/table.c: Likewise.
34881
34882 2007-10-31 Marco Gerards <marco@gnu.org>
34883
34884 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
34885 (ata_mod_SOURCES): New variable.
34886 (ata_mod_CFLAGS): Likewise.
34887 (ata_mod_LDFLAGS): Likewise.
34888
34889 * disk/ata.c: New file.
34890
34891 * include/grub/disk.h (grub_disk_dev_id): Add
34892 `GRUB_DISK_DEV_ATA_ID'.
34893
34894 2007-10-31 Robert Millan <rmh@aybabtu.com>
34895
34896 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
34897 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
34898
34899 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
34900 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
34901
34902 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
34903 `<grub/types.h>'.
34904
34905 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
34906
34907 2007-10-27 Robert Millan <rmh@aybabtu.com>
34908
34909 * include/grub/types.h (ULONG_MAX): Define macro.
34910
34911 2007-10-22 Robert Millan <rmh@aybabtu.com>
34912
34913 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
34914 `"../realmode.S"'.
34915 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
34916
34917 2007-10-22 Robert Millan <rmh@aybabtu.com>
34918
34919 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
34920 (pkgdata_MODULES): Add `biosdisk.mod'.
34921 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
34922 variables.
34923
34924 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
34925 (grub_biosdisk_init): Replace with ...
34926 (GRUB_MOD_INIT(biosdisk)): ... this.
34927 (grub_biosdisk_fini): Replace with ...
34928 (GRUB_MOD_FINI(biosdisk)): ... this.
34929
34930 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
34931 (grub_machine_init): Remove call to grub_biosdisk_init().
34932 (grub_machine_fini): Remove call to grub_machine_fini().
34933
34934 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
34935
34936 2007-10-22 Robert Millan <rmh@aybabtu.com>
34937
34938 * include/grub/time.h: New file.
34939 * include/grub/i386/time.h: Likewise.
34940 * include/grub/powerpc/time.h: Likewise.
34941 * include/grub/sparc64/time.h: Likewise.
34942
34943 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
34944 instances to ...
34945 (KERNEL_MACHINE_TIME_HEADER): ... this.
34946 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
34947 instances to ...
34948 (KERNEL_MACHINE_TIME_HEADER): ... this.
34949 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
34950 instances to ...
34951 (KERNEL_MACHINE_TIME_HEADER): ... this.
34952
34953 * kern/i386/efi/init.c: Include `<grub/time.h>'.
34954 (grub_millisleep): New function.
34955 * kern/i386/pc/init.c: Include `<grub/time.h>'.
34956 (grub_millisleep): New function.
34957 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
34958 Remove `grub/machine/time.h' include.
34959 (grub_millisleep): New function.
34960 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
34961 Remove `grub/machine/time.h' include.
34962 (grub_millisleep): New function.
34963
34964 * include/grub/misc.h (grub_div_roundup): New function.
34965
34966 * kern/misc.c: Include `<grub/time.h>'.
34967 (grub_millisleep_generic): New function.
34968
34969 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
34970 Add `time.h'.
34971 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
34972 Add `time.h'.
34973 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
34974 `machine/time.h'. Add `time.h'.
34975 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34976
34977 2007-10-21 Robert Millan <rmh@aybabtu.com>
34978
34979 * include/grub/misc.h (grub_max): New function.
34980
34981 2007-10-21 Robert Millan <rmh@aybabtu.com>
34982
34983 * util/misc.c (grub_util_info): Call fflush() before returning.
34984
34985 2007-10-20 Robert Millan <rmh@aybabtu.com>
34986
34987 * genmk.rb (Image): Copy `extra_flags' from here ...
34988 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
34989
34990 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
34991 to `argc' and `args' arguments.
34992
34993 2007-10-17 Robert Millan <rmh@aybabtu.com>
34994
34995 * kern/i386/loader.S: New file.
34996
34997 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
34998 * kern/i386/loader.S (grub_linux_prot_size)... to here.
34999 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
35000 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
35001 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
35002 * kern/i386/loader.S (grub_linux_real_addr)... to here.
35003 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
35004 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
35005 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
35006 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
35007 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
35008 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
35009 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
35010 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
35011
35012 * kern/i386/realmode.S: New file.
35013
35014 * kern/i386/pc/startup.S (protstack): Moved from here ...
35015 * kern/i386/realmode.S (protstack)... to here.
35016 * kern/i386/pc/startup.S (gdt): Moved from here ...
35017 * kern/i386/realmode.S (gdt)... to here.
35018 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
35019 * kern/i386/realmode.S (prot_to_real)... to here.
35020
35021 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
35022 `kern/i386/realmode.S'.
35023
35024 2007-10-17 Robert Millan <rmh@aybabtu.com>
35025
35026 * include/grub/i386/loader.h: New file.
35027
35028 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
35029 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
35030 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
35031 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
35032 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
35033 * include/grub/i386/loader.h (grub_linux_prot_size)
35034 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
35035 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
35036 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
35037 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
35038
35039 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
35040
35041 2007-10-15 Robert Millan <rmh@aybabtu.com>
35042
35043 * normal/misc.c (grub_normal_print_device_info): Do not probe for
35044 filesystem when dev->disk is unset.
35045 Do probe for filesystem even when dev->disk->has_partitions is set.
35046 In case a filesystem is found, always report it.
35047 In case it isn't, if dev->disk->has_partitions is set, report that
35048 a partition table was found instead of reporting that no filesystem
35049 could be identified.
35050
35051 2007-10-12 Robert Millan <rmh@aybabtu.com>
35052
35053 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
35054 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
35055
35056 * include/grub/types.h (grub_host_to_target16): New macro.
35057 (grub_host_to_target32): Likewise.
35058 (grub_host_to_target64): Likewise.
35059 (grub_target_to_host16): Likewise.
35060 (grub_target_to_host32): Likewise.
35061 (grub_target_to_host64): Likewise.
35062
35063 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
35064 Renamed from to ...
35065 (GRUB_MOD_ALIGN): ...this. Update all users.
35066
35067 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
35068 grub_host_to_target32.
35069 Replace grub_be_to_cpu32 with grub_target_to_host32.
35070 (load_modules): Likewise.
35071 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
35072 Replace grub_be_to_cpu32 with grub_target_to_host32.
35073 Replace grub_cpu_to_be16 with grub_host_to_target16.
35074 Replace grub_cpu_to_be32 grub_host_to_target32.
35075
35076 2007-10-12 Robert Millan <rmh@aybabtu.com>
35077
35078 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
35079 * util/elf/grub-mkimage.c: ... here.
35080
35081 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
35082 `util/powerpc/ieee1275/grub-mkimage.c'.
35083
35084 2007-10-07 Robert Millan <rmh@aybabtu.com>
35085
35086 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
35087 and make it easier to figure out.
35088 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
35089 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
35090 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
35091 leave us with less than HEAP_MIN_SIZE total heap.
35092 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
35093
35094 2007-10-03 Robert Millan <rmh@aybabtu.com>
35095
35096 * include/grub/i386/io.h: New file.
35097 * commands/i386/pc/play.c (inb): Removed.
35098 (outb): Removed.
35099 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
35100 with grub_outb().
35101 * term/i386/pc/serial.c (inb): Removed.
35102 (outb): Removed.
35103 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
35104 with grub_outb().
35105 * term/i386/pc/vga.c (inb): Removed.
35106 (outb): Removed.
35107 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
35108 with grub_outb().
35109
35110 2007-10-02 Robert Millan <rmh@aybabtu.com>
35111
35112 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
35113 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35114 Reported by Marcin Kurek.
35115
35116 2007-09-07 Robert Millan <rmh@aybabtu.com>
35117
35118 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
35119 SmartFirmware version updates (as released by Sven Luther), and avoid
35120 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
35121 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
35122 known broken.
35123
35124 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
35125
35126 From Hitoshi Ozeki:
35127 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
35128 when merging two regions.
35129
35130 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
35131
35132 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
35133 * normal/completion.c (grub_normal_do_completion): Likewise.
35134 Reported by Hitoshi Ozeki.
35135
35136 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
35137
35138 Do not use devices at boot in chainloading.
35139
35140 * loader/i386/pc/chainloader.c (boot_drive): New variable.
35141 (boot_part_addr): Likewise.
35142 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
35143 with BOOT_DRIVE and BOOT_PART_ADDR.
35144 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
35145 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
35146
35147 2007-08-29 Robert Millan <rmh@aybabtu.com>
35148
35149 Patch from Simon Peter <dn.tlp@gmx.net>:
35150 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
35151 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
35152 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
35153 util/i386/pc/grub-setup.c_DEPENDENCIES.
35154 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
35155 util/grub-probe.c_DEPENDENCIES.
35156 * conf/powerpc-ieee1275.rmk: Likewise.
35157
35158 2007-08-28 Robert Millan <rmh@aybabtu.com>
35159
35160 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
35161 to tell grub-mkdevicemap how to name devices.
35162 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
35163 feature).
35164
35165 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
35166 util/i386/get_disk_name.c.
35167 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
35168 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
35169 util/ieee1275/get_disk_name.c.
35170
35171 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
35172
35173 * DISTLIST: Add util/i386/get_disk_name.c and
35174 util/ieee1275/get_disk_name.c.
35175
35176 * util/grub-mkdevicemap.c: Replace device naming logic with
35177 grub_util_get_disk_name() calls.
35178
35179 2007-08-20 Robert Millan <rmh@aybabtu.com>
35180
35181 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
35182 (so that it works for both plural and singular quantities).
35183
35184 2007-08-05 Robert Millan <rmh@aybabtu.com>
35185
35186 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
35187 so that [xz] isn't taken into account when determining order.
35188
35189 2007-08-02 Marco Gerards <marco@gnu.org>
35190
35191 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
35192 `include/multiboot2.h', `include/grub/elfload.h',
35193 `include/multiboot.h', `include/grub/multiboot.h',
35194 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
35195 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
35196 `kern/elf.c', `loader/multiboot_loader.c',
35197 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
35198 `loader/i386/pc/multiboot2.c',
35199 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
35200 `util/i386/pc/grub-mkrescue.in'. Remove
35201 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
35202 `include/grub/i386/pc/util/biosdisk.h' and
35203 `include/grub/powerpc/ieee1275/multiboot.h'.
35204
35205 2007-08-02 Bean <bean123ch@gmail.com>
35206
35207 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
35208 (ntfs_mod_SOURCES): New variable.
35209 (ntfs_mod_CFLAGS): Likewise.
35210 (ntfs_mod_LDFLAGS): Likewise.
35211
35212 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
35213 (grub_probe_SOURCES): Likewise.
35214 (grub_emu_SOURCES): Likewise.
35215
35216 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
35217 (grub_emu_SOURCES): Likewise.
35218
35219 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
35220 (grub_emu_SOURCES): Likewise.
35221
35222 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
35223
35224 * fs/ntfs.c: New file.
35225
35226 2007-08-02 Bean <bean123ch@gmail.com>
35227
35228 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
35229
35230 * file.h (grub_file): Likewise.
35231
35232 * fshelp.h (grub_fshelp_read_file): Likewise.
35233
35234 * util/i386/pc/grub-setup.c (setup): Likewise.
35235 (save_first_sector): Likewise.
35236 (save_blocklists): Likewise.
35237
35238 * fs/affs.c (grub_affs_read_file): Likewise.
35239
35240 * fs/ext2.c (grub_ext2_read_file): Likewise.
35241
35242 * fs/fat.c (grub_fat_read_data): Likewise.
35243
35244 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
35245
35246 * fs/hfs.c (grub_hfs_read_file): Likewise.
35247
35248 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
35249
35250 * fs/jfs.c (grub_jfs_read_file): Likewise.
35251
35252 * fs/minix.c (grub_minix_read_file): Likewise.
35253
35254 * fs/sfs.c (grub_sfs_read_file): Likewise.
35255
35256 * fs/ufs.c (grub_ufs_read_file): Likewise.
35257
35258 * fs/xfs.c (grub_xfs_read_file): Likewise.
35259
35260 * command/blocklist.c (read_blocklist): Likewise.
35261 (print_blocklist): Likewise.
35262
35263 2007-08-02 Marco Gerards <marco@gnu.org>
35264
35265 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
35266 `util/hostfs.c'.
35267
35268 * disk/host.c: New file.
35269
35270 * util/hostfs.c: Likewise.
35271
35272 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
35273 return `GRUB_ERR_BAD_FS'.
35274 * fs/sfs.c (grub_sfs_mount): Likewise.
35275 * fs/xfs.c (grub_xfs_mount): Likewise.
35276
35277 * include/grub/disk.h (enum grub_disk_dev_id): Add
35278 `GRUB_DISK_DEVICE_HOST_ID'.
35279
35280 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
35281
35282 2007-07-24 Jerone Young <jerone@gmail.com>
35283
35284 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
35285 modules for compilation.
35286 * conf/powerpc-ieee1275.rmk: Likewise.
35287
35288 * include/multiboot.h: Move multiboot definitions to one file. Rename
35289 many definitions to not get grub specific.
35290 * include/multiboot2.h: Create header with multiboot 2 definitions.
35291 * include/grub/multiboot.h: Header for grub specific function
35292 prototypes and definitions.
35293 * include/grub/multiboot2.h: Likewise.
35294 * include/grub/multiboot_loader.h: Likewise.
35295 * include/grub/i386/pc/multiboot.h: Removed.
35296 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
35297
35298 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
35299 and 2 to allow for one multiboot and module commands.
35300 * loader/multiboot2.c: Add multiboot2 functionality.
35301 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
35302 and definition names.
35303 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
35304 2 functions.
35305 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
35306 ieee1275 specific multiboot2 code.
35307
35308 * kern/i386/pc/startup.S: Change headers and definition names for
35309 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
35310
35311 2007-07-22 Robert Millan <rmh@aybabtu.com>
35312
35313 * geninitheader.sh: Process file specified in first parameter rather
35314 than hardcoding grub_modules_init.lst.
35315 * geninit.sh: Likewise. Also, construct header name dynamically rather
35316 than hardcoding grub_modules_init.h.
35317
35318 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
35319 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
35320 grub_probe_init.[ch] and grub_setup_init.[ch].
35321
35322 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
35323 grub_modules_init.h with grub_emu_init.h.
35324 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
35325 grub_probe_init.[ch] files.
35326 * conf/i386-efi.rmk: Likewise.
35327 * conf/i386-pc.rmk: Likewise.
35328 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
35329 grub_setup_init.[ch] files.
35330
35331 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
35332 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
35333 to initialize modules rather than a list of hardcoded functions.
35334 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
35335 grub_init_all() to initialize modules rather than a list of hardcoded
35336 functions.
35337
35338 2007-07-22 Robert Millan <rmh@aybabtu.com>
35339
35340 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
35341 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
35342
35343 2007-07-22 Robert Millan <rmh@aybabtu.com>
35344
35345 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35346 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
35347 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
35348 flag when running on SmartFirmware.
35349 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
35350 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
35351 was set.
35352
35353 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
35354 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
35355 rather than decreasing it.
35356
35357 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
35358 there's not enough space to do it, fail in the same way as when it
35359 can't be done because there are no partitions.
35360
35361 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
35362 when nvsetenv failed.
35363
35364 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
35365
35366 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
35367 because this rule is automatically generated.
35368 (grub-mkrescue): Removed for the same reason as above.
35369
35370 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
35371
35372 Migrate to GNU General Public License Version 3.
35373
35374 * COPYING: Replaced with the plain text version of GPLv3.
35375
35376 * config.guess: Updated from gnulib.
35377 * config.sub: Likewise.
35378
35379 * geninit.sh: Output a GPLv3 copyright notice.
35380 * geninitheader.sh: Likewise.
35381 * genmodsrc.sh: Likewise.
35382 * gensymlist.sh.in: Likewise.
35383
35384 * boot/i386/pc/boot.S: Upgraded to GPLv3.
35385 * boot/i386/pc/diskboot.S: Likewise.
35386 * boot/i386/pc/pxeboot.S: Likewise.
35387 * commands/blocklist.c: Likewise.
35388 * commands/boot.c: Likewise.
35389 * commands/cat.c: Likewise.
35390 * commands/cmp.c: Likewise.
35391 * commands/configfile.c: Likewise.
35392 * commands/echo.c: Likewise.
35393 * commands/help.c: Likewise.
35394 * commands/ls.c: Likewise.
35395 * commands/search.c: Likewise.
35396 * commands/terminal.c: Likewise.
35397 * commands/test.c: Likewise.
35398 * commands/videotest.c: Likewise.
35399 * commands/i386/cpuid.c: Likewise.
35400 * commands/i386/pc/halt.c: Likewise.
35401 * commands/i386/pc/play.c: Likewise.
35402 * commands/i386/pc/reboot.c: Likewise.
35403 * commands/i386/pc/vbeinfo.c: Likewise.
35404 * commands/i386/pc/vbetest.c: Likewise.
35405 * commands/ieee1275/halt.c: Likewise.
35406 * commands/ieee1275/reboot.c: Likewise.
35407 * commands/ieee1275/suspend.c: Likewise.
35408 * disk/loopback.c: Likewise.
35409 * disk/lvm.c: Likewise.
35410 * disk/raid.c: Likewise.
35411 * disk/efi/efidisk.c: Likewise.
35412 * disk/i386/pc/biosdisk.c: Likewise.
35413 * disk/ieee1275/ofdisk.c: Likewise.
35414 * font/manager.c: Likewise.
35415 * fs/affs.c: Likewise.
35416 * fs/ext2.c: Likewise.
35417 * fs/fat.c: Likewise.
35418 * fs/fshelp.c: Likewise.
35419 * fs/hfs.c: Likewise.
35420 * fs/hfsplus.c: Likewise.
35421 * fs/iso9660.c: Likewise.
35422 * fs/jfs.c: Likewise.
35423 * fs/minix.c: Likewise.
35424 * fs/sfs.c: Likewise.
35425 * fs/ufs.c: Likewise.
35426 * fs/xfs.c: Likewise.
35427 * hello/hello.c: Likewise.
35428 * include/grub/acorn_filecore.h: Likewise.
35429 * include/grub/arg.h: Likewise.
35430 * include/grub/bitmap.h: Likewise.
35431 * include/grub/boot.h: Likewise.
35432 * include/grub/cache.h: Likewise.
35433 * include/grub/device.h: Likewise.
35434 * include/grub/disk.h: Likewise.
35435 * include/grub/dl.h: Likewise.
35436 * include/grub/elfload.h: Likewise.
35437 * include/grub/env.h: Likewise.
35438 * include/grub/err.h: Likewise.
35439 * include/grub/file.h: Likewise.
35440 * include/grub/font.h: Likewise.
35441 * include/grub/fs.h: Likewise.
35442 * include/grub/fshelp.h: Likewise.
35443 * include/grub/gzio.h: Likewise.
35444 * include/grub/hfs.h: Likewise.
35445 * include/grub/kernel.h: Likewise.
35446 * include/grub/loader.h: Likewise.
35447 * include/grub/lvm.h: Likewise.
35448 * include/grub/misc.h: Likewise.
35449 * include/grub/mm.h: Likewise.
35450 * include/grub/net.h: Likewise.
35451 * include/grub/normal.h: Likewise.
35452 * include/grub/parser.h: Likewise.
35453 * include/grub/partition.h: Likewise.
35454 * include/grub/pc_partition.h: Likewise.
35455 * include/grub/raid.h: Likewise.
35456 * include/grub/rescue.h: Likewise.
35457 * include/grub/script.h: Likewise.
35458 * include/grub/setjmp.h: Likewise.
35459 * include/grub/symbol.h: Likewise.
35460 * include/grub/term.h: Likewise.
35461 * include/grub/terminfo.h: Likewise.
35462 * include/grub/tparm.h: Likewise.
35463 * include/grub/types.h: Likewise.
35464 * include/grub/video.h: Likewise.
35465 * include/grub/efi/api.h: Likewise.
35466 * include/grub/efi/chainloader.h: Likewise.
35467 * include/grub/efi/console.h: Likewise.
35468 * include/grub/efi/console_control.h: Likewise.
35469 * include/grub/efi/disk.h: Likewise.
35470 * include/grub/efi/efi.h: Likewise.
35471 * include/grub/efi/pe32.h: Likewise.
35472 * include/grub/efi/time.h: Likewise.
35473 * include/grub/i386/linux.h: Likewise.
35474 * include/grub/i386/setjmp.h: Likewise.
35475 * include/grub/i386/types.h: Likewise.
35476 * include/grub/i386/efi/kernel.h: Likewise.
35477 * include/grub/i386/efi/loader.h: Likewise.
35478 * include/grub/i386/efi/time.h: Likewise.
35479 * include/grub/i386/pc/biosdisk.h: Likewise.
35480 * include/grub/i386/pc/boot.h: Likewise.
35481 * include/grub/i386/pc/chainloader.h: Likewise.
35482 * include/grub/i386/pc/console.h: Likewise.
35483 * include/grub/i386/pc/init.h: Likewise.
35484 * include/grub/i386/pc/kernel.h: Likewise.
35485 * include/grub/i386/pc/loader.h: Likewise.
35486 * include/grub/i386/pc/memory.h: Likewise.
35487 * include/grub/i386/pc/multiboot.h: Likewise.
35488 * include/grub/i386/pc/serial.h: Likewise.
35489 * include/grub/i386/pc/time.h: Likewise.
35490 * include/grub/i386/pc/vbe.h: Likewise.
35491 * include/grub/i386/pc/vbeblit.h: Likewise.
35492 * include/grub/i386/pc/vbefill.h: Likewise.
35493 * include/grub/i386/pc/vbeutil.h: Likewise.
35494 * include/grub/i386/pc/vga.h: Likewise.
35495 * include/grub/ieee1275/ieee1275.h: Likewise.
35496 * include/grub/ieee1275/ofdisk.h: Likewise.
35497 * include/grub/powerpc/libgcc.h: Likewise.
35498 * include/grub/powerpc/setjmp.h: Likewise.
35499 * include/grub/powerpc/types.h: Likewise.
35500 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
35501 * include/grub/powerpc/ieee1275/console.h: Likewise.
35502 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
35503 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
35504 * include/grub/powerpc/ieee1275/loader.h: Likewise.
35505 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
35506 * include/grub/powerpc/ieee1275/time.h: Likewise.
35507 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
35508 * include/grub/sparc64/libgcc.h: Likewise.
35509 * include/grub/sparc64/setjmp.h: Likewise.
35510 * include/grub/sparc64/types.h: Likewise.
35511 * include/grub/sparc64/ieee1275/console.h: Likewise.
35512 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
35513 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
35514 * include/grub/sparc64/ieee1275/time.h: Likewise.
35515 * include/grub/util/biosdisk.h: Likewise.
35516 * include/grub/util/getroot.h: Likewise.
35517 * include/grub/util/lvm.h: Likewise.
35518 * include/grub/util/misc.h: Likewise.
35519 * include/grub/util/raid.h: Likewise.
35520 * include/grub/util/resolve.h: Likewise.
35521 * io/gzio.c: Likewise.
35522 * kern/device.c: Likewise.
35523 * kern/disk.c: Likewise.
35524 * kern/dl.c: Likewise.
35525 * kern/elf.c: Likewise.
35526 * kern/env.c: Likewise.
35527 * kern/err.c: Likewise.
35528 * kern/file.c: Likewise.
35529 * kern/fs.c: Likewise.
35530 * kern/loader.c: Likewise.
35531 * kern/main.c: Likewise.
35532 * kern/misc.c: Likewise.
35533 * kern/mm.c: Likewise.
35534 * kern/parser.c: Likewise.
35535 * kern/partition.c: Likewise.
35536 * kern/rescue.c: Likewise.
35537 * kern/term.c: Likewise.
35538 * kern/efi/efi.c: Likewise.
35539 * kern/efi/init.c: Likewise.
35540 * kern/efi/mm.c: Likewise.
35541 * kern/i386/dl.c: Likewise.
35542 * kern/i386/efi/init.c: Likewise.
35543 * kern/i386/efi/startup.S: Likewise.
35544 * kern/i386/pc/init.c: Likewise.
35545 * kern/i386/pc/lzo1x.S: Likewise.
35546 * kern/i386/pc/startup.S: Likewise.
35547 * kern/ieee1275/ieee1275.c: Likewise.
35548 * kern/powerpc/cache.S: Likewise.
35549 * kern/powerpc/dl.c: Likewise.
35550 * kern/powerpc/ieee1275/cmain.c: Likewise.
35551 * kern/powerpc/ieee1275/crt0.S: Likewise.
35552 * kern/powerpc/ieee1275/init.c: Likewise.
35553 * kern/powerpc/ieee1275/openfw.c: Likewise.
35554 * kern/sparc64/cache.S: Likewise.
35555 * kern/sparc64/dl.c: Likewise.
35556 * kern/sparc64/ieee1275/init.c: Likewise.
35557 * kern/sparc64/ieee1275/openfw.c: Likewise.
35558 * loader/efi/chainloader.c: Likewise.
35559 * loader/efi/chainloader_normal.c: Likewise.
35560 * loader/i386/efi/linux.c: Likewise.
35561 * loader/i386/efi/linux_normal.c: Likewise.
35562 * loader/i386/pc/chainloader.c: Likewise.
35563 * loader/i386/pc/chainloader_normal.c: Likewise.
35564 * loader/i386/pc/linux.c: Likewise.
35565 * loader/i386/pc/linux_normal.c: Likewise.
35566 * loader/i386/pc/multiboot.c: Likewise.
35567 * loader/i386/pc/multiboot_normal.c: Likewise.
35568 * loader/powerpc/ieee1275/linux.c: Likewise.
35569 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
35570 * normal/arg.c: Likewise.
35571 * normal/cmdline.c: Likewise.
35572 * normal/command.c: Likewise.
35573 * normal/completion.c: Likewise.
35574 * normal/execute.c: Likewise.
35575 * normal/function.c: Likewise.
35576 * normal/lexer.c: Likewise.
35577 * normal/main.c: Likewise.
35578 * normal/menu.c: Likewise.
35579 * normal/menu_entry.c: Likewise.
35580 * normal/misc.c: Likewise.
35581 * normal/parser.y: Likewise.
35582 * normal/script.c: Likewise.
35583 * normal/i386/setjmp.S: Likewise.
35584 * normal/powerpc/setjmp.S: Likewise.
35585 * normal/sparc64/setjmp.S: Likewise.
35586 * partmap/acorn.c: Likewise.
35587 * partmap/amiga.c: Likewise.
35588 * partmap/apple.c: Likewise.
35589 * partmap/gpt.c: Likewise.
35590 * partmap/pc.c: Likewise.
35591 * partmap/sun.c: Likewise.
35592 * term/gfxterm.c: Likewise.
35593 * term/terminfo.c: Likewise.
35594 * term/efi/console.c: Likewise.
35595 * term/i386/pc/console.c: Likewise.
35596 * term/i386/pc/serial.c: Likewise.
35597 * term/i386/pc/vesafb.c: Likewise.
35598 * term/i386/pc/vga.c: Likewise.
35599 * term/ieee1275/ofconsole.c: Likewise.
35600 * util/biosdisk.c: Likewise.
35601 * util/console.c: Likewise.
35602 * util/genmoddep.c: Likewise.
35603 * util/getroot.c: Likewise.
35604 * util/grub-emu.c: Likewise.
35605 * util/grub-mkdevicemap.c: Likewise.
35606 * util/grub-probe.c: Likewise.
35607 * util/lvm.c: Likewise.
35608 * util/misc.c: Likewise.
35609 * util/raid.c: Likewise.
35610 * util/resolve.c: Likewise.
35611 * util/update-grub.in: Likewise.
35612 * util/update-grub_lib.in: Likewise.
35613 * util/grub.d/00_header.in: Likewise.
35614 * util/grub.d/10_hurd.in: Likewise.
35615 * util/grub.d/10_linux.in: Likewise.
35616 * util/i386/efi/grub-install.in: Likewise.
35617 * util/i386/efi/grub-mkimage.c: Likewise.
35618 * util/i386/pc/grub-install.in: Likewise.
35619 * util/i386/pc/grub-mkimage.c: Likewise.
35620 * util/i386/pc/grub-mkrescue.in: Likewise.
35621 * util/i386/pc/grub-setup.c: Likewise.
35622 * util/i386/pc/misc.c: Likewise.
35623 * util/powerpc/ieee1275/grub-install.in: Likewise.
35624 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
35625 * util/powerpc/ieee1275/misc.c: Likewise.
35626 * video/bitmap.c: Likewise.
35627 * video/video.c: Likewise.
35628 * video/i386/pc/vbe.c: Likewise.
35629 * video/i386/pc/vbeblit.c: Likewise.
35630 * video/i386/pc/vbefill.c: Likewise.
35631 * video/i386/pc/vbeutil.c: Likewise.
35632 * video/readers/tga.c: Likewise.
35633
35634 2007-07-02 Robert Millan <rmh@aybabtu.com>
35635
35636 * conf/i386-efi.rmk: Replace obsolete reference to
35637 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
35638 with util/getroot.c.
35639 * conf/powerpc-ieee1275.rmk: Likewise.
35640 * conf/sparc64-ieee1275.rmk: Likewise.
35641
35642 * util/grub-emu.c (main): Fix unchecked pointer handling.
35643
35644 2007-07-02 Robert Millan <rmh@aybabtu.com>
35645
35646 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
35647 invocation to fail, in order to support partition-less media.
35648
35649 * util/i386/pc/grub-install.in: Likewise.
35650
35651 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
35652 which fs or partmap modules are needed (akin to its sister scripts).
35653
35654 Also use grub-probe to get rid of unportable /proc/mounts check.
35655
35656 Print the same informational message that the other scripts do, before
35657 exiting.
35658
35659 2007-06-23 Robert Millan <rmh@aybabtu.com>
35660
35661 * util/update-grub_lib.in (font_path): New function. Determine whether
35662 a font file can be found and, if so, echo the GRUB path to it.
35663
35664 * util/update-grub.in: Handle multiple terminals depending on user
35665 input, platform availability and font file presence. Propagate
35666 variables of our findings to /etc/grub.d/ children.
35667
35668 * util/grub.d/00_header.in: Handle multiple terminals, based on
35669 environment setup by update-grub.
35670
35671 2007-06-23 Robert Millan <rmh@aybabtu.com>
35672
35673 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
35674
35675 2007-06-21 Robert Millan <rmh@aybabtu.com>
35676
35677 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
35678 indicate end of data section in kernel image.
35679 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
35680 GRUB_KERNEL_MACHINE_DATA_END.
35681
35682 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
35683 space for it.
35684 * kern/i386/efi/startup.S: Likewise.
35685
35686 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
35687 during image generation. Implement --prefix option to override this
35688 patch.
35689 * util/i386/efi/grub-mkimage.c: Likewise.
35690
35691 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
35692 code to make path relative to its root into a separate function.
35693
35694 * util/i386/pc/grub-install.in: Use newly provided
35695 make_system_path_relative_to_its_root() to convert ${grubdir}, then
35696 pass the result to grub-install --prefix.
35697
35698 2007-06-13 Robert Millan <rmh@aybabtu.com>
35699
35700 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
35701 DEFAULT_DEVICE_MAP.
35702 * util/grub-emu.c: Use above definitions from misc.h instead of
35703 defining them.
35704 * util/grub-mkdevicemap.c: Likewise.
35705 * util/i386/pc/grub-setup.c: Likewise.
35706 * util/grub-probe.c: Likewise.
35707 (probe): Abort with grub_util_error() when either
35708 grub_guess_root_device or grub_util_get_grub_dev fails.
35709
35710 2007-06-12 Robert Millan <rmh@aybabtu.com>
35711
35712 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
35713 "pager" assignment.
35714 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
35715 "pcdata".
35716 * util/grub-probe.c (probe): Likewise for "drive_name".
35717
35718 2007-06-11 Robert Millan <rmh@aybabtu.com>
35719
35720 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
35721 not just the cdrom one.
35722
35723 2007-06-11 Robert Millan <rmh@aybabtu.com>
35724
35725 * util/i386/pc/grub-mkrescue.in: Add "set -e".
35726 Add --pkglibdir=DIR option to override pkglibdir.
35727 Mention --image-type=TYPE in help output.
35728 Fix --grub-mkimage (it was a no-op).
35729 Abort gracefully when no parameter is given.
35730
35731 2007-06-11 Robert Millan <rmh@aybabtu.com>
35732
35733 * util/i386/pc/grub-mkrescue.in: New file.
35734 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
35735 * Makefile.in: Handle bin_SCRIPTS.
35736
35737 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
35738
35739 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
35740 list of video modes.
35741
35742 2007-06-06 Robert Millan <rmh@aybabtu.com>
35743
35744 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
35745 file doesn't exist, or if it is in a filesystem grub can't read.
35746
35747 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
35748 not abort if GRUB_DRIVE could not be defined. Rearrange generated
35749 header comment to fit in 80 columns when the variables are resolved.
35750
35751 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
35752 could be identified by update-grub. Remove redundant check for
35753 unifont.pff existence (since convert_system_path_to_grub_path now
35754 handles that).
35755
35756 2007-06-04 Robert Millan <rmh@aybabtu.com>
35757
35758 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
35759
35760 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
35761
35762 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
35763
35764 2007-06-04 Robert Millan <rmh@aybabtu.com>
35765
35766 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
35767
35768 * include/grub/partition.h: Declare grub_apple_partition_map_init and
35769 grub_apple_partition_map_fini.
35770
35771 * util/biosdisk.c
35772 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
35773 to access >2 TiB disks).
35774
35775 Print disk->total_sectors with %llu instead of %lu, since this
35776 variable is always 64-bit (prevents wrong disk size from being displayed
35777 on either >2 TiB disk or big-endian CPU).
35778
35779 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
35780 into a generic case that supports all (sane) partition maps.
35781
35782 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
35783 breaks big-endian.
35784
35785 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
35786 and grub_apple_partition_map_fini() after that.
35787
35788 2007-06-01 Robert Millan <rmh@aybabtu.com>
35789
35790 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
35791
35792 * util/grub.d/00_header.in: Only enable gfxterm when
35793 convert_system_path_to_grub_path() succeeds.
35794
35795 2007-05-20 Robert Millan <rmh@aybabtu.com>
35796
35797 * util/update-grub_lib.in: New file.
35798 * DISTLIST: Add update-grub_lib.in.
35799 * conf/common.rmk: Generate update-grub_lib and install it in
35800 $(lib_DATA).
35801 * Makefile.in: Add install routine for $(lib_DATA).
35802
35803 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
35804 function provided by update-grub_lib to support arbitrary paths of
35805 unifont.pff.
35806 * util/update-grub.in: Use convert_system_path_to_grub_path() to
35807 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
35808
35809 2007-05-19 Robert Millan <rmh@aybabtu.com>
35810
35811 * commands/i386/cpuid.c: New module.
35812 * DISTLIST: Add it.
35813 * conf/i386-efi.rmk: Enable cpuid.mod.
35814 * conf/i386-pc.rmk: Likewise.
35815
35816 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
35817
35818 * kern/disk.c (grub_disk_read): Check return value of
35819 grub_realloc().
35820
35821 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
35822
35823 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
35824 arrays.
35825 * disk/raid.c (grub_raid_open): Likewise.
35826
35827 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
35828
35829 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
35830 stack instead of on the heap.
35831
35832 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
35833 before doing a read on it.
35834
35835 * configure.ac: Only use -fno-stack-protector for the target
35836 environment.
35837
35838 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
35839
35840 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
35841 __attribute_ ((unused)) to mode_type argument.
35842
35843 * util/getroot.c (grub_guess_root_device): Fix #endif.
35844
35845 * kern/misc.c (memcmp): Fix prototype.
35846
35847 * include/grub/partition.h [GRUB_UTIL]
35848 (grub_gpt_partition_map_init): Add prototype.
35849 (grub_gpt_partition_map_fini): Likewise.
35850
35851 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
35852 at the right place.
35853
35854 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
35855 (grub_fat_read_data): Likewise.
35856 (grub_fat_find_dir): Likewise.
35857
35858 * font/manager.c (find_glyph): Make table a const.
35859 (grub_font_get_glyph): Remove bitmap from if statement.
35860
35861 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
35862
35863 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
35864 code, first search for device in /dev/mapper, then in /dev.
35865 (grub_util_get_grub_dev): New function.
35866 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
35867 prototype.
35868 * util/grub-probe.c (probe): Remove check for RAID, call
35869 grub_util_get_grub_dev() instead of
35870 grub_util_biosdisk_get_grub_dev().
35871 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
35872 grub_util_biosdisk_get_grub_dev().
35873 * util/i386/pc/grub-setup.c (main): Likewise.
35874
35875 2007-05-16 Robert Millan <rmh@aybabtu.com>
35876
35877 * DISTLIST: Update for the latest changes.
35878 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
35879 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
35880 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
35881 grub/util/biosdisk.h.
35882 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
35883 grub/util/biosdisk.h.
35884
35885 2007-05-16 Robert Millan <rmh@aybabtu.com>
35886
35887 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
35888
35889 2007-05-16 Robert Millan <rmh@aybabtu.com>
35890
35891 * util/i386/efi/grub-install.in: New.
35892 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
35893 newly added grub-install.
35894 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
35895 include.
35896 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
35897 grub/util/biosdisk.h.
35898 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
35899 grub/util/biosdisk.h.
35900
35901 2007-05-16 Robert Millan <rmh@aybabtu.com>
35902
35903 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
35904 * include/grub/util/biosdisk.h: ... here.
35905 * util/i386/pc/biosdisk.c: Moved to ...
35906 * util/biosdisk.c: ... here.
35907 * util/i386/pc/getroot.c: Moved to ...
35908 * util/getroot.c: ... here.
35909 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
35910 * util/grub-mkdevicemap.c: ... here.
35911 * util/i386/pc/grub-probe.c: Moved to ...
35912 * util/grub-probe.c: ... here.
35913
35914 2007-05-15 Robert Millan <rmh@aybabtu.com>
35915
35916 * util/update-grub.in: Remove duplicated line in grub.cfg header
35917 message.
35918
35919 2007-05-13 Robert Millan <rmh@aybabtu.com>
35920
35921 * util/update-grub.in: Fix a few assumptions about the devices holding
35922 /, /boot and /boot/grub being the same.
35923 * util/grub.d/00_header.in: Likewise.
35924 * util/grub.d/10_hurd.in: Likewise.
35925 * util/grub.d/10_linux.in: Likewise.
35926
35927 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
35928 patterns. Use that to define the `.old' suffix as older than `'.
35929
35930 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
35931
35932 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
35933 the grub.cfg header message.
35934
35935 2007-05-11 Robert Millan <rmh@aybabtu.com>
35936
35937 * util/update-grub.in: Create device.map if it doesn't already exist,
35938 before attempting to run grub-probe.
35939 Check for grub-probe and grub-mkdevicemap with the same code
35940 grub-install is using.
35941 Remove test mode.
35942
35943 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
35944
35945 * Makefile.in: Add the datarootdir autoconf variable.
35946
35947 2007-05-09 Robert Millan <rmh@aybabtu.com>
35948
35949 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
35950 fail gracefully if dev->disk->partition == NULL.
35951
35952 2007-05-07 Robert Millan <rmh@aybabtu.com>
35953
35954 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
35955 determine partition map module.
35956 * util/i386/pc/grub-install.in: Use this feature to decide which
35957 partition module to load, instead of hardcoding pc and gpt.
35958
35959 2007-05-07 Robert Millan <rmh@aybabtu.com>
35960
35961 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
35962 source directory differs from build directory.
35963
35964 2007-05-05 Robert Millan <rmh@aybabtu.com>
35965
35966 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
35967 initialisation.
35968
35969 2007-05-05 Robert Millan <rmh@aybabtu.com>
35970
35971 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
35972
35973 2007-05-05 Robert Millan <rmh@aybabtu.com>
35974
35975 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
35976 command-line arguments via ${GRUB_CMDLINE_LINUX}.
35977
35978 2007-05-05 Robert Millan <rmh@aybabtu.com>
35979
35980 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
35981 (grub_probe_SOURCES): Likewise.
35982 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
35983 GPT and initialize dos_part and bsd_part accordingly.
35984 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
35985 install_bsd_part.
35986 (main): Activate gpt module for use during partition identification,
35987 and deactivate it afterwards.
35988 * util/i386/pc/grub-install.in: Add gpt module to core.img.
35989 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
35990 partition identification, and deactivate it afterwards.
35991
35992 2007-05-05 Robert Millan <rmh@aybabtu.com>
35993
35994 * term/i386/pc/console.c (grub_console_fini): Call
35995 grub_term_set_current() before grub_term_unregister().
35996
35997 2007-05-04 Robert Millan <rmh@aybabtu.com>
35998
35999 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
36000 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
36001 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
36002 and update-grub_DATA.
36003 * conf/common.rmk: Build and install update-grub components.
36004 * conf/common.mk: Regenerate.
36005 * util/update-grub.in: New. Core of update-grub.
36006 * util/grub.d/00_header.in: New. Generates grub.cfg header.
36007 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
36008 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
36009 * util/grub.d/README: New. Document grub.d directory layout.
36010
36011 2007-05-01 Robert Millan <rmh@aybabtu.com>
36012
36013 * util/grub-emu.c: Move initialization functions
36014 grub_util_biosdisk_init() and grub_init_all() before
36015 grub_util_biosdisk_get_grub_dev(), which relies on them.
36016
36017 2007-04-19 Robert Millan <rmh@aybabtu.com>
36018
36019 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
36020 it is used later.
36021
36022 2007-04-18 Jerone Young <jerone@gmail.com>
36023
36024 * kernel/elf.c: Add missing parenthesis for conditional statement
36025 stanza.
36026
36027 2007-04-10 Jerone Young <jerone@gmail.com>
36028
36029 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
36030 continue on and look for device node with real device name.
36031
36032 2007-04-10 Jerone Young <jerone@gmail.com>
36033
36034 * configure.ac: Add argument for autoconf to use transformation
36035 ability.
36036 * Makefile.in: Add autoconf package transformation code.
36037 * util/i386/pc/grub-install.in: Likewise.
36038 * util/powerpc/ieee1275/grub-install.in: Likewise.
36039
36040 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
36041
36042 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
36043 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
36044 (EXT2_REVISION): Likewise.
36045 (EXT2_INODE_SIZE): Likewise.
36046 (struct grub_ext2_block_group): Added a missing member
36047 "used_dirs".
36048 (grub_ext2_read_inode): Divide by the inode size in a superblock
36049 instead of 128 to obtain INODES_PER_BLOCK.
36050 Use the macro EXT2_INODE_SIZE instead of directly using
36051 SBLOCK->INODE_SIZE.
36052
36053 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
36054
36055 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
36056 superblock instead of the structure size to compute an
36057 offset. This fixes the problem that GRUB could not read a
36058 filesystem when inode size is different from 128-byte.
36059
36060 2007-03-05 Marco Gerards <marco@gnu.org>
36061
36062 * normal/main.c (read_config_file): When "menu" is not set, create
36063 an initial context.
36064
36065 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
36066
36067 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
36068 (HEAP_LIMIT): New macro.
36069 (grub_claim_heap): Claim memory up to `heaplimit'.
36070
36071 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
36072
36073 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
36074 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
36075 (_start): Likewise.
36076 (grub_arch_modules_addr): Return address after `_end'.
36077 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
36078 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
36079 (add_segments): Calculate `_end' from phdr size and location.
36080 (ALIGN_UP): Moved to ...
36081 * include/grub/misc.h: here.
36082 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
36083 New macro.
36084 (GRUB_IEEE1275_MODULE_BASE): Removed.
36085
36086 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
36087
36088 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
36089 loop boundary.
36090
36091 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
36092
36093 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
36094 All users updated.
36095 (grub_elf64_load_hook_t): Likewise.
36096 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
36097 debug output.
36098
36099 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
36100
36101 * kern/mm.c: Update copyright.
36102 (grub_mm_debug): Correct syntax error.
36103 (grub_mm_dump_free): New function.
36104 (grub_debug_free): Call `grub_free'.
36105 * include/grub/mm.h: Update copyright.
36106 (grub_mm_dump_free): Add declaration.
36107
36108 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
36109
36110 * include/grub/ieee1275/ieee1275.h: Update copyright.
36111 * kern/powerpc/ieee1275/init.c: Likewise.
36112 * kern/powerpc/ieee1275/openfw.c: Likewise.
36113
36114 * loader/powerpc/ieee1275/linux.c: Likewise.
36115 * include/grub/elfload.h: Likewise.
36116 * kern/elf.c: Likewise.
36117 (grub_elf32_load): Pass `base' and `size' parameters. Update all
36118 callers.
36119 (grub_elf64_load): Likewise.
36120 (grub_elf32_load_segment): Move to a nested function.
36121 (grub_elf64_load_segment): Likewise.
36122
36123 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
36124
36125 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
36126 prototype.
36127 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
36128 (grub_heap_len): Likewise.
36129 (HEAP_SIZE): New macro.
36130 (grub_claim_heap): New function.
36131 (grub_machine_init): Don't claim heap directly. Call
36132 `grub_claim_heap'.
36133 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
36134 (grub_available_iterate): New function.
36135
36136 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
36137
36138 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
36139 * configure.ac: Use it for testing the HOST and TARGET compilers.
36140
36141 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
36142
36143 * Makefile.in (enable_grub_emu): New variable.
36144 * configure.ac (--enable-grub-emu): New option.
36145 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
36146 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
36147 * conf/i386-pc.rmk: Likewise.
36148 * conf/powerpc-ieee1275.rmk: Likewise.
36149 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
36150
36151 2006-12-12 Marco Gerards <marco@gnu.org>
36152
36153 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
36154
36155 * kern/env.c (grub_env_unset): Don't free the member `value' when
36156 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
36157 pointer.
36158
36159 * normal/main.c (current_menu): Removed.
36160 (free_menu): Unset the `menu' environment variable.
36161 (grub_normal_menu_addentry): Make use of the environment variable
36162 `menu', instead of using the global `current_menu'. Allocate
36163 memory for the sourcecode of this entry.
36164 (read_config_file): New argument `nested', changed all callers.
36165 Only in the case of a new context, initialize a new menu. Set the
36166 `menu' environment variable.
36167 (grub_normal_execute): Don't set and unset the environment
36168 variable `menu' here anymore. Only free the menu when leaving the
36169 context.
36170
36171 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
36172 leak.
36173
36174 2006-12-11 Marco Gerards <marco@gnu.org>
36175
36176 * normal/menu_entry.c (run): Fix off by one bug so the last line
36177 is executed. Move the loader check to outside the loop.
36178
36179 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
36180
36181 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
36182
36183 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
36184
36185 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
36186 the number of sectors. Reported by Andrey Shuvikov
36187 <mr_hyro@yahoo.com>.
36188
36189 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
36190
36191 * kern/disk.c (grub_disk_read): When there is a read error, always
36192 try to read only the necessary data.
36193
36194 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
36195 disk/raid.c.
36196 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
36197 prototype.
36198 [GRUB_UTIL] (grub_raid_fini): Likewise.
36199 [GRUB_UTIL] (grub_lvm_init): Likewise.
36200 [GRUB_UTIL] (grub_lvm_fini): Likewise.
36201 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
36202 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
36203 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
36204 and grub_raid_fini().
36205
36206 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
36207
36208 * include/grub/types.h (__unused): Rename to UNUSED.
36209 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
36210 (grub_elf64_size): Likewise.
36211
36212 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
36213
36214 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
36215 grub_error_push and grub_error_pop in the error-handling path.
36216 (grub_elf32_load_segment): Only call grub_file_read with non-zero
36217 length.
36218
36219 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
36220
36221 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
36222 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36223 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36224 (kernel_elf_SOURCES): Likewise.
36225 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
36226 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
36227 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36228 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36229 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
36230 (elf_mod_SOURCES): New variable.
36231 (elf_mod_CFLAGS): Likewise.
36232 (elf_mod_LDFLAGS): Likewise.
36233 * include/grub/types.h (__unused): New macro.
36234 * include/grub/elfload.h: New file.
36235 * kern/elf.c: Likewise.
36236 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
36237 (ELF32_LOADMASK): New macro.
36238 (ELF64_LOADMASK): Likewise.
36239 (vmlinux): Removed.
36240 (grub_linux_load32): New function.
36241 (grub_linux_load64): Likewise.
36242 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
36243 Use grub_elf_t instead of grub_file_t.
36244
36245 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
36246
36247 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
36248 `catch_result' to struct set_color_args.
36249
36250 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
36251
36252 * normal/menu.c: Include grub/script.h.
36253 * normal/menu_entry.c: Likewise.
36254 * include/grub/normal.h: Do not include grub/script.h.
36255
36256 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36257
36258 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
36259
36260 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36261
36262 * kern/disk.c (grub_disk_open): Print debug messages when opening a
36263 disk.
36264 (grub_disk_close): Print debug messages when closing a disk.
36265 (grub_disk_read): Print debug messages when disk read fails.
36266 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
36267 filesystem type.
36268 * kern/partition.c: Include misc.h.
36269 (grub_partition_iterate): Print debug messages when detecting
36270 partition type.
36271
36272 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36273
36274 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
36275 is negative.
36276 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
36277
36278 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
36279
36280 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
36281 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
36282
36283 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
36284
36285 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
36286 instead of sizeof(lv). Patch by Michael Guntsche.
36287
36288 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
36289
36290 * disk/lvm.c: Rename VGS to VG_LIST.
36291 (grub_lvm_iterate): Change VGS->LV to VG-LV.
36292 (grub_lvm_open): Likewise.
36293 Thanks to Michael Guntsche for finding this bug.
36294
36295 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36296
36297 * configure.ac (AC_INIT): Bumped to 1.95.
36298
36299 2006-10-14 Robert Millan <rmh@aybabtu.com>
36300
36301 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
36302 with "/dev/.static/dev/md".
36303
36304 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
36305
36306 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
36307 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
36308 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
36309 DRIVE_NAME are always freed.
36310
36311 * util/i386/pc/biosdisk.c (make_device_name): Add one into
36312 DOS_PART, as a DOS partition is counted from one instead of zero
36313 now. Reported by Robert Millan.
36314
36315 2006-10-14 Robert Millan <rmh@aybabtu.com>
36316
36317 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
36318 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
36319 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
36320 string returned by grub_guess_root_device.
36321 * util/i386/pc/grub-setup.c: Likewise.
36322 * util/i386/pc/grub-probefs.c: Likewise.
36323
36324 * util/i386/pc/grub-probefs.c: Rename to ...
36325 * util/i386/pc/grub-probe.c: ... this.
36326 * DISTLIST: Remove grub-probefs, add grub-probe.
36327 * conf/i386-efi.rmk: Likewise.
36328 * conf/i386-pc.rmk: Likewise.
36329 * util/i386/pc/grub-install.in: Likewise.
36330
36331 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
36332 choose which information we want to print.
36333
36334 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
36335
36336 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
36337 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
36338 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
36339 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
36340 video/readers/tga.c and video/i386/pc/vbeutil.c.
36341
36342 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
36343
36344 Added support for RAID and LVM.
36345
36346 * disk/lvm.c: New file.
36347 * disk/raid.c: Likewise.
36348 * include/grub/lvm.h: Likewise.
36349 * include/grub/raid.h: Likewise.
36350 * include/grub/util/lvm.h: Likewise.
36351 * include/grub/util/raid.h: Likewise.
36352 * util/lvm.c: Likewise.
36353 * util/raid.c: Likewise.
36354
36355 * include/grub/disk.h (grub_disk_dev_id): Add
36356 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
36357 (grub_disk_get_size): New prototype.
36358 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
36359 returns a partition.
36360 (grub_disk_get_size): New function.
36361
36362 * kern/i386/pc/init.c (make_install_device): Copy the prefix
36363 verbatim if grub_install_dos_part is -2.
36364
36365 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
36366 and LVM devices.
36367
36368 * util/i386/pc/grub-setup.c (setup): New argument
36369 MUST_EMBED. Force embedding of GRUB when the argument is
36370 true. Close FILE before returning.
36371 (main): Add support for RAID and LVM.
36372
36373 * conf/common.rmk: Add RAID and LVM modules.
36374 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
36375 util/lvm.c.
36376 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
36377
36378 * kern/misc.c (grub_strstr): New function.
36379 * include/grub/misc.h (grub_strstr): New prototype.
36380
36381 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
36382
36383 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
36384
36385 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
36386
36387 * kern/misc.c (grub_strtoull): Guess the base only if not
36388 specified.
36389
36390 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
36391
36392 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
36393 PowerMac support.
36394
36395 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
36396
36397 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
36398
36399 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
36400 Remove `flags' argument. All callers changed.
36401 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
36402 (IEEE1275_IHANDLE_INVALID): New variable.
36403 (IEEE1275_CELL_INVALID): New variable.
36404 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
36405 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
36406 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
36407 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
36408 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
36409 codes from Open Firmware. All callers updated.
36410 (grub_ieee1275_next_property): Directly return Open Firmware return
36411 code.
36412 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36413 Standardize error checking from `grub_ieee1275_get_property'.
36414 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
36415 `devalias' to `aliases'. Correct comments. Consolidate error paths.
36416
36417 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
36418
36419 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
36420 `instance_to_package_args' to `instance_to_path_args'.
36421
36422 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
36423 `grub_ieee1275_chosen'.
36424
36425 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
36426 `grub_ieee1275_interpret'.
36427
36428 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
36429
36430 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
36431
36432 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
36433
36434 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
36435 (__cmpdi): Likewise.
36436
36437 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
36438 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
36439 `grub_ssize_t'.
36440
36441 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
36442
36443 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
36444 to type `grub_ssize_t'.
36445 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
36446
36447 2006-09-22 Marco Gerards <marco@gnu.org>
36448
36449 * normal/script.c (grub_script_create_cmdmenu): Skip leading
36450 newlines.
36451
36452 2006-09-22 Marco Gerards <marco@gnu.org>
36453
36454 * commands/echo.c: New file.
36455
36456 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
36457
36458 * conf/common.rmk (echo_mod_SOURCES): New variable.
36459 (echo_mod_CFLAGS): Likewise.
36460 (echo_mod_LDFLAGS): Likewise.
36461
36462 2006-09-22 Marco Gerards <marco@gnu.org>
36463
36464 * normal/main.c (get_line): Malloc memory instead of using
36465 preallocated memory. Removed the arguments `cmdline' and
36466 `max_len'. Updated all callers.
36467
36468 2006-09-22 Marco Gerards <marco@gnu.org>
36469
36470 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
36471 (normal_mod_DEPENDENCIES): Likewise.
36472
36473 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
36474 (normal_mod_DEPENDENCIES): Likewise.
36475
36476 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
36477
36478 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
36479
36480 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
36481 programs.
36482 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
36483 (normal_mod_DEPENDENCIES): Likewise.
36484 * conf/i386-pc.mk: Regenerate.
36485 * conf/i386-efi.mk: Likewise
36486 * conf/common.mk: Likewise.
36487 * conf/powerpc-ieee1275.mk: Likewise.
36488 * conf/sparc64-ieee1275.mk: Likewise.
36489
36490 2006-09-22 Robert Millan <rmh@aybabtu.com>
36491
36492 Sync with i386 version.
36493 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
36494 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
36495
36496 2006-09-21 Robert Millan <rmh@aybabtu.com>
36497
36498 Import from GRUB Legacy (lib/device.c):
36499 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
36500 (init_device_map) [__linux__]: Add support for I2O devices.
36501
36502 2006-09-14 Marco Gerards <marco@gnu.org>
36503
36504 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
36505 `-melf_i386'.
36506
36507 2006-09-14 Robert Millan <rmh@aybabtu.com>
36508
36509 * util/i386/pc/grub-install.in: Skip menu.lst when removing
36510 /boot/grub/*.lst.
36511
36512 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
36513
36514 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
36515 before adding it to device.map.
36516
36517 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
36518
36519 * genmk.rb: Let GCC generate dependencies the first time it
36520 compiles a file; using the -MD option.
36521 * conf/common.mk: Regenerate.
36522 * conf/i386-pc.mk: Likewise.
36523 * conf/i386-efi.mk: Likewise.
36524 * conf/powerpc-ieee1275.mk: Likewise.
36525 * conf/sparc64-ieee1275.mk: Likewise.
36526
36527 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
36528
36529 Move the prototypes of grub_setjmp and grub_longjmp to
36530 cpu/setjmp.h, so that each architecture may specify different
36531 attributes.
36532
36533 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
36534 (grub_longjmp): Likewise.
36535 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
36536 (grub_longjmp): Likewise.
36537 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
36538 (grub_longjmp): Likewise.
36539
36540 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
36541 [!GRUB_UTIL] (grub_longjmp): Removed.
36542
36543 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
36544
36545 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
36546 "color!" method does not return any value.
36547
36548 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36549
36550 * include/grub/bitmap.h: New file.
36551
36552 * include/grub/i386/pc/vbeutil.h: Likewise.
36553
36554 * video/bitmap.c: Likewise.
36555
36556 * video/readers/tga.c: Likewise.
36557
36558 * video/i386/pc/vbeutil.c: Likewise.
36559
36560 * commands/videotest.c: Code cleanup and updated to reflect to new
36561 video API.
36562
36563 * term/gfxterm.c: Likewise.
36564
36565 * video/video.c: Likewise.
36566
36567 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
36568 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
36569 (bitmap_mod_SOURCES): New entry.
36570 (bitmap_mod_CFLAGS): Likewise.
36571 (bitmap_mod_LDFLAGS): Likewise.
36572 (tga_mod_SOURCES): Likewise.
36573 (tga_mod_CFLAGS): Likewise.
36574 (tga_mod_LDFLAGS): Likewise.
36575
36576 * include/grub/video.h (grub_video_blit_operators): New enum type.
36577 (grub_video_render_target): Changed as forward declaration and moved
36578 actual definition to be video driver specific.
36579 (grub_video_adapter.blit_bitmap): Added blitting operator.
36580 (grub_video_adapter.blit_render_target): Likewise.
36581 (grub_video_blit_bitmap): Likewise.
36582 (grub_video_blit_render_target): Likewise.
36583
36584 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
36585 driver specific render target definition.
36586 (grub_video_vbe_map_rgba): Added driver internal helper.
36587 (grub_video_vbe_unmap_color): Updated to use
36588 grub_video_i386_vbeblit_info.
36589 (grub_video_vbe_get_video_ptr): Likewise.
36590
36591 * include/grub/i386/pc/vbeblit.h
36592 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
36593 grub_video_i386_vbeblit_info.
36594 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
36595 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
36596 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
36597 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
36598 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
36599 (grub_video_i386_vbeblit_index_index): Likewise.
36600 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
36601 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36602 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
36603 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
36604 operator.
36605 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
36606 operator.
36607
36608 * video/i386/pc/vbeblit.c: Updated to reflect changes on
36609 include/grub/i386/pc/vbeblit.h.
36610
36611 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
36612 Updated to use grub_video_i386_vbeblit_info.
36613 (grub_video_i386_vbefill_R8G8B8): Likewise.
36614 (grub_video_i386_vbefill_index): Likewise.
36615 (grub_video_i386_vbefill): Added generic filler.
36616
36617 * video/i386/pc/vbefill.c: Updated to reflect changes on
36618 include/grub/i386/pc/vbefill.h.
36619
36620 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
36621 grub_video_i386_vbeblit_info.
36622 (grub_video_vbe_unmap_color): Likewise.
36623 (grub_video_vbe_blit_glyph): Likewise.
36624 (grub_video_vbe_scroll): Likewise.
36625 (grub_video_vbe_draw_pixel): Removed function.
36626 (grub_video_vbe_get_pixel): Likewise.
36627 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
36628 updated code to use it.
36629 (common_blitter): Added common blitter for render target and bitmap.
36630 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
36631 (grub_video_vbe_blit_render_target): Likewise.
36632
36633 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
36634
36635 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
36636 is in text mode if there is no console control protocol instance
36637 available.
36638
36639 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36640
36641 * include/grub/video.h: Code cleanup.
36642
36643 * include/grub/i386/pc/vbe.h: Likewise.
36644
36645 * video/i386/pc/vbe.c: Likewise.
36646
36647 * video/i386/pc/vbeblit.c: Likewise.
36648
36649 * video/i386/pc/vbefill.c: Likewise.
36650
36651 * video/video.c: Likewise. Also added more comments.
36652
36653 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36654
36655 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
36656 (struct grub_biosdisk_dap): Likewise.
36657
36658 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
36659 linkage settings for all functions.
36660
36661 2006-07-12 Marco Gerards <marco@gnu.org>
36662
36663 * configure.ac (--enable-mm-debug): Fix typo.
36664
36665 * genkernsyms.sh.in: Use proper quoting for `CC'.
36666
36667 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
36668
36669 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
36670 (normal_mod_ASFLAGS): Remove "-m32".
36671
36672 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
36673
36674 * util/misc.c: Include config.h.
36675 [!HAVE_MEMALIGN]: Do not include malloc.h.
36676 (grub_memalign): Use posix_memalign, if present. Then, use
36677 memalign, if present. Otherwise, emit an error.
36678
36679 * util/grub-emu.c: Do not include malloc.h.
36680
36681 * include/grub/util/misc.h: Include unistd.h. This is required for
36682 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
36683 D. Eades III <hde@foobar-qux.org>.
36684
36685 * configure.ac (AC_GNU_SOURCE): Added.
36686 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
36687 type.
36688
36689 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
36690
36691 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
36692 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
36693
36694 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
36695
36696 * include/grub/types.h (grub_host_addr_t): Rename to
36697 grub_target_addr_t.
36698 (grub_host_off_t): Rename to grub_target_off_t.
36699 (grub_host_size_t): Rename to grub_target_size_t.
36700 (grub_host_ssize_t): Rename to grub_target_ssize_t.
36701 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
36702
36703 * include/grub/kernel.h (struct grub_module_header): Change type
36704 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
36705 (grub_module_info): Likewise.
36706
36707 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
36708
36709 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
36710 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
36711 Velazquez <jesus.velazquez@gmail.com>.
36712
36713 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
36714
36715 Count partitions from 1 instead of 0 in the string representation
36716 of partitions. Still use 0-based internally.
36717
36718 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
36719 (sun_partition_map_iterate): Use grub_partition_t instead of
36720 struct grub_partition *. Cast DESC->START_CYLINDER to
36721 grub_uint64_t after converting the endian.
36722 (sun_partition_map_probe): Subtract 1 for PARTNUM.
36723 (sun_partition_map_get_name): Add 1 to P->INDEX.
36724
36725 * partmap/pc.c (grub_partition_parse): Subtract 1 for
36726 PCDATA->DOS_PART.
36727 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
36728
36729 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
36730 zero instead of one.
36731 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
36732 (gpt_partition_map_get_name): Add 1 into P->INDEX.
36733
36734 * partmap/apple.c (apple_partition_map_iterate): Change the type
36735 of POS to unsigned.
36736 (apple_partition_map_probe): Subtract 1 for PARTNUM.
36737 (apple_partition_map_get_name): Add 1 into P->INDEX.
36738
36739 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
36740 of POS to unsigned.
36741 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
36742 calculate the offset of a partition.
36743 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
36744 (amiga_partition_map_get_name): Add 1 into P->INDEX.
36745
36746 * partmap/acorn.c (acorn_partition_map_find): Change the type of
36747 SECTOR to grub_disk_addr_t.
36748 (acorn_partition_map_iterate): Likewise.
36749 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
36750 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
36751 top.
36752 (acorn_partition_map_get_name): Add 1 into P->INDEX.
36753
36754 * kern/i386/pc/init.c (make_install_device): Add 1 into
36755 GRUB_INSTALL_DOS_PART.
36756
36757 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
36758 conditional.
36759
36760 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
36761
36762 Clean up the code to support 64-bit addressing in disks and
36763 files. This change is not enough for filesystems yet.
36764
36765 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
36766 type of "start" to grub_uint64_t.
36767 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
36768 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
36769 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
36770 convert addresses.
36771
36772 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
36773 to grub_disk_addr_t.
36774
36775 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
36776 string.
36777
36778 * partmap/pc.c (pc_partition_map_iterate): Likewise.
36779
36780 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
36781 to char *.
36782
36783 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
36784
36785 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
36786
36787 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
36788
36789 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
36790 to grub_off_t, to detect an error from grub_file_seek.
36791 (grub_multiboot_load_elf32): Likewise.
36792
36793 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
36794 maximum unsigned long value when an overflow is detected.
36795 (grub_strtoull): New function.
36796 (grub_divmod64): Likewise.
36797 (grub_lltoa): use grub_divmod64.
36798
36799 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
36800 grub_disk_addr_t.
36801 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
36802 the pointer to next character. Use grub_strtoull instead of
36803 grub_strtoul.
36804 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
36805 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
36806 respectively.
36807
36808 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
36809 return value is signed.
36810 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
36811 test if OFFSET is less than zero, as OFFSET is unsigned now.
36812
36813 * kern/disk.c (struct grub_disk_cache): Change the type of
36814 "sector" to grub_disk_addr_t.
36815 (grub_disk_cache_get_index): Change the type of SECTOR to
36816 grub_disk_addr_t. Calculate the hash with SECTOR casted to
36817 unsigned after shifting.
36818 (grub_disk_cache_invalidate): Change the type of SECTOR to
36819 grub_disk_addr_t.
36820 (grub_disk_cache_unlock): Likewise.
36821 (grub_disk_cache_store): Likewise.
36822 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
36823 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
36824 grub_disk_addr_t and grub_uint64_t, respectively.
36825 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
36826 body, as the value of OFFSET is tweaked by
36827 grub_disk_check_range. Change the types of START_SECTOR, LEN and
36828 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
36829 respectively.
36830 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
36831 body, as the value of OFFSET is tweaked by
36832 grub_disk_check_range. Change the types of LEN and N to
36833 grub_size_t.
36834
36835 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
36836 and "saved_offset" to grub_off_t.
36837 (test_header): Cast BUF to char *.
36838 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
36839 to char *.
36840 (grub_gzio_read): Change the types of OFFSET and SIZE to
36841 grub_off_t and grub_size_t, respectively.
36842
36843 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
36844 Removed.
36845 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
36846 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
36847 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
36848 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
36849 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
36850
36851 * include/grub/types.h (grub_off_t): Unconditionally set to
36852 grub_uint64_t.
36853 (grub_disk_addr_t): Changed to grub_uint64_t.
36854
36855 * include/grub/partition.h (struct grub_partition): Change the
36856 types of "start", "len" and "offset" to grub_disk_addr_t,
36857 grub_uint64_t and grub_disk_addr_t, respectively.
36858 (grub_partition_get_start): Return grub_disk_addr_t.
36859 (grub_partition_get_len): Return grub_uint64_t.
36860
36861 * include/grub/misc.h (grub_strtoull): New prototype.
36862 (grub_divmod64): Likewise.
36863
36864 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
36865 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
36866 grub_off_t, respectively.
36867 All callers and references changed.
36868
36869 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
36870 grub_size_t in "read".
36871 All callers and references changed.
36872
36873 * include/grub/file.h (struct grub_file): Change the types of
36874 "offset" and "size" to grub_off_t and grub_off_t,
36875 respectively. Change the type of SECTOR to grub_disk_addr_t in
36876 "read_hook".
36877 (grub_file_read): Change the type of LEN to grub_size_t.
36878 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
36879 grub_off_t.
36880 (grub_file_size): Return grub_off_t.
36881 (grub_file_tell): Likewise.
36882 All callers and references changed.
36883
36884 * include/grub/disk.h (struct grub_disk_dev): Change the types of
36885 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
36886 "write".
36887 (struct grub_disk): Change the type of "total_sectors" to
36888 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
36889 "read_hook".
36890 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
36891 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
36892 (grub_disk_write): Likewise.
36893 All callers and references changed.
36894
36895 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
36896 char * for grub_strncmp to silence gcc.
36897 (grub_iso9660_mount): Likewise.
36898 (grub_iso9660_mount): Likewise.
36899 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
36900 return statement.
36901 (grub_iso9660_iterate_dir): Likewise.
36902 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
36903
36904 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
36905 LEN to grub_disk_addr_t and grub_size_t, respectively.
36906
36907 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
36908
36909 * fs/jfs.c (grub_jfs_read_file): Likewise.
36910
36911 * fs/minix.c (grub_jfs_read_file): Likewise.
36912
36913 * fs/sfs.c (grub_jfs_read_file): Likewise.
36914
36915 * fs/ufs.c (grub_jfs_read_file): Likewise.
36916
36917 * fs/xfs.c (grub_jfs_read_file): Likewise.
36918
36919 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
36920 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
36921 respectively.
36922
36923 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
36924 BLKNR to -1 instead of returning GRUB_ERRNO.
36925 (grub_ext2_read_file): Change the types of SECTOR and
36926 LEN to grub_disk_addr_t and grub_size_t, respectively.
36927
36928 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
36929 LEN to grub_disk_addr_t and grub_size_t, respectively.
36930
36931 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
36932 grub_file_read.
36933
36934 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
36935 string. Do not cast SECTOR explicitly.
36936
36937 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
36938 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
36939 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
36940 grub_disk_addr_t and grub_size_t, respectively. If the sector is
36941 over 2TB and LBA mode is not supported, raise an error.
36942 (get_safe_sectors): New function.
36943 (grub_biosdisk_read): Use get_safe_sectors.
36944 (grub_biosdisk_write): Likewise.
36945
36946 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
36947 (grub_efidisk_write): Likewise.
36948
36949 * disk/loopback.c (delete_loopback): Cosmetic changes.
36950 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
36951 correctly.
36952 (grub_loopback_open): Likewise.
36953 (grub_loopback_read): Likewise. Also, change the type of POS to
36954 grub_off_t, and fix the usage of grub_memset.
36955
36956 * commands/i386/pc/play.c: Include grub/machine/time.h.
36957
36958 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
36959 print FILE->SIZE.
36960
36961 * commands/configfile.c: Include grub/env.h.
36962
36963 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
36964 GRUB_ERRNO directly instead. Change the type of POS to
36965 grub_off_t. Follow the coding standard.
36966
36967 * commands/blocklist.c: Include grub/partition.h.
36968 (grub_cmd_blocklist): Return an error if the underlying device is
36969 not a disk. Take the starting sector of a partition into account,
36970 if a partition is used.
36971
36972 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
36973 a length field.
36974 (lba_mode): Support 64-bit addresses.
36975 (chs_mode): Likewise.
36976 (copy_buffer): Adapted to the new offsets of a length field and a
36977 segment field.
36978 (blocklist_default_start): Allocate 64-bit space.
36979
36980 * boot/i386/pc/boot.S (force_lba): Removed.
36981 (boot_drive): Moved to under KERNEL_SECTOR.
36982 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
36983 space.
36984 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
36985 is useless.
36986 (lba_mode): Refactored to support a 64-bit address. More size
36987 optimization.
36988 (setup_sectors): Likewise.
36989
36990 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
36991
36992 * DISTLIST: Added include/grub/i386/linux.h. Removed
36993 include/grub/i386/pc/linux.h
36994
36995 * configure.ac (AC_INIT): Bumped to 1.94.
36996
36997 * config.guess: Updated from gnulib.
36998 * config.sub: Likewise.
36999 * install-sh: Likewise.
37000 * mkinstalldirs: Likewise.
37001
37002 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
37003
37004 * conf/common.rmk (grub_modules_init.lst): Depended on
37005 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
37006 MODSRCFILES.
37007
37008 * genmk.rb (PModule::rule): Reverted the previous change.
37009
37010 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
37011
37012 * conf/common.rmk (grub_modules_init.lst): Depends on
37013 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
37014 that the target does not exist before producing.
37015 (grub_modules_init.h): Remove the target before generating.
37016 (grub_emu_init.c): Likewise.
37017
37018 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
37019
37020 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
37021
37022 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
37023 for the target-specific tests. Make sure that we also have the
37024 up-to-date target variables for those tests.
37025
37026 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
37027
37028 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
37029 (PModule::rule): Likewise.
37030
37031 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
37032
37033 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
37034 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
37035 target-specific flags should be prefixed.
37036 (PModule::rule): Likewise.
37037
37038 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
37039
37040 * configure.ac (CMP): Check if cmp is available explicitly.
37041
37042 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
37043
37044 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
37045 (target_cpu): New variable.
37046 (pkglibdir): Use target_cpu instead of host_cpu.
37047
37048 * util/i386/pc/grub-install.in (host_cpu): Removed.
37049 (target_cpu): New variable.
37050 (pkglibdir): Use target_cpu instead of host_cpu.
37051
37052 * util/genmoddep.c: Removed.
37053
37054 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
37055 instead of GRUB_HOST_SIZEOF_VOID_P.
37056 * kern/dl.c: Likewise.
37057
37058 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
37059 ...
37060 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
37061 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
37062 (GRUB_TARGET_SIZEOF_LONG): ... this.
37063 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
37064 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
37065 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
37066 to ...
37067 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
37068 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
37069 (GRUB_TARGET_SIZEOF_LONG): ... this.
37070 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
37071 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
37072 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
37073 to ...
37074 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
37075 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
37076 (GRUB_TARGET_SIZEOF_LONG): ... this.
37077 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
37078 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
37079
37080 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
37081 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
37082 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
37083 instead of GRUB_HOST_SIZEOF_LONG.
37084 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
37085 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
37086 GRUB_CPU_WORDS_BIGENDIAN.
37087 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
37088 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
37089 grub_host_ssize_t.
37090
37091 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
37092 (genmoddep_SOURCES): Likewise.
37093 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
37094 (genmoddep_SOURCES): Likewise.
37095 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
37096 (genmoddep_SOURCES): Likewise.
37097 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
37098 Likewise.
37099 (genmoddep_SOURCES): Likewise.
37100
37101 * genmoddep.awk: New file.
37102
37103 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
37104 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
37105 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
37106 (PModule::rule): Likewise.
37107 (Program::rule): Likewise.
37108 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
37109 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
37110 respectively.
37111
37112 * configure.ac: Rewritten intensively to use host and target
37113 instead of build and host, respectively.
37114
37115 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
37116 (host_cpu): Removed.
37117 (target_cpu): New variable.
37118 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
37119 (BUILD_CC): Removed.
37120 (BUILD_CFLAGS): Likewise.
37121 (BUILD_CPPFLAGS): Likewise.
37122 (TARGET_CC): New variable.
37123 (TARGET_CFLAGS): Likewise.
37124 (TARGET_CPPFLAGS): Likewise.
37125 (TARGET_LDFLAGS): Likewise.
37126 (AWK): Likewise.
37127 (include): Use target_cpu instead of host_cpu.
37128 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
37129
37130 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
37131
37132 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
37133
37134 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
37135 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
37136 field 'false' to 'exec_on_false'.
37137 (grub_script_create_cmdif): Renamed argument names to reflect above
37138 changes.
37139
37140 * normal/execute.c (grub_script_execute_cmdif): Likewise.
37141
37142 * normal/script.c (grub_script_create_cmdif): Likewise.
37143
37144 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
37145
37146 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
37147 top.
37148 (grub_hfsplus_btree_recptr): Likewise.
37149 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
37150 FILEBLOCK both to pass a block number and store next block
37151 number.
37152 (grub_hfsplus_read_block): Rewritten heavily to support an extent
37153 overflow file correctly. Specify errors appropriately, because
37154 fshelp expects that GRUB_ERRNO is set when fails. Reuse
37155 grub_hfsplus_btree_recptr to get the pointer to a found key.
37156 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
37157 is found.
37158
37159 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
37160 linux.mod.
37161 (_linux_mod_SOURCES): New variable.
37162 (_linux_mod_CFLAGS): Likewise.
37163 (_linux_mod_LDFLAGS): Likewise.
37164 (linux_mod_SOURCES): Likewise.
37165 (linux_mod_CFLAGS): Likewise.
37166 (linux_mod_LDFLAGS): Likewise.
37167
37168 * DISTLIST: Added loader/i386/efi/linux.c,
37169 loader/i386/efi/linux_normal.c and
37170 include/grub/i386/efi/loader.h.
37171
37172 * loader/i386/efi/linux.c: New file.
37173 * loader/i386/efi/linux_normal.c: Likewise.
37174 * include/grub/i386/efi/loader.h: Likewise.
37175
37176 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
37177
37178 * commands/blocklist.c: New file.
37179
37180 * DISTLIST: Added commands/blocklist.c.
37181
37182 * term/efi/console.c (grub_console_highlight_color): Use a lighter
37183 color for the background, and a darker color for the foreground.
37184 (grub_console_checkkey): Return READ_KEY.
37185 (grub_console_cls): Set the background to
37186 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
37187
37188 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
37189
37190 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
37191 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
37192
37193 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
37194 prototype.
37195
37196 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
37197 BG. The spec is wrong again.
37198
37199 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
37200 prototype.
37201 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
37202
37203 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
37204 commands/blocklist.c.
37205 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37206
37207 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
37208 (blocklist_mod_SOURCES): New variable.
37209 (blocklist_mod_CFLAGS): Likewise.
37210 (blocklist_mod_LDFLAGS): Likewise.
37211
37212 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
37213
37214 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
37215 duplication.
37216 (lba_mode): Use %eax more intensively to reduce the code size.
37217
37218 2006-05-20 Marco Gerards <marco@gnu.org>
37219
37220 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
37221
37222 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
37223 for `menuentry'.
37224 (script): Accept leading newlines.
37225 (newlines): New rule to describe 0 or more newlines.
37226 (commands): Accept `command' with trailing newline. Fixed the
37227 order in which arguments were passed to `grub_script_add_cmd'.
37228 Accept commands separated by newlines.
37229 (function): Changed to accept newlines.
37230 (menuentry) Rewritten.
37231
37232 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
37233 front of the list, instead of to the end.
37234
37235 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
37236
37237 * util/i386/pc/grub-install.in (bindir): New variable.
37238 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
37239 Shaver <lbgwjl@gmail.com>.
37240
37241 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
37242
37243 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
37244 grub/machine/linux.h
37245 * loader/i386/pc/linux.c: Likewise.
37246
37247 * include/grub/i386/pc/linux.h: Moved to ...
37248 * include/grub/i386/linux.h: ... here.
37249
37250 * include/grub/i386/linux.h (struct linux_kernel_params): New
37251 struct.
37252
37253 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
37254
37255 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
37256 checking.
37257 (grub_video_vbe_blit_glyph): Likewise.
37258 (grub_video_vbe_blit_bitmap): Likewise.
37259 (grub_video_vbe_blit_render_target): Likewise.
37260
37261 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
37262
37263 * configure.ac (--with-platform): Properly quote the square
37264 brackets.
37265
37266 2006-05-08 Marco Gerards <marco@gnu.org>
37267
37268 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
37269 this...
37270 (kernel_elf_HEADERS): ...to this. Updated all users.
37271 (grubof_symlist.c): Renamed from this...
37272 (kernel_elf_symlist.c): ...to this. Updated all users.
37273 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
37274 (grubof_SOURCES): Renamed from this...
37275 (kernel_elf_SOURCES): ...to this.
37276 (grubof_HEADERS): Renamed from this...
37277 (kernel_elf_HEADERS): ...to this.
37278 (grubof_CFLAGS): Renamed from this...
37279 (kernel_elf_CFLAGS): ...to this.
37280 (grubof_ASFLAGS): Renamed from this...
37281 (kernel_elf_ASFLAGS): ...to this.
37282 (grubof_LDFLAGS): Renamed from this...
37283 (kernel_elf_LDFLAGS): ...to this.
37284
37285 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
37286 this...
37287 (kernel_elf_HEADERS): ...to this. Updated all users.
37288 (grubof_symlist.c): Renamed from this...
37289 (kernel_elf_symlist.c): ...to this. Updated all users.
37290 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
37291 (grubof_SOURCES): Renamed from this...
37292 (kernel_elf_SOURCES): ...to this.
37293 (grubof_HEADERS): Renamed from this...
37294 (kernel_elf_HEADERS): ...to this.
37295 (grubof_CFLAGS): Renamed from this...
37296 (kernel_elf_CFLAGS): ...to this.
37297 (grubof_ASFLAGS): Renamed from this...
37298 (kernel_elf_ASFLAGS): ...to this.
37299 (grubof_LDFLAGS): Renamed from this...
37300 (kernel_elf_LDFLAGS): ...to this.
37301
37302 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
37303 `kernel.elf' instead of `grubof'.
37304
37305 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
37306
37307 Add --with-platform to configure. Use pkglibdir instead of
37308 pkgdatadir. This is reported by Roger Leigh.
37309
37310 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
37311 (host_vendor): Likewise.
37312 (host_os): Likewise.
37313 (pkgdatadir): Likewise.
37314 (platform): New variable.
37315 (pkglibdir): Likewise.
37316 Use PKGLIBDIR instead of PKGDATADIR.
37317
37318 * util/i386/pc/grub-install.in (datadir): Removed.
37319 (host_vendor): Likewise.
37320 (host_os): Likewise.
37321 (pkgdatadir): Likewise.
37322 (platform): New variable.
37323 (pkglibdir): Likewise.
37324 Use PKGLIBDIR instead of PKGDATADIR.
37325
37326 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
37327 instead of GRUB_DATADIR.
37328 (main): Likewise.
37329 * util/i386/pc/grub-mkimage.c (usage): Likewise.
37330 (main): Likewise.
37331 * util/i386/efi/grub-mkimage.c (usage): Likewise.
37332 (main): Likewise.
37333
37334 * configure.ac (--with-platform): New option.
37335 Use PLATFORM instead of HOST_VENDOR to specify a platform.
37336
37337 * Makefile.in: Include a makefile based on PLATFORM instead of
37338 HOST_VENDOR.
37339 (pkgdatadir): Not appended by the machine type.
37340 (pkglibdir): Appended by the machine type.
37341 (host_vendor): Removed.
37342 (platform): New variable.
37343 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
37344 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
37345 (uninstall): Likewise.
37346
37347 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
37348
37349 Use the environment context in the menu. Remove the commands
37350 "default" and "timeout", and use variables instead.
37351
37352 * normal/menu.c: Include grub/env.h.
37353 (print_entry): Cast TITLE to silence gcc.
37354 (get_timeout): New function.
37355 (set_timeout): Likewise.
37356 (get_entry_number): Likewise.
37357 (run_menu): Use a default entry, a fallback entry and a timeout
37358 in the environment variables "default", "fallback" and
37359 "timeout". Also, tweak the default entry if it is not within the
37360 current menu entries.
37361 (grub_menu_run): Use a fallback entry in the environment variable
37362 "fallback".
37363
37364 * normal/main.c (read_config_file): Do not initialize
37365 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
37366 NEWMENU->TIMEOUT.
37367 (grub_normal_execute): Use a data slot to store the menu.
37368
37369 * include/grub/normal.h (struct grub_menu): Removed default_entry,
37370 fallback_entry and timeout.
37371 (struct grub_menu_list): Removed.
37372 (grub_menu_list_t): Likewise.
37373 (struct grub_context): Likewise.
37374 (grub_context_t): Likewise.
37375 (grub_context_get): Likewise.
37376 (grub_context_get_current_menu): Likewise.
37377 (grub_context_push_menu): Likewise.
37378 (grub_context_pop_menu): Likewise.
37379 (grub_default_init): Likewise.
37380 (grub_default_fini): Likewise.
37381 (grub_timeout_init): Likewise.
37382 (grub_timeout_fini): Likewise.
37383
37384 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
37385 and timeout.mod.
37386 (normal_mod_SOURCES): Removed normal/context.c.
37387
37388 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
37389 commands/default.c, commands/timeout.c and normal/context.c.
37390 (normal_mod_SOURCES): Removed normal/context.c.
37391
37392 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
37393 commands/timeout.c and normal/context.c.
37394 (normal_mod_SOURCES): Removed normal/context.c.
37395
37396 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
37397 commands/default.c, commands/timeout.c and normal/context.c.
37398 (normal_mod_SOURCES): Removed normal/context.c.
37399
37400 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
37401 timeout.mod.
37402 (default_mod_SOURCES): Removed.
37403 (default_mod_CFLAGS): Likewise.
37404 (default_mod_LDFLAGS): Likewise.
37405 (timeout_mod_SOURCES): Removed.
37406 (timeout_mod_CFLAGS): Likewise.
37407 (timeout_mod_LDFLAGS): Likewise.
37408
37409 * DISTLIST: Removed commands/default.c, commands/timeout.c and
37410 normal/context.c.
37411
37412 * commands/default.c: Removed.
37413 * commands/timeout.c: Likewise.
37414 * normal/context.c: Likewise.
37415
37416 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
37417
37418 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
37419
37420 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
37421
37422 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
37423 "next" to "prev" for readability.
37424 (struct grub_env_sorted_var): New struct.
37425 (grub_env_context): Renamed to ...
37426 (initial_context): ... this.
37427 (grub_env_var_context): Renamed to ...
37428 (current_context): ... this.
37429 (grub_env_find): Look only at CURRENT_CONTEXT.
37430 (grub_env_context_open): Rewritten to copy exported variables from
37431 previous context.
37432 (grub_env_context_close): Rewritten according to the new
37433 scheme. Also, add an assertion to prevent the initial context from
37434 removed.
37435 (grub_env_insert): Removed the code for the sorted list.
37436 (grub_env_remove): Likewise.
37437 (grub_env_export): Simply mark the variable with
37438 GRUB_ENV_VAR_GLOBAL.
37439 (grub_env_set): A cosmetic change for naming consistency.
37440 (grub_env_get): Likewise.
37441 (grub_env_unset): Likewise.
37442 (grub_env_iterate): Rewritten to sort variables within this
37443 function.
37444 (grub_register_variable_hook): Fixed for naming consistency. Call
37445 grub_env_find again, only if NAME is not found at the first time.
37446 (mangle_data_slot_name): New function.
37447 (grub_env_set_data_slot): Likewise.
37448 (grub_env_get_data_slot): Likewise.
37449 (grub_env_unset_data_slot): Likewise.
37450
37451 * include/grub/env.h (grub_env_var_type): New enum.
37452 (GRUB_ENV_VAR_LOCAL): New constant.
37453 (GRUB_ENV_VAR_GLOBAL): Likewise.
37454 (GRUB_ENV_VAR_DATA): Likewise.
37455 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
37456 "type".
37457 (grub_env_set): Replace VAR with NAME for consistency.
37458 (grub_register_variable_hook): Likewise.
37459 (grub_env_export): Specify the name of the argument.
37460 (grub_env_set_data_slot): New prototype.
37461 (grub_env_get_data_slot): Likewise.
37462 (grub_env_unset_data_slot): Likewise.
37463
37464 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
37465
37466 Extend the loader so that GRUB can accept a loader which comes
37467 back to GRUB when a loaded image exits. Also, this change adds
37468 support for a chainloader on EFI.
37469
37470 * term/efi/console.c: Include grub/misc.h.
37471 (grub_console_checkkey): Display a scan code on the top for
37472 debugging. This will be removed once the EFI port gets stable.
37473 Correct the scan code mapping.
37474
37475 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
37476 allocate memory from larger regions, in order to reduce the number
37477 of allocated regions. Otherwise, the MacOSX loader panics.
37478 (filter_memory_map): Avoid less than 1MB for compatibility with
37479 other loaders.
37480 (add_memory_regions): Allocate from the tail of a region, if
37481 possible, to avoid allocating a region near to 1MB, for the MacOSX
37482 loader.
37483
37484 * kern/efi/init.c (grub_efi_set_prefix): Specify
37485 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
37486
37487 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
37488 argument IMAGE_HANDLE and specify it to get a loaded image.
37489 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
37490 grub_efi_get_loaded_image.
37491 (grub_efi_get_filename): Divide the length by the size of
37492 grub_efi_char16_t.
37493 (grub_efi_get_device_path): New function.
37494 (grub_efi_print_device_path): Print End Device Path nodes. Divide
37495 the length by the size of grub_efi_char16_t for a file path device
37496 path node.
37497
37498 * kern/loader.c (grub_loader_noreturn): New variable.
37499 (grub_loader_set): Accept a new argument NORETURN. Set
37500 GRUB_LOADER_NORETURN to NORETURN.
37501 All callers changed.
37502 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
37503 grub_machine_fini.
37504
37505 * include/grub/efi/efi.h (grub_efi_get_device_path): New
37506 prototype.
37507 (grub_efi_get_loaded_image): Take an argument to specify an image
37508 handle.
37509
37510 * include/grub/loader.h (grub_loader_set): Added one more argument
37511 NORETURN.
37512
37513 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
37514 instead of grub_efi_open_protocol.
37515 (grub_efidisk_get_device_name): Likewise.
37516 (grub_efidisk_close): Print a newline.
37517 (grub_efidisk_get_device_handle): Fixed to use
37518 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
37519 GRUB_EFI_DEVICE_PATH_TYPE.
37520
37521 * disk/efi/efidisk.c (device_path_guid): Moved to ...
37522 * kern/efi/efi.c (device_path_guid): ... here.
37523
37524 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
37525 chain.mod.
37526 (kernel_mod_HEADERS): Added efi/disk.h.
37527 (_chain_mod_SOURCES): New variable.
37528 (_chain_mod_CFLAGS): Likewise.
37529 (_chain_mod_LDFLAGS): Likewise.
37530 (chain_mod_SOURCES): Likewise.
37531 (chain_mod_CFLAGS): Likewise.
37532 (chain_mod_LDFLAGS): Likewise.
37533
37534 * DISTLIST: Added include/grub/efi/chainloader.h,
37535 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
37536
37537 * include/grub/efi/chainloader.h: New file.
37538 * loader/efi/chainloader.c: Likewise.
37539 * loader/efi/chainloader_normal.c: Likewise.
37540
37541 2006-04-30 Marco Gerards <marco@gnu.org>
37542
37543 * commands/configfile.c (grub_cmd_source): New function.
37544 (GRUB_MOD_INIT): Register the commands `source' and `.'.
37545 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
37546
37547 2006-04-30 Marco Gerards <marco@gnu.org>
37548
37549 * normal/execute.c (grub_script_execute_cmd): Change the return
37550 type to `grub_err_t'. Correctly return the error.
37551 (grub_script_execute_cmdline): In case a command line is not a
37552 command or a function, try to interpret it as an assignment.
37553
37554 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
37555
37556 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
37557 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
37558 skip a node whose name is obviously invalid as UTF-16,
37559 i.e. contains a NUL character. Stop the iteration when the last
37560 directory entry is found. Instead of using the return value of
37561 grub_hfsplus_btree_iterate_node, store the value in RET and use
37562 it, because the iterator can be stopped by the last directory
37563 entry.
37564
37565 2006-04-30 Marco Gerards <marco@gnu.org>
37566
37567 * include/grub/env.h (grub_env_export): New prototype. Reported
37568 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
37569
37570 2006-04-30 Marco Gerards <marco@gnu.org>
37571
37572 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
37573 size of the extents in a catalog file record.
37574
37575 2006-04-29 Marco Gerards <marco@gnu.org>
37576
37577 * commands/configfile.c (grub_cmd_configfile): Execute the
37578 configfile within its own context.
37579
37580 * include/grub/env.h (grub_env_context_open): New prototype.
37581 (grub_env_context_close): Likewise.
37582
37583 * kern/env.c (grub_env): Removed.
37584 (grub_env_sorted): Likewise.
37585 (grub_env_context): New variable.
37586 (grub_env_var_context): Likewise.
37587 (grub_env_find): Search both the active context and the global
37588 context.
37589 (grub_env_context_open): New function.
37590 (grub_env_context_close): Likewise.
37591 (grub_env_insert): Likewise.
37592 (grub_env_remove): Likewise.
37593 (grub_env_export): Likewise.
37594 (grub_env_set): Changed to use helper functions to avoid code
37595 duplication.
37596 (grub_env_iterate): Rewritten so both the current context and the
37597 global context are being used.
37598
37599 * normal/command.c (export_command): New function.
37600 (grub_command_init): Register the `export' function.
37601
37602 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
37603
37604 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
37605 explicitly to suppress gcc's warnings.
37606 * fs/fat.c (grub_fat_find_dir): Likewise.
37607 (grub_fat_label): Likewise.
37608 * fs/xfs.c (grub_xfs_read_inode): Likewise.
37609 (grub_xfs_mount): Likewise.
37610 (grub_xfs_label): Likewise.
37611 * fs/affs.c (grub_affs_mount): Likewise.
37612 (grub_affs_label): Likewise.
37613 (grub_affs_iterate_dir): Likewise.
37614 * fs/sfs.c (grub_sfs_mount): Likewise.
37615 (grub_sfs_iterate_dir): Likewise.
37616 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
37617 * fs/hfs.c (grub_hfs_mount): Likewise.
37618 (grub_hfs_cmp_catkeys): Likewise.
37619 (grub_hfs_find_dir): Likewise.
37620 (grub_hfs_dir): Likewise.
37621 (grub_hfs_label): Likewise.
37622 * fs/jfs.c (grub_jfs_mount): Likewise.
37623 (grub_jfs_opendir): Likewise.
37624 (grub_jfs_getent): Likewise.
37625 (grub_jfs_lookup_symlink): Likewise.
37626 (grub_jfs_label): Likewise.
37627 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
37628 (grub_hfsplus_iterate_dir): Likewise.
37629 (grub_hfsplus_btree_iterate_node): Made static.
37630
37631 * util/grub-emu.c (prefix): New variable.
37632 (grub_machine_set_prefix): New function.
37633 (main): Do not set the environment variable "prefix" here. Only
37634 set PREFIX, which is used later by grub_machine_set_prefix.
37635
37636 * include/grub/video.h: Do not include grub/symbol.h.
37637 (grub_video_register): Not exported. This symbol is not defined in
37638 the kernel.
37639 (grub_video_unregister): Likewise.
37640 (grub_video_iterate): Likewise.
37641 (grub_video_setup): Likewise.
37642 (grub_video_restore): Likewise.
37643 (grub_video_get_info): Likewise.
37644 (grub_video_get_blit_format): Likewise.
37645 (grub_video_set_palette): Likewise.
37646 (grub_video_get_palette): Likewise.
37647 (grub_video_set_viewport): Likewise.
37648 (grub_video_get_viewport): Likewise.
37649 (grub_video_map_color): Likewise.
37650 (grub_video_map_rgb): Likewise.
37651 (grub_video_map_rgba): Likewise.
37652 (grub_video_fill_rect): Likewise.
37653 (grub_video_blit_glyph): Likewise.
37654 (grub_video_blit_bitmap): Likewise.
37655 (grub_video_blit_render_target): Likewise.
37656 (grub_video_scroll): Likewise.
37657 (grub_video_swap_buffers): Likewise.
37658 (grub_video_create_render_target): Likewise.
37659 (grub_video_delete_render_target): Likewise.
37660 (grub_video_set_active_render_target): Likewise.
37661
37662 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
37663 Undefined.
37664 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
37665
37666 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
37667 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37668 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37669 instead of $(srcdir)/genkernsyms.sh.
37670
37671 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
37672 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37673 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37674 instead of $(srcdir)/genkernsyms.sh.
37675
37676 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
37677 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37678 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37679 instead of $(srcdir)/genkernsyms.sh.
37680
37681 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
37682 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37683 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37684 instead of $(srcdir)/genkernsyms.sh.
37685
37686 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
37687 genkernsyms.sh.
37688
37689 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
37690 genkernsyms.sh.
37691 (gensymlist.sh): New target.
37692 (genkernsyms.sh): Likewise.
37693
37694 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
37695 genkernsyms.sh.in and gensymlist.sh.in.
37696
37697 * genkernsyms.sh: Removed.
37698 * gensymlist.sh: Likewise.
37699
37700 * genkernsyms.sh.in: New file.
37701 * gensymlist.sh.in: Likewise.
37702
37703 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
37704
37705 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
37706 clobber "prefix", since we may have already set it manually.
37707
37708 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
37709
37710 * kern/misc.c (abort): New alias for grub_abort.
37711
37712 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
37713
37714 A new machine-specific function "grub_machine_set_prefix" is
37715 defined. This is called after loading modules, so that a prefix
37716 initialization can use modules. Also, this change adds an
37717 intensive debugging feature for the memory manager via the
37718 configure option "--enable-mm-debug".
37719
37720 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
37721 PART.LEN.
37722
37723 * kern/sparc64/ieee1275/init.c (abort): Removed.
37724 (grub_stop): Likewise.
37725 (grub_exit): New function.
37726 (grub_set_prefix): Renamed to ...
37727 (grub_machine_set_prefix): ... this.
37728 (grub_machine_init): Do not call grub_set_prefix.
37729
37730 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
37731 (grub_machine_set_prefix): ... this.
37732 (grub_machine_init): Do not call grub_set_prefix.
37733
37734 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
37735 (grub_machine_init): Do not set the prefix here.
37736
37737 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
37738
37739 * kern/efi/init.c: Include grub/mm.h.
37740 (grub_efi_set_prefix): New function.
37741
37742 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
37743 (grub_efi_get_filename): New function.
37744 (grub_print_device_path): Renamed to ...
37745 (grub_efi_print_device_path): ... this.
37746
37747 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
37748 [MM_DEBUG] (grub_realloc): Likewise.
37749 [MM_DEBUG] (grub_free): Likewise.
37750 [MM_DEBUG] (grub_memalign): Likewise.
37751 [MM_DEBUG] (grub_mm_debug): New variable.
37752 [MM_DEBUG] (grub_debug_malloc): New function.
37753 [MM_DEBUG] (grub_debug_free): New function.
37754 [MM_DEBUG] (grub_debug_realloc): New function.
37755 [MM_DEBUG] (grub_debug_memalign): New function.
37756
37757 * kern/misc.c (grub_abort): Print a newline to distinguish
37758 the message.
37759
37760 * kern/main.c (grub_main): Call grub_machine_set_prefix and
37761 grub_set_root_dev after loading modules. This is necessary when
37762 setting a prefix depends on modules.
37763
37764 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
37765 (grub_efi_print_device_path): ... this.
37766 (grub_efi_get_filename): New prototype.
37767 (grub_efi_set_prefix): Likewise.
37768
37769 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
37770 and grub/disk.h.
37771 (grub_efidisk_get_device_handle): New prototype.
37772 (grub_efidisk_get_device_name): Likewise.
37773
37774 * include/grub/mm.h: Include config.h.
37775 (MM_DEBUG): Removed.
37776 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
37777 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
37778 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
37779 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
37780 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
37781 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
37782 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
37783 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
37784 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
37785
37786 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
37787
37788 * disk/efi/efidisk.c: Include grub/partition.h.
37789 (iterate_child_devices): New function.
37790 (add_device): First, compare only last device path nodes, so that
37791 devices are sorted by the types.
37792 (grub_efidisk_get_device_handle): New function.
37793 (grub_efidisk_get_device_name): Likewise.
37794
37795 * configure.ac (--enable-mm-debug): New option to enable the
37796 memory manager debugging feature. This makes the binary much
37797 bigger, so is disabled by default.
37798
37799 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
37800
37801 Use grub_abort instead of grub_stop, and grub_exit must be
37802 define in each architecture now. Also, this change adds support
37803 for EFI disks.
37804
37805 * util/i386/pc/grub-probefs.c: Include grub/term.h.
37806 (grub_getkey): New function.
37807 (grub_term_get_current): Likewise.
37808
37809 * util/i386/pc/grub-setup.c: Include grub/term.h.
37810 (grub_getkey): New function.
37811 (grub_term_get_current): Likewise.
37812
37813 * util/misc.c (grub_stop): Renamed to ...
37814 (grub_exit): ... this.
37815
37816 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
37817 (grub_exit): ... this.
37818 (grub_machine_init): Use grub_abort instead of abort.
37819 (grub_stop): Removed.
37820
37821 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
37822 abort.
37823
37824 * kern/i386/pc/startup.S (grub_exit): New function.
37825 (cold_reboot): New label.
37826
37827 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
37828 (grub_efi_init): Call grub_efidisk_init.
37829 (grub_efi_fini): Call grub_efidisk_fini.
37830
37831 * kern/efi/efi.c: Include grub/mm.h.
37832 (grub_efi_console_control_guid): Renamed to ...
37833 (console_control_guid): ... this.
37834 (grub_efi_loaded_image_guid): Renamed to ...
37835 (loaded_image_guid): ... this.
37836 (grub_efi_locate_handle): New function.
37837 (grub_efi_open_protocol): Likewise.
37838 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
37839 GRUB_EFI_CONSOLE_CONTROL_GUID.
37840 (grub_efi_exit): Removed.
37841 (grub_stop): Likewise.
37842 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
37843 (grub_exit): New function.
37844 (grub_print_device_path): Likewise.
37845
37846 * kern/rescue.c (grub_rescue_cmd_exit): New function.
37847 (grub_enter_rescue_mode): Register "exit".
37848
37849 * kern/misc.c (grub_real_dprintf): A cosmetic change.
37850 (grub_abort): New function.
37851
37852 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
37853
37854 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
37855
37856 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
37857
37858 * include/grub/efi/efi.h (grub_efi_exit): Removed.
37859 (grub_print_device_path): New prototype.
37860 (grub_efi_locate_handle): Likewise.
37861 (grub_efi_open_protocol): Likewise.
37862
37863 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
37864 * disk/efi/efidisk.c: Likewise.
37865
37866 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
37867
37868 * include/grub/efi/console_control.h
37869 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
37870
37871 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
37872 last 8 bytes as an array.
37873 (GRUB_EFI_DISK_IO_GUID): New macro.
37874 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
37875 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
37876 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
37877 grub_uint8_t.
37878 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
37879 (struct grub_efi_device_path): Rename the member "sub_type" to
37880 "subtype".
37881 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
37882 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
37883 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
37884 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
37885 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
37886 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
37887 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
37888 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
37889 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
37890 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
37891 (struct grub_efi_pci_device_path): New structure.
37892 (grub_efi_pci_device_path_t): New type.
37893 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
37894 (struct grub_efi_pccard_device_path): New structure.
37895 (grub_efi_pccard_device_path_t): New type.
37896 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
37897 (struct grub_efi_memory_mapped_device_path): New structure.
37898 (grub_efi_memory_mapped_device_path_t): New type.
37899 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
37900 (struct grub_efi_vendor_device_path): New structure.
37901 (grub_efi_vendor_device_path_t): New type.
37902 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
37903 (struct grub_efi_controller_device_path): New structure.
37904 (grub_efi_controller_device_path_t): New type.
37905 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
37906 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
37907 (struct grub_efi_acpi_device_path): New structure.
37908 (grub_efi_acpi_device_path_t): New type.
37909 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
37910 (struct grub_efi_expanded_acpi_device_path): New structure.
37911 (grub_efi_expanded_acpi_device_path_t): New type.
37912 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
37913 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
37914 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
37915 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
37916 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
37917 (struct grub_efi_atapi_device_path): New structure.
37918 (grub_efi_atapi_device_path_t): New type.
37919 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
37920 (struct grub_efi_fibre_channel_device_path): New structure.
37921 (grub_efi_fibre_channel_device_path_t): New type.
37922 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
37923 (struct grub_efi_1394_device_path): New structure.
37924 (grub_efi_1394_device_path_t): New type.
37925 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
37926 (struct grub_efi_usb_device_path): New structure.
37927 (grub_efi_usb_device_path_t): New type.
37928 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
37929 (struct grub_efi_usb_class_device_path): New structure.
37930 (grub_efi_usb_class_device_path_t): New type.
37931 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
37932 (struct grub_efi_i2o_device_path): New structure.
37933 (grub_efi_i2o_device_path_t): New type.
37934 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
37935 (struct grub_efi_mac_address_device_path): New structure.
37936 (grub_efi_mac_address_device_path_t): New type.
37937 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
37938 (struct grub_efi_ipv4_device_path): New structure.
37939 (grub_efi_ipv4_device_path_t): New type.
37940 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
37941 (struct grub_efi_ipv6_device_path): New structure.
37942 (grub_efi_ipv6_device_path_t): New type.
37943 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
37944 (struct grub_efi_infiniband_device_path): New structure.
37945 (grub_efi_infiniband_device_path_t): New type.
37946 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
37947 (struct grub_efi_uart_device_path): New structure.
37948 (grub_efi_uart_device_path_t): New type.
37949 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
37950 (struct grub_efi_vendor_messaging_device_path): New structure.
37951 (grub_efi_vendor_messaging_device_path_t): New type.
37952 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
37953 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
37954 (struct grub_efi_hard_drive_device_path): New structure.
37955 (grub_efi_hard_drive_device_path_t): New type.
37956 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
37957 (struct grub_efi_cdrom_device_path): New structure.
37958 (grub_efi_cdrom_device_path_t): New type.
37959 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
37960 (struct grub_efi_vendor_media_device_path): New structure.
37961 (grub_efi_vendor_media_device_path_t): New type.
37962 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
37963 (struct grub_efi_file_path_device_path): New structure.
37964 (grub_efi_file_path_device_path_t): New type.
37965 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
37966 (struct grub_efi_protocol_device_path): New structure.
37967 (grub_efi_protocol_device_path_t): New type.
37968 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
37969 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
37970 (struct grub_efi_bios_device_path): New structure.
37971 (grub_efi_bios_device_path_t): New type.
37972 (struct grub_efi_disk_io): New structure.
37973 (grub_efi_disk_io_t): New type.
37974 (struct grub_efi_block_io_media): New structure.
37975 (grub_efi_block_io_media_t): New type.
37976 (struct grub_efi_block_io): New structure.
37977 (grub_efi_block_io_t): New type.
37978
37979 * include/grub/misc.h (grub_stop): Removed.
37980 (grub_exit): New prototype.
37981 (grub_abort): Likewise.
37982
37983 * include/grub/disk.h (enum grub_disk_dev_id): Added
37984 GRUB_DISK_DEVICE_EFIDISK_ID.
37985
37986 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
37987 disk/efi/efidisk.c.
37988 (kernel_syms.lst): Remove the target if an error occurs.
37989
37990 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
37991
37992 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
37993 as it was simply too buggy.
37994
37995 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
37996
37997 * kern/misc.c (grub_lltoa): New function.
37998 (grub_vsprintf): Added support for the long long suffix,
37999 i.e. "ll".
38000
38001 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
38002
38003 * Makefile.in (LDFLAGS): Add variable.
38004 (LD): Remove variable.
38005 * configure.ac: Add -m32 to LDFLAGS.
38006 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
38007 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
38008 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
38009 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
38010 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
38011 variables.
38012 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
38013 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
38014 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
38015
38016 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
38017
38018 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
38019 length for unknown glyph.
38020
38021 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
38022
38023 Add support for pre-loaded modules into the EFI port.
38024
38025 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
38026 completely. Accept one more argument DIR. The caller has changed.
38027
38028 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
38029
38030 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
38031 (grub_efi_loaded_image_guid): New variable.
38032 (grub_efi_get_loaded_image): New function.
38033 (grub_arch_modules_addr): Likewise.
38034
38035 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
38036 prototype.
38037
38038 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
38039 (struct grub_efi_loaded_image): New structure.
38040 (grub_efi_loaded_image_t): New type.
38041
38042 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
38043
38044 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
38045 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
38046 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
38047
38048 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
38049
38050 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
38051
38052 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
38053
38054 * DISTLIST: Added include/grub/efi/console.h,
38055 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
38056 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
38057
38058 * include/grub/efi/console.h: New file.
38059 * include/grub/efi/time.h: Likewise.
38060 * include/grub/i386/efi/kernel.h: Likewise.
38061 * kern/efi/init.c: Likewise.
38062 * kern/efi/mm.c: Likewise.
38063 * term/efi/console.c: Likewise.
38064
38065 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
38066 (grub_stop): Removed.
38067 (grub_get_rtc): Likewise.
38068 (grub_machine_init): Simply call grub_efi_init.
38069 (grub_machine_fini): Call grub_efi_fini.
38070
38071 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
38072 (grub_efi_output_string): Removed.
38073 (grub_efi_stall): New function.
38074 (grub_stop): Likewise.
38075 (grub_get_rtc): Likewise.
38076
38077 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
38078 (grub_efi_stall): New prototype.
38079 (grub_efi_allocate_pages): Likewise.
38080 (grub_efi_free_pages): Likewise.
38081 (grub_efi_get_memory_map): Likewise.
38082 (grub_efi_mm_init): Likewise.
38083 (grub_efi_mm_fini): Likewise.
38084 (grub_efi_init): Likewise.
38085 (grub_efi_fini): Likewise.
38086
38087 * include/grub/i386/efi/time.h: Do not include
38088 grub/symbol.h. Include grub/efi/time.h.
38089 (GRUB_TICKS_PER_SECOND): Removed.
38090 (grub_get_rtc): Likewise.
38091
38092 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
38093 Added padding. The EFI spec is buggy.
38094 (GRUB_EFI_BLACK): New macro.
38095 (GRUB_EFI_BLUE): Likewise.
38096 (GRUB_EFI_GREEN): Likewise.
38097 (GRUB_EFI_CYAN): Likewise.
38098 (GRUB_EFI_RED): Likewise.
38099 (GRUB_EFI_MAGENTA): Likewise.
38100 (GRUB_EFI_BROWN): Likewise.
38101 (GRUB_EFI_LIGHTGRAY): Likewise.
38102 (GRUB_EFI_BRIGHT): Likewise.
38103 (GRUB_EFI_DARKGRAY): Likewise.
38104 (GRUB_EFI_LIGHTBLUE): Likewise.
38105 (GRUB_EFI_LIGHTGREEN): Likewise.
38106 (GRUB_EFI_LIGHTCYAN): Likewise.
38107 (GRUB_EFI_LIGHTRED): Likewise.
38108 (GRUB_EFI_LIGHTMAGENTA): Likewise.
38109 (GRUB_EFI_YELLOW): Likewise.
38110 (GRUB_EFI_WHITE): Likewise.
38111 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
38112 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
38113 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
38114 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
38115 (GRUB_EFI_BACKGROUND_RED): Likewise.
38116 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
38117 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
38118 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
38119 (GRUB_EFI_TEXT_ATTR): Likewise.
38120
38121 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
38122 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
38123 (kernel_mod_HEADERS): Added efi/time.h.
38124
38125 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
38126
38127 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
38128 include/grub/efi/api.h, include/grub/efi/console_control.h,
38129 include/grub/efi/efi.h, include/grub/efi/pe32.h,
38130 include/grub/i386/efi/time.h, kern/efi/efi.c,
38131 kern/i386/efi/init.c, kern/i386/efi/startup.S,
38132 and util/i386/efi/grub-mkimage.c.
38133
38134 * Makefile.in (RMKFILES): Added i386-efi.rmk.
38135
38136 * genmk.rb (PModule#rule): Do not export symbols if
38137 #{prefix}_EXPORTS is set to "no".
38138
38139 * conf/i386-efi.mk: New file.
38140 * conf/i386-efi.rmk: Likewise.
38141 * include/grub/efi/api.h: Likewise.
38142 * include/grub/efi/console_control.h: Likewise.
38143 * include/grub/efi/efi.h: Likewise.
38144 * include/grub/efi/pe32.h: Likewise.
38145 * include/grub/i386/efi/time.h: Likewise.
38146 * kern/efi/efi.c: Likewise.
38147 * kern/i386/efi/init.c: Likewise.
38148 * kern/i386/efi/startup.S: Likewise.
38149 * util/i386/efi/grub-mkimage.c: Likewise.
38150
38151 2006-04-17 Marco Gerards <marco@gnu.org>
38152
38153 * include/grub/script.h: Include <grub/parser.h> and
38154 "grub_script.tab.h".
38155 (struct grub_lexer_param): New struct.
38156 (struct grub_parser_param): Likewise.
38157 (grub_script_create_arglist): Pass the state in an argument.
38158 (grub_script_add_arglist): Likewise.
38159 (grub_script_create_cmdline): Likewise.
38160 (grub_script_create_cmdblock): Likewise.
38161 (grub_script_create_cmdif): Likewise.
38162 (grub_script_create_cmdmenu): Likewise.
38163 (grub_script_add_cmd): Likewise.
38164 (grub_script_arg_add): Likewise.
38165 (grub_script_lexer_ref): Likewise.
38166 (grub_script_lexer_deref): Likewise.
38167 (grub_script_lexer_record_start): Likewise.
38168 (grub_script_lexer_record_stop): Likewise.
38169 (grub_script_mem_record): Likewise.
38170 (grub_script_mem_record_stop): Likewise.
38171 (grub_script_malloc): Likewise.
38172 (grub_script_yylex): Likewise.
38173 (grub_script_yyparse): Likewise.
38174 (grub_script_yyerror): Likewise.
38175 (grub_script_yylex): Likewise.
38176 (grub_script_lexer_init): Return the state.
38177
38178 * normal/lexer.c (grub_script_lexer_state): Removed variable.
38179 (grub_script_lexer_done): Likewise.
38180 (grub_script_lexer_getline): Likewise.
38181 (grub_script_lexer_refs): Likewise.
38182 (script): Likewise.
38183 (newscript): Likewise.
38184 (record): Likewise.
38185 (recording): Likewise.
38186 (recordpos): Likewise.
38187 (recordlen): Likewise.
38188 (grub_script_lexer_init): Return the state instead of setting
38189 global variables.
38190 (grub_script_lexer_ref): Use the newly added argument for state
38191 instead of globals.
38192 (grub_script_lexer_deref): Likewise.
38193 (grub_script_lexer_record_start): Likewise.
38194 (grub_script_lexer_record_stop): Likewise.
38195 (recordchar): Likewise.
38196 (nextchar): Likewise.
38197 (grub_script_yylex2): Likewise.
38198 (grub_script_yylex): Likewise.
38199 (grub_script_yyerror): Likewise.
38200
38201 * normal/parser.y (func_mem): Removed variable.
38202 (menu_entry): Likewise.
38203 (err): Likewise.
38204 (%lex-param): New parser option.
38205 (%parse-param): Likewise.
38206 (script): Always return the AST.
38207 (argument): Pass the state around.
38208 (arguments): Likewise.
38209 (grubcmd): Likewise.
38210 (commands): Likewise.
38211 (function): Likewise.
38212 (menuentry): Likewise.
38213 (if_statement): Likewise.
38214 (if): Likewise.
38215
38216 * normal/script.c (grub_script_memused): Removed variable.
38217 (grub_script_parsed): Likewise.
38218 (grub_script_malloc): Added a state argument. Use that instead of
38219 global variables.
38220 (grub_script_mem_record): Likewise.
38221 (grub_script_mem_record_stop): Likewise.
38222 (grub_script_arg_add): Likewise.
38223 (grub_script_add_arglist): Likewise.
38224 (grub_script_create_cmdline): Likewise.
38225 (grub_script_create_cmdif): Likewise.
38226 (grub_script_create_cmdmenu): Likewise.
38227 (grub_script_add_cmd): Likewise.
38228 (grub_script_parse): Setup the state before calling the parser.
38229
38230 2006-04-16 Marco Gerards <marco@gnu.org>
38231
38232 * normal/command.c (grub_command_init): Remove the title command.
38233
38234 * normal/lexer.c (grub_script_yylex): Renamed from this...
38235 (grub_script_yylex2): ... to this.
38236 (grub_script_yylex): New function. Temporary
38237 introduced to filter some tokens.
38238 (grub_script_yyerror): Print a newline.
38239
38240 * normal/main.c (read_config_file): Output information about the
38241 lines that contain errors. Wait for a key after all lines have
38242 been processed. Don't return an empty menu.
38243
38244 * normal/parser.y (func_mem): Don't initialize.
38245 (menu_entry): Likewise.
38246 (err): New variable.
38247 (script): Don't return anything when an error was encountered.
38248 (ws, returns): Removed rules.
38249 (argument): Disabled concatenated variable support.
38250 (arguments): Remove explicit separators.
38251 (grubcmd): Likewise.
38252 (function): Likewise.
38253 (menuentry): Likewise.
38254 (if): Likewise.
38255 (commands): Likewise. Add error handling.
38256
38257 * normal/script.c (grub_script_create_cmdline): If
38258 `grub_script_parsed' is 0, assume the parser encountered an error.
38259
38260 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
38261
38262 * configure.ac: Add support for EFI. Fix the typo
38263 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
38264
38265 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
38266
38267 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
38268 foreign multibyte characters should be shown correctly.
38269
38270 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
38271
38272 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
38273 calculation.
38274 (read_config_file): Made it to close file before returning.
38275
38276 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
38277
38278 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
38279 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
38280 video/i386/pc/vbefill.c.
38281
38282 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
38283 video/i386/pc/vbefill.c.
38284
38285 * include/grub/video.h (grub_video_blit_format): New enum.
38286 (grub_video_mode_info): Added new member blit_format.
38287 (grub_video_get_blit_format): New function prototype.
38288
38289 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
38290 function prototype.
38291 (grub_video_vbe_map_rgb): Likewise.
38292 (grub_video_vbe_unmap_color): Likewise.
38293
38294 * include/grub/i386/pc/vbeblit.h: New file.
38295
38296 * include/grub/i386/pc/vbefill.h: New file.
38297
38298 * video/video.c (grub_video_get_blit_format): New function.
38299 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
38300 (grub_video_vbe_map_rgb): Likewise.
38301 (grub_video_vbe_unmap_color): Likewise.
38302
38303 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
38304 optimized fills.
38305 (grub_video_vbe_blit_render_target): Changed to use more optimized
38306 blits.
38307 (grub_video_vbe_setup): Added detection for optimized settings.
38308 (grub_video_vbe_create_render_target): Likewise.
38309
38310 * video/i386/pc/vbeblit.c: New file.
38311
38312 * video/i386/pc/vbefill.c: New file.
38313
38314 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
38315
38316 * font/manager.c (grub_font_get_glyph): Removed font fixup from
38317 here...
38318
38319 * util/unifont2pff.rb: ... and moved it to here. Improved argument
38320 parsing to support both hex and dec ranges. If filename was missing
38321 show usage information.
38322
38323 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
38324
38325 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
38326 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
38327
38328 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
38329 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
38330 (video_mod_SOURCES): Added.
38331 (video_mod_CFLAGS): Likewise.
38332 (video_mod_LDFLAGS): Likewise.
38333 (gfxterm_mod_SOURCES): Likewise.
38334 (gfxterm_mod_CFLAGS): Likewise.
38335 (gfxterm_mod_LDFLAGS): Likewise.
38336 (videotest_mod_SOURCES): Likewise.
38337 (videotest_mod_CFLAGS): Likewise.
38338 (videotest_mod_LDFLAGS): Likewise.
38339 (vesafb_mod_SOURCES): Removed.
38340 (vesafb_mod_CFLAGS): Likewise.
38341 (vesafb_mod_LDFLAGS): Likewise.
38342 (vga_mod_SOURCES): Likewise.
38343 (vga_mod_CFLAGS): Likewise.
38344 (vga_mod_LDFLAGS): Likewise.
38345
38346 * commands/videotest.c: New file.
38347
38348 * font/manager.c (fill_with_default_glyph): Modified to use
38349 grub_font_glyph.
38350 (grub_font_get_glyph): Likewise.
38351 (fontmanager): Renamed from this...
38352 (font_manager): ... to this.
38353
38354 * include/grub/font.h (grub_font_glyph): Added new structure.
38355 (grub_font_get_glyph): Modified to use grub_font_glyph.
38356
38357 * include/grub/misc.h (grub_abs): Added as inline function.
38358
38359 * include/grub/video.h: New file.
38360
38361 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
38362 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
38363 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
38364 (grub_vbe_get_controller_info): Renamed from this...
38365 (grub_vbe_bios_get_controller_info): ... to this.
38366 (grub_vbe_get_mode_info): Renamed from this...
38367 (grub_vbe_bios_get_mode_info): ... to this.
38368 (grub_vbe_set_mode): Renamed from this...
38369 (grub_vbe_bios_set_mode): ... to this.
38370 (grub_vbe_get_mode): Renamed from this...
38371 (grub_vbe_bios_get_mode): ... to this.
38372 (grub_vbe_set_memory_window): Renamed from this...
38373 (grub_vbe_bios_set_memory_window): ... to this.
38374 (grub_vbe_get_memory_window): Renamed from this...
38375 (grub_vbe_bios_get_memory_window): ... to this.
38376 (grub_vbe_set_scanline_length): Renamed from this...
38377 (grub_vbe_set_scanline_length): ... to this.
38378 (grub_vbe_get_scanline_length): Renamed from this...
38379 (grub_vbe_bios_get_scanline_length): ... to this.
38380 (grub_vbe_set_display_start): Renamed from this...
38381 (grub_vbe_bios_set_display_start): ... to this.
38382 (grub_vbe_get_display_start): Renamed from this...
38383 (grub_vbe_bios_get_display_start): ... to this.
38384 (grub_vbe_set_palette_data): Renamed from this...
38385 (grub_vbe_bios_set_palette_data): ... to this.
38386 (grub_vbe_set_pixel_rgb): Removed.
38387 (grub_vbe_set_pixel_index): Likewise.
38388
38389 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
38390 from this...
38391 (grub_vbe_bios_get_controller_info): ... to this.
38392 (grub_vbe_get_mode_info): Renamed from this...
38393 (grub_vbe_bios_get_mode_info): ... to this.
38394 (grub_vbe_set_mode): Renamed from this...
38395 (grub_vbe_bios_set_mode): ... to this.
38396 (grub_vbe_get_mode): Renamed from this...
38397 (grub_vbe_bios_get_mode): ... to this.
38398 (grub_vbe_set_memory_window): Renamed from this...
38399 (grub_vbe_bios_set_memory_window): ... to this.
38400 (grub_vbe_get_memory_window): Renamed from this...
38401 (grub_vbe_bios_get_memory_window): ... to this.
38402 (grub_vbe_set_scanline_length): Renamed from this...
38403 (grub_vbe_set_scanline_length): ... to this.
38404 (grub_vbe_get_scanline_length): Renamed from this...
38405 (grub_vbe_bios_get_scanline_length): ... to this.
38406 (grub_vbe_set_display_start): Renamed from this...
38407 (grub_vbe_bios_set_display_start): ... to this.
38408 (grub_vbe_get_display_start): Renamed from this...
38409 (grub_vbe_bios_get_display_start): ... to this.
38410 (grub_vbe_set_palette_data): Renamed from this...
38411 (grub_vbe_bios_set_palette_data): ... to this.
38412 (grub_vbe_bios_get_controller_info): Fixed problem with registers
38413 getting corrupted after calling it. Added more pushes and pops.
38414 (grub_vbe_bios_set_mode): Likewise.
38415 (grub_vbe_bios_get_mode): Likewise.
38416 (grub_vbe_bios_get_memory_window): Likewise.
38417 (grub_vbe_bios_set_scanline_length): Likewise.
38418 (grub_vbe_bios_get_scanline_length): Likewise.
38419 (grub_vbe_bios_get_display_start): Likewise.
38420 (grub_vbe_bios_set_palette_data): Likewise.
38421
38422 * normal/cmdline.c (cl_set_pos): Refresh the screen.
38423 (cl_insert): Likewise.
38424 (cl_delete): Likewise.
38425
38426 * term/gfxterm.c: New file.
38427
38428 * term/i386/pc/vesafb.c: Removed file.
38429
38430 * video/video.c: New file.
38431
38432 * video/i386/pc/vbe.c (real2pm): Added new function.
38433 (grub_video_vbe_draw_pixel): Likewise.
38434 (grub_video_vbe_get_video_ptr): Likewise.
38435 (grub_video_vbe_get_pixel): Likewise
38436 (grub_video_vbe_init): Likewise.
38437 (grub_video_vbe_fini): Likewise.
38438 (grub_video_vbe_setup): Likewise.
38439 (grub_video_vbe_get_info): Likewise.
38440 (grub_video_vbe_set_palette): Likewise.
38441 (grub_video_vbe_get_palette): Likewise.
38442 (grub_video_vbe_set_viewport): Likewise.
38443 (grub_video_vbe_get_viewport): Likewise.
38444 (grub_video_vbe_map_color): Likewise.
38445 (grub_video_vbe_map_rgb): Likewise.
38446 (grub_video_vbe_map_rgba): Likewise.
38447 (grub_video_vbe_unmap_color): Likewise.
38448 (grub_video_vbe_fill_rect): Likewise.
38449 (grub_video_vbe_blit_glyph): Likewise.
38450 (grub_video_vbe_blit_bitmap): Likewise.
38451 (grub_video_vbe_blit_render_target): Likewise.
38452 (grub_video_vbe_scroll): Likewise.
38453 (grub_video_vbe_swap_buffers): Likewise.
38454 (grub_video_vbe_create_render_target): Likewise.
38455 (grub_video_vbe_delete_render_target): Likewise.
38456 (grub_video_vbe_set_active_render_target): Likewise.
38457 (grub_vbe_set_pixel_rgb): Remove function.
38458 (grub_vbe_set_pixel_index): Likewise.
38459 (index_color_mode): Remove static variable.
38460 (active_mode): Likewise.
38461 (framebuffer): Likewise.
38462 (bytes_per_scan_line): Likewise.
38463 (grub_video_vbe_adapter): Added new static variable.
38464 (framebuffer): Likewise.
38465 (render_target): Likewise.
38466 (initial_mode): Likewise.
38467 (mode_in_use): Likewise.
38468 (mode_list): Likewise.
38469
38470 2006-03-10 Marco Gerards <marco@gnu.org>
38471
38472 * configure.ac (AC_INIT): Bumped to 1.93.
38473
38474 * DISTLIST: Added `include/grub/hfs.h'.
38475
38476 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
38477
38478 * boot/i386/pc/boot.S (general_error): Before looping, try INT
38479 18H, which might help the BIOS falling back to next boot media.
38480
38481 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
38482
38483 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
38484 Poe Chen <poe.poechen@gmail.com>.
38485
38486 2006-01-17 Marco Gerards <marco@gnu.org>
38487
38488 * include/grub/normal.h: Include <grub/script.h>.
38489 (grub_command_list): Removed struct.
38490 (grub_command_list_t): Removed type.
38491 (grub_menu_entry): Remove members `num' and `command_list'. Add
38492 members `commands' and `sourcecode'.
38493 * include/grub/script.h: Add inclusion guards.
38494 (grub_script_cmd_menuentry): New struct.
38495 (grub_script_execute_menuentry): New prototype.
38496 (grub_script_lexer_record_start): Likewise.
38497 (grub_script_lexer_record_stop): Likewise.
38498 * normal/execute.c (grub_script_execute_menuentry): New function.
38499 * normal/lexer.c (record, recording, recordpos, recordlen): New
38500 variables.
38501 (grub_script_lexer_record_start): New function.
38502 (grub_script_lexer_record_stop): Likewise.
38503 (recordchar): Likewise.
38504 (nextchar): Likewise.
38505 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
38506 2048 as the buffer size. Add the tokens `menuentry' and `@'.
38507 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
38508 (current_menu): New variable.
38509 (free_menu): Mainly rewritten.
38510 (grub_normal_menu_addentry): New function.
38511 (read_config_file): Rewritten.
38512 * normal/menu.c (run_menu_entry): Mainly rewritten.
38513 * normal/menu_entry.c (make_screen): Rewritten the code to insert
38514 the menu entry.
38515 (run): Mainly rewritten.
38516 * normal/parser.y (menu_entry): New variable.
38517 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
38518 (menuentry): New rule.
38519 (command): Add `menuentry'.
38520 (if_statement): Allow additional returns before `fi'.
38521 * normal/script.c (grub_script_create_cmdmenu): New function.
38522
38523 2006-01-03 Marco Gerards <marco@gnu.org>
38524
38525 * INSTALL: GNU Bison is required.
38526 * configure.ac: Rewritten the test to detect Bison.
38527 * Makefile.in (YACC): New variable. Reported by Xun Sun
38528 <xun.sun.cn@gmail.com>.
38529
38530 2006-01-03 Marco Gerards <marco@gnu.org>
38531
38532 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
38533 the HFS+ filesystem to filesystem blocks.
38534 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
38535 GCC warning is silenced.
38536
38537 2006-01-03 Marco Gerards <marco@gnu.org>
38538
38539 * partmap/apple.c (apple_partition_map_iterate): Convert the data
38540 read from disk from big endian to host byte order.
38541
38542 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
38543
38544 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
38545 documentation.
38546 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
38547 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
38548 embedded HFS+ filesystem.
38549 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
38550 (grub_hfs_sblock): Move from here...
38551 * include/grub/hfs.h: To here... New file.
38552 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
38553 documentation.
38554 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
38555 New macros.
38556 (grub_hfsplus_volheader): Change type of member `magic' to
38557 `grub_uint16_t'.
38558 (grub_hfsplus_data): Add new member `embedded_offset'.
38559 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
38560 returned block.
38561 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
38562 Calculate the offset.
38563
38564 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38565
38566 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
38567 Removed.
38568 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
38569
38570 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38571
38572 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
38573 ENV->NAME is NULL after allocating ENV->VALUE.
38574
38575 2005-12-25 Marco Gerards <marco@gnu.org>
38576
38577 * kern/env.c (grub_env_set): Rewritten the error handling code.
38578
38579 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38580
38581 * geninit.sh: Made more robust, and more portable.
38582
38583 2005-12-25 Marco Gerards <marco@gnu.org>
38584
38585 Add support for Apple HFS+ filesystems.
38586
38587 * fs/hfsplus.c: New file.
38588
38589 * DISTLIST: Added `fs/hfsplus.c'.
38590
38591 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
38592 (hfsplus_mod_SOURCES): New variable.
38593 (hfsplus_mod_CFLAGS): Likewise.
38594 (hfsplus_mod_LDFLAGS): Likewise.
38595 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
38596 (grub_setup_SOURCES): Likewise.
38597 (grub_mkdevicemap_SOURCES): Likewise.
38598 (grub_emu_SOURCES): Likewise.
38599 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38600
38601 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
38602
38603 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
38604
38605 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38606
38607 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
38608 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
38609 include/grub/parser.h, include/grub/script.h, kern/parser.c,
38610 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
38611 normal/lexer.c, normal/parser.y, normal/script.c, and
38612 partmap/gpt.c.
38613 Removed kern/sparc64/cache.c.
38614
38615 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
38616 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
38617 grub_emu_init.c.
38618
38619 * configure.ac (AC_INIT): Bumped to 1.92.
38620
38621 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
38622
38623 * kern/err.c (grub_error_push): Added new function to support error
38624 stacks.
38625 (grub_error_pop): Likewise.
38626 (grub_error_stack_items): New local variable to support error stacks.
38627 (grub_error_stack_pos): Likewise.
38628 (grub_error_stack_assert): Likewise.
38629 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
38630 stack depth.
38631 (grub_print_error): Added support to print errors from error stack.
38632
38633 * include/grub/err.h (grub_error_push): Added function prototype.
38634 (grub_error_pop): Likewise.
38635
38636 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
38637
38638 * configure.ac: Accept `powerpc64' as host_cpu.
38639 (amd64): Rename to `biarch32'.
38640
38641 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
38642 non-cacheline-aligned addresses.
38643
38644 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
38645 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
38646 if `size' is non-zero.
38647
38648 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
38649
38650 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
38651 and `cd' to make sure the filename is not prefixed with a
38652 directory name.
38653 (pkgdata_MODULES): Add `gpt.mod'.
38654 (gpt_mod_SOURCES): New variable.
38655 (gpt_mod_CFLAGS): Likewise.
38656 (gpt_mod_LDFLAGS): Likewise.
38657
38658 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
38659
38660 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
38661 New macro.
38662
38663 * partmap/gpt.c: New file.
38664
38665 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
38666 GPT partition map is detected.
38667
38668 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
38669
38670 * commands/i386/pc/play.c: New file.
38671 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
38672 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
38673 macros.
38674
38675 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
38676
38677 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
38678 ((unused))' to silence gcc warning.
38679
38680 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
38681
38682 * configure.ac: Correct `AC_PROG_YACC' test.
38683
38684 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38685
38686 * util/powerpc/ieee1275/grub-install.in: Run the mount point
38687 check before installing files.
38688
38689 2005-11-22 Mike Small <smallm@panix.com>
38690
38691 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
38692 number regex so multidigit numbers are recognized correctly.
38693
38694 2005-11-22 Mike Small <smallm@panix.com>
38695
38696 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
38697 debugging message before attempting to claim memory.
38698 (grub_rescue_cmd_initrd): Add a claim debugging message and try
38699 multiple addresses in case of failure.
38700
38701 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38702
38703 * term/tparm.c (get_space): Remove empty `if' statement.
38704
38705 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
38706
38707 * kern/parser.c (check_varstate): Rename `state' to 's'.
38708
38709 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38710
38711 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
38712 variable definitions to the beginning of each function. Sort stack
38713 variables by size.
38714 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
38715 `buf' argument to `char *'.
38716
38717 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38718
38719 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
38720 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
38721 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
38722 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
38723 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
38724 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
38725 configfile.mod, search.mod, gzio.mod and test.mod.
38726 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
38727 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
38728 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
38729 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
38730 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
38731 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
38732 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
38733 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
38734 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
38735 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
38736 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38737 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38738 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
38739 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
38740 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
38741 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
38742 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38743 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
38744 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
38745 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
38746 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
38747 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
38748 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
38749
38750 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
38751 `grep --include'.
38752 (pkgdata_MODULES): Add test.mod.
38753
38754 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38755
38756 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
38757 appending to variables with "+=".
38758 (PModule): Use full pathname to generate *.lst filenames.
38759
38760 * Makefile.in: Fixed list rules moved from genmk.rb.
38761 (.DELETE_ON_ERROR): New special target.
38762 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
38763
38764 * conf/i386-pc.rmk: Include conf/common.mk.
38765 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
38766 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
38767 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
38768 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
38769 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
38770 configfile.mod, search.mod, gzio.mod and test.mod.
38771 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
38772 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
38773 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
38774 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
38775 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
38776 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
38777 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
38778 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
38779 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
38780 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
38781 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38782 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38783 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
38784 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
38785 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
38786 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
38787 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38788 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
38789 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
38790 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
38791 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
38792 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
38793 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
38794 here...
38795 * conf/common.rmk: ... to here. New file.
38796
38797 * conf/common.mk: New file.
38798
38799 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
38800
38801 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
38802 (grub_script.tab.c): ... here.
38803
38804 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
38805 (grub_script.tab.c): ... here.
38806
38807 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
38808 (grub_script.tab.c): ... here.
38809
38810 * normal/command.c (grub_command_find): Fixed a memory leak of
38811 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
38812
38813 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38814
38815 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
38816 "@" which marks the start of a comment on ARM.
38817 (VARIABLE): Likewise.
38818
38819 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38820
38821 Add support for Linux/ADFS partition tables.
38822
38823 * partmap/acorn.c: New file.
38824
38825 * include/grub/acorn_filecore.h: Likewise.
38826
38827 * DISTLIST: Added `partmap/acorn.c' and
38828 `include/grub/acorn_filecore.h'.
38829
38830 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38831 `partmap/acorn.c'.
38832 (pkgdata_MODULES): Add `acorn.mod'.
38833 (acorn_mod_SOURCES): New variable.
38834 (acorn_mod_CFLAGS): Likewise.
38835
38836 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
38837 `partmap/acorn.c'.
38838 (pkgdata_MODULES): Add `acorn.mod'.
38839 (acorn_mod_SOURCES): New variable.
38840 (acorn_mod_CFLAGS): Likewise.
38841
38842 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
38843 (pkgdata_MODULES): Add `acorn.mod'.
38844 (acorn_mod_SOURCES): New variable.
38845 (acorn_mod_CFLAGS): Likewise.
38846 (acorn_mod_LDFLAGS): Likewise.
38847
38848 * include/types.h (grub_disk_addr_t): New typedef.
38849
38850 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
38851
38852 * geninit.sh: New file.
38853
38854 * geninitheader.sh: Likewise.
38855
38856 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
38857 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
38858 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
38859 * commands/configfile.c (grub_configfile_init)
38860 (grub_configfile_fini): Likewise.
38861 * commands/default.c (grub_default_init, grub_default_fini):
38862 Likewise.
38863 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
38864 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
38865 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
38866 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
38867 Likewise.
38868 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
38869 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
38870 Likewise.
38871 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
38872 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
38873 Likewise.
38874 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
38875 Likewise.
38876 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
38877 Likewise.
38878 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
38879 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
38880 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
38881 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
38882 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
38883 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
38884 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
38885 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
38886 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
38887 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
38888 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
38889 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
38890 * partmap/amiga.c (grub_amiga_partition_map_init)
38891 (grub_amiga_partition_map_fini): Likewise.
38892 * partmap/apple.c (grub_apple_partition_map_init)
38893 (grub_apple_partition_map_fini): Likewise.
38894 * partmap/pc.c (grub_pc_partition_map_init)
38895 (grub_pc_partition_map_fini): Likewise.
38896 * partmap/sun.c (grub_sun_partition_map_init,
38897 grub_sun_partition_map_fini): Likewise.
38898 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
38899 Likewise.
38900
38901 * util/grub-emu.c: Include <grub_modules_init.h>.
38902 (main): Don't initialize and de-initialize any modules directly,
38903 use `grub_init_all' and `grub_fini_all' instead.
38904
38905 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
38906 `grub_vesafb_mod_init'.
38907 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
38908 all users.
38909 * term/i386/pc/vga.c (grub_vga_init): Renamed to
38910 `grub_vga_mod_init'. Updated all users.
38911 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
38912
38913 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
38914 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
38915 rules.
38916
38917 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
38918 Generate a function to initialize the module in utilities.
38919 Updated all callers.
38920 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
38921 initialize the module in utilities. Updated all callers.
38922
38923 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
38924
38925 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
38926 escape sequence and a literal ^L to clear the screen.
38927
38928 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
38929 when returning from Open Firmware.
38930
38931 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
38932
38933 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
38934 (grub_ofconsole_height): Likewise.
38935 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
38936 manually insert a '\n'.
38937 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
38938 `grub_ofconsole_height'. Return early if these are already set.
38939
38940 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
38941
38942 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
38943 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
38944 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
38945 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
38946 and `normal/script.c'.
38947 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38948 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38949 (test_mod_SOURCES): New variable.
38950 (test_mod_CFLAGS): Likewise.
38951 (test_mod_LDFLAGS): Likewise.
38952 (pkgdata_MODULES): Add `test.mod'.
38953 (grub_script.tab.c): New rule.
38954 (grub_script.tab.h): Likewise.
38955
38956 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
38957
38958 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38959 `commands/test.c', `normal/execute.c', `normal/lexer.c',
38960 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38961 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38962 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38963 (test_mod_SOURCES): New variable.
38964 (test_mod_CFLAGS): Likewise.
38965 (pkgdata_MODULES): Add `test.mod'.
38966 (grub_script.tab.c): New rule.
38967 (grub_script.tab.h): Likewise.
38968
38969 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
38970
38971 Add initial scripting support.
38972
38973 * commands/test.c: New file.
38974 * include/grub/script.h: Likewise.
38975 * normal/execute.c: Likewise.
38976 * normal/function.c: Likewise.
38977 * normal/lexer.c: Likewise.
38978 * normal/parser.y: Likewise.
38979 * normal/script.c: Likewise.
38980
38981 * configure.ac: Add `AC_PROG_YACC' test.
38982
38983 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
38984 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
38985 `normal/function.c' and `normal/script.c'.
38986 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38987 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38988 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
38989 variables.
38990 (pkgdata_MODULES): Add `test.mod'.
38991 (grub_script.tab.c): New rule.
38992 (grub_script.tab.h): Likewise.
38993
38994 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
38995
38996 * include/grub/normal.h (grub_test_init): New prototype.
38997 (grub_test_fini): Likewise.
38998
38999 * normal/command.c: Include <grub/script.h>.
39000 (grub_command_execute): Rewritten.
39001
39002 * util/grub-emu.c (main): Call `grub_test_init' and
39003 `grub_test_fini'.
39004
39005 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
39006
39007 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
39008 to 0.
39009 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
39010 there are no pending characters.
39011
39012 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
39013
39014 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
39015 `grub_strndup' to drop device arguments. Replace unnecessary
39016 `grub_strndup' with `grub_strdup'.
39017
39018 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
39019
39020 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
39021 `debug' environment variable has been set.
39022
39023 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
39024
39025 * Makefile.in (install-local): Use $(DATA).
39026 (uninstall): Likewise.
39027 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
39028 (sbin_UTILITIES): ... to here.
39029 (sbin_SCRIPTS): New variable.
39030 (grub_install_SOURCES): New variable.
39031 * util/powerpc/ieee1275/grub-install.in: New file.
39032 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
39033 variable.
39034 (add_segments): Call `grub_util_get_path'.
39035
39036 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
39037
39038 From Timothy Baldwin:
39039 * commands/ls.c (grub_ls_list_files): Close FILE with
39040 grub_file_close.
39041 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
39042
39043 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
39044
39045 * include/grub/parser.h: New file.
39046
39047 * kern/parser.c: Likewise.
39048
39049 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
39050 (grub_setup_SOURCES): Likewise.
39051 (grub_probefs_SOURCES): Likewise.
39052 (grub_emu_SOURCES): Likewise.
39053 (kernel_img_HEADERS): Add `parser.h'.
39054
39055 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
39056 (grub_emu_SOURCES): Add `kern/parser.c'.
39057 (grubof_SOURCES): Likewise.
39058
39059 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
39060 (grubof_SOURCES): Add `kern/parser.c'.
39061
39062 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
39063
39064 * kern/misc.c (grub_split_cmdline): Removed function.
39065
39066 * kern/rescue.c: Include <grub/parser.h>.
39067 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
39068 of `grub_split_cmdline'.
39069
39070 * normal/command.c: Include <grub/parser.h>.
39071 (grub_command_execute): Use `grub_parser_split_cmdline' instead
39072 of `grub_split_cmdline'.
39073
39074 * normal/completion.c: Include <grub/parser.h>.
39075 (cmdline_state): New variable.
39076 (iterate_dir): End the filename with a quote depending on the
39077 command line state.
39078 (get_state): new function.
39079 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
39080 split the arguments and determine the current argument. When the
39081 argument string is not quoted, escape all spaces.
39082
39083 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
39084
39085 * normal/sparc64/setjmp.S: New file.
39086
39087 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
39088
39089 * include/grub/sparc64/libgcc.h: New file.
39090 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
39091 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
39092 normal/sparc64/setjmp.c.
39093
39094 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
39095
39096 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
39097 * kern/sparc64/cache.S: New file.
39098 * kern/sparc64/cache.c: Removed.
39099 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
39100 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
39101 -mtune=ultrasparc.
39102 (COMMON_LDFLAGS): Add -melf64_sparc.
39103 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
39104 (grubof_SOURCES): Use cache.S instead of cache.c.
39105 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
39106 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
39107 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
39108 commented though.
39109 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
39110 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
39111 (linux_mod_CFLAGS): Commented out.
39112 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
39113 out because module isn't built.
39114 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
39115 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
39116 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
39117 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
39118 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
39119 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
39120 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
39121 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
39122 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
39123 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
39124 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
39125 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
39126 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
39127 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
39128
39129 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
39130
39131 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
39132 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
39133 longer, because HFS should not be used on PC.
39134
39135 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39136
39137 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
39138 consistently within the loop.
39139
39140 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
39141
39142 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
39143 directory can not be read.
39144
39145 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39146
39147 * configure.ac (AC_INIT): Increase the version number to 1.91.
39148
39149 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
39150 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
39151 term/i386/pc/serial.c.
39152
39153 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39154
39155 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
39156 file size must be permitted.
39157
39158 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
39159 between %ah and %al.
39160
39161 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39162
39163 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
39164 grub_uint64_t.
39165 Call the hook with a NUL-terminated filename.
39166 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
39167 grub_cpu_to_be32.
39168
39169 * kern/term.c (cursor_state): New variable.
39170 (grub_term_set_current): Reset the cursor state on a new
39171 terminal.
39172 (grub_setcursor): Rewritten to use CURSOR_STATE.
39173 (grub_getcursor): New function.
39174
39175 * include/grub/term.h (grub_getcursor): New prototype.
39176
39177 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
39178 integers on ARM. Reported by Timothy Baldwin
39179 <T.E.Baldwin99@members.leeds.ac.uk>.
39180
39181 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
39182
39183 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
39184 allocated.
39185 (grub_sfs_dir): Likewise.
39186
39187 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
39188
39189 Add support for the SFS filesystem.
39190
39191 * fs/sfs.c: New file.
39192
39193 * DISTLIST: Added `fs/sfs.c'.
39194
39195 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
39196 (grub_probefs_SOURCES): Likewise.
39197 (grub_emu_SOURCES): Likewise.
39198 (pkgdata_MODULES): Add `sfs.mod'.
39199 (sfs_mod_SOURCES): New variable.
39200 (sfs_mod_CFLAGS): Likewise.
39201 (sfs_mod_LDFLAGS): Likewise.
39202
39203 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
39204 (pkgdata_MODULES): Add `sfs.mod'.
39205 (sfs_mod_SOURCES): New variable.
39206 (sfs_mod_CFLAGS): Likewise.
39207
39208 * util/grub-emu.c (main): Call `grub_sfs_init' and
39209 `grub_sfs_fini'.
39210
39211 * include/grub/fs.h (grub_sfs_init): New prototype.
39212 (grub_sfs_fini): Likewise.
39213
39214 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
39215
39216 Add support for the AFFS filesystem.
39217
39218 * fs/affs.c: New file.
39219
39220 * DISTLIST: Added `fs/affs.c'.
39221
39222 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
39223 (grub_probefs_SOURCES): Likewise.
39224 (grub_emu_SOURCES): Likewise.
39225 (pkgdata_MODULES): Add `affs.mod'.
39226 (affs_mod_SOURCES): New variable.
39227 (affs_mod_CFLAGS): Likewise.
39228 (affs_mod_LDFLAGS): Likewise.
39229
39230 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
39231 (pkgdata_MODULES): Add `affs.mod'.
39232 (affs_mod_SOURCES): New variable.
39233 (affs_mod_CFLAGS): Likewise.
39234
39235 * util/grub-emu.c (main): Call `grub_affs_init' and
39236 `grub_affs_fini'.
39237
39238 * include/grub/fs.h (grub_affs_init): New prototype.
39239 (grub_affs_fini): Likewise.
39240
39241 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
39242
39243 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
39244
39245 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
39246
39247 * configure.ac: Accept `x86_64' as host_cpu. In that case add
39248 `-m32' to CFLAGS.
39249
39250 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
39251 linking.
39252
39253 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
39254 (COMMON_LDFLAGS): New variable.
39255 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
39256 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
39257 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
39258 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
39259 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
39260 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
39261 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
39262 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
39263 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
39264 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
39265 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
39266 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
39267 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
39268 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
39269 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
39270 variables.
39271 (normal_mod_ASFLAGS): Add `-m32'.
39272
39273 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
39274 (grub_host_size_t, grub_host_ssize_t): New types.
39275 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
39276 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
39277 `GRUB_HOST_SIZEOF_VOID_P'.
39278
39279 * include/grub/kernel.h (struct grub_module_header): Type of
39280 member offset changed to `grub_host_off_t'. Type of member size
39281 changed to `grub_host_size_t'.
39282 (struct grub_module_info): Type of member offset changed to
39283 `grub_host_off_t'. Type of member size changed to
39284 `grub_host_size_t'.
39285
39286 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
39287
39288 Make GRUB's kernel compliant to Multiboot Specification.
39289
39290 * kern/i386/pc/startup.S (multiboot_header): New label.
39291 (multiboot_entry): Likewise.
39292 (multiboot_trampoline): Likewise.
39293
39294 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
39295 Increased to 0x4A0.
39296
39297 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
39298 put parentheses after a question mark.
39299 [!GRUB_UTIL] (my_mod): New variable.
39300
39301 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
39302
39303 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
39304
39305 Adds support for the XFS filesystem. Btrees are not supported
39306 yet.
39307
39308 * fs/xfs.c: New file.
39309
39310 * DISTLIST: Added `fs/xfs.c'.
39311
39312 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
39313 (grub_probefs_SOURCES): Likewise.
39314 (grub_emu_SOURCES): Likewise.
39315 (pkgdata_MODULES): Add `xfs.mod'.
39316 (xfs_mod_SOURCES): New variable.
39317 (xfs_mod_CFLAGS): Likewise.
39318
39319 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
39320 (pkgdata_MODULES): Add `xfs.mod'.
39321 (xfs_mod_SOURCES): New variable.
39322 (xfs_mod_CFLAGS): Likewise.
39323
39324 * util/grub-emu.c (main): Call `grub_xfs_init' and
39325 `grub_xfs_fini'.
39326
39327 * include/grub/fs.h (grub_xfs_init): New prototype.
39328 (grub_xfs_fini): Likewise.
39329
39330
39331 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
39332
39333 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
39334 color modes, allow greater than 16 colors to be configured as
39335 a default palette.
39336
39337 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39338
39339 * normal/completion.c (complete_arguments): Add the qualifier
39340 const into OPTIONS.
39341
39342 From Omniflux <omniflux+lists@omniflux.com>:
39343 * include/grub/terminfo.h: New file.
39344 * include/grub/tparm.h: Likewise.
39345 * include/grub/i386/pc/serial.h: Likewise.
39346 * term/terminfo.c: Likewise.
39347 * term/tparm.c: Likewise.
39348 * term/i386/pc/serial.c: Likewise.
39349 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
39350 serial.mod.
39351 (terminfo_mod_SOURCES): New variable.
39352 (terminfo_mod_CFLAGS): Likewise.
39353 (serial_mod_SOURCES): Likewise.
39354 (serial_mod_CFLAGS): Likewise.
39355
39356 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
39357
39358 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
39359 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
39360 and kern/powerpc/ieee1275/cmain.c, respectively.
39361
39362 * boot/powerpc/ieee1275/crt0.S: Moved to ...
39363 * kern/powerpc/ieee1275/crt0.S: ... here.
39364
39365 * boot/powerpc/ieee1275/cmain.c: Moved to ...
39366 * kern/powerpc/ieee1275/cmain.c: ... here.
39367
39368 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
39369 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
39370 instead of boot/powerpc/ieee1275/crt0.S and
39371 boot/powerpc/ieee1275/cmain.c, respectively.
39372
39373 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
39374 sectors. It was not used anyway.
39375
39376 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
39377
39378 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
39379 `unused parameter' warning.
39380
39381 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
39382
39383 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
39384 function.
39385 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
39386 getcharwidth.
39387
39388 2005-08-28 Marco Gerards <metgerards@student.han.nl>
39389
39390 * include/grub/normal.h (enum grub_completion_type): Added
39391 `GRUB_COMPLETION_TYPE_ARGUMENT'.
39392
39393 * normal/cmdline.c (print_completion): Handle
39394 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
39395 * normal/menu_entry.c (store_completion): Likewise.
39396
39397 * normal/completion.c (complete_arguments): New function.
39398 (grub_normal_do_completion): Call `complete_arguments' when the
39399 current words start with a dash.
39400
39401 2005-08-27 Marco Gerards <metgerards@student.han.nl>
39402
39403 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
39404 `gzio.mod' instead of `io.mod').
39405
39406 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
39407
39408 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
39409 (DISTDIRS): Added io and video.
39410 Rewrite the search routine to make an output consistently.
39411
39412 * DISTLIST: Added conf/sparc64-ieee1275.mk,
39413 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
39414 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
39415 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
39416 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
39417 util/powerpc/ieee1275/misc.c.
39418
39419 * include/grub/gzio.h: New file.
39420 * io/gzio.c: Likewise.
39421
39422 * kern/file.c (grub_file_close): Call grub_device_close only if
39423 FILE->DEVICE is not NULL.
39424
39425 * include/grub/mm.h [!NULL] (NULL): New macro.
39426
39427 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
39428
39429 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
39430 (pkgdata_MODULES): Added gzio.mod.
39431 (gzio_mod_SOURCES): New variable.
39432 (gzio_mod_CFLAGS): Likewise.
39433
39434 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
39435 (pkgdata_MODULES): Added gzio.mod.
39436 (gzio_mod_SOURCES): New variable.
39437 (gzio_mod_CFLAGS): Likewise.
39438
39439 * commands/cat.c: Include grub/gzio.h.
39440 (grub_cmd_cat): Use grub_gzfile_open instead of
39441 grub_file_open.
39442
39443 * commands/cmp.c: Include grub/gzio.h.
39444 (grub_cmd_cmp): Use grub_gzfile_open instead of
39445 grub_file_open.
39446
39447 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
39448 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
39449 grub_file_open.
39450 (grub_rescue_cmd_module): Likewise.
39451
39452 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
39453
39454 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
39455 kern/sparc64/ieee1275/init.c because it contains _start.
39456 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
39457
39458 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
39459
39460 * configure.ac: Add support for sparc64 host with ieee1275
39461 firmware.
39462 * configure: Generated from configure.ac.
39463 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
39464 instead of int.
39465 (grub_ofdisk_read): Likewise.
39466 (grub_ofdisk_open): Use %p to print pointer values, and cast the
39467 pointers as (void *) to remove a warning.
39468 (grub_ofdisk_close): Likewise.
39469 (grub_ofdisk_read): Likewise.
39470 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
39471 returns, so make it return void to remove a warning.
39472 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
39473 Corresponding prototype change.
39474 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
39475 values, and cast the pointers as (void *) to remove a warning.
39476 (grub_mm_dump): Likewise.
39477 * conf/sparc64-ieee1275.mk: New file.
39478 * conf/sparc64-ieee1275.rmk: Likewise.
39479 * include/grub/sparc64/setjmp.h: Likewise.
39480 * include/grub/sparc64/types.h: Likewise.
39481 * include/grub/sparc64/ieee1275/console.h: Likewise.
39482 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
39483 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
39484 * include/grub/sparc64/ieee1275/time.h: Likewise.
39485 * kern/sparc64/cache.c: Likewise.
39486 * kern/sparc64/dl.c: Likewise.
39487 * kern/sparc64/ieee1275/init.c: Likewise.
39488 * kern/sparc64/ieee1275/openfw.c: Likewise.
39489
39490 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
39491
39492 * util/console.c (grub_ncurses_putchar): If C is greater than
39493 0x7f, set C to a question mark.
39494 (grub_ncurses_getcharwidth): New function.
39495 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
39496 getcharwidth.
39497
39498 * normal/menu.c (print_entry): Made aware of Unicode. First,
39499 convert TITLE to UCS-4, and predict the cursor position by
39500 grub_getcharwidth.
39501
39502 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
39503 const to SRC.
39504 * kern/misc.c (grub_utf16_to_utf8): Likewise.
39505
39506 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39507
39508 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
39509 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
39510 grub_strcat.
39511
39512 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
39513 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
39514 grub_strcpy and grub_strlen. Take it into account that a space
39515 character is inserted as a delimiter.
39516
39517 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39518
39519 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
39520 invalid magic in the error.
39521
39522 * commands/search.c: New file.
39523
39524 * util/grub-emu.c (main): Call grub_search_init and
39525 grub_search_fini.
39526
39527 * kern/rescue.c (grub_rescue_print_disks): Removed.
39528 (grub_rescue_print_devices): New function.
39529 (grub_rescue_cmd_ls): Use grub_device_iterate with
39530 grub_rescue_print_devices instead of grub_disk_dev_iterate with
39531 grub_rescue_print_disks.
39532
39533 * kern/partition.c (grub_partition_iterate): Return the result of
39534 PARTMAP->ITERATE instead of GRUB_ERRNO.
39535
39536 * kern/device.c: Include grub/partition.h.
39537 (grub_device_iterate): New function.
39538
39539 * include/grub/partition.h (grub_partition_iterate): Return int
39540 instead of grub_err_t.
39541
39542 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
39543 prototype.
39544 [GRUB_UTIL] (grub_search_fini): Likewise.
39545
39546 * include/grub/device.h (grub_device_iterate): New prototype.
39547
39548 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
39549 commands/search.c.
39550 (pkgdata_MODULES): Added search.mod.
39551 (search_mod_SOURCES): New variable.
39552 (search_mod_CFLAGS): Likewise.
39553
39554 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
39555 (pkgdata_MODULES): Added search.mod.
39556 (search_mod_SOURCES): New variable.
39557 (search_mod_CFLAGS): Likewise.
39558
39559 * commands/ls.c (grub_ls_list_disks): Renamed to ...
39560 (grub_ls_list_devices): ... this, and use grub_device_iterate.
39561 All callers changed.
39562
39563 * DISTLIST: Added commands/search.c.
39564
39565 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39566
39567 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
39568 conversion.
39569 (grub_getcharwidth): New function.
39570
39571 * kern/misc.c (grub_utf8_to_ucs4): New function.
39572
39573 * include/grub/term.h (struct grub_term): Added a new member
39574 "getcharwidth".
39575 (grub_getcharwidth): New prototype.
39576
39577 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
39578
39579 * term/i386/pc/console.c (map_char): New function. Segregated from
39580 grub_console_putchar.
39581 (grub_console_putchar): Use map_char.
39582 (grub_console_getcharwidth): New function.
39583 (grub_console_term): Specified grub_console_getcharwidth as
39584 getcharwidth.
39585
39586 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
39587 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
39588
39589 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
39590 GRUB_ERRNO.
39591 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
39592 on grub_strtoul completely.
39593 (write_char): Declare local variables in the beginning of the
39594 function.
39595 (grub_vesafb_getcharwidth): New function.
39596 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
39597 getcharwidth.
39598
39599 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
39600
39601 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
39602 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
39603 commands/i386/pc/vbetest.c.
39604
39605 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
39606 call grub_vbe_get_controller_info again, because the returned
39607 information is volatile.
39608 (grub_vbe_set_video_mode): Mostly rewritten.
39609 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
39610 grub_vbe_status_t correctly.
39611 (grub_vbe_get_video_mode_info): Likewise.
39612 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
39613 several if statements.
39614
39615 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
39616 * commands/i386/pc/vbeinfo.c: ... this.
39617
39618 * commands/i386/pc/vbe_test.c: Renamed to ...
39619 * commands/i386/pc/vbetest.c: ... this.
39620
39621 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
39622 ...
39623 (grub_cmd_vbeinfo): ... this. Save video modes before
39624 iterating. Skip a video mode, if it is not available, not enough
39625 information is given or it is monochrome. Show the memory
39626 model. Leave the interpretation of MODEVAR to grub_strtoul
39627 completely.
39628 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
39629 (GRUB_MOD_FINI): Likewise.
39630
39631 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
39632 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
39633 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
39634 duplicated grub_env_get. Leave the interpretation of MODEVAR to
39635 grub_strtoul completely.
39636 (real2pm): Removed.
39637 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
39638 (GRUB_MOD_FINI): Likewise.
39639
39640 * normal/misc.c: Include grub/mm.h.
39641
39642 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
39643 vbe_list_modes with vbetest.mod and vbeinfo.mod.
39644 (vbe_list_modes_mod_SOURCES): Removed.
39645 (vbe_list_modes_mod_CFLAGS): Likewise.
39646 (vbe_test_mod_SOURCES): Likewise.
39647 (vbe_test_mod_CFLAGS): Likewise.
39648 (vbeinfo_mod_SOURCES): New variable.
39649 (vbeinfo_mod_CFLAGS): Likewise.
39650 (vbetest_mod_SOURCES): Likewise.
39651 (vbetest_mod_CFLAGS): Likewise.
39652
39653 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
39654
39655 * normal/misc.c: New file.
39656
39657 * DISTLIST: Added normal/misc.c.
39658
39659 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
39660 DISK to HOOK. Call HOOK with DISK.
39661 * partmap/apple.c (apple_partition_map_iterate): Likewise.
39662 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39663 * partmap/sun.c (sun_partition_map_iterate): Likewise.
39664
39665 * normal/menu_entry.c (struct screen): Added a new member
39666 "completion_shown".
39667 (completion_buffer): New global variable.
39668 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
39669 (store_completion): New function.
39670 (complete): Likewise.
39671 (clear_completions): Likewise.
39672 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
39673 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
39674 a tab, call complete.
39675
39676 * normal/completion.c (disk_dev): Removed.
39677 (print_simple_completion): Likewise.
39678 (print_partition_completion): Likewise.
39679 (print_func): New global variable.
39680 (add_completion): Do not take the arguments WHAT or PRINT any
39681 longer. Added a new argument TYPE. Instead of printing directly,
39682 call PRINT_FUNC if not NULL.
39683 All callers changed.
39684 (complete_device): Use a local variable DEV instead of
39685 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
39686 (grub_normal_do_completion): Take a new argument HOOK. Do not
39687 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
39688 empty string, return NULL instead.
39689 All callers changed.
39690
39691 * normal/cmdline.c (print_completion): New function.
39692
39693 * kern/partition.c (grub_partition_iterate): Add an argument DISK
39694 to HOOK.
39695 All callers changed.
39696
39697 * kern/disk.c (grub_print_partinfo): Removed.
39698
39699 * include/grub/partition.h (struct grub_partition_map): Add a new
39700 argument DISK into HOOK of ITERATE.
39701 (grub_partition_iterate): Add a new argument DISK to HOOK.
39702
39703 * include/grub/normal.h (enum grub_completion_type): New enum.
39704 (grub_completion_type_t): New type.
39705 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
39706 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
39707 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
39708 (GRUB_COMPLETION_TYPE_FILE): Likewise.
39709 (grub_normal_do_completion): Added a new argument HOOK.
39710 (grub_normal_print_device_info): New prototype.
39711
39712 * include/grub/disk.h (grub_print_partinfo): Removed.
39713
39714 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
39715 (normal_mod_SOURCES): Likewise.
39716 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39717 (normal_mod_SOURCES): Likewise.
39718
39719 * commands/ls.c (grub_ls_list_disks): Use
39720 grub_normal_print_device_info instead of grub_print_partinfo. Free
39721 PNAME.
39722 (grub_ls_list_files): Use grub_normal_print_device_info instead of
39723 duplicating the code.
39724
39725 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
39726
39727 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
39728 follow GCS more precisely.
39729 * commands/i386/pc/vbe_test.c: Likewise.
39730 * include/grub/i386/pc/vbe.h: Likewise.
39731 * term/i386/pc/vesafb.c: Likewise.
39732 * video/i386/pc/vbe.c: Likewise.
39733
39734 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
39735
39736 * DISTLIST: Added term/i386/pc/vesafb.c
39737 DISTLIST: Added video/i386/pc/vbe.c
39738 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
39739 DISTLIST: Added commands/i386/pc/vbe_test.c.
39740 * commands/i386/pc/vbe_list_modes.c: New file.
39741 * commands/i386/pc/vbe_test.c: Likewise.
39742 * term/i386/pc/vesafb.c: Likewise.
39743 * video/i386/pc/vbe.c: Likewise.
39744 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
39745 (grub_vbe_probe) Added prototype.
39746 (grub_vbe_set_video_mode) Likewise.
39747 (grub_vbe_get_video_mode) Likewise.
39748 (grub_vbe_get_video_mode_info) Likewise.
39749 (grub_vbe_set_pixel_rgb) Likewise.
39750 (grub_vbe_set_pixel_index) Likewise.
39751 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
39752 (pkgdata_MODULES): Added vesafb.mod.
39753 (pkgdata_MODULES): Added vbe_list_modes.mod.
39754 (pkgdata_MODULES): Added vbe_test.mod.
39755 (vbe_mod_SOURCES): Added.
39756 (vbe_mod_CFLAGS): Likewise.
39757 (vesafb_mod_SOURCES): Likewise.
39758 (vesafb_mod_CFLAGS): Likewise.
39759 (vbe_list_modes_mod_SOURCES): Likewise.
39760 (vbe_list_modes_mod_CFLAGS): Likewise.
39761 (vbe_test_mod_SOURCES): Likewise.
39762 (vbe_test_mod_CFLAGS): Likewise.
39763
39764 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
39765
39766 * normal/command.c (grub_command_execute): If INTERACTIVE is
39767 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
39768 CMDLINE. Disable the pager if INTERACTIVE is true.
39769 All callers are changed.
39770
39771 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
39772 before reading a config file.
39773 * normal/main.c (read_config_file): Even if a command is not
39774 found, register it if it is within an entry.
39775
39776 * util/grub-emu.c: Include sys/types.h and unistd.h.
39777 (options): Added --hold.
39778 (struct arguments): Added a new member "hold".
39779 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
39780 missing.
39781 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
39782 cleared by a debugger, if it is not zero.
39783
39784 * include/grub/normal.h (grub_command_execute): Add an argument
39785 INTERACTIVE.
39786
39787 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
39788
39789 * DISTLIST: Added include/grub/i386/pc/vbe.h.
39790
39791 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
39792
39793 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
39794 program with another one, because the old one didn't detect a bug
39795 in gcc-3.4. Always use regparm 2, because the new test is still
39796 not enough for gcc-4.0. Someone must investigate a simple test
39797 case which detects a bug in gcc-4.0.
39798
39799 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
39800
39801 * DISTLIST: Added normal/completion.c.
39802
39803 * normal/completion.c: New file.
39804
39805 * term/i386/pc/console.c (grub_console_getwh): New function.
39806 (grub_console_term): Assign grub_console_getwh to getwh.
39807
39808 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
39809 function is defined in normal/completion.c as
39810 grub_normal_do_completion.
39811 (grub_cmdline_get): Use grub_normal_do_completion instead of
39812 grub_tab_complete.
39813
39814 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
39815 returns non-zero, otherwise return 0.
39816 (grub_partition_iterate): First, probe the partition map. Then,
39817 call ITERATE only for this partition map.
39818
39819 * kern/misc.c (grub_strncmp): Rewritten.
39820
39821 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
39822 returns non-zero. Otherwise return 0.
39823
39824 * include/grub/partition.h (grub_partition_map_iterate): Return
39825 int instead of void.
39826
39827 * include/grub/normal.h (grub_normal_do_completion): New prototype.
39828
39829 * include/grub/misc.h (grub_strncmp): Change the type of N to
39830 grub_size_t.
39831
39832 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
39833 of void.
39834
39835 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
39836 unsigned explicitly before comparing it with I.
39837
39838 * kern/main.c (grub_env_write_root): Add the attribute unused into
39839 VAR.
39840
39841 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
39842 normal/completion.c.
39843 (normal_mod_SOURCES): Likewise.
39844 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39845 (normal_mod_SOURCES): Likewise.
39846
39847 * normal/command.c (grub_iterate_commands): If ITERATE returns
39848 non-zero, return one immediately.
39849
39850 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
39851
39852 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
39853 * kern/i386/pc/startup.S: Updated Global Descriptor table's
39854 descriptions.
39855 (grub_vbe_get_controller_info): New function.
39856 (grub_vbe_get_mode_info): Likewise.
39857 (grub_vbe_set_mode): Likewise.
39858 (grub_vbe_get_mode): Likewise.
39859 (grub_vbe_set_memory_window): Likewise.
39860 (grub_vbe_get_memory_window): Likewise.
39861 (grub_vbe_set_scanline_length): Likewise.
39862 (grub_vbe_get_scanline_length): Likewise.
39863 (grub_vbe_set_display_start): Likewise.
39864 (grub_vbe_get_display_start): Likewise.
39865 (grub_vbe_set_palette_data): Likewise.
39866 * include/grub/i386/pc/vbe.h: New file.
39867
39868 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39869
39870 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
39871 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
39872 * DISTLIST: Likewise.
39873 * kern/ieee1275/of.c: Moved to ...
39874 * kern/ieee1275/ieee1275.c: ... here.
39875
39876 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39877
39878 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
39879 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
39880 Pass 0 as `end' parameter to grub_strtoul().
39881
39882 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39883
39884 * include/grub/powerpc/ieee1275/console.h: Do not include
39885 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
39886 ifdef.
39887 (grub_console_cur_color): Remove i386-specific prototype.
39888 (grub_console_real_putchar): Likewise.
39889 (grub_console_checkkey): Likewise.
39890 (grub_console_getkey): Likewise.
39891 (grub_console_getxy): Likewise.
39892 (grub_console_gotoxy): Likewise.
39893 (grub_console_cls): Likewise.
39894 (grub_console_setcursor): Likewise.
39895 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
39896 Include <grub/machine/console.h>.
39897 * term/ieee1275/ofconsole.c: Likewise.
39898
39899 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
39900
39901 * Makefile.in (LIBLZO): New variable.
39902
39903 * configure.ac: Check for LZO version 2.
39904
39905 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
39906 lzo/lzo1x.h instead of lzo1x.h.
39907
39908 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
39909 of -llzo.
39910
39911 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
39912 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
39913
39914 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
39915 copying the data from PARTITION to P.
39916
39917 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39918
39919 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
39920 negative, unload the module.
39921
39922 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
39923 map is "pc_partition_map" but not "pc".
39924 (usage): Fix the description. The options are --boot-image and
39925 --core-image but not --boot-file or --core-file.
39926 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
39927 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
39928 DEFAULT_DIRECTORY.
39929
39930 * util/i386/pc/grub-install.in: Do not specify --boot-file or
39931 --core-file. Specify INSTALL_DEVICE as an argument.
39932
39933 * util/console.c: Include config.h.
39934 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
39935 [HAVE_NCURSES_H]: Include ncurses.h.
39936 [HAVE_CURSES_H]: Include curses.h.
39937 [!A_NORMAL] (A_NORMAL): Defined as zero.
39938 [!A_STANDOUT] (A_STANDOUT): Likewise.
39939
39940 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
39941 -lncurses.
39942 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
39943
39944 * configure.ac: Check for curses libraries and headers.
39945
39946 * Makefile.in (LIBCURSES): New variable.
39947
39948 * genmk.rb (Script::rule): Set the executable bits.
39949
39950 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
39951 name of the PC partition map is "pc_partition_map" but not "pc".
39952
39953 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39954
39955 * util/i386/pc/grub-install.in (grub_probefs): New variable.
39956 (modules): Likewise.
39957 (usage): Added descriptions for --modules and --grub-probefs.
39958 Handle --modules and --grub-probefs. Save the arguments in MODULES
39959 and GRUB_PROBEFS, respectively.
39960 Auto-detect a filesystem module against GRUBDIR. If the result is
39961 empty and modules are not specified explicitly, abort the
39962 installation. Add the result to MODULES.
39963
39964 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
39965 disk/powerpc/ieee1275/ofdisk.c,
39966 include/grub/powerpc/ieee1275/init.h and
39967 term/powerpc/ieee1275/ofconsole.c.
39968 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
39969 term/ieee1275/ofconsole.c.
39970
39971 * include/grub/powerpc/ieee1275/console.h: Resurrected.
39972
39973 * COPYING: Upgraded to the latest version. Only the address of the
39974 FSF office has changed.
39975
39976 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39977
39978 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
39979 kern/ieee1275.c with kern/ieee1275/of.c.
39980
39981 * kern/ieee1275.c: Moved to ...
39982 * kern/ieee1275/of.c: ... here.
39983
39984 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
39985
39986 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
39987 readability.
39988
39989 * config.guess: Updated to the latest version from gnulib.
39990 * config.sub: Likewise.
39991 * install.sh: Likewise.
39992 * mkinstalldirs: Likewise.
39993
39994 * include/grub/console.h: Removed. This file is arch-specific. Do
39995 not put this in include/grub.
39996
39997 * include/grub/i386/pc/console.h: Resurrected.
39998
39999 * util/console.c: Include grub/machine/console.h instead of
40000 grub/console.h.
40001 * util/grub-emu.c: Likewise.
40002
40003 2005-08-04 Marco Gerards <metgerards@student.han.nl>
40004
40005 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
40006 hardcoded value.
40007
40008 From Vincent Pelletier <subdino2004@yahoo.fr>
40009 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
40010 Redefined to use grub_getwh.
40011 (grub_term): New member named getwh.
40012 (grub_getwh): New prototype.
40013 * kern/term.c (grub_getwh): New function.
40014 * term/i386/pc/console.c (grub_console_getwh): New function.
40015 (grub_console_term): New member `getwh'.
40016 * term/i386/pc/vga.c (grub_vga_getwh): New function.
40017 (grub_vga_term): New member `getwh'.
40018 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
40019 grub_ssize_t.
40020 (grub_ofconsole_getw): New function.
40021 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
40022 (grub_ofconsole_term): New field named getwh and new initial
40023 value.
40024
40025 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
40026
40027 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
40028 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
40029 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
40030 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
40031 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
40032 of <grub/machine/ieee1275.h>.
40033 * commands/ieee1275/reboot.c: Likewise.
40034 * boot/powerpc/ieee1275/ieee1275.c: Move ...
40035 * kern/ieee1275.c: ... to here. All users updated. Change all
40036 parameter structs to use new type `grub_ieee1275_cell_t'.
40037 * term/powerpc/ieee1275/ofconsole.c: Move ...
40038 * term/ieee1275/ofconsole.c: ... to here. All users updated.
40039 * disk/powerpc/ieee1275/ofdisk.c: Move ...
40040 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
40041 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
40042 to return int.
40043 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
40044 Remove unused prototypes. All users updated.
40045 * include/grub/powerpc/ieee1275/console.h: Removed.
40046 * include/grub/powerpc/ieee1275/ieee1275.h: Define
40047 `grub_ieee1275_cell_t'.
40048 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
40049 Cast comparisons with -1 to the correct type.
40050 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
40051 type to match `grub_ieee1275_entry_fn'.
40052
40053 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
40054
40055 * DISTLIST: Added util/i386/pc/grub-probefs.c.
40056
40057 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
40058 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
40059 partmap/sun.c.
40060 (grub_probefs_SOURCES): New variable.
40061
40062 * util/i386/pc/grub-probefs.c: New file.
40063
40064 * util/i386/pc/grub-setup.c (main): Call
40065 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
40066 grub_hfs_init and grub_jfs_init to initialize the system. Call
40067 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
40068 grub_pc_partition_map_fini to finish the system.
40069
40070 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
40071
40072 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
40073 function.
40074 (grub_multiboot_load_elf32): Likewise.
40075 (grub_multiboot_is_elf64): Likewise.
40076 (grub_multiboot_load_elf64): Likewise.
40077 (grub_multiboot_load_elf): Likewise.
40078 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
40079 an ELF32 or ELF64 file.
40080 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
40081
40082 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
40083 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
40084 NULL before calling FS->LABEL.
40085 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
40086 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
40087 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
40088 before calling FS->LABEL.
40089
40090 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
40091
40092 * util/i386/pc/grub-install.in (datadir): New variable.
40093 (libdir): Removed.
40094 (pkgdatadir): New variable.
40095 (pkglibdir): Removed.
40096
40097 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
40098
40099 * DISTLIST: Added util/i386/pc/grub-install.in.
40100
40101 * util/i386/pc/grub-install.in: New file.
40102
40103 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
40104 (grub_install_SOURCES): Likewise.
40105
40106 * genmk.rb: Added support for scripts.
40107 (Script): New class.
40108 (scripts): New variable.
40109
40110 * Makefile.in (install-local): Install sbin_SCRIPTS by
40111 INSTALL_SCRIPT.
40112 (uninstall): Remove sbin_SCRIPTS.
40113
40114 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
40115 device, try to get a GRUB device by
40116 grub_util_biosdisk_get_grub_dev.
40117 Free DEST_DEV.
40118
40119 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
40120 description for --device-map.
40121
40122 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
40123
40124 Change the semantics of variable hooks. They now return strings
40125 instead of error values.
40126
40127 * util/i386/pc/grub-setup.c: Include grub/env.h.
40128 (setup): Use grub_device_set_root instead of grub_env_set.
40129
40130 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
40131 grub_env_get instead of grub_device_set_root and
40132 grub_device_get_root, respectively.
40133
40134 * kern/main.c (grub_env_write_root): New function.
40135 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
40136 grub_env_set instead of grub_device_set_root.
40137
40138 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
40139 many variables.
40140 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
40141 rather than calling ENV->WRITE_HOOK afterwards.
40142 (grub_env_get): Return the result of ENV->READ_HOOK rather than
40143 passing a pointer of a pointer.
40144 (grub_register_variable_hook): Change the types of "read_hook" and
40145 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
40146 respectively.
40147 Allocate the default empty string on the heap, because this string
40148 may be freed later.
40149
40150 * kern/device.c: Include grub/env.h.
40151 (grub_device_set_root): Removed.
40152 (grub_device_get_root): Likewise.
40153 (grub_device_open): Use grub_env_get instead of
40154 grub_device_get_root.
40155
40156 * include/grub/env.h (grub_env_read_hook_t): New type.
40157 (grub_env_write_hook_t): Likewise.
40158 (grub_env_var): Change the types of "read_hook" and "write_hook"
40159 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
40160 (grub_register_variable_hook): Likewise.
40161
40162 * include/grub/device.h (grub_device_set_root): Removed.
40163 (grub_device_set_root): Likewise.
40164
40165 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
40166 make sure that DIRNAME terminates with '/', so that
40167 grub_fat_find_dir will fail if PATH is not a directory.
40168
40169 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
40170 from DIRNAME.
40171 Use the qualifier auto for print_files and print_files_long.
40172 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
40173 as a regular file.
40174 Put a newline only if there is no error.
40175 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
40176 used.
40177
40178 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
40179
40180 * kern/partition.c (grub_partition_probe): Initialize PART to
40181 NULL. Otherwise, when no partition map is registered, this returns
40182 a garbage.
40183
40184 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
40185
40186 * partmap/apple.c (apple_partition_map_iterate): Check if POS
40187 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
40188 valid.
40189
40190 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
40191
40192 * commands/ls.c (grub_ls_list_disks): Print the filesystem
40193 information on each device, if it does not have partitions. Print
40194 "Device" instead of "Disk", because this function is not specific
40195 to disk devices.
40196
40197 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
40198 static to ensure that it is put on the memory rather than a
40199 register.
40200
40201 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
40202
40203 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
40204 (grub_cat_init): Likewise.
40205 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
40206 (options): Likewise.
40207 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
40208 (grub_configfile_init): Likewise.
40209 * font/manager.c (GRUB_MOD_INIT): Likewise.
40210 * commands/help.c (GRUB_MOD_INIT): Likewise.
40211 (grub_help_init): Likewise.
40212 * normal/command.c (grub_command_init): Likewise.
40213 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
40214 * disk/loopback.c (grub_loop_init): Likewise.
40215 (GRUB_MOD_INIT): Likewise.
40216 * commands/ls.c (grub_ls_init): Likewise.
40217 (GRUB_MOD_INIT): Likewise.
40218 (options): Likewise.
40219 * commands/boot.c (grub_boot_init): Likewise.
40220 (GRUB_MOD_INIT): Likewise.
40221 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
40222 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
40223 (GRUB_MOD_INIT): Likewise.
40224 * commands/cmp.c (grub_cmp_init): Likewise.
40225 (GRUB_MOD_INIT): Likewise.
40226
40227 * normal/arg.c: Use <> instead of "" to include header files.
40228 (SHORT_ARG_HELP): New macro.
40229 (SHORT_ARG_USAGE): Likewise.
40230 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
40231 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
40232 descriptions.
40233 (find_short): Check if C is 'h' or 'u' explicitly.
40234 (grub_arg_show_help): Use space characters instead of tabs. Treat
40235 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
40236 are shown with --help and --usage only if they are not used for
40237 the command itself.
40238 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
40239 'h' and 'u'.
40240
40241 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
40242 const into "longarg". Change the type of "shortarg" to int.
40243
40244 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
40245
40246 * boot/i386/pc/boot.S (boot_drive_check): New label.
40247
40248 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
40249 macro.
40250
40251 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
40252 which do not pass a boot drive correctly. Copied from GRUB Legacy.
40253
40254 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
40255
40256 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
40257 When turning off Gate A20, skip the check and return immediately,
40258 because this is not fatal usually.
40259
40260 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
40261
40262 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
40263 be 0x7C00 instead of 0x8000.
40264
40265 * boot/i386/pc/pxeboot.S: Rewritten.
40266
40267 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
40268 EXT_C.
40269 (gate_a20_check_state): Read a byte from 0x108000. Invert the
40270 result.
40271
40272 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
40273
40274 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
40275 robustness. This routine now supports a BIOS call and System
40276 Control Port A to modify the gate A20.
40277
40278 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40279 Increased to 0x440.
40280
40281 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
40282
40283 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
40284 device path and resulting ihandle.
40285 (grub_ofdisk_close): dprintf the ihandle being closed.
40286 (grub_ofdisk_read): dprintf function parameters.
40287 * kern/mm.c (grub_mm_init_region): Likewise.
40288 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
40289 (grub_linux_boot): dprintf the Linux entry point, initrd address and
40290 size, and boot arguments.
40291 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
40292 before loading into memory.
40293 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
40294 before loading into memory.
40295
40296 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
40297
40298 * kern/mm.c: Added much documentation.
40299 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
40300 8, set to 5 instead of 8.
40301
40302 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
40303
40304 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
40305
40306 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
40307 (grub_mkdevicemap_SOURCES): New variable.
40308
40309 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
40310 lib/device.c of GRUB Legacy.
40311
40312 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
40313
40314 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
40315 instead of PATH is NULL.
40316
40317 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
40318
40319 * commands/cmp.c (BUFFER_SIZE): New macro.
40320 (grub_cmd_cmp): Close the right file at the right time. Compare
40321 only data just read. Don't report files of different size as
40322 identical. Dynamically allocate buffers. Move variable
40323 declarations at the beginning of function.
40324
40325 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
40326
40327 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
40328 reverse.
40329
40330 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
40331
40332 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
40333 when backspace is pressed at beginning of line.
40334
40335 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
40336
40337 * DISTLIST: Added genfslist.sh.
40338
40339 * normal/main.c (fs_module_list): New variable.
40340 (autoload_fs_module): New function.
40341 (read_fs_list): Likewise.
40342 (grub_normal_execute): Call read_fs_list.
40343
40344 * kern/fs.c (grub_fs_autoload_hook): New variable.
40345 (grub_fs_probe): Added support for auto-loading.
40346
40347 * include/grub/normal.h (struct grub_fs_module_list): New struct.
40348 (grub_fs_module_list_t): New type.
40349
40350 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
40351 (grub_fs_autoload_hook): New prototype.
40352
40353 * genfslist.sh: New file.
40354
40355 * genmk.rb: Added a rule to generate a filesystem list.
40356
40357 2005-06-30 Marco Gerards <metgerards@student.han.nl>
40358
40359 * configure.ac: Fix the test for cross-compiling.
40360
40361 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
40362 define GRUB_UTIL anymore.
40363
40364 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
40365 so this function works on other systems than just big endian.
40366 (load_modules): Likewise.
40367 (add_segments): Likewise.
40368
40369 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
40370
40371 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
40372 contains `l' modifier, get a long from va_arg().
40373
40374 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
40375
40376 * kern/mm.c (grub_free): If the next free block which is being
40377 merged is the first free block, set the first block to the block
40378 being freed.
40379 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
40380
40381 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
40382
40383 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
40384 `grub_ieee1275_chosen'.
40385
40386 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
40387
40388 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
40389 (grub_ieee1275_chosen): New variable.
40390 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
40391 `chosen'.
40392 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
40393 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
40394 Rename first argument to `phandle' for consistency.
40395 (grub_ieee1275_get_property_length): Likewise.
40396 (grub_ieee1275_next_property): Likewise. Change type of first argument
40397 to grub_ieee1275_phandle_t.
40398 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
40399 Move export next to declaration.
40400 (grub_ieee1275_chosen): New variable.
40401 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
40402 Correct cosmetic typo.
40403 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
40404 `grub_ieee1275_chosen'.
40405 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
40406 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
40407 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
40408 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
40409 `grub_ieee1275_chosen'.
40410
40411 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
40412
40413 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
40414 /chosen/bootargs.
40415 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
40416 /chosen/bootargs as "variable=value" pairs.
40417
40418 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
40419
40420 * include/grub/misc.h (grub_dprintf): New macro.
40421 (grub_real_dprintf): New prototype.
40422 (grub_strword): Likewise.
40423 (grub_iswordseparator): Likewise.
40424 * kern/misc.c (grub_real_dprintf): New function.
40425 (grub_strword): Likewise.
40426 (grub_iswordseparator): Likewise.
40427
40428 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
40429
40430 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
40431 (roundup): Remove macro.
40432 (grub_ieee1275_flags): Make static.
40433 (grub_ieee1275_realmode): Remove.
40434 (grub_ieee1275_test_flag): New function.
40435 (grub_ieee1275_set_flag): Likewise.
40436 (find_options): Rename to `grub_ieee1275_find_options'; update
40437 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
40438 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
40439 (cmain): New prototype.
40440 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
40441 `grub_ieee1275_flags' directly.
40442 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
40443 machine/biosdisk.h.
40444 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
40445 Don't include grub/machine/init.h.
40446 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
40447 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
40448 Remove prototype.
40449 (grub_ieee1275_realmode): Likewise.
40450 (grub_ieee1275_flag): New enum.
40451 (grub_ieee1275_test_flag): New prototype.
40452 (grub_ieee1275_set_flag): New prototype.
40453 * include/grub/powerpc/ieee1275/init.h: Remove file.
40454 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
40455 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
40456 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
40457 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
40458 comment.
40459 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
40460 `grub_ieee1275_test_flag'.
40461 (grub_ieee1275_encode_devname): Likewise.
40462
40463 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
40464
40465 * include/grub/powerpc/ieee1275/ieee1275.h
40466 (grub_ieee1275_encode_devname): New prototype.
40467 (grub_ieee1275_get_filename): Likewise.
40468 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
40469 function.
40470 (grub_set_prefix): Likewise.
40471 (grub_machine_init): Call grub_set_prefix.
40472 * kern/powerpc/ieee1275/openfw.c: Fix typos.
40473 (grub_parse_type): New enum.
40474 (grub_ieee1275_get_devargs): New function.
40475 (grub_ieee1275_get_devname): Likewise.
40476 (grub_ieee1275_parse_args): Likewise.
40477 (grub_ieee1275_get_filename): Likewise.
40478 (grub_ieee1275_encode_devname): Likewise.
40479
40480 2005-03-30 Marco Gerards <metgerards@student.han.nl>
40481
40482 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
40483 `grub_loader_unset'.
40484
40485 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
40486
40487 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
40488 instead of grub_ieee1275_interpret.
40489 (grub_halt_init): New function.
40490 (grub_halt_fini): Likewise.
40491 (GRUB_MOD_INIT): Correct message grammar.
40492 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
40493 instead of grub_ieee1275_interpret.
40494 (grub_reboot_init): New function.
40495 (grub_reboot_fini): Likewise.
40496 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
40497 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
40498 util/i386/pc/misc.c with commands/ieee1275/halt.c,
40499 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
40500 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
40501 function.
40502 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
40503 Add prototype.
40504 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
40505 prototype.
40506 (grub_halt): Likewise.
40507 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
40508 (cmain): Remove __attribute__((unused)).
40509 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
40510 (grub_heap_len): Likewise.
40511 (grub_machine_fini): New function.
40512 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
40513 (grub_halt): Likewise.
40514 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
40515 function.
40516 * util/powerpc/ieee1275/misc.c: New file.
40517
40518 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
40519
40520 * DISTLIST: New file.
40521 * gendistlist.sh: Likewise.
40522
40523 * Makefile.in (COMMON_DISTFILES): Removed.
40524 (BOOT_DISTFILES): Likewise.
40525 (CONF_DISTFILES): Likewise.
40526 (DISK_DISTFILES): Likewise.
40527 (FS_DISTFILES): Likewise.
40528 (INCLUDE_DISTFILES): Likewise.
40529 (KERN_DISTFILES): Likewise.
40530 (LOADER_DISTFILES): Likewise.
40531 (TERM_DISTFILES): Likewise.
40532 (UTIL_DISTFILES): Likewise.
40533 (DISTFILES): Likewise.
40534 (uninstall): Uninstall files in $(pkgdata_DATA).
40535 (DISTLIST): New target.
40536 (distdir): Use the contents of the file DISTLIST to get a list of
40537 distributed files.
40538
40539 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
40540
40541 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
40542 descriptor. This is ported from GRUB Legacy.
40543
40544 * gencmdlist.sh: Added an extra semicolon to make it work with
40545 old sed versions. Reported by Robert Bihlmeyer
40546 <robbe@orcus.priv.at>.
40547
40548 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
40549
40550 Automatic loading of commands is supported.
40551
40552 * normal/main.c (read_command_list): New function.
40553 (grub_normal_execute): Call read_command_list.
40554
40555 * normal/command.c (grub_register_command): Return zero or CMD.
40556 Allocate CMD->NAME from the heap.
40557 Initialize CMD->MODULE_NAME to zero.
40558 Find the same name as well. If the same command is found and it is
40559 a dummy command, overwrite members. If it is not a dummy command,
40560 return zero.
40561 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
40562 (grub_command_find): If a dummy command is found, load a module
40563 and retry to find a command only once.
40564
40565 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
40566 make sure that each command is loaded.
40567
40568 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
40569 macro.
40570 (struct grub_command): Remove const from the member `name'.
40571 Add a new member `module_name'.
40572 (grub_register_command): Return grub_command_t.
40573
40574 * commands/help.c (grub_cmd_help): Call grub_command_find to make
40575 sure that each command is loaded.
40576
40577 * genmk.rb (PModule::rule): Specify a module name without the
40578 suffix ".mod" to gencmdlist.sh.
40579
40580 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
40581
40582 * gencmdlist.sh: New file.
40583
40584 * genmk.rb (PModule::rule): Generate a rule for a command list.
40585 Clean command.lst.
40586 Generate command.lst from $(COMMANDFILES).
40587
40588 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
40589 (DATA): Added $(pkgdata_DATA).
40590 (install-local): Install files in $(pkgdata_DATA).
40591
40592 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
40593
40594 * term/i386/pc/vga.c (debug_command): Removed.
40595 (GRUB_MOD_INIT): Do not register the command "debug".
40596
40597 From Hollis Blanchard:
40598 * commands/configfile.c: New file.
40599 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40600 commands/configfile.c.
40601 (pkgdata_MODULES): Added configfile.mod.
40602 (configfile_mod_SOURCES): New variable.
40603 (configfile_mod_CFLAGS): Likewise.
40604 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40605 commands/configfile.c.
40606 (pkgdata_MODULES): Added configfile.mod.
40607 (configfile_mod_SOURCES): New variable.
40608 (configfile_mod_CFLAGS): Likewise.
40609 * util/grub-emu.c (main): Call grub_configfile_init and
40610 grub_configfile_fini.
40611 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
40612 prototype.
40613 [GRUB_UTIL] (grub_configfile_fini): Likewise.
40614
40615 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
40616
40617 * normal/arg.c (grub_arg_show_help): Do not show the bug report
40618 address.
40619
40620 * commands/help.c (grub_cmd_help): Do not print newlines after
40621 the last command in print_command_help.
40622
40623 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
40624
40625 * commands/default.h: New file.
40626 * commands/timeout.h: Likewise.
40627 * normal/context.c: Likewise.
40628
40629 * util/misc.c: Do not include sys/times.h.
40630 Include sys/time.h and grub/machine/time.h.
40631 (grub_get_rtc): Rewritten with gettimeofday.
40632
40633 * util/grub-emu.c (main): Call grub_default_init and
40634 grub_timeout_init before grub_normal_init, and call
40635 grub_timeout_fini and grub_default_fini after grub_main.
40636
40637 * util/console.c (grub_ncurses_checkkey): Return the read
40638 character or -1.
40639
40640 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
40641 timeouts.
40642
40643 * normal/main.c (read_config_file): Push MENU. If this fails,
40644 print an error and wait for a user input.
40645 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
40646 If a menu is empty or an error occurs, pop MENU.
40647 (grub_normal_execute): Pop and free MENU after grub_menu_run
40648 returns.
40649
40650 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
40651
40652 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
40653 include time.h.
40654 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
40655 without GRUB_UTIL.
40656 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
40657 time.h.
40658 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
40659 without GRUB_UTIL.
40660
40661 * include/grub/normal.h (struct grub_menu_list): New struct.
40662 (grub_menu_list_t): New type.
40663 (struct grub_context): New struct.
40664 (grub_context_t): New type.
40665 (grub_register_command): Got rid of EXPORT_FUNC.
40666 (grub_unregister_command): Likewise.
40667 (grub_context_get): New prototype.
40668 (grub_context_get_current_menu): Likewise.
40669 (grub_context_push_menu): Likewise.
40670 (grub_context_pop_menu): Likewise.
40671 [GRUB_UTIL] (grub_default_init): Likewise.
40672 [GRUB_UTIL] (grub_default_fini): Likewise.
40673 [GRUB_UTIL] (grub_timeout_init): Likewise.
40674 [GRUB_UTIL] (grub_timeout_fini): Likewise.
40675
40676 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
40677 commands/timeout.c and normal/context.c.
40678 (pkgdata_MODULES): Added default.mod and timeout.mod.
40679 (normal_mod_SOURCES): Added normal/context.c.
40680 (default_mod_SOURCES): New variable.
40681 (default_mod_CFLAGS): Likewise.
40682 (timeout_mod_SOURCES): Likewise.
40683 (timeout_mod_CFLAGS): Likewise.
40684 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
40685 conf/i386-pc.rmk.
40686 (pkgdata_MODULES): Added default.mod and timeout.mod.
40687 (normal_mod_SOURCES): Added normal/context.c.
40688 (default_mod_SOURCES): New variable.
40689 (default_mod_CFLAGS): Likewise.
40690 (timeout_mod_SOURCES): Likewise.
40691 (timeout_mod_CFLAGS): Likewise.
40692
40693 * Makefile.in (all-local): Added $(MKFILES).
40694
40695 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
40696
40697 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
40698 (grub_emu_SOURCES): Likewise.
40699 (pkgdata_MODULES): Add `sun.mod'.
40700 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
40701 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40702 `partmap/sun.c'.
40703 (pkgdata_MODULES): Add `sun.mod'.
40704 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
40705 * include/grub/partition.h (grub_sun_partition_map_init): New
40706 prototype.
40707 (grub_sun_partition_map_fini): Likewise.
40708 * partmap/sun.c: New file.
40709 * util/grub-emu.c (main): Initialize and de-initialize the sun
40710 partitionmap support.
40711
40712 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
40713
40714 This implements an Emacs-like menu entry editor.
40715
40716 * normal/menu_entry.c: New file.
40717
40718 * util/console.c (grub_ncurses_putchar): Translate some Unicode
40719 characters to ASCII.
40720 (saved_char): New variable.
40721 (grub_ncurses_checkkey): Rewritten completely.
40722 (grub_ncurses_getkey): Likewise.
40723 (grub_ncurses_init): Call raw instead of cbreak.
40724
40725 * normal/menu.c (print_entry): Do not put a space.
40726 (init_page): Renamed to ...
40727 (grub_menu_init_page): ... this. All callers changed.
40728 (edit_menu_entry): Removed.
40729 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
40730
40731 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
40732
40733 * kern/misc.c (grub_vprintf): Call grub_refresh.
40734
40735 * normal/menu.c (DISP_LEFT): Renamed to ...
40736 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
40737 * normal/menu.c (DISP_UP): Renamed to ...
40738 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
40739 * normal/menu.c (DISP_RIGHT): Renamed to ...
40740 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
40741 * normal/menu.c (DISP_DOWN): Renamed to ...
40742 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
40743 * normal/menu.c (DISP_HLINE): Renamed to ...
40744 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
40745 * normal/menu.c (DISP_VLINE): Renamed to ...
40746 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
40747 * normal/menu.c (DISP_UL): Renamed to ...
40748 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
40749 * normal/menu.c (DISP_UR): Renamed to ...
40750 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
40751 * normal/menu.c (DISP_LL): Renamed to ...
40752 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
40753 * normal/menu.c (DISP_LR): Renamed to ...
40754 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
40755 * normal/menu.c (TERM_WIDTH): Renamed to ...
40756 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
40757 * normal/menu.c (TERM_HEIGHT): Renamed to ...
40758 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
40759 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
40760 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
40761 * normal/menu.c (TERM_MARGIN): Renamed to ...
40762 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
40763 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
40764 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
40765 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
40766 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
40767 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
40768 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
40769 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
40770 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
40771 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
40772 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
40773 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
40774 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
40775 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
40776 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
40777 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
40778 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
40779 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
40780 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
40781 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
40782 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
40783 All callers changed.
40784
40785 * include/grub/normal.h: New prototype.
40786
40787 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40788 normal/menu_entry.c.
40789 (normal_mod_SOURCES): Likewise.
40790 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40791 (normal_mod_SOURCES): Likewise.
40792
40793 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
40794
40795 * include/grub/normal.h (grub_halt_init): New prototype.
40796 (grub_halt_fini): Likewise.
40797 (grub_reboot_init): Likewise.
40798 (grub_reboot_fini): Likewise.
40799
40800 * util/grub-emu.c: Include signal.h.
40801 (main_env): New global variable.
40802 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
40803 catch C-c.
40804 (grub_machine_fini): New function.
40805 (main): Call grub_halt_init and grub_reboot_init before
40806 grub_main, and grub_reboot_fini and grub_halt_fini after it.
40807 Call setjmp with MAIN_ENV to go back afterwards.
40808 Call grub_machine_fini right before return.
40809
40810 * include/grub/util/misc.h: Include setjmp.h.
40811 (main_env): New prototype.
40812
40813 * include/grub/kernel.h (grub_machine_fini): New prototype.
40814 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
40815 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
40816
40817 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
40818 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
40819 * term/i386/pc/console.c (grub_console_fini): Likewise.
40820
40821 * util/i386/pc/misc.c: New file.
40822
40823 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40824 util/i386/pc/misc.c, commands/i386/pc/halt.c and
40825 commands/i386/pc/reboot.c.
40826
40827 2005-02-14 Guillem Jover <guillem@hadrons.org>
40828
40829 * include/grub/dl.h (grub_dl_check_header): New prototype.
40830 (grub_arch_dl_check_header): Change return type to grub_err_t,
40831 remove size parameter and export function. Update all callers.
40832 * kern/dl.c (grub_dl_check_header): New function.
40833 (grub_dl_load_core): Use `grub_dl_check_header' instead of
40834 `grub_arch_dl_check_header'. Check ELF type. Check if sections
40835 are inside the core.
40836 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
40837 independent ELF header checks.
40838 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
40839 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
40840 `grub_dl_check_header' instead of explicit checks. Check for the
40841 ELF type.
40842 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
40843 `grub_dl_check_header' instead of explicit checks. Remove arch
40844 specific ELF header checks.
40845
40846 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
40847 argument SIZE.
40848
40849 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
40850
40851 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
40852 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
40853
40854 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
40855
40856 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
40857 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
40858 (part_map_iterate): Clear `grub_errno' and return 0 if
40859 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
40860 * partmap/amiga.c (amiga_partition_map_iterate): Return
40861 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
40862 * partmap/apple.c (apple_partition_map_iterate): Likewise.
40863
40864 2005-02-01 Guillem Jover <guillem@hadrons.org>
40865
40866 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
40867 help info.
40868
40869 2005-01-31 Marco Gerards <metgerards@student.han.nl>
40870
40871 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
40872 Removed prototype.
40873 (grub_rescue_cmd_linux): New prototype.
40874 (grub_rescue_cmd_initrd): Likewise.
40875 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
40876 `bi_rec'.
40877 (grub_linux_release_mem): Release the memory for the initrd.
40878 (grub_load_linux): Renamed from this...
40879 (grub_rescue_cmd_linux): ...To this. Changed all callers.
40880 Changed `entry' not to be static. Loop over memory regions to
40881 find another one when the default fails.
40882 (grub_rescue_cmd_initrd): New function.
40883 (grub_linux_init): Remove function.
40884 (grub_linux_fini): Likewise.
40885 (GRUB_MOD_INIT): Register `initrd'.
40886 (GRUB_MOD_FINI): Unregister `initrd'.
40887 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
40888 Function removed.
40889 (grub_linux_normal_fini): Likewise.
40890 (GRUB_MOD_INIT): Register `initrd'.
40891 (GRUB_MOD_FINI): Unregister `initrd'.
40892
40893 2005-01-31 Marco Gerards <metgerards@student.han.nl>
40894
40895 * commands/help.c: New file.
40896 * normal/arg.c (show_help): Renamed to...
40897 (grub_arg_show_help): ... this.
40898 * commands/i386/pc/halt.c: New file.
40899 * commands/i386/pc/reboot.c: Likewise.
40900 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
40901 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
40902 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
40903 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
40904 variables.
40905 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40906 `commands/help.c'.
40907 (pkgdata_MODULES): Add `help.mod'.
40908 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
40909 * grub/i386/pc/init.h (grub_reboot): New prototype.
40910 (grub_halt): Likewise.
40911 * include/grub/normal.h (grub_arg_show_help): New prototype.
40912 (grub_help_init): Likewise.
40913 (grub_help_fini): Likewise.
40914 * util/grub-emu.c (main): Initialize and deinitialize the help
40915 command.
40916
40917 * normal/cmdline.c (grub_cmdline_get): Doc fix.
40918
40919 * normal/command.c (grub_command_init): Fixed the description of
40920 the `set' and `unset' commands.
40921
40922 2005-01-31 Marco Gerards <metgerards@student.han.nl>
40923
40924 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
40925 function.
40926 * commands/ieee1275/halt.c: New file.
40927 * commands/ieee1275/reboot.c: Likewise.
40928 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
40929 `__attribute__ ((unused))'. Some GCS related fixed.
40930 (grub_suspend_init) [GRUB_UTIL]: Function removed.
40931 (grub_suspend_fini): Likewise.
40932 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
40933 and `halt.mod'.
40934 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
40935 (halt_mod_CFLAGS): New variables.
40936 * include/grub/powerpc/ieee1275/ieee1275.h
40937 (grub_ieee1275_interpret): New prototype.
40938
40939 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
40940
40941 * include/grub/misc.h (memmove): New prototype.
40942 (memcpy): Likewise.
40943
40944 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
40945
40946 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
40947 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
40948
40949 2005-01-22 Marco Gerards <metgerards@student.han.nl>
40950
40951 * kern/misc.c (grub_strndup): Function rewritten.
40952
40953 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
40954
40955 * normal/menu.c (TERM_WIDTH): Macro redefined.
40956 (TERM_TOP_BORDER_Y): Likewise.
40957 (draw_border): Replaced while-loop by a for-loop. Make the number
40958 of lines consistent with the number of lines displayed in
40959 print_entries. Added a margin below the rectangle.
40960 (print_entry): Make the entry fit in the rectangle.
40961 (print_entries): Display the scroll arrows next to the right
40962 border.
40963
40964 2005-01-21 Marco Gerards <metgerards@student.han.nl>
40965
40966 * fs/minix.c (grub_minix_find_file): Reserve more space for
40967 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
40968 `grub_strncpy' to copy `path' into it.
40969
40970 2005-01-21 Marco Gerards <metgerards@student.han.nl>
40971
40972 Add the loopback device, a device via which files can be accessed
40973 as devices.
40974
40975 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
40976 (pkgdata_MODULES): Add loopback.mod.
40977 (loopback_mod_SOURCES): New variable.
40978 (loopback_mod_CFLAGS): Likewise.
40979 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40980 `disk/loopback.c'.
40981 (pkgdata_MODULES): Add loopback.mod.
40982 (loopback_mod_SOURCES): New variable.
40983 (loopback_mod_CFLAGS): Likewise.
40984 * disk/loopback.c: new file.
40985 * include/grub/normal.h (grub_loop_init): New prototype.
40986 (grub_loop_fini): New prototype.
40987 * util/grub-emu.c (main): Initialize and de-initialize loopback
40988 support.
40989 * include/grub/disk.h (grub_disk_dev_id): Add
40990 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
40991
40992 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
40993
40994 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
40995 function.
40996 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
40997 (suspend_mod_SOURCES): New variable.
40998 (suspend_mod_CFLAGS): Likewise.
40999 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
41000 New prototype.
41001 * commands/ieee1275/suspend.c: New file.
41002
41003 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41004
41005 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
41006 ((unused))' to `__attribute__ ((used))'.
41007 (GRUB_MOD_FINI): Likewise.
41008 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
41009 * genmk.rb (PModule): Assign space to common symbols when linking
41010 modules.
41011
41012 2005-01-20 Marco Gerards <metgerards@student.han.nl>
41013
41014 * include/grub/mm.h (grub_mm_init_region): Change the type of the
41015 `unsigned' arguments to `grub_size_t'.
41016 (grub_malloc): Likewise.
41017 (grub_realloc): Likewise.
41018 (grub_memalign): Likewise.
41019 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
41020 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
41021 * util/misc.c (grub_malloc): Likewise.
41022 (grub_realloc): Likewise.
41023 * kern/mm.c (get_header_from_pointer): Change the casts to
41024 `unsigned' into a cast to `grub_size_t'.
41025
41026 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
41027 point to `currnode' when `currnode' is changed.
41028
41029 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
41030 Schottelius <nico-linux@schottelius.org>.
41031
41032 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
41033
41034 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
41035 (note_path): Remove variable.
41036 (GRUB_IEEE1275_NOTE_NAME): New macro.
41037 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
41038 (grub_ieee1275_note_hdr): New structure.
41039 (grub_ieee1275_note_desc): Likewise.
41040 (grub_ieee1275_note): Likewise.
41041 (load_note): Remove `dir' argument. All callers updated. Remove
41042 `note_img' and `path'. Do not load a file from `note_path'.
41043 Initialize a struct grub_ieee1275_note and write that to `out'.
41044 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
41045
41046 2005-01-05 Marco Gerards <metgerards@student.han.nl>
41047
41048 * util/misc.c (grub_util_read_image): Revert last change. It
41049 called `grub_util_read_at', which seeks from the beginning of the
41050 file.
41051
41052 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
41053
41054 * TODO: Add note about endianness in grub-mkimage.
41055 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
41056 section.
41057 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
41058 (grub_mkimage_SOURCES): New target.
41059 * include/grub/kernel.h (grub_start_addr): Remove variable.
41060 (grub_end_addr): Likewise.
41061 (grub_total_module_size): Likewise.
41062 (grub_kernel_image_size): Likewise.
41063 (GRUB_MODULE_MAGIC): New constant.
41064 (grub_module_info): New structure.
41065 (grub_arch_modules_addr): New prototype.
41066 (grub_get_end_addr): Remove prototype.
41067 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
41068 * include/grub/powerpc/ieee1275/kernel.h: New file.
41069 * include/grub/util/misc.h (grub_util_get_fp_size): New
41070 prototype.
41071 (grub_util_read_at): Likewise.
41072 (grub_util_write_image_at): Likewise.
41073 * kern/main.c (grub_get_end_addr): Remove function.
41074 (grub_load_modules): Call grub_arch_modules_addr instead of using
41075 grub_end_addr. Look for a grub_module_info struct in memory. Use
41076 the grub_module_info fields instead of calling grub_get_end_addr
41077 as loop conditions. Move grub_add_unused_region code here.
41078 (grub_add_unused_region): Remove function.
41079 * kern/i386/pc/init.c: Include grub/cache.h.
41080 (grub_machine_init): Remove call to grub_get_end_addr. Remove
41081 one call to add_mem_region.
41082 (grub_arch_modules_addr): New function.
41083 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
41084 (grub_total_module_size): Likewise.
41085 Include grub/machine/kernel.h.
41086 (grub_arch_modules_addr): New function.
41087 * util/grub-emu.c (grub_end_addr): Remove variable.
41088 (grub_total_module_size): Likewise.
41089 (grub_arch_modules_addr): New function.
41090 * util/misc.c: Include unistd.h.
41091 (grub_util_get_fp_size): New function.
41092 (grub_util_read_at): Likewise.
41093 (grub_util_write_image_at): Likewise.
41094 (grub_util_read_image): Call grub_util_read_at.
41095 (grub_util_write_image): Call grub_util_write_image_at.
41096 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
41097 additional memory in kernel_img for a struct grub_module_info.
41098 Fill in that grub_module_info.
41099 * util/powerpc/ieee1275/grub-mkimage.c: New file.
41100
41101 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
41102
41103 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
41104 New function.
41105 * include/grub/powerpc/ieee1275/ieee1275.h
41106 (grub_ieee1275_milliseconds): New prototype.
41107 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
41108 Change to 1000.
41109 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
41110 grub_ieee1275_milliseconds.
41111
41112 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
41113
41114 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
41115 variable.
41116 (find_options): New function.
41117 (cmain): Call find_options.
41118 * include/grub/powerpc/ieee1275/ieee1275.h
41119 (grub_ieee1275_realmode): New extern variable.
41120 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
41121 grub_map if grub_ieee1275_realmode is false.
41122
41123 2004-12-29 Marco Gerards <metgerards@student.han.nl>
41124
41125 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
41126 lines are inserted and make it work like readline. Reported by
41127 Vincent Pelletier <subdino2004@yahoo.fr>.
41128
41129 2004-12-28 Marco Gerards <metgerards@student.han.nl>
41130
41131 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
41132
41133 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
41134 `kern/powerpc/cache.S'.
41135
41136 2004-12-27 Marco Gerards <metgerards@student.han.nl>
41137
41138 * genmk.rb: Handle the `Program' class in the main loop. Written
41139 by Johan Rydberg <jrydberg@gnu.org>.
41140 (Program): New class.
41141 (programs): New variable.
41142 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
41143 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
41144 instead of "grub/kernel.h". Include <grub/machine/init.h>.
41145 (help_arch): Function removed.
41146 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
41147 `powerpc/libgcc.h' and `loader.h'.
41148 (pkgdata_PROGRAMS): New variable.
41149 (sbin_UTILITIES): Variable removed.
41150 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
41151 (grubof_SOURCES): Variable re-defined so it only includes the
41152 core functionality.
41153 (grubof_CFLAGS): Remove `-DGRUBOF'.
41154 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
41155 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
41156 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
41157 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
41158 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
41159 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
41160 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
41161 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
41162 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
41163 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
41164 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
41165 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
41166 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
41167 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
41168 (pc_mod_CFLAGS): New variables.
41169 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
41170 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
41171 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
41172 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
41173 Moved from here...
41174 * include/grub/i386/pc/init.h (grub_os_area_addr)
41175 (rub_os_area_size): ... to here.
41176 * include/grub/powerpc/ieee1275/ieee1275.h
41177 (grub_ieee1275_entry_fn): Export symbol.
41178 * include/grub/powerpc/ieee1275/init.h: New file.
41179 * include/grub/powerpc/libgcc.h: Likewise.
41180 * include/grub/cache.h: Likewise.
41181 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
41182 <hollis@penguinppc.org>.
41183 * kern/dl.c: Include <grub/cache.h>.
41184 (grub_dl_flush_cache): New function.
41185 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
41186 for this module.
41187 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
41188 (grub_console_init): Removed prototypes.
41189 (grub_machine_init): Don't initialize the modules anymore.
41190 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
41191 static.
41192 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
41193 Macro undef removed.
41194 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
41195 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
41196 relocation `R_PPC_REL32'. Return an error when the relocation is
41197 unknown.
41198 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
41199 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
41200 * util/misc.c (grub_arch_sync_caches): Likewise.
41201
41202 2004-12-19 Marco Gerards <metgerards@student.han.nl>
41203
41204 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
41205 `symlist.c', add `grubof_symlist.c'.
41206 (symlist.c): Variable removed.
41207 (grubof_HEADERS): Variable added.
41208 (grubof_symlist.c): New target.
41209 (kernel_syms.lst): Use `grubof_HEADERS' instead of
41210 `kernel_img_HEADERS'.
41211 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
41212 * kern/powerpc/dl.c: New file.
41213 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
41214 Function removed.
41215 (grub_arch_dl_relocate_symbols): Likewise.
41216 (grub_register_exported_symbols): Likewise.
41217
41218 2004-12-13 Marco Gerards <metgerards@student.han.nl>
41219
41220 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
41221 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
41222 to fail instead. Reported by Vincent Pelletier
41223 <subdino2004@yahoo.fr>.
41224
41225 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
41226 it is not allocated. Reported by Vincent Pelletier
41227 <subdino2004@yahoo.fr>.
41228
41229 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
41230 output so the output looks better.
41231
41232 2004-12-04 Marco Gerards <metgerards@student.han.nl>
41233
41234 Modulize the partition map support and add support for the amiga
41235 partition map.
41236
41237 * commands/ls.c: Include <grub/partition.h> instead of
41238 <grub/machine/partition.h>.
41239 * kern/disk.c: Likewise.
41240 * kern/rescue.c: Likewise.
41241 * loader/i386/pc/chainloader.c: Likewise.
41242 * normal/cmdline.c: Likewise.
41243 * kern/powerpc/ieee1275/init.c: Likewise.
41244 (grub_machine_init): Call `grub_pc_partition_map_init',
41245 `grub_amiga_partition_map_init' and
41246 `grub_apple_partition_map_init'.
41247 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
41248 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
41249 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
41250 `partition.h' and `pc_partition.h'.
41251 (grub_setup_SOURCES): Remove
41252 `disk/i386/pc/partition.c'. Add `kern/partition.c',
41253 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
41254 (grub_emu_SOURCES): Likewise.
41255 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
41256 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
41257 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
41258 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
41259 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
41260 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
41261 (grubof_SOURCES): Likewise.
41262 * disk/i386/pc/partition.c: File removed.
41263 * disk/powerpc/ieee1275/partition.c: Likewise.
41264 * include/grub/powerpc/ieee1275/partition.h: Likewise.
41265 * include/grub/i386/pc/partition.h: Likewise.
41266 * kern/partition.c: New file.
41267 * partmap/amiga.c: Likewise.
41268 * partmap/apple.c: Likewise.
41269 * partmap/pc.c: Likewise.
41270 * include/grub/partition.h: Likewise..
41271 * include/grub/pc_partition.h: Likewise.
41272 * util/grub-emu.c: Include <grub/partition.h> instead of
41273 <grub/machine/partition.h>.
41274 (main): Call `grub_pc_partition_map_init',
41275 `grub_amiga_partition_map_init' and
41276 `grub_apple_partition_map_init' and deinitialize afterwards.
41277 * util/i386/pc/biosdisk.c: Include `#include
41278 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
41279 `<grub/machine/partition.h>'.
41280 * util/i386/pc/grub-setup.c: Likewise.
41281 * util/i386/pc/biosdisk.c: Likewise.
41282 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
41283 partition information in case of a PC partition.
41284 * util/i386/pc/grub-setup.c: Include `#include
41285 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
41286 `<grub/machine/partition.h>'.
41287 (setup): Only access the PC specific partition information in case
41288 of a PC partition.
41289
41290 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
41291
41292 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
41293 (grub_longjmp): Likewise.
41294 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
41295 20.
41296 * normal/powerpc/setjmp.S: New file.
41297 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
41298 `normal/powerpc/setjmp.S'.
41299 (grubof_CFLAGS): Add `-DGRUBOF'.
41300 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
41301 [GRUB_UTIL && !GRUBOF].
41302
41303 2004-11-16 Marco Gerards <metgerards@student.han.nl>
41304
41305 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
41306 property named `name'. Correctly handle the error returned by
41307 `grub_ieee1275_finddevice' if a device can not be opened.
41308
41309 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
41310
41311 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
41312 `actual' for negativity.
41313 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
41314 kern/fshelp.c.
41315
41316 2004-11-01 Marco Gerards <metgerards@student.han.nl>
41317
41318 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
41319 (PAGE_OFFSET): New macro.
41320 (CRTC_ADDR_PORT): Likewise.
41321 (CRTC_DATA_PORT): Likewise.
41322 (START_ADDR_HIGH_REGISTER): Likewise.
41323 (START_ADDR_LOW_REGISTER): Likewise.
41324 (GRAPHICS_ADDR_PORT): Likewise.
41325 (GRAPHICS_DATA_PORT): Likewise.
41326 (READ_MAP_REGISTER): Likewise.
41327 (INPUT_STATUS1_REGISTER): Likewise.
41328 (INPUT_STATUS1_VERTR_BIT): Likewise.
41329 (page): New variable.
41330 (wait_vretrace): New function.
41331 (set_read_map): Likewise.
41332 (set_start_address): Likewise.
41333 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
41334 the right page.
41335 (check_vga_mem): Take the page into account.
41336 (write_char): Likewise.
41337 (write_cursor): Likewise.
41338 (scroll_up): Likewise. Copy the page to the page that is not
41339 shown and switch between both pages.
41340 (grub_vga_putchar): Fix off by one error.
41341 (grub_vga_cls): Wait for the vertical retrace. Take the page into
41342 account.
41343
41344 2004-11-01 Marco Gerards <metgerards@student.han.nl>
41345
41346 Add support for iso9660 (including rockridge).
41347
41348 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
41349 (iso9660_mod_SOURCES): New variable.
41350 (iso9660_mod_CFLAGS): Likewise.
41351 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
41352 * include/grub/fs.h (grub_iso9660_init): New prototype.
41353 * util/grub-emu.c (main): Call `grub_iso9660_init'.
41354 * fs/iso9660.c: New file.
41355
41356 * include/grub/misc.h (grub_strncat): New prototype.
41357 * kern/misc.c (grub_strncat): New function.
41358
41359 * fs/hfs.c (grub_hfs_mount): Translate the error
41360 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
41361 * fs/jfs.c (grub_jfs_mount): Likewise.
41362 * fs/ufs.c (grub_ufs_mount): Likewise.
41363
41364 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
41365
41366 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
41367 which initialized BAT registers.
41368 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
41369 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
41370 Move from here...
41371 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
41372 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
41373 ... to here.
41374 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
41375 (grub_mapclaim): Likewise.
41376 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
41377 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
41378 hand.
41379
41380 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
41381
41382 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
41383 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
41384 -ffreestanding and -msoft-float.
41385
41386 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
41387
41388 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
41389 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
41390 set in grub_ieee1275_flags.
41391
41392 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
41393
41394 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
41395 prototype.
41396 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
41397 grub_console_init first.
41398 Change the memory range used for grub_ieee1275_claim and
41399 grub_mm_init_region.
41400 Print an error message if the claim fails.
41401 Include <grub/misc.h>.
41402
41403 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
41404
41405 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
41406 Call grub_children_iterate for device nodes of type `scsi',
41407 `ide', or `ata'.
41408 (grub_ofdisk_open): Remove manual device alias resolution.
41409 Fix memory leak when device cannot be opened.
41410 * include/grub/powerpc/ieee1275/ieee1275.h
41411 (grub_children_iterate): New prototype.
41412 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
41413 New function.
41414 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
41415 Return -1 if args.size was -1.
41416
41417 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
41418
41419 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
41420 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
41421 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
41422 Open Firmware's memory for it; claim memory from _start to _end.
41423 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
41424 (_end): New extern.
41425 (_start): Zero BSS from __bss_start to _end.
41426 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
41427 New extern.
41428 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
41429
41430 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
41431
41432 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
41433 -1 if args.base was -1.
41434
41435 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
41436
41437 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
41438 escape sequence instead of a literal ^L. Also call
41439 grub_ofconsole_gotoxy.
41440
41441 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
41442
41443 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
41444 void * arguments to grub_addr_t. All callers updated. Also make
41445 the `result' argument optional.
41446 (grub_ieee1275_release): change void * arguments to grub_addr_t.
41447 All callers updated.
41448
41449 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
41450
41451 * commands/ls.c (grub_ls_list_files): Use the string following the
41452 initial ')', if present, as the filesystem path.
41453 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
41454
41455 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
41456
41457 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
41458
41459 Make the source code of the menu interface more readable.
41460
41461 * normal/menu.c: Include grub/mm.h.
41462 (TERM_WIDTH): New macro.
41463 (TERM_HEIGHT): Likewise.
41464 (TERM_INFO_HEIGHT): Likewise.
41465 (TERM_MARGIN): Likewise.
41466 (TERM_SCROLL_WIDTH): Likewise.
41467 (TERM_TOP_BORDER_Y): Likewise.
41468 (TERM_LEFT_BORDER_X): Likewise.
41469 (TERM_BORDER_WIDTH): Likewise.
41470 (TERM_MESSAGE_HEIGHT): Likewise.
41471 (TERM_BORDER_HEIGHT): Likewise.
41472 (TERM_NUM_ENTRIES): Likewise.
41473 (TERM_FIRST_ENTRY_Y): Likewise.
41474 (TERM_ENTRY_WIDTH): Likewise.
41475 (TERM_CURSOR_X): Likewise.
41476 (draw_border): Use macros instead of magic numbers.
41477 (print_entry): Likewise.
41478 (print_entries): Likewise.
41479 (run_menu): Likewise. Also, handle the key 'e'.
41480 (run_menu_entry): Ignore empty command lines.
41481 (print_message): Added a new argument EDIT. If EDIT is true,
41482 print a different message.
41483 (init_page): Likewise.
41484 (edit_menu_entry): New function. Not implemented yet.
41485
41486 2004-09-17 Marco Gerards <metgerards@student.han.nl>
41487
41488 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
41489 can be loaded from normal mode.
41490
41491 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
41492 `multiboot.mod'.
41493 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
41494 (multiboot_mod_CFLAGS): New variables.
41495 * loader/i386/pc/linux_normal.c: New file.
41496 * loader/i386/pc/multiboot_normal.c: Likewise.
41497
41498 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
41499 attribute `unused'.
41500
41501 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
41502 `fdiro' to read the mode information from instead of `diro'.
41503
41504 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
41505 looking up a symlink.
41506
41507 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
41508 macro.
41509 * normal/command.c (grub_command_execute): Don't parse the
41510 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
41511 flags of the command.
41512
41513 * normal/menu.c (grub_menu_run): Fix typo.
41514
41515 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
41516
41517 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
41518
41519 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
41520 `y + 1' instead of `y - 1'.
41521
41522 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
41523
41524 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
41525
41526 From Hollis Blanchard <hollis@penguinppc.org>:
41527 * kern/misc.c (memmove): New alias for grub_memmove.
41528 (memcmp): New alias for grub_memcmp.
41529 (memset): New alias for grub_memset.
41530 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
41531 Change "int handle" to "grub_ieee1275_phandle_t handle".
41532 * include/grub/powerpc/ieee1275/ieee1275.h
41533 (grub_ieee1275_get_property): Likewise.
41534
41535 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
41536
41537 Added normal mode command `chainloader' as module chain.mod, which
41538 depends on normal.mod and _chain.mod.
41539
41540 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
41541 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
41542 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
41543 Deleted prototype.
41544 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
41545 but arguments parsing moved to ...
41546 (grub_chainloader_cmd): ... here. New function.
41547 * include/grub/i386/pc/chainloader.h: New file.
41548 * loader/i386/pc/chainloader_normal.c: Likewise.
41549
41550 2004-09-11 Marco Gerards <metgerards@student.han.nl>
41551
41552 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
41553 (grub_mkimage_LDFLAGS): Likewise.
41554 (grub_emu_SOURCES): Likewise.
41555 (kernel_img_HEADERS): Added fshelp.h.
41556 * fs/ext2.c: Include <grub/fshelp.h>.
41557 (FILETYPE_REG): New macro.
41558 (FILETYPE_INO_REG): Likewise.
41559 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
41560 Changed all users.
41561 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
41562 all users.
41563 (grub_fshelp_node): New struct.
41564 (grub_ext2_data): Added member `diropen'. Changed member `inode'
41565 to a pointer.
41566 (grub_ext2_get_file_block): Removed function.
41567 (grub_ext2_read_block): New function.
41568 (grub_ext2_read_file): Replaced parameter `data' by `node'.
41569 This function was written.
41570 (grub_ext2_mount): Read the root inode. Create a diropen struct.
41571 (grub_ext2_find_file): Removed function.
41572 (grub_ext2_read_symlink): New function.
41573 (grub_ext2_iterate_dir): Likewise.
41574 (grub_ext2_open): Rewritten.
41575 (grub_ext2_dir): Rewritten.
41576 * include/grub/fshelp.h: New file.
41577 * fs/fshelp.c: Likewise.
41578
41579 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
41580
41581 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
41582 (print_message): Add a missing newline.
41583 (run_menu): Added timeout support.
41584 (run_menu_entry): New local function.
41585 (grub_menu_run): Added support for booting.
41586
41587 * kern/loader.c (grub_loader_is_loaded): New function.
41588
41589 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
41590 (grub_get_rtc): Exported.
41591
41592 * include/grub/i386/pc/time.h: Include grub/symbol.h.
41593 (grub_get_rtc): Exported.
41594
41595 * include/grub/normal.h (struct grub_command_list): Remove
41596 constant from the member `command'.
41597
41598 * include/grub/loader.h (grub_loader_is_loaded): Declared.
41599
41600 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
41601
41602 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
41603
41604 2004-08-28 Marco Gerards <metgerards@student.han.nl>
41605
41606 Add support for the JFS filesystem.
41607
41608 * fs/jfs.c: New file.
41609 * include/grub/fs.h (grub_jfs_init): New prototype.
41610 (grub_jfs_fini): New prototype.
41611 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
41612 (grub_emu_SOURCES): Likewise.
41613 (pkgdata_MODULES): Add jfs.mod.
41614 (jfs_mod_SOURCES): New variable.
41615 (jfs_mod_CFLAGS): Likewise.
41616 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
41617 (grubof_SOURCES): Likewise.
41618 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
41619
41620 * fs/fat.c (grub_fat_find_dir): Convert the filename little
41621 endian to the host endian.
41622 (grub_fat_utf16_to_utf8): Move function from there...
41623 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
41624 the endianness of the source string anymore.
41625 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
41626
41627 2004-08-24 Marco Gerards <metgerards@student.han.nl>
41628
41629 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
41630 (grub_boot_fini) [GRUB_UTIL]: Likewise.
41631 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
41632 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
41633
41634 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
41635 (grub_hfs_iterate_dir): Make the function static. Add prototypes
41636 for `node_found' and `it_dir'.
41637 (grub_hfs_dir): Add prototype for `dir_hook'.
41638
41639 * fs/minix.c (grub_minix_get_file_block): Add prototype for
41640 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
41641 and `indir32' to silence a gcc warning.
41642
41643 * include/grub/fs.h (grub_hfs_init): New prototype.
41644 (grub_hfs_fini): Likewise.
41645
41646
41647 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
41648
41649 Each disk device has its own id now. This is useful to make use
41650 of multiple disk devices.
41651
41652 * include/grub/disk.h (grub_disk_dev_id): New enum.
41653 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
41654 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
41655
41656 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
41657 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
41658
41659 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
41660 GRUB_DISK_DEVICE_OFDISK_ID as an id.
41661
41662 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
41663 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
41664
41665 * include/grub/disk.h (struct grub_disk_dev): Added a new member
41666 "id" which is used by the cache manager.
41667
41668 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
41669 of just "GRUB".
41670
41671 2004-08-18 Marco Gerards <metgerards@student.han.nl>
41672
41673 * fs/hfs.c: New file.
41674 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
41675 (grub_emu_SOURCES): Likewise.
41676 (pkgdata_MODULES): Add hfs.mod.
41677 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
41678 (grubof_SOURCES): Likewise.
41679 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
41680
41681 * include/grub/misc.h (grub_strncasecmp): Add prototype.
41682 * kern/misc.c (grub_strncasecmp): Add function.
41683
41684 2004-08-14 Marco Gerards <metgerards@student.han.nl>
41685
41686 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
41687 with parentheses.
41688
41689 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
41690 (grub_ext2_dir): In case the directory entry type is unknown, read
41691 it from the inode.
41692
41693 2004-08-02 Peter Bruin <pjbruin@dds.nl>
41694
41695 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
41696 grub_load_linux instead of grub_rescue_cmd_linux as second
41697 argument of grub_rescue_register_command.
41698
41699 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
41700
41701 2004-07-27 Marco Gerards <metgerards@student.han.nl>
41702
41703 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
41704 function.
41705 * commands/boot.c: Remove the check for `GRUB_UTIL'.
41706 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
41707 `loader/powerpc/ieee1275/linux.c',
41708 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
41709 * include/grub/powerpc/ieee1275/ieee1275.h
41710 (grub_ieee1275_release): New prototype.
41711 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
41712 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
41713 normal, boot, linux and linux_normal.
41714 * loader/powerpc/ieee1275/linux.c: New file.
41715 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
41716
41717 2004-07-12 Marco Gerards <metgerards@student.han.nl>
41718
41719 * normal/arg.c (grub_arg_parse): Correct error handling after
41720 reallocating the argumentlist (check if `argl' is not null instead
41721 of checking if `args' is not null).
41722 * kern/mm.c (grub_realloc): Return the same pointer when using the
41723 same region, instead of returning the header address.
41724
41725 2004-07-11 Marco Gerards <metgerards@student.han.nl>
41726
41727 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
41728 one block instead of two when looking for the initial partition.
41729 (grub_partition_probe): Initialize the local variable `p' with 0.
41730 Use base 10 for the grub_strtoul call.
41731 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
41732 need for one local variable.
41733 (grub_strtoul): Don't add the new value to `num', instead of that
41734 just assign it.
41735
41736 2004-07-11 Marco Gerards <metgerards@student.han.nl>
41737
41738 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
41739 (pxeboot_img_SOURCES): New variable.
41740 (pxeboot_img_ASFLAGS): Likewise.
41741 (pxeboot_img_LDFLAGS): Likewise.
41742 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
41743 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
41744 <lode_leroy@hotmail.com>.
41745
41746 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41747
41748 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
41749 there was no input.
41750
41751 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41752
41753 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
41754 the history buffer logic.
41755
41756 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41757
41758 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
41759 (FILETYPE_INO_SYMLINK): New macros.
41760 (grub_ext2_find_file): Check if the node is a directory using the
41761 inode stat information instead of using the filetype in the
41762 dirent. Exclude the first character of an absolute symlink.
41763 (grub_ext2_dir): Mask out the filetype part of the mode member of
41764 the inode.
41765
41766 2004-05-24 Marco Gerards <metgerards@student.han.nl>
41767
41768 Add support for UFS version 1 and 2. Add support for the minix
41769 filesystem version 1 and 2, both the variants with 14 and 30 long
41770 filenames.
41771
41772 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
41773 fs/minix.c.
41774 (grub_emu_SOURCES): Likewise.
41775 (pkgdata_MODULES): Add ufs.mod and minix.mod.
41776 (ufs_mod_SOURCES): New variable.
41777 (ufs_mod_CFLAGS): Likewise.
41778 (minix_mod_SOURCES): Likewise.
41779 (minix_mod_CFLAGS): Likewise.
41780 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
41781 fs/minix.c.
41782 (grubof_SOURCES): Likewise.
41783 * fs/ufs.c: New file.
41784 * fs/minix.c: New file.
41785 * include/grub/fs.h (grub_ufs_init): New prototype.
41786 (grub_ufs_fini): Likewise.
41787 (grub_minix_init): Likewise.
41788 (grub_minix_fini): Likewise.
41789 * util/grub-emu.c (main): Initialize and deinitialize UFS and
41790 minix fs.
41791
41792 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
41793
41794 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
41795 commands/ls.c, commands/terminal.c, commands/boot.c,
41796 commands/cmp.c and commands/cat.c.
41797 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
41798
41799 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
41800 "env.h"
41801
41802 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
41803
41804 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
41805 and grub_, respectively. Because the conversion is trivial and
41806 mechanical, I omit the details here. Please refer to the CVS
41807 if you need more information.
41808
41809 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
41810
41811 * include/pupa: Renamed to ...
41812 * include/grub: ... this.
41813 * util/i386/pc/pupa-mkimage.c: Renamed to ...
41814 * util/i386/pc/grub-mkimage.c: ... this.
41815 * util/i386/pc/pupa-setup.c: Renamed to ...
41816 * util/i386/pc/grub-setup.c: ... this.
41817 * util/pupa-emu.c: Renamed to ...
41818 * util/grub-emu.c: ... this.
41819
41820 2004-03-29 Marco Gerards <metgerards@student.han.nl>
41821
41822 Add support for the newworld apple macintosh (PPC). This has been
41823 tested on the powerbook 2000 only. It only adds support for
41824 generic ieee1275 functions, console and disk support. This should
41825 be easy to port to other architectures with support for Open
41826 Firmware.
41827
41828 * configure.ac: Accept the powerpc as host_cpu. In the case of
41829 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
41830 specific tests are only executed while building for the i386.
41831 Inverse test for crosscompile.
41832 * genmk.rb (Utility): Allow assembler files.
41833 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
41834 * conf/powerpc-ieee1275.rmk: New file.
41835 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
41836 * disk/powerpc/ieee1275/partition.c: Likewise.
41837 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
41838 * include/pupa/powerpc/ieee1275/console.h: Likewise.
41839 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
41840 * include/pupa/powerpc/ieee1275/time.h: Likewise.
41841 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
41842 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
41843 * include/pupa/powerpc/ieee1275/loader.h
41844 * include/pupa/powerpc/setjmp.h: Likewise.
41845 * include/pupa/powerpc/types.h: Likewise.
41846 * kern/powerpc/ieee1275/init.c: Likewise.
41847 * kern/powerpc/ieee1275/openfw.c: Likewise.
41848 * term/powerpc/ieee1275/ofconsole.c: Likewise.
41849
41850 These files were written by Johan Rydberg
41851 (jrydberg@night.trouble.net) and I only modified them slightly.
41852
41853 * boot/powerpc/ieee1275/cmain.c: New file.
41854 * boot/powerpc/ieee1275/crt0.S: Likewise.
41855 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
41856 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
41857
41858 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
41859
41860 * Makefile.in: Update copyright.
41861 * genmodsrc.sh: Likewise.
41862 * gensymlist.sh: Likewise.
41863 * term/i386/pc/vga.c: Indent correctly.
41864
41865 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
41866 bugreporting address.
41867 * util/i386/pc/pupa-setup.c (usage): Likewise,
41868 (main): Call pupa_ext2_init and pupa_ext2_fini.
41869
41870 * fs/fat.c (log2): Renamed to ...
41871 (fat_log2): ... this.
41872 All callers changed.
41873 * kern/misc.c (memcpy): Alias to pupa_memmove.
41874 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
41875 lvalue cast.
41876 * util/console.c (pupa_ncurses_fini): Return 0.
41877
41878 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
41879 Move fail label here.
41880 [__GNU__]: Don't warn when using stat.
41881 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
41882 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
41883 long int. Use strtol instead of strtoul.
41884
41885 2004-03-14 Marco Gerards <metgerards@student.han.nl>
41886
41887 * commands/boot.c: New file.
41888 * commands/cat.c: Likewise.
41889 * commands/cmp.c: Likewise.
41890 * commands/ls.c: Likewise.
41891 * commands/terminal.c: Likewise.
41892 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
41893 (pupa_register_command): Changed interface to match the new
41894 argument parser.
41895 (pupa_command_execute): Changed (almost rewritten) so it uses
41896 pupa_split_command. Added support for setting variables using the
41897 syntax `foo=bar'.
41898 (rescue_command): Changed to work with the new argument parser.
41899 (terminal_command): Moved from here to commands/terminal.c.
41900 (set_command): New function.
41901 (unset_command): New function.
41902 (insmod_command): New function.
41903 (rmmod_command): New function.
41904 (lsmod_command): New function.
41905 (pupa_command_init): Don't initialize the command terminal
41906 anymore. Initialize the commands set, unset, insmod, rmmod and
41907 lsmod.
41908 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
41909 (kernel_img_HEADERS): Add arg.h and env.h.
41910 (pupa_mkimage_LDFLAGS): Add kern/env.c.
41911 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
41912 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
41913 normal/arg.c.
41914 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
41915 terminal.mod.
41916 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
41917 (boot_mod_SOURCES): New variable.
41918 (terminal_mod_SOURCES): Likewise.
41919 (ls_mod_SOURCES): Likewise.
41920 (cmp_mod_SOURCES): Likewise.
41921 (cat_mod_SOURCES): Likewise.
41922
41923 * normal/arg.c: New file.
41924 * kern/env.c: Likewise.
41925 * include/pupa/arg.h: Likewise.
41926 * include/pupa/env.h: Likewise.
41927 * font/manager.c (font_command): Changed to match argument parsing
41928 interface changes.
41929 (PUPA_MOD_INIT): Likewise.
41930 * hello/hello.c (pupa_cmd_hello): Likewise.
41931 (PUPA_MOD_INIT): Likewise.
41932 * include/pupa/disk.h: Include <pupa/device.h>.
41933 (pupa_print_partinfo): New prototype.
41934 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
41935 (pupa_dl_get_prefix): Likewise.
41936 * include/pupa/misc.h: Include <pupa/err.h>.
41937 (pupa_isgraph): New prototype.
41938 (pupa_isdigit): Likewise.
41939 (pupa_split_cmdline): Likewise.
41940 * include/pupa/normal.h: Include <pupa/arg.h>.
41941 (pupa_command): Changed the prototype of the member `func' to
41942 match the argument parsing interface. Added member `options'.
41943 (pupa_register_command): Updated to match function.
41944 (pupa_arg_parse): New prototype.
41945 (pupa_hello_init) [PUPA_UTIL]: New prototype.
41946 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
41947 (pupa_ls_init) [PUPA_UTIL]: Likewise.
41948 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
41949 (pupa_cat_init) [PUPA_UTIL]: Likewise.
41950 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
41951 (pupa_boot_init) [PUPA_UTIL]: Likewise.
41952 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
41953 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
41954 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
41955 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
41956 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
41957 * kern/disk.c: Include <pupa/file.h>.
41958 (pupa_print_partinfo): New function.
41959 * kern/dl.c: Include <pupa/env.h>.
41960 (pupa_dl_dir): Variable removed.
41961 (pupa_dl_load): Use the environment variable `prefix' instead of
41962 the variable pupa_dl_dir.
41963 (pupa_dl_set_prefix): Function removed.
41964 (pupa_dl_get_prefix): Likewise.
41965 * kern/i386/pc/init.c: Include <pupa/env.h>.
41966 (pupa_machine_init): Use the environment variable `prefix' instead of
41967 using pupa_dl_set_prefix to set the prefix.
41968 * kern/main.c: Include <pupa/env.h>.
41969 (pupa_set_root_dev): Use the environment variable `prefix' instead of
41970 using pupa_dl_get_prefix to get the prefix.
41971 * kern/misc.c: Include <pupa/env.h>.
41972 (pupa_isdigit): New function.
41973 (pupa_isgraph): Likewise.
41974 (pupa_ftoa): Likewise.
41975 (pupa_vsprintf): Added support for printing values of the type
41976 `double'. Make it possible to format variable output when using
41977 formatting like `%1.2%f'.
41978 (pupa_split_cmdline): New function.
41979 * kern/rescue.c: Include <pupa/env.h>.
41980 (next_word): Removed function.
41981 (pupa_rescue_cmd_prefix): Likewise.
41982 (pupa_rescue_cmd_set): New function.
41983 (pupa_rescue_cmd_unset): New function.
41984 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
41985 split the command line instead of splitting it here. Added
41986 support for setting variables using the syntax `foo=bar'. Don't
41987 initialize the prefix command anymore. Initialized the set and
41988 unset commands.
41989 * normal/cmdline.c: Include <pupa/env.h>.
41990 (pupa_tab_complete): Added prototypes for print_simple_completion,
41991 print_partition_completion, add_completion, iterate_commands,
41992 iterate_dev, iterate_part and iterate_dir. Moved code to print
41993 partition information from here to kern/disk.c.
41994 (pupa_cmdline_run): Don't check if the function exists anymore.
41995 * normal/main.c: Include <pupa/env.h>.
41996 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
41997 instead of using pupa_dl_get_prefix to get the prefix.
41998 * term/i386/pc/vga.c: Include <pupa/arg.h>.
41999 (check_vga_mem): Cast pointers to `void *' to silence a gcc
42000 warning.
42001 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
42002 (pupa_vga_setcolor): Declare unused variables with `__attribute__
42003 ((unused))' to silence a gcc warning.
42004 (pupa_vga_setcolor): Likewise.
42005 (debug_command): Changed to match argument parsing
42006 interface changes.
42007 * util/pupa-emu.c: Include <pupa/env.h>.
42008 (options): Added 0's for unused fields to silence a gcc warning.
42009 (argp): Likewise.
42010 (main): Use the environment variable `prefix' instead of using
42011 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
42012 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
42013 and terminal.
42014
42015 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
42016 * util/misc.c: Include <malloc.h>.
42017 (pupa_malloc): Rewritten so errors are correctly reported.
42018 (pupa_realloc): Likewise.
42019 (pupa_memalign): Likewise.
42020 (pupa_mm_init_region): Declare unused variables with
42021 `__attribute__ ((unused))' to silence a gcc warning.
42022 * normal/i386/setjmp.S: Remove tab at the end of the file to
42023 silence a gcc warning.
42024 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
42025 variables with `__attribute__ ((unused))' to silence a gcc
42026 warning.
42027 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
42028 local variable i unsigned to silence a gcc warning.
42029
42030 * kern/term.c: Include <pupa/misc.h>.
42031 (pupa_more_lines): New variable.
42032 (pupa_more): Likewise.
42033 (pupa_putcode): When the pager is active pause at the end of every
42034 screen.
42035 (pupa_set_more): New function.
42036 * include/pupa/term.h (pupa_set_more): New prototype.
42037
42038
42039 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
42040
42041 Now this project is GRUB 2 rather than PUPA. The location of
42042 the CVS repository was moved to GRUB's.
42043
42044 * configure.ac: Use bug-grub as the reporting address.
42045 Use GRUB instead of PUPA.
42046 Change the version number to 1.90.
42047
42048 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
42049
42050 * genkernsyms.sh: Updated copyright information.
42051 * genmk.rb: Likewise.
42052 * genmodsrc.sh: Likewise.
42053 * gensymlist.sh: Likewise.
42054 * boot/i386/pc/boot.S: Likewise.
42055 * boot/i386/pc/diskboot.S: Likewise.
42056 * disk/i386/pc/biosdisk.c: Likewise.
42057 * disk/i386/pc/partition.c: Likewise.
42058 * font/manager.c: Likewise.
42059 * fs/ext2.c: Likewise.
42060 * fs/fat.c: Likewise.
42061 * include/pupa/boot.h: Likewise.
42062 * include/pupa/device.h: Likewise.
42063 * include/pupa/disk.h: Likewise.
42064 * include/pupa/dl.h: Likewise.
42065 * include/pupa/elf.h: Likewise.
42066 * include/pupa/err.h: Likewise.
42067 * include/pupa/file.h: Likewise.
42068 * include/pupa/font.h: Likewise.
42069 * include/pupa/fs.h: Likewise.
42070 * include/pupa/kernel.h: Likewise.
42071 * include/pupa/loader.h: Likewise.
42072 * include/pupa/misc.h: Likewise.
42073 * include/pupa/mm.h: Likewise.
42074 * include/pupa/net.h: Likewise.
42075 * include/pupa/normal.h: Likewise.
42076 * include/pupa/rescue.h: Likewise.
42077 * include/pupa/setjmp.h: Likewise.
42078 * include/pupa/symbol.h: Likewise.
42079 * include/pupa/term.h: Likewise.
42080 * include/pupa/types.h: Likewise.
42081 * include/pupa/i386/setjmp.h: Likewise.
42082 * include/pupa/i386/types.h: Likewise.
42083 * include/pupa/i386/pc/biosdisk.h: Likewise.
42084 * include/pupa/i386/pc/boot.h: Likewise.
42085 * include/pupa/i386/pc/console.h: Likewise.
42086 * include/pupa/i386/pc/init.h: Likewise.
42087 * include/pupa/i386/pc/kernel.h: Likewise.
42088 * include/pupa/i386/pc/linux.h: Likewise.
42089 * include/pupa/i386/pc/loader.h: Likewise.
42090 * include/pupa/i386/pc/memory.h: Likewise.
42091 * include/pupa/i386/pc/multiboot.h: Likewise.
42092 * include/pupa/i386/pc/partition.h: Likewise.
42093 * include/pupa/i386/pc/time.h: Likewise.
42094 * include/pupa/i386/pc/vga.h: Likewise.
42095 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
42096 * include/pupa/util/getroot.h: Likewise.
42097 * include/pupa/util/misc.h: Likewise.
42098 * include/pupa/util/resolve.h: Likewise.
42099 * kern/device.c: Likewise.
42100 * kern/disk.c: Likewise.
42101 * kern/dl.c: Likewise.
42102 * kern/err.c: Likewise.
42103 * kern/file.c: Likewise.
42104 * kern/fs.c: Likewise.
42105 * kern/loader.c: Likewise.
42106 * kern/main.c: Likewise.
42107 * kern/misc.c: Likewise.
42108 * kern/mm.c: Likewise.
42109 * kern/rescue.c: Likewise.
42110 * kern/term.c: Likewise.
42111 * kern/i386/dl.c: Likewise.
42112 * kern/i386/pc/init.c: Likewise.
42113 * kern/i386/pc/lzo1x.S: Likewise.
42114 * kern/i386/pc/startup.S: Likewise.
42115 * loader/i386/pc/chainloader.c: Likewise.
42116 * loader/i386/pc/linux.c: Likewise.
42117 * loader/i386/pc/multiboot.c: Likewise.
42118 * normal/cmdline.c: Likewise.
42119 * normal/command.c: Likewise.
42120 * normal/main.c: Likewise.
42121 * normal/menu.c: Likewise.
42122 * normal/i386/setjmp.S: Likewise.
42123 * term/i386/pc/console.c: Likewise.
42124 * term/i386/pc/vga.c: Likewise.
42125 * util/console.c: Likewise.
42126 * util/genmoddep.c: Likewise.
42127 * util/misc.c: Likewise.
42128 * util/pupa-emu.c: Likewise.
42129 * util/resolve.c: Likewise.
42130 * util/unifont2pff.rb: Likewise.
42131 * util/i386/pc/biosdisk.c: Likewise.
42132 * util/i386/pc/getroot.c: Likewise.
42133 * util/i386/pc/pupa-mkimage.c: Likewise.
42134 * util/i386/pc/pupa-setup.c: Likewise.
42135
42136 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
42137
42138 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
42139 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
42140 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
42141 reading and reset it after reading.
42142 (pupa_ext2_close): Return PUPA_ERR_NONE.
42143
42144 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
42145 Correct value.
42146 (struct linux_kernel_header): Add kernel_version and
42147 initrd_addr_max.
42148 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
42149 pupa_file_read succeeds.
42150 (pupa_rescue_cmd_initrd): Implement.
42151
42152 2003-12-03 Marco Gerards <metgerards@student.han.nl>
42153
42154 * fs/ext2.c (pupa_ext2_label): New function.
42155 (pupa_ext2_fs): Added label.
42156 * fs/fat.c (pupa_fat_label): New function.
42157 (pupa_fat_fs): Added label.
42158 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
42159
42160 * kern/misc.c (pupa_strndup): New function.
42161 * include/pupa/misc.h (pupa_strndup): New prototype.
42162
42163 * include/pupa/normal.h: Include <pupa/err.h>.
42164 (pupa_set_history): New prototype.
42165 (pupa_iterate_commands): New prototype.
42166 * normal/cmdline.c: Include <pupa/machine/partition.h>,
42167 <pupa/disk.h>, <pupa/file.h>.
42168 (hist_size): New variable.
42169 (hist_lines): Likewise.
42170 (hist_end): Likewise.
42171 (hist_used): Likewise.
42172 (pupa_set_history): New function.
42173 (pupa_history_get): Likewise.
42174 (pupa_history_add): Likewise.
42175 (pupa_history_replace): Likewise.
42176 (pupa_tab_complete): Likewise.
42177 (pupa_cmdline_run): Added tab completion and history buffer. Tab
42178 completion shows partitionnames while completing partitions, this
42179 feature was suggested by Jeff Bailey.
42180 * normal/command.c (pupa_iterate_commands): New function.
42181 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
42182 (pupa_normal_init): Initialize history buffer.
42183 (PUPA_MOD_INIT): Likewise.
42184 (pupa_normal_fini): Free the history buffer.
42185 (PUPA_MOD_FINI): Likewise.
42186
42187 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
42188 key.
42189
42190 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
42191 * configure.ac [i386]: Check for regparam bug.
42192 (NESTED_FUNC_ATTR) [! i386]: Defined.
42193
42194 2003-11-17 Marco Gerards <metgerards@student.han.nl>
42195
42196 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
42197 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
42198 (pupa_emu_SOURCES): New variable.
42199 (pupa_emu_LDFLAGS): Likewise.
42200 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
42201 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
42202 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
42203 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
42204 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
42205 (pupa_jmp_buf): New typedef.
42206 (pupa_setjmp) [PUPA_UTIL]: New macro.
42207 (pupa_longjmp) [PUPA_UTIL]: Likewise.
42208 * include/pupa/term.h (struct pupa_term): New member `refresh'.
42209 (pupa_refresh): New prototype.
42210 * include/pupa/util/getroot.h: New file.
42211 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
42212 it.
42213 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
42214 (pupa_rescue_cmd_cat): Likewise.
42215 (pupa_rescue_cmd_ls): Likewise.
42216 (pupa_rescue_cmd_testload): Likewise.
42217 (pupa_rescue_cmd_lsmod): Likewise.
42218 * normal/cmdline.c (pupa_cmdline_get): Likewise.
42219 * normal/menu.c (run_menu): Likewise.
42220 * kern/term.c (pupa_cls): Likewise.
42221 (pupa_refresh): New function.
42222 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
42223 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
42224 * util/console.c: New file.
42225
42226 * util/i386/pc/getroot.c: New file.
42227 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
42228 (pupa_putchar): New function.
42229 (pupa_refresh): Likewise.
42230 (xgetcwd): Function moved to ...
42231 (strip_extra_slashes): Likewise.
42232 (get_prefix): Likewise.
42233 * util/i386/pc/getroot.c: ... here.
42234 (find_root_device): Function moved and renamed to...
42235 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
42236 Changed all callers.
42237 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
42238 and renamed to...
42239 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
42240 Changed all callers.
42241 * util/misc.c (pupa_memalign): New function.
42242 (pupa_mm_init_region): Likewise.
42243 (pupa_register_exported_symbols): Likewise.
42244 (pupa_putchar): Function removed.
42245 * util/pupa-emu.c: New file.
42246
42247 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
42248
42249 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
42250 (_multiboot_mod_SOURCES): New variable.
42251 (_multiboot_mod_CFLAGS): Likewise.
42252 * loader/i386/pc/multiboot.c: New file.
42253 * include/pupa/i386/pc/multiboot.h: Likewise.
42254 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
42255 (pupa_multiboot_real_boot): New function.
42256 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
42257 (pupa_multiboot_real_boot): New prototype.
42258 (pupa_rescue_cmd_multiboot): Likewise
42259 (pupa_rescue_cmd_module): Likewise.
42260
42261 * kern/loader.c (pupa_loader_set): Continue when
42262 pupa_loader_unload_func() fails.
42263 (pupa_loader_unset): New function.
42264 * include/pupa/loader.h (pupa_loader_unset): New prototype.
42265
42266 * kern/misc.c (pupa_stpcpy): New function.
42267 * include/pupa/misc.h (pupa_stpcpy): New prototype.
42268
42269 2003-11-12 Marco Gerards <metgerards@student.han.nl>
42270
42271 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
42272 for available extensions.
42273
42274 * include/pupa/i386/pc/time.h: New file.
42275 * kern/disk.c: Include <pupa/machine/time.h>.
42276 (PUPA_CACHE_TIMEOUT): New macro.
42277 (pupa_last_time): New variable.
42278 (pupa_disk_open): Flush the cache when there was a timeout.
42279 (pupa_disk_close): Reset the timer.
42280 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
42281 pupa_currticks.
42282 * util/misc.c: Include <sys/times.h>
42283 (pupa_get_rtc): New function.
42284
42285 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
42286
42287 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
42288 as blocks.
42289 (pupa_ext2_get_file_block): Use blocks member.
42290
42291 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
42292 first block. Return -1 instead of pupa_errno on error.
42293
42294 2003-10-27 Marco Gerards <metgerards@student.han.nl>
42295
42296 * README: In the pupa-mkimage example use _chain instead of chain
42297 and ext2 instead of fat.
42298 * TODO: Replace ext2fs with jfs as an example. Add an item for
42299 adding journal playback for ext2fs.
42300 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
42301 (pkgdata_MODULES): Added ext2.mod.
42302 (ext2_mod_SOURCES): New variable.
42303 (ext2_mod_CFLAGS): Likewise.
42304 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
42305 * include/pupa/misc.h (pupa_strncpy): New prototype.
42306 (pupa_strcat): Likewise.
42307 (pupa_strncmp): Likewise.
42308 * kern/misc.c (pupa_strcat): Enable function.
42309 (pupa_strncpy): New function.
42310 (pupa_strncmp): Likewise.
42311 * fs/ext2.c: New file.
42312
42313 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
42314 when the read failed before retrying.
42315 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
42316 (_FILE_OFFSET_BITS): Likewise.
42317 * configure.ac: Added AC_SYS_LARGEFILE.
42318
42319 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
42320
42321 * genmk.rb (PModule#rule): Make sure to get only symbol names
42322 from the output of nm.
42323 Reported by Robert Millan <rmh.grub@aybabtu.com>.
42324
42325 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
42326
42327 I forgot to check in these changes for a long time. This adds
42328 incomplete support for VGA console, and this is still very
42329 buggy. Also, a lot of consideration is required for I18N,
42330 UNICODE, and VGA font issues. Therefore, assume that this is
42331 such that "better than nothing".
42332
42333 * font/manager.c: New file.
42334 * include/pupa/font.h: Likewise.
42335 * include/pupa/i386/pc/vga.h: Likewise.
42336 * term/i386/pc/vga.c: Likewise.
42337 * util/unifont2pff.rb: Likewise.
42338
42339 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
42340 (pkgdata_MODULES): Added vga.mod and font.mod.
42341 (vga_mod_SOURCES): New variables.
42342 (vga_mod_CFLAGS): Likewise.
42343 (font_mod_SOURCES): Likewise.
42344 (font_mod_CFLAGS): Likewise.
42345
42346 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
42347
42348 * include/pupa/term.h: Include pupa/err.h.
42349 (struct pupa_term): Added init and fini.
42350 Changed the argument of putchar to pupa_uint32_t.
42351
42352 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
42353 (pupa_console_real_putchar): New prototype.
42354 (pupa_console_putchar): Removed.
42355 (pupa_console_checkkey): Exported.
42356 (pupa_console_getkey): Likewise.
42357
42358 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
42359 characters.
42360
42361 * kern/term.c (pupa_term_set_current): Rewritten.
42362 (pupa_putchar): Likewise.
42363 (pupa_putcode): New function.
42364
42365 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
42366 (pupa_console_real_putchar): ... this.
42367 (pupa_vga_set_mode): New function.
42368 (pupa_vga_get_font): Likewise.
42369
42370 * normal/command.c: Include pupa/term.h.
42371 (terminal_command): New function.
42372 (pupa_command_init): Register the command "terminal".
42373
42374 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
42375 (DISP_UP): Likewise.
42376 (DISP_RIGHT): Likewise.
42377 (DISP_DOWN): Likewise.
42378 (DISP_HLINE): Likewise.
42379 (DISP_VLINE): Likewise.
42380 (DISP_UL): Likewise.
42381 (DISP_UR): Likewise.
42382 (DISP_LL): Likewise.
42383 (DISP_LR): Likewise.
42384
42385 * term/i386/pc/console.c (pupa_console_putchar): New function.
42386
42387 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
42388
42389 * util/resolve.c (pupa_util_resolve_dependencies): BUG
42390 FIX. Reverse the path_list.
42391
42392 * include/pupa/normal.h: Export pupa_register_command and
42393 pupa_unregister_command.
42394
42395 * hello/hello.c (pupa_cmd_hello): New module.
42396 * conf/i386-pc.rmk: Added hello.mod.
42397
42398 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
42399
42400 * kern/i386/pc/lzo1x.S: New file.
42401
42402 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
42403 (compress_kernel): New variable.
42404 (generate_image): Heavily modified to support compressing a
42405 large part of the core image.
42406
42407 * util/misc.c (pupa_util_read_image): Fix a file descriptor
42408 leak.
42409 (pupa_util_load_image): New function.
42410
42411 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
42412 (pupa_compressed_size): New variable.
42413 (codestart): Enable Gate A20 here.
42414 Decompress the compressed part of the core image.
42415 Rearrange the code to put functions and variables which are
42416 required for initialization in the non-compressed part.
42417 Include lzo1x.S.
42418
42419 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
42420 here.
42421
42422 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
42423
42424 * include/pupa/i386/pc/kernel.h
42425 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
42426 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
42427 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
42428 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
42429 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
42430
42431 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
42432
42433 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
42434 (Utility#rule): Likewise.
42435
42436 * configure.ac: Check if LZO is available.
42437
42438 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
42439
42440 * include/pupa/normal.h: New file.
42441 * include/pupa/setjmp.h: Likewise.
42442 * include/pupa/i386/setjmp.h: Likewise.
42443 * normal/cmdline.c: Likewise.
42444 * normal/command.c: Likewise.
42445 * normal/main.c: Likewise.
42446 * normal/menu.c: Likewise.
42447 * normal/i386/setjmp.S: Likewise.
42448
42449 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
42450 (pupa_rescue_cmd_initrd): Likewise.
42451
42452 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
42453 Likewise.
42454
42455 * kern/i386/pc/startup.S (translation_table): New variable.
42456 (translate_keycode): New function.
42457 (pupa_console_getkey): Call translate_keycode.
42458
42459 * kern/rescue.c (attempt_normal_mode): New function.
42460 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
42461 it failed, print a message.
42462
42463 * kern/mm.c (pupa_real_malloc): Print more information when a
42464 free magic is broken.
42465 (pupa_free): If the first free header is not free actually, set
42466 it to P.
42467
42468 * kern/main.c (pupa_load_normal_mode): Just load the module
42469 "normal".
42470 (pupa_main): Don't print the message
42471 "Entering into rescue mode..." here.
42472
42473 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
42474 Declared.
42475 (pupa_rescue_cmd_initrd): Likewise.
42476 (pupa_rescue_cmd_initrd): Likewise.
42477
42478 * include/pupa/symbol.h (FUNCTION): Specify the type.
42479 (VARIABLE): Likewise.
42480
42481 * include/pupa/err.h (pupa_err_t): Added
42482 PUPA_ERR_UNKNOWN_COMMAND.
42483
42484 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
42485 (pupa_dl_get_prefix): Likewise.
42486
42487 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
42488 Added _chain.mod and _linux.mod instead of chain.mod and
42489 linux.mod.
42490 (chain_mod_SOURCES): Renamed to ...
42491 (_chain_mod_SOURCES): ... this.
42492 (chain_mod_CFLAGS): Renamed to ...
42493 (_chain_mod_CFLAGS): ... this.
42494 (linux_mod_SOURCES): Renamed to ...
42495 (_linux_mod_SOURCES): ... this.
42496 (linux_mod_CFLAGS): Renamed to ...
42497 (_linux_mod_CFLAGS): ... this.
42498 (normal_mod_SOURCES): New variable.
42499 (normal_mod_CFLAGS): Likewise.
42500 (normal_mod_ASFLAGS): Likewise.
42501
42502 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
42503
42504 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
42505 possible.
42506
42507 * kern/dl.c (pupa_dl_ref): Refer depending modules
42508 recursively.
42509 (pupa_dl_unref): Unrefer depending modules recursively.
42510 Don't call pupa_dl_unload implicitly, because PUPA can crash if
42511 a module is unloaded before one depending on that module is
42512 unloaded.
42513 (pupa_dl_unload): Unload depending modules explicitly,
42514 if possible.
42515
42516 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
42517
42518 * include/pupa/i386/pc/linux.h: New file.
42519 * loader/i386/pc/linux.c: Likewise.
42520
42521 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
42522 Removed.
42523 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
42524 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
42525 of PUPA_CHAINLOADER_BOOT_SECTOR.
42526
42527 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
42528 (pupa_linux_prot_size): New variable.
42529 (pupa_linux_tmp_addr): Likewise.
42530 (pupa_linux_real_addr): Likewise.
42531 (pupa_linux_boot_zimage): New function.
42532 (pupa_linux_boot_bzimage): Likewise.
42533
42534 * kern/i386/pc/init.c (struct mem_region): New structure.
42535 (MAX_REGIONS): New macro.
42536 (mem_regions): New variable.
42537 (num_regions): Likewise.
42538 (pupa_os_area_addr): Likewise.
42539 (pupa_os_area_size): Likewise.
42540 (pupa_lower_mem): Likewise.
42541 (pupa_upper_mem): Likewise.
42542 (add_mem_region): New function.
42543 (compact_mem_regions): Likewise.
42544 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
42545 the size of the conventional memory and that of so-called upper
42546 memory (before the first memory hole).
42547 Instead of adding each found region to free memory, use
42548 add_mem_region and add them after removing overlaps.
42549 Also, add only 1/4 of the upper memory to free memory. The rest
42550 is used for loading OS images. Maybe this is ad hoc, but this
42551 makes it much easier to relocate OS images when booting.
42552
42553 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
42554 (pupa_enter_rescue_mode): Don't register initrd and module.
42555
42556 * kern/mm.c: Include pupa/dl.h.
42557
42558 * kern/main.c: Include pupa/file.h and pupa/device.h.
42559
42560 * kern/loader.c (pupa_loader_load_module_func): Removed.
42561 (pupa_loader_load_module): Likewise.
42562
42563 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
42564 ``.o''.
42565
42566 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
42567 (pupa_linux_tmp_addr): Likewise.
42568 (pupa_linux_real_addr): Likewise.
42569 (pupa_linux_boot_zimage): Likewise.
42570 (pupa_linux_boot_bzimage): Likewise.
42571
42572 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
42573 (pupa_upper_mem): Likewise.
42574 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
42575 module is too dangerous.
42576
42577 * include/pupa/loader.h (pupa_os_area_addr): Declared.
42578 (pupa_os_area_size): Likewise.
42579 (pupa_loader_set): Remove the first argument. Loader doesn't
42580 manage modules or initrd any longer.
42581 (pupa_loader_load_module): Removed.
42582
42583 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
42584 (linux_mod_SOURCES): New variable.
42585 (linux_mod_CFLAGS): Likewise.
42586
42587 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
42588
42589 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
42590 the length of a blocklist correctly.
42591
42592 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
42593 Use ioctl only if the OS file is a block device.
42594 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
42595 not very useful for normal files.
42596
42597 * kern/main.c (pupa_set_root_dev): New function.
42598 (pupa_load_normal_mode): Likewise.
42599 (pupa_main): Call those above.
42600
42601 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
42602 pupa_uint16_t.
42603
42604 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
42605
42606 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42607
42608 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
42609 (setup): Configure the installed partition information and the
42610 dl prefix.
42611
42612 * loader/i386/pc/chainloader.c (my_mod): New variable.
42613 (pupa_chainloader_unload): New function.
42614 (pupa_rescue_cmd_chainloader): Refer itself.
42615 (PUPA_MOD_INIT): Save its own module in MY_MOD.
42616
42617 * kern/i386/pc/startup.S (install_partition): Removed.
42618 (version_string): Likewise.
42619 (config_file): Likewise.
42620 (pupa_install_dos_part): New variable.
42621 (pupa_install_bsd_part): Likewise.
42622 (pupa_prefix): Likewise.
42623 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
42624
42625 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
42626 and pupa/misc.h.
42627 (make_install_device): New function.
42628 (pupa_machine_init): Set the dl prefix.
42629
42630 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
42631 (buf): Renamed to ...
42632 (linebuf): ... this.
42633 (pupa_rescue_cmd_prefix): New function.
42634 (pupa_rescue_cmd_insmod): Likewise.
42635 (pupa_rescue_cmd_rmmod): Likewise.
42636 (pupa_rescue_cmd_lsmod): Likewise.
42637 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
42638 rmmod and lsmod.
42639
42640 * kern/mm.c (pupa_memalign): If failed even after invalidating
42641 disk caches, unload unneeded modules and retry.
42642
42643 * kern/misc.c (pupa_memmove): New function.
42644 (pupa_memcpy): Removed.
42645 (pupa_strcpy): New function.
42646 (pupa_itoa): Made static.
42647
42648 * kern/dl.c (pupa_dl_iterate): New function.
42649 (pupa_dl_ref): Likewise.
42650 (pupa_dl_unref): Likewise.
42651 (pupa_dl_unload): Return if succeeded or not.
42652 (pupa_dl_unload_unneeded): New function.
42653 (pupa_dl_unload_all): Likewise.
42654 (pupa_dl_init): Renamed to ...
42655 (pupa_dl_set_prefix): ... this.
42656 (pupa_dl_get_prefix): New function.
42657
42658 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
42659 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
42660 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
42661 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
42662 (pupa_install_dos_part): Declared.
42663 (pupa_install_bsd_part): Likewise.
42664 (pupa_prefix): Likewise.
42665 (pupa_boot_drive): Likewise.
42666
42667 * include/pupa/types.h: Fix a typo.
42668
42669 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
42670 pupa_memmove.
42671 (pupa_memmove): Declared.
42672 (pupa_strcpy): Likewise.
42673
42674 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
42675 pupa_mod_init takes one argument, its own module.
42676 (pupa_dl_unload_unneeded): Declared.
42677 (pupa_dl_unload_all): Likewise.
42678 (pupa_dl_ref): Likewise.
42679 (pupa_dl_unref): Likewise.
42680 (pupa_dl_iterate): Likewise.
42681 (pupa_dl_init): Renamed to ...
42682 (pupa_dl_set_prefix): ... this.
42683 (pupa_dl_get_prefix): Declared.
42684
42685 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
42686 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
42687 unloaded.
42688 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
42689 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
42690
42691 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
42692 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
42693
42694 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
42695
42696 * util/i386/pc/pupa-setup.c (setup): Define the internal
42697 function find_first_partition_start at the top level, because GCC
42698 3.0.x cannot compile internal functions in deeper scopes
42699 correctly.
42700 (find_root_device): Use lstat instead of stat.
42701 Don't follow symbolic links.
42702 Fix the path-constructing code.
42703
42704 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
42705 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
42706 by a BLKGETSIZE ioctl first, because block devices don't fill
42707 the member st_mode of the structure stat on Linux.
42708 [__linux__] (linux_find_partition): Use a temporary buffer
42709 REAL_DEV for the working space. Copy it to DEV before returning.
42710 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
42711 buffer cache consistent.
42712 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
42713 strncmp. The previous value was merely wrong.
42714 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
42715
42716 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
42717 FAT size is 12. The previous value was merely wrong.
42718
42719 * kern/main.c (pupa_main): Don't split the starting message from
42720 newlines.
42721
42722 * kern/term.c (pupa_putchar): Put CR after LF instead of before
42723 LF, because BIOS goes crazy about character attributes in this
42724 case.
42725
42726 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
42727
42728 * include/i386/pc/util/biosdisk.h: New file.
42729 * util/i386/pc/biosdisk.c: Likewise.
42730 * util/i386/pc/pupa-setup.c: Likewise.
42731
42732 * Makefile.in (INCLUDE_DISTFILES): Added
42733 include/pupa/i386/pc/util/biosdisk.h.
42734 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
42735 directory util/i386/pc.
42736 (install-local): Added a rule for sbin_UTILITIES.
42737 (uninstall): Likewise.
42738
42739 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
42740
42741 * util/misc.c (xrealloc): New function.
42742 (pupa_malloc): Likewise.
42743 (pupa_free): Likewise.
42744 (pupa_realloc): Likewise.
42745 (pupa_stop): Likewise.
42746 (pupa_putchar): Likewise.
42747
42748 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
42749
42750 * include/pupa/util/misc.h (xrealloc): Declared.
42751
42752 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
42753 macro.
42754 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
42755 (PUPA_BOOT_MACHINE_BPB_END): ... this.
42756
42757 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
42758 [PUPA_UTIL] (pupa_fat_fini): Likewise.
42759
42760 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
42761 way should be implemented.
42762 [PUPA_UTIL] (pupa_fat_fini): Likewise.
42763
42764 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
42765 the size of NAME for safety.
42766 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
42767 0x88.
42768
42769 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
42770 (pupa_setup_SOURCES): Likewise.
42771
42772 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
42773
42774 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
42775
42776 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
42777 bunch of pushl's from pusha, because this destroys the return
42778 value.
42779
42780 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
42781
42782 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
42783 This means that any missing prototypes could be fatal. Also, you
42784 must take care when writing assembly code. See the comments at
42785 the beginning of startup.S, for more details.
42786
42787 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
42788 compilation mechanism.
42789 (pupa_chainloader_real_boot): Likewise.
42790 (pupa_biosdisk_rw_int13_extensions): Likewise.
42791 (pupa_biosdisk_rw_standard): Likewise.
42792 (pupa_biosdisk_check_int13_extensions): Likewise.
42793 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
42794 (pupa_biosdisk_get_diskinfo_standard): Likewise.
42795 (pupa_get_memsize): Likewise.
42796 (pupa_get_mmap_entry): Likewise.
42797 (pupa_console_putchar): Likewise.
42798 (pupa_console_setcursor): Likewise.
42799 (pupa_getrtsecs): Use pushl instead of push.
42800
42801 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
42802 memory instead of the stack for a mmap entry, because some
42803 BIOSes may ignore the maximum size and overflow.
42804
42805 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
42806
42807 * genmk.rb (PModule#rule): Compile automatically generated
42808 sources with module-specific CFLAGS as well as other sources.
42809
42810 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42811
42812 * configure.ac: Check ld.
42813 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
42814 respectively, before checking endianness and sizes.
42815
42816 * Makefile.in (LD): New variable.
42817
42818 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42819
42820 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
42821
42822 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42823
42824 * Changelog: New file.
42825