]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* util/grub-install.in: Use file identifier if no UUID is available
[grub2.git] / ChangeLog
CommitLineData
668f304f
VS
12012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * util/grub-install.in: Use file identifier if no UUID is available
4 or user explicitly prompted for it.
5
665f2341
NP
62012-02-27 Navdeep Parhar <nparhar@gmail.com>
7
8 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
9 (freebsd_get_zfs): New function.
10 (grub_freebsd_boot): Pass zfs UUID.
11 (grub_cmd_freebsd): Set zfs UUID.
12
1240a58a
VS
132012-02-27 Mike Gilbert <floppym@gentoo.org>
14
15 * conf/Makefile.common (platformdir): Base on pkglibdir and not
16 pkglibrootdir.
17
e4c498a1
MG
182012-02-27 Mike Gilbert <floppym@gentoo.org>
19
20 Add configure flag to control libzfs integration.
21
22 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
23
1e9a9a3f
VS
242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
25
26 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
27 device.
28 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
29 small devices.
30
036985b8
VS
312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
32
33 Remove grub_{modname}_init and grub_{modname}_fini. They should never
34 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
35 be used on non-modules.
36
37 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
38 Rename to grub_boot_init.
39 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
40 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
41 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
42 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
43 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
44 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
45 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
46 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
47 includes.
48 (grub_machine_init): Remove empty inits.
49 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
50 includes.
51 (grub_machine_init): Remove empty inits.
52 * grub-core/term/arc/console.c: Remove explicit proto.
53 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
54 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
55 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
56 grub_at_keyboard_fini.
57 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
58 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
59 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
60 grub_gfxterm_fini.
61 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
62 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
63 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
64 grub_vgatext_fini.
65 * grub-core/term/ieee1275/console.c: Remove explicit proto.
66 * grub-core/term/serial.c (GRUB_MOD_INIT)
67 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
68 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
69 grub_serial_fini.
70 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
71 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
72 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
73 grub_terminfo_fini.
74 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
75 (GRUB_MOD_FINI): Likewise.
76 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
77 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
78 (GRUB_MOD_FINI) [LOONGSON]: Rename to
79 grub_video_radeon_fuloong2e_fini.
80 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
81 [LOONGSON]: Rename to grub_video_sis315pro_init.
82 (GRUB_MOD_FINI) [LOONGSON]: Rename to
83 grub_video_sis315pro_fini.
84 * grub-core/video/sm712.c (GRUB_MOD_INIT)
85 [LOONGSON]: Rename to grub_video_sm712_init.
86 (GRUB_MOD_FINI) [LOONGSON]: Rename to
87 grub_video_sm712_fini.
88 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
89 (grub_at_keyboard_fini): Likewise.
90 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
91 Don't declare grub_{modname}_init.
92 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
93 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
94 New proto.
95 (grub_keylayouts_fini) [!EMU]: Likewise.
96 * include/grub/serial.h (grub_serial_init) [!EMU]:
97 New proto.
98 (grub_serial_fini) [!EMU]: Likewise.
99 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
100 New proto.
101 (grub_terminfo_fini) [!EMU]: Likewise.
102 * include/grub/video.h (grub_font_init) [!EMU]:
103 New proto.
104 (grub_font_fini) [!EMU]: Likewise.
105 (grub_gfxterm_init) [!EMU]: Likewise.
106 (grub_gfxterm_fini) [!EMU]: Likewise.
107 (grub_video_sm712_init) [!EMU]: Likewise.
108 (grub_video_sm712_fini) [!EMU]: Likewise.
109 (grub_video_sis315pro_init) [!EMU]: Likewise.
110 (grub_video_sis315pro_fini) [!EMU]: Likewise.
111 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
112 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
113
d5534665
VS
1142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
115
116 Make nand a prefix for nand devices.
117
118 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
119
10133b5f
VS
1202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
121
122 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
123 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
124
8e307a62
VS
1252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
126
127 * include/grub/env.h (grub_env_find): Remove prototype.
128 * grub-core/kern/env.c (grub_env_find): Make static.
129 (grub_env_set): Remove useless set.
130
a4c65f34
VS
1312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * grub-core/kern/i386/realmode.S: Remove useless align.
134
d87893d5
VS
1352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
136
137 * include/grub/dl.h (grub_dl_load_file): Don't export.
138
50159add
VS
1392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
140
141 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
142 grub_dprintf.
143
b2582b84
VS
1442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
145
146 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
147 grub_errors.
148 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
149 not reloading whole superblock but only the part which is really needed.
150 Remove useless grub_errors.
151 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
152 grub_errors.
153
e2a83395
VS
1542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
155
156 Don't export grub_get_rtc.
157
158 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
159 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
160
e7d2a906
VS
1612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
164
6cf1363b
VS
1652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
166
167 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 168 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 169
eece3349
VS
1702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
171
172 Remove prio_list.
173
174 * include/grub/list.h (grub_prio_list): Removed.
175 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
176 GRUB_COMMAND_PRIO_MASK.
177 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
178 GRUB_COMMAND_FLAG_ACTIVE.
179 (grub_prio_list_insert): Removed.
180 (grub_prio_list_remove): Likewise.
181 (GRUB_AS_PRIO_LIST): Likewise.
182 (GRUB_AS_PRIO_LIST_P): Likewise.
183 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
184 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
185 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
186 * grub-core/kern/command.c (grub_register_command_prio): Inline
187 the prio_list code.
188 (grub_unregister_command): Likewise.
189
94f064b4
VS
1902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
191
192 Fix interrupt mixup from previous commit.
193
194 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
195 (grub_realidt): New var.
196 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
197 Load idt.
198 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
199 New declaration.
200 (grub_relocator16_boot): Set grub_relocator16_idt.
201 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
202 (LOCAL(realidt)): ... this.
203 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
204 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
205 (grub_realidt): New variable.
206
27317084
VS
2072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
208
209 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
210 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
211 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
212 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
213 Gettextize.
214 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
215 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
216 * po/POTFILES.in: Regenerate.
217
47b40053
VS
2182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
219
220 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
221 errors.
222
2b343101
VS
2232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
224
225 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
226 \0.
227 (add_length): Likewise.
228
ff27c3dd
LK
2292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2302012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
231
232 GDB serial and backtrace support.
233
234 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
235 (prot_to_real): Likewise.
236 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
237 * grub-core/Makefile.core.def (backtrace): New module.
238 (gdb): Likewise.
239 * grub-core/gdb/cstub.c: New file.
240 * grub-core/gdb/gdb.c: Likewise.
241 * grub-core/gdb/i386/idt.c: Likewise.
242 * grub-core/gdb/i386/machdep.S: Likewise.
243 * grub-core/gdb/i386/signal.c: Likewise.
244 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 245 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
246 * include/grub/backtrace.h: Likewise.
247 * include/grub/gdb.h: Likewise.
248 * include/grub/i386/gdb.h: Likewise.
249
2502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
251
252 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
253 New function.
254 (add_length): Likewise.
255 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
256 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
257 proto.
258 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
259 __argp_get_display_len.
260
ff27c3dd 2612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
262
263 $"..." support in scripts.
264
265 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
266 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
267 * grub-core/script/yylex.l: Likewise.
268 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
269 value.
270
ff27c3dd 2712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
272
273 * gentpl.py: Remove obsolete pkglib_DATA handling.
274
ff27c3dd 2752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
276
277 Don't transform PACKAGE_TARNAME following a discussion on autoconf
278 mailing list.
279
280 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
281 * util/grub-kbdcomp.in: Likewise.
282 * util/grub-mkconfig.in: Likewise.
283 * util/grub-mkconfig_lib.in: Likewise.
284 * util/grub-mknetdir.in: Likewise.
285 * util/grub-mkrescue.in: Likewise.
286 * util/grub-mkstandalone.in: Likewise.
287 * util/grub-reboot.in: Likewise.
288 * util/grub-set-default.in: Likewise.
289 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
290
ff27c3dd 2912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
292
293 Remove GRUB_PREFIX.
294
295 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
296 * util/grub.d/00_header.in: Compute prefix in the only place it's still
297 used for backward compatibility.
298
ff27c3dd 2992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
300
301 Add new all_video module.
302
303 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
304 * grub-core/Makefile.core.def (all_video): New module.
305 * grub-core/genmoddep.awk: Generate dependency of all_video from
306 video.lst.
307 * grub-core/lib/fake_module.c: New file.
308 * grub-core/normal/main.c (features): Add feature_all_video_module.
309 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
310 don't do explicit search again.
47454da5 311 insmod all_video in load_video if available.
22c7ce85 312
ff27c3dd 3132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
314
315 Another round of string clarification and adding TRANSLATORS comments.
316
ff27c3dd 3172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
318
319 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
320
ff27c3dd 3212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
322
323 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
324 to grub_ssize_t.
325 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
326 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
327
ff27c3dd 3282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
329
330 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
331 trailing newline implicitly. All users updated.
332
ff27c3dd 3332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
334
335 Implement serial on IEEE1275 and EFI.
336
337 * docs/grub.texi (Platform-specific limitations): Fix the columen video
338 on emu. Mention arc and emu as the only platforms without serial
339 support.
340 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
341 ieee1275 platforms.
342 * grub-core/term/efi/serial.c: New file.
343 * grub-core/term/ieee1275/serial.c: Likewise.
344 * grub-core/term/serial.c (grub_serial_find): Disable direct port
345 specification if no ns8250 driver is available.
346 (grub_cmd_serial): Likewise.
347 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
348 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
349 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
350 (grub_efi_parity_type_t): New type.
351 (grub_efi_stop_bits_t): Likewise.
352 (grub_efi_serial_io_interface): New struct.
353 * include/grub/serial.h (grub_serial_port): Make 'broken' field
354 available for all interfaces.
355 Add EFI and IEEE1275 fields.
356 (grub_ofserial_init): New proto.
357 (grub_efiserial_init): Likeiwse.
358 * util/grub.d/00_header.in: Don't check for the presence of serial
359 module.
360
ff27c3dd 3612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
362
363 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
364 name as if it was an alias.
365
114076ef
VS
3662012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
367
368 * grub-core/commands/lsacpi.c (options): Fix typo.
369
6a656b0e
VS
3702012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
371
372 Convert grub-emu to argp.
373
374 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
375 emu.
376 * util/argp_common.c: Rename to ...
377 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
378 Add missing includes.
379 * grub-core/kern/emu/main.c: Convert to argp.
380 * po/POTFILES.in: Regenerate.
381 * util/grub-install.in (usage): Make first letter lowcase in messages
382 for uniformity.
383 * util/grub-setup.c (options): Likewise.
384
1e3f8ae8
VS
3852012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
386
387 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
388 Put back accidently commented-out code.
389
ed167a80
VS
3902012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
391
392 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
393 loop check using Brent algorithm.
394 (grub_hfsplus_btree_search): Likewise.
395
6753c0ec
VS
3962012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
397
398 * util/grub-install.in: Fix usage of wrong device for PreP install.
399
4e27343f
VS
4002012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
401
402 * conf/Makefile.common (CFLAGS_GNULIB): Add
403 -Wno-unsafe-loop-optimizations.
404 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
405 on tools.
406 * grub-core/commands/legacycfg.c: Add pragma to skip
407 -Wunsafe-loop-optimizations.
408 (check_password_md5_real): Fix loop counter type.
409 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
410 reading.
411 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
412 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
413 loop condition.
414 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
415 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
416 * grub-core/net/net.c (grub_net_route_address): Add safety loop
417 condition.
418 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
419 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
420 avoid possible infinite loops.
421 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
422 and -Wunsafe-loop-optimizations.
423 * grub-core/script/yylex.l: Likewise.
424 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
425 (print_glyphs): Avoid infinite loops.
426 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
427
697f18b0
GS
4282012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
429
430 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
431 to avoid infinite loop.
432 (disp_acpi_rsdt_table): Likewise.
433
274416e8
VS
4342012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * grub-core/font/font.c (grub_font_load): Add support for default
437 path for fonts ($prefix/fonts).
438 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
439 for checking if string is a path.
440 * grub-core/normal/main.c (features): Add feature_default_font_path.
441 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
442 * util/grub.d/00_header.in: Use default directory if possible.
443 * util/grub-install.in: Install unicode.pf2.
444
b3e08622
VS
4452012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
446
447 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
448 * po/Rules-swiss: New file.
449 * po/swiss.sed: Likewise.
450
fe42ce09
VS
4512012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
452
453 * grub-core/fs/btrfs.c (find_device): Fix typos.
454 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
455 * util/grub-mkrelpath.c (argp_parser): Likewise.
456 Reported by: Yuri Chornoivan.
457
72f1d065
DO
4582012-02-23 Dalet Omega <daletomega@gmail.com>
459
460 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
461 for usual informative messages.
462
c5884973
DO
4632012-02-23 Dalet Omega <daletomega@gmail.com>
464
465 Starfield theme.
466
467 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
468 * conf/Makefile.common: Define starfielddir.
469 * configure.ac: Configure starfield.
470 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
471 * themes/starfield/README: Likewise.
472 * themes/starfield/blob_w.png: Likewise.
473 * themes/starfield/boot_menu_c.png: Likewise.
474 * themes/starfield/boot_menu_e.png: Likewise.
475 * themes/starfield/boot_menu_n.png: Likewise.
476 * themes/starfield/boot_menu_ne.png: Likewise.
477 * themes/starfield/boot_menu_nw.png: Likewise.
478 * themes/starfield/boot_menu_s.png: Likewise.
479 * themes/starfield/boot_menu_se.png: Likewise.
480 * themes/starfield/boot_menu_sw.png: Likewise.
481 * themes/starfield/boot_menu_w.png: Likewise.
482 * themes/starfield/slider_c.png: Likewise.
483 * themes/starfield/slider_n.png: Likewise.
484 * themes/starfield/slider_s.png: Likewise.
485 * themes/starfield/src/blob_nw.xcf: Likewise.
486 * themes/starfield/src/bootmenu/: Likewise.
487 * themes/starfield/src/bootmenu/center.xcf: Likewise.
488 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
489 * themes/starfield/src/bootmenu/side.xcf: Likewise.
490 * themes/starfield/src/slider_c.xcf: Likewise.
491 * themes/starfield/src/slider_n.xcf: Likewise.
492 * themes/starfield/src/slider_s.xcf: Likewise.
493 * themes/starfield/src/terminalbox/: Likewise.
494 * themes/starfield/src/terminalbox/center.xcf: Likewise.
495 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
496 * themes/starfield/src/terminalbox/side.xcf: Likewise.
497 * themes/starfield/starfield.png: Likewise.
498 * themes/starfield/terminal_box_c.png: Likewise.
499 * themes/starfield/terminal_box_e.png: Likewise.
500 * themes/starfield/terminal_box_n.png: Likewise.
501 * themes/starfield/terminal_box_ne.png: Likewise.
502 * themes/starfield/terminal_box_nw.png: Likewise.
503 * themes/starfield/terminal_box_s.png: Likewise.
504 * themes/starfield/terminal_box_se.png: Likewise.
505 * themes/starfield/terminal_box_sw.png: Likewise.
506 * themes/starfield/terminal_box_w.png: Likewise.
507 * themes/starfield/theme.txt: Likewise.
508
17d73325
VS
5092012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
510
511 * util/grub.d/00_header.in: Add missing export theme.
512
dbebaf92
VS
5132012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
516 already included.
517 Reported by: Eren D.
518
3d68bffb
VS
5192012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
520
521 * conf/Makefile.common (grubdatadir): Removed.
522 (Makefile.am): Move eveything grubdata to pkgdata.
523
4b59234d
VS
5242012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
525
526 * grub-core/commands/acpihalt.c (get_sleep_type):
527 Remove unused variable.
528
463dcadc
VS
5292012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
530
531 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
532 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
533 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
534 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
535 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
536 i18n with gettext no-op.
537 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
538 GRUB_ACPI_OPCODE_STRING_CONST.
539 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
540 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
541
e5b90c82
VS
5422012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
543
544 * po/POTFILES.in: Regenerate.
545
2a704ca9
VS
5462012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
547
548 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
549 -Wno-error=missing-noreturn.
550
84f9d341
VS
5512012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
552
553 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
554 condition to avoid possibly infinite loops.
555 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
556 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
557
d46683f9
VS
5582012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
559
560 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
561 condition to avoid possibly infinite loops.
562
c44866b2
VS
5632012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
566 on show_error.
567
96790539
VS
5682012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
569
570 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
571
1ba7e295
VS
5722012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
573
574 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
575
21ffe8f1
VS
5762012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
577
578 * util/bin2h.c (usage): Add missing attribute noreturn.
579
0ccb6b3c
VS
5802012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
583 if the size isn't divisible by 512.
584
b00d7fb6
VS
5852012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
586
587 Make list_push and list_remove functions rather than inline functions
588 to decrease size and avoid aliasing violations.
589
590 * include/grub/list.h (grub_list_push): Move to ...
591 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
592 * include/grub/list.h (grub_list_remove): Move to ...
593 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
594
9d369087
VS
5952012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
596
597 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
598 and -Wunused-result.
599
af0250d9
VS
6002012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
601
602 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
603 Reported by: Seth Goldberg
604
aad32b14
VS
6052012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
606
607 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
608
ac96441c
ST
6092012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
610
611 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
612 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
613 command line.
614 * docs/grub.texi (Simple configuration): Document
615 GRUB_CMDLINE_GNUMACH.
616
6172012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
618
619 * conf/Makefile.common (platform_SCRIPTS): New variable.
620 (platform_PROGRAMS): Likewise.
621 * gentpl.py: Mark *,module and *.image for install.
622 * grub-core/gdb_grub.in: Add a notice of expected environment.
623 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
624 (gmodule.pl): Likewise.
625
ac96441c 6262012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
627
628 Replace grub_checkkey with grub_getkey_noblock.
629
630 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
631 (grub_getkey_noblock): ... this. All users updated.
632
ac96441c 6332012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
634
635 * grub-core/kern/emu/console.c: Move to ...
636 * grub-core/term/emu/console.c: ...here.
637 (grub_ncurses_getkey): Fix return value if no key is detected.
638
e51b5666
VS
6392012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
642 (grub_unit_test_fini): Likewise.
643 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
644
6452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
646
647 * include/grub/test.h (GRUB_UNIT_TEST)
648
d9a62292
VS
6492012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
650
651 * grub-core/script/execute.c (grub_script_break): Clarify logic.
652 Better error handling.
653 (grub_script_return): Likewise.
654 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
655
77c9182f
VS
6562012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
659 rimplicit redifinition.
660
edb13cf9
VS
6612012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
662
663 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
664 GRUB.
665
a9e9dc7c
VS
6662012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
667
668 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
669 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
670 prompt here.
671
b4ba8e02
VS
6722012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
673
674 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
675 as GRUB_ERR_BUG. Don't malloc if no device is available.
676
dded5540
VS
6772012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
680 Mark calling with invalid term as GRUB_ERR_BUG.
681
0cf69874
VS
6822012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
685 packets rather than raising an error.
686
59bfe502
VS
6872012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
688
689 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
690 in if.
691
db5fc596
VS
6922012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
693
694 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
695 diagnostic to dprintf.
696 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
697
e4b7f404
VS
6982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
699
700 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
701 device name.
702
e7b02f9e
VS
7032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
704
705 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
706 (grub_ntfs_iterate_dir): Likewise.
707
0331e102
VS
7082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
709
710 Efiemu stylistic fixes and gettext.
711
712 * grub-core/efiemu/i386/loadcore32.c
713 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
714 * grub-core/efiemu/i386/loadcore64.c
715 (grub_arch_efiemu_relocate_symbols64): Likewise.
716 * grub-core/efiemu/i386/pc/cfgtables.c
717 (grub_machine_efiemu_init_tables): Likewise.
718 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
719 (grub_efiemu_loadcore_initXX): Add a filename argument.
720 All users updated.
721 Improved error message.
722 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
723 Add a filename argument.
724 All users updated.
725 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
726 Reclassify double relocation as GRUB_ERR_BUG.
727
306fc074
VS
7282012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
729
730 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
731 handling.
732
794d8ef2
VS
7332012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
734
735 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
736 on partition.
737
7382012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
739
740 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
741
794d8ef2 7422012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
743
744 Improve string. Gettextize.
745
78dde88e
VS
7462012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
747
748 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
749 utils.
750 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
751
4786a90f
VS
7522012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
753
754 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
755 [GRUB_UTIL]: New function.
756 (insert_array) [GRUB_UTIL]: Store partmaps.
757 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
758 partmaps.
759 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
760 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
761 (probe_abstraction): Print diskfilter and not raid.
762 Reported by: Lennart Sorensen
763
0b6225bd
VS
7642012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
765
766 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
767 * util/grub-mkimagexx.c (MASK3): New define.
768 (add_value_to_slot_20b): Use MASK3.
769 (add_value_to_slot_21): Likewise.
770 (relocate_addresses): Fix format specification.
771 (load_image): Explicitly init symtab_section.
772
b055f8f6
VS
7732012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
774
775 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
776 (grub_util_biosdisk_get_grub_dev): Fix format specification.
777
b77c2fb7
VS
7782012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
779
780 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
781 on powerpc.
782 Reported by: Lennart Sorensen
783
e3ec28ab
VS
7842012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
785
786 * gentpl.py: Add missing license header.
787 * docs/grub.texi: Update copyright year.
788
c8d9ead6
GS
7892012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
790
791 Source grub-mkconfig_lib from the build directory at build time.
792 Suggested by: Vladimir Serbinenko.
793
794 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
795 * util/grub-install.in: Define pkgdatadir if not already set, and source
796 grub-mkconfig_lib from there.
797 * util/grub-kbdcomp.in: Likewise.
798 * util/grub-mkconfig.in: Likewise.
799 * util/grub-mknetdir.in: Likewise.
800 * util/grub-mkrescue.in: Likewise.
801 * util/grub-mkstandalone.in: Likewise.
802 * util/grub-reboot.in: Likewise.
803 * util/grub-set-default.in: Likewise.
804 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
805
ebcecdf1
VS
8062012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
807
808 Increase warning level.
809
810 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
811 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
812 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
813 (TARGET_CFLAGS): Likewise.
814 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
815 * grub-core/Makefile.core.def (decompressor_xz): Add
816 -Wno-unreachable-code.
817 (normal): Add -Wno-redundant-decls.
818 (xzio): Add -Wno-unreachable-code.
819 (lzopio): Add -Wno-redundant-decls -Wno-error.
820 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
821 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
822 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
823 * grub-core/kern/dl.c: Add exception to -Wcast-align.
824 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
825 * grub-core/kern/i386/coreboot/init.c: Add exception to
826 -Wsuggest-attribute=noreturn.
827 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
828 * grub-core/kern/ia64/dl_helper.c: Likewise.
829 * grub-core/kern/mips/dl.c: Likewise.
830 * grub-core/kern/sparc64/dl.c: Likewise.
831 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
832 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
833 (memcmp): Likewise.
834 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
835 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
836 * grub-core/loader/mips/linux.c: Likewise.
837 * grub-core/loader/multiboot_elfxx.c: Likewise.
838 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
839 * grub-core/video/sm712.c: Add exception to -Wcast-align.
840 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
841 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
842 fixme.
843 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
844 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
845 Fix prototype.
846
37bb97fe
VS
8472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
848
849 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
850 address.
851
29a3550b
VS
8522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
853
854 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
855 Avoid improper use of strings.
856 (grub_cmd_legacy_initrdnounzip): Likewise.
857
dfdffd0d
VS
8582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
859
860 * include/grub/emu/misc.h (grub_util_warn): Add missing format
861 attribute.
862 (grub_util_info): Likewise.
863 (grub_util_error): Likewise.
864
102fae4a
VS
8652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
868 * util/grub-fstest.c (fstest): Likewise.
869
7e94d044
VS
8702012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
871
872 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
873 (grub_md_sha512_real): Likewise.
874 (grub_util_get_geli_uuid): Likewise.
875 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
876 (grub_util_biosdisk_open): Fix format specification.
877 Respect format security.
878 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
879 (xrealloc): Likewise.
880 (xasprintf): Likewise.
881
5ebd9769
VS
8822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * util/import_gcry.py: Include grub/crypto.h in init.c.
885
495fc8c1
VS
8862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
887
888 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
889 (generate_image): Make prefix a const char *.
890 Fix format specifications. Respect format security.
891 Avoid void * arithmetics.
892 Avoid shadowing.
893 (argp_parser): Remove unused variable. Respect format security.
894 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
895 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
896 (count_funcs): Remove unused variable.
897 (relocate_addresses): Fix format specification.
898 Disable x86-64 with elf32. Remove unused variables.
899 (add_fixup_entry): Avoid shadowing.
900 (make_reloc_section): Fix format specification.
901 Use assert.
902 (locate_sections): Fix format specifications.
903 (load_image): Avoid shadowing.
904
043c2ea3
VS
9052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
906
907 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
908 Fix format specifications. Respect format security.
909 Don't translate already translated grub_errmsg.
910 (argp_parser): Remove unused variable
911
3ec65a81
VS
9122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
913
914 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
915
a4d9fe4a
VS
9162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
917
918 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
919 (main): Likewise. Use xmalloc. Respect format security.
920
15b81d49
VS
9212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
922
923 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
924 a const char *.
925 (argp_parser): Remove unused variable.
926
31731fc0
VS
9272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
928
929 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
930 (add_pixel): Make static.
931 (add_font): Likewise.
932 (write_string_section): Make name and str a const char *.
933 (write_be16_section): Make name a const char *.
934 (print_glyphs): Make static.
935 (write_font_ascii_bitmap): Likewise.
936 (write_font_width_spec): Likewise.
937 (write_font_pf2): Likewise.
938 (argp_parser): Remove unused variable.
939 Respect format security.
940 (main): Avoid shadowing. Respect format security.
941
0809527b
VS
9422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * util/grub-editenv.c (argp_parser): Make static.
945 (create_envblk_file): Use xmalloc.
946 (open_envblk_file): Likewise.
947 Resepect format security.
948 (set_variables): Respect format security.
949
45b0c8b7
VS
9502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * util/getroot.c (grub_find_device): Respect format security.
953 (get_mdadm_uuid): Remove unused variable.
954 (grub_util_pull_device): Dont call gettext on already translated
955 grub_errmsg.
956 (find_system_device): Remove unused variable.
957 (grub_util_get_grub_dev): Likewise.
958 (grub_make_system_path_relative_to_its_root): Respect format security.
959
1b024b4e
VS
9602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
961
962 * util/grub-fstest.c (execute_command): Make first argument
963 a const char *.
964 (read_file): Avoid shadowing.
965 Reuse underlying error message if device open fails.
966 (cmd_cmp): Respect format security.
967 (root): Make const char *.
968 (fstest): Remove args argument and use global copy.
969 Respect format security.
970 (argp_parser): Make static.
971 (main): Make default_root const char *.
972
5d1d4e28
VS
9732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
974
975 * util/grub-mount.c (root): Make const char *.
976 (execute_command): Make first argument a const char *.
977 (fuse_init): Respect format security.
978 (argp_parser): Make static. Remove unused variable.
979 (main): Make default_root a const char *.
980 Respect format security.
981
36eb7379
VS
9822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
983
984 * util/grub-probe.c (probe): Don't call gettext on already translated
985 grub_errmsg.
986 Remove unused variables.
987 (argp_parser): Remove unused variable.
988
76fb2ea9
VS
9892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * util/grub-script-check.c (argp_parser): Remove unused variable.
992 (main): Rename read to curread to avoid shadowing.
993
56c98584
VS
9942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * util/misc.c (grub_util_write_image_at): Fix format specification.
997 (grub_util_write_image): Likewise.
998 (grub_script_execute_argument_to_string): Removed (unused).
999 (grub_script_execute_menuentry): Likewise.
1000 (grub_putchar): Likewise.
1001
164ebb48
VS
10022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
1005 (FUNCTION) [GRUB_UTIL]: Likewise.
1006 (VARIABLE) [GRUB_UTIL]: Likewise.
1007
44318d61
VS
10082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
1011 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
1012
31a26002
VS
10132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1014
1015 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
1016 buffer.
1017
10182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1019
1020 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
1021 (LzmaEnc_SaveState): Removed (unused).
1022 (LzmaEnc_RestoreState): Likewise.
1023 (LzmaEnc_InitPriceTables): Made static.
1024 (LzmaEnc_Construct): Likewise.
1025 (LzmaEnc_FreeLits): Likewise.
1026 (LzmaEnc_Destruct): Likewise.
1027 (LzmaEnc_Init): Likewise.
1028 (LzmaEnc_InitPrices): Likewise.
1029 (LzmaEnc_Finish): Likewise.
1030 (LzmaEnc_PrepareForLzma2): Removed (unused).
1031 (LzmaEnc_MemPrepare): Likewise.
1032 (LzmaEnc_GetNumAvailableBytes): Likewise.
1033 (LzmaEnc_GetCurBuf): Likewise.
1034 (LzmaEnc_CodeOneMemBlock): Likewise.
1035
6fa67967
VS
10362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
1039 (grub_util_ldm_embed): Likewise.
1040
9a7428e6
VS
10412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * util/grub-editenv.c (print_var): Rename name to varname to
1044 avoid shadowing.
1045 (main): Rename index to curindex to avoid shadowing.
31a26002 1046 Make filename a const char *.
9a7428e6 1047
4f96abd1
VS
10482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
1051 to arg_getline to avoid shadowing.
1052
44d10dad
VS
10532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
1056 disk_ to avoid shadowing.
1057
340ba63e
VS
10582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
1061 curindex to avoid shadowing.
1062 Make static.
1063 (MatchFinder_GetNumAvailableBytes): Make static.
1064
22965bce
VS
10652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1066
1067 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
1068 avoid shadowing.
1069
7b5784d4
VS
10702012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1071
1072 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
1073 argument from encrypt to do_encrypt to avoid shadowing.
1074
6f48ca01
VS
10752012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1076
1077 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
1078 incorrect nesting of #if's.
1079
a4ea2dff
VS
10802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
1083 checks which are always false on some platforms.
1084 (grub_cmd_lsacpi): Likewise.
1085 * grub-core/kern/misc.c (grub_strtoul): Likewise.
1086 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
1087 Likewise.
1088
def9fc1b
VS
10892012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1090
1091 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
1092 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
1093
a67b2a04
VS
10942012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1095
1096 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
1097 re_dfa_t to avoid breaking alignment invariants.
1098 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
1099 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
1100
44c6828d
VS
11012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1102
1103 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
1104 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
1105
bebe0dd0
VS
11062012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
1109 Fix declaration.
1110
a9cdb3cf
VS
11112012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1112
1113 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
1114 conserve alignment invariants.
1115 (grub_ehci_ehcc_read16): Likewise.
1116 (grub_ehci_oper_read32): Likewise.
1117 (grub_ehci_oper_write32): Likewise.
1118 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
1119 Conserve alignment invariants.
1120
ccc3b1b8
VS
11212012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
1124 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
1125 declarations.
1126
987fbd95
VS
11272012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
1130 Remove unused variable.
1131
0df363f3
VS
11322012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
1135 Remove set in if.
1136
b2c0c4a6
VS
11372012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 * include/grub/net.h: Remove double declarations.
1140
690c531f
VS
11412012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1142
1143 Remove "payload" command in ia64 Linux loader since I couldn't
1144 find any evidence of it being used for anything.
1145 Replace "relocate" command with an environment variable
1146
1147 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
1148 fields.
1149 (ia64_boot_payload): Removed.
1150 (last_payload): Likewise.
1151 (RELOCATE_OFF): Likewise.
1152 (RELOCATE_ON): Likewise.
1153 (RELOCATE_FORCE): Likewise.
1154 (relocate): Likewise.
1155 (free_pages): Don't free payloads.
1156 (grub_load_elf64): Use common error messages.
1157 Use "linux_relocate" variable.
1158 Increase the space after boot_params.
1159 (grub_cmd_payload): Removed.
1160 (grub_cmd_relocate): Likewise.
1161 (grub_cmd_fpswa): Improve messages.
1162 (cmd_payload): Removed.
1163 (cmd_relocate): Likewise.
1164 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
1165 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
1166
01783768
VS
11672012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 Convert UHCI to DMA framework.
1170
1171 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
1172 (grub_uhci_pci_iter): Fill new members
1173 (grub_alloc_td): Use P2V and V2P functions.
1174 (grub_free_queue): Likewise.
1175 (grub_alloc_qh): Likewise.
1176 (grub_uhci_setup_transfer): Likewise.
1177 (grub_uhci_check_transfer): Likewise.
1178
43206939
VS
11792012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
1182 Remove assignment in if while on it.
1183
571e140e
VS
11842012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 * util/grub-mkstandalone.in: Fix modules directory.
1187
a9d96eeb
VS
11882012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
1191 on i386-pc target.
1192 (argp_parser): Accept "auto" as compression specification.
1193
e4e37e8d
VS
11942012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1195
1196 Fix `help' with unloaded modules.
1197
1198 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
1199 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
1200 (grub_dyncmd_dispatcher): Small stylistic fix.
1201 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
1202 explicit help is requested.
1203
e1ea3ade
VS
12042012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
1207 Explicitly init restart while on it.
1208
27556881
VS
12092012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
1212 uninited variable.
1213
d65f6b36
VS
12142012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * util/grub-mknetdir.in: Use . rather than source for POSIX
1217 compatibility.
1218
0a1e473c
VS
12192012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1220
1221 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
1222
ce6647c8
VS
12232012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1224
1225 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
1226 variable.
1227
66747894
VS
12282012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1229
1230 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
1231 without quotes.
1232
71645f6e
VS
12332012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1234
1235 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
1236
0e1c1f61
VS
12372012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
1240 iteration of partitions.
1241
9c4b5c13
VS
12422012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1243
1244 Improve gettext support. Stylistic fixes and error handling fixes while
1245 on it.
1246
215c90cb
VS
12472012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1248
1249 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
1250 part. Instead setup the correct stack in RM.
1251 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
1252 for stack.
1253 * include/grub/i386/relocator_private.h: New file.
1254
b5c1f9bf
VS
12552012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
1258 argument.
1259 * util/grub-fstest.c (options): Add missing DEVICE part.
1260
b525fd83
VS
12612012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 Clarify and unify messages.
1264
1265 * grub-core/commands/hashsum.c (options): Unify messages.
1266 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
1267 literal-only message as translatable.
1268 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
1269 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
1270 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
1271 commands.
1272 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
1273 key, not the key used to unlock. Clarify what it's used for.
1274 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
1275 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
1276 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
1277 * util/grub-editenv.c (options): Unify "verbose" message.
1278 * util/grub-fstest.c (read_file): Unify error message.
1279 (fstest): Add quotes around commands.
1280 (options): Unify "verbose" message.
1281 * util/grub-install.in: Add quotes around variable name.
1282 * util/grub-kbdcomp.in: Unify error message.
1283 * util/grub-mkfont.c (main): Likewise.
1284 * util/grub-mkrescue.in: Likewise.
1285 * util/grub-mklayout.c (options): Unify "verbose" message.
1286 * util/grub-mkstandalone.in: Unify help and verbose messages.
1287 * util/grub-mount.c (options): Unify "verbose" message.
1288 * util/grub-probe.c (options): Likewise.
1289 * util/grub-script-check.c (options): Likewise.
1290 * util/grub-setup.c (setup): Unify no-terminator message.
1291 (options): Use DEVICE and not DEV.
1292 Unify "verbose" message.
1293 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
1294
0ae70393
VS
12952012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1296
1297 Improve and unify messages.
1298
1299 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
1300 name. All users updated.
1301 Print filename in error.
1302 (read_device_map): Print filename in error.
1303 * util/getroot.c (grub_guess_root_devices): Print filename in error.
1304 (grub_util_get_os_disk): Likewise.
1305 (grub_util_biosdisk_get_grub_dev): Likewise.
1306 (grub_util_check_block_device): Likewise.
1307 (grub_util_check_char_device): Likewise.
1308 (grub_make_system_path_relative_to_its_root): Likewise.
1309 * util/grub-editenv.c (create_envblk_file): Likewise.
1310 (open_envblk_file): Likewise.
1311 (write_envblk): Likewise.
1312 * util/grub-fstest.c (cmd_cp): Likewise.
1313 (cmd_cat): Likewise.
1314 (cmd_cmp): Likewise.
1315 * util/grub-menulst2cfg.c (main): Likewise.
1316 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
1317 (write_font_width_spec): Likewise.
1318 (write_font_pf2): Likewise.
1319 * util/grub-mkimage.c (generate_image): New argument outname.
1320 All users updated.
1321 Remove unreacheable message.
1322 (options): Unify messages.
1323 (help_filter): Likewise.
1324 * util/grub-mklayout.c (usage): Removed (unused).
1325 (main): Print filename in error.
1326 * util/grub-mkrescue.in: Fix wrong quoting.
1327 * util/grub-setup.c (setup): Print filename in error.
1328 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
1329 (check_sas): Likewise.
1330 * util/misc.c (grub_util_get_fp_size): Removed.
1331 (grub_util_get_image_size): Print filename in error.
1332 (grub_util_read_at): Removed.
1333 (grub_util_read_image): Print filename in error.
1334 (grub_util_load_image): Likewise.
1335 (grub_util_write_image_at): New argument filename. All users updated.
1336 Print filename in error.
1337 (grub_util_write_image): New argument filename. All users updated.
1338 Print filename in error.
1339 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
1340 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
1341
0a96117d
VS
13422012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 * grub-core/Makefile.core.def (pxechain): New module.
1345 * grub-core/loader/i386/pc/pxechainloader.c: New file.
1346 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
1347 function.
1348 (grub_pc_net_config_real): Use grub_pxe_get_cached.
1349 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
1350
aca002f7
VS
13512012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
1354 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
1355 * include/grub/err.h (grub_error_saved): New struct.
1356 (grub_errmsg): Make array size explicit.
1357 * include/grub/misc.h (grub_error_save): New function.
1358 (grub_error_load): Likewise.
1359 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
1360 (grub_error_push): Update `errno' member name.
1361 (grub_error_pop): Likewise
1362 * grub-core/net/tftp.c (tftp_data): New member save_err.
1363 (tftp_receive): Save error.
1364 (tftp_open): Restore error.
1365
a51dab13
VS
13662012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1367
1368 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
1369 to real mode down to execute A20-related code in protected mode as
1370 intended.
1371
eb6e6649
GS
13722012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
1373
1374 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
1375 NULL when the argument `level' has an unexpected value.
1376
92cd0f6e
VS
13772012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 Move platform-dependent files from $prefix to $prefix/$platform.
1380
1381 * config.h.in (GRUB_TARGET_CPU): New definition.
1382 (GRUB_PLATFORM): Likewise.
1383 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
1384 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
1385 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
1386 * grub-core/kern/dl.c (grub_dl_load): Likewise.
1387 * grub-core/normal/autofs.c (read_fs_list): Likewise.
1388 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
1389 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
1390 * grub-core/normal/term.c (read_terminal_list): Likewise.
1391 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
1392 $prefix/locale.
1393 (grub_gettext_init_ext): Likewise.
1394 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
1395 grub_platform.
1396 * util/grub-install.in: Update directories.
1397 * util/grub-mknetdir.in: Likewise.
1398 * util/grub-mkrescue.in: Likewise.
1399
db606889
VS
14002012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
1403 grub_error framework. All users updated.
1404
c39992a4
VS
14052012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1406
1407 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
1408 lists (by always binsearching), improve caching (cache strings
1409 used for binsearch, not only results), improve
1410 maintainability (by using more structured binary search) and correct
1411 error handling.
1412
1e5ec32f
VS
14132012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * grub-core/script/execute.c (grub_script_return): Fix warning.
1416
ac576cde
VS
14172012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 * grub-core/script/execute.c (grub_script_return): Fix potential
1420 NULL-dereference.
1421 Reported by: Jim Meyering.
1422
498453f6
VS
14232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 * po/POTFILES.in: Regenerate.
1426 * util/grub-install.in: Gettextize the strings missed in first pass.
1427
8be63f2e
VS
14282012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 * Makefile.util.def (grub-mkdevicemap): Removed.
1431 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
1432 * include/grub/util/deviceiter.h: Removed.
1433 * util/deviceiter.c: Likewise.
1434 * util/getroot.c (grub_util_get_os_disk): New function.
1435 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
1436 replacement for EFI.
1437 * util/grub-mkdevicemap.c: Removed.
1438 * util/grub-probe.c (probe): Handle PRINT_DISK.
1439 (argp_parser): Handle -t disk.
1440
8e1e4e39
VS
14412012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 * util/grub-mkfont.c: Migrate to argp.
1444 * util/grub-mklayout.c: Likewise.
1445 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1446 * util/grub-mkrelpath.c: Likewise.
1447 * util/grub-probe.c: Likewise.
1448 * util/grub-script-check.c: Likewise.
1449
4459819a
VS
14502012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 * util/grub-reboot.in: Add missing datarootdir.
1453 Add missing newline.
1454 * util/grub-set-default.in: Add missing datarootdir.
1455 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
1456 * util/grub-mkrescue.in: Likewise.
1457
f65741c7
VS
14582012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
1461
c1a33466
VS
14622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1463
1464 * util/grub-kbdcomp.in: Add decent help and gettextize.
1465 * docs/man/grub-kbdcomp.h2m: New file.
1466
c76899a0
VS
14672012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1468
1469 Migrate grub-mkimage.c to argp.
1470
1471 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
1472 (grub-setup): Likewise.
1473 * util/grub-setup.c (print_version): Move to ...
1474 * util/argp_common.c (print_version): ... here.
1475 * util/grub-setup.c (argp_program_version_hook): Move to ...
1476 * util/argp_common.c (argp_program_version_hook): ... here.
1477 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
1478 safety.
1479 * util/grub-mkimage.c (main): Migrate to argp.
1480
57db0757
VS
14812012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * util/grub-mkrescue.in: Use same message as
1484 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
1485 for better translations.
1486
18534ad9
VS
14872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
1490 options with generic grub-mkrescue.in with the goal of future
1491 merge.
1492
c84ba308
VS
14932012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1494
1495 * grub-core/kern/mm.c: Add missing include of i18n.h
1496 * grub-core/lib/relocator.c: Likewise.
1497
347998c2
VS
14982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
1501 error.
1502 (allocate_pages): Check return value.
1503 Replace fatal with error.
1504 (grub_linux_boot): Replace printf with dprintf.
1505 Check find_mmap_size return value.
1506 Replace fatal with error.
1507 Don't call grub_machine_fini.
1508 (grub_load_elf64): Replace printf with dprintf.
1509 (grub_cmd_linux): Likewise.
1510 (grub_cmd_initrd): Likewise.
1511 (grub_cmd_payload): Likewise.
1512
c779226e
VS
15132012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
1516 message.
1517 * grub-core/video/radeon_fuloong2e.c
1518 (grub_video_radeon_fuloong2e_setup): Likewise.
1519 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
1520 * grub-core/video/video.c (grub_video_set_mode): Don't override
1521 standard out of memory message.
1522
dc87d45a
GS
15232012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1524
1525 NetBSD disk wedge support.
1526
1527 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
1528 [__NetBSD__]: Handle NetBSD disk wedges.
1529 * util/getroot.c (convert_system_partition_to_system_disk)
1530 [__NetBSD__]: Likewise.
1531
055f856f
MW
15322012-02-03 Mark Wooding <mdw@distorted.org.uk>
1533
1534 * util/grub-mkconfig.in: Use umask rather than chmod to create
1535 grub.cfg.new to avoid insecure grub.cfg.
1536
4a9f8346
VS
15372012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1538
1539 * grub-core/commands/ls.c: Gettextize.
1540 * grub-core/commands/setpci.c: Likewise.
1541 * grub-core/commands/videotest.c: Likewise.
1542 * grub-core/disk/geli.c: Likewise.
1543 * grub-core/kern/mm.c: Likewise.
1544 * grub-core/lib/relocator.c: Likewise.
1545 * grub-core/loader/efi/appleloader.c: Likewise.
1546 * grub-core/loader/i386/xnu.c: Likewise.
1547 * grub-core/loader/ia64/efi/linux.c: Likewise.
1548 * grub-core/loader/xnu.c: Likewise.
1549 * grub-core/net/dns.c: Likewise.
1550 * grub-core/net/net.c: Likewise.
1551 * grub-core/script/lexer.c: Likewise.
1552 * grub-core/script/parser.y: Likewise.
1553 * grub-core/script/yylex.l: Likewise.
1554 * util/getroot.c: Likewise.
1555 * util/grub-setup.c: Likewise.
1556
a646a366
VS
15572012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
1560 number.
1561
54e2be26
VS
15622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
1565
f7c71e68
VS
15662012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
1569 macro.
1570 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
1571 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
1572
a32d5c71
VS
15732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
1576 * util/grub-install.in: Gettextize.
1577 * util/grub-mkconfig.in: Likewise.
1578 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
1579 if not available.
1580 (grub_warn): Gettextize.
1581 * util/grub-mknetdir.in: Gettextize.
1582 * util/grub-mkrescue.in: Likewise.
1583 * util/grub-mkstandalone.in: Likewise.
1584 * util/grub-reboot.in: Likewise.
1585 * util/grub-set-default.in: Likewise.
1586 * util/grub.d/00_header.in: Likewise.
1587 * util/grub.d/10_hurd.in: Likewise.
1588 * util/grub.d/10_kfreebsd.in: Likewise.
1589 * util/grub.d/10_linux.in: Likewise.
1590 * util/grub.d/10_netbsd.in: Likewise.
1591 * util/grub.d/10_windows.in: Likewise.
1592 * util/grub.d/20_linux_xen.in: Likewise.
1593 * util/grub.d/30_os-prober.in: Likewise.
1594 * po/POTFILES-shell.in: Regenerate.
1595
69edd81a
RL
15962012-02-03 Richard Laager <rlaager@wiktel.com>
1597
1598 * util/grub-mkimage.c (main): Fix format-security warning.
1599 * util/grub-mkrelpath.c (main): Likewise.
1600 * util/grub-probe.c (main): Likewise.
1601
65f08dbf
RL
16022012-02-03 Richard Laager <rlaager@wiktel.com>
1603
1604 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
1605 failure.
1606 Put back lost PRINT_DRIVE.
1607
e9084abe
RL
16082012-02-03 Richard Laager <rlaager@wiktel.com>
1609
1610 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
1611 (grub_guess_root_devices): Replace strlen with sizeof.
1612 Avoid crash.
1613 (find_root_devices_from_poolname): Remove unused variable.
1614 Handle raidzN.
1615
cf5f7ee7
VS
16162012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 Support install on multi-device filesystems.
1619
1620 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
1621 (grub_guess_root_devices): ...this. Return char **. All users updated.
1622 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
1623 Removed.
1624 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
1625 (find_root_devices_from_poolname): ... here.
1626 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
1627 Support zfs-fuse.
1628 (grub_guess_root_device): Rename to ...
1629 (grub_guess_root_devices): ... this. Return char **. All users updated.
1630 * util/grub-install.in: Handle multi-device filesystems.
1631 * util/grub-probe.c (probe). Make device_names a char **. Add delim
1632 argument. All users updated.
1633 Handle multi-device filesystems.
1634 Use 'delim' as separator.
1635 Remove device check to allow filesystems on file.
1636 (main): Support -0 argument. Handle multi-device.
1637 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
1638 Fix a cross-device check while on it.
1639 (arguments): Remove root_dev.
1640 (argp_parser): Remove -r.
1641 (main): Remove root_dev.
1642
2f53a9ed
VS
16432012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1644
1645 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
1646
17e1d934
VS
16472012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1648
1649 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
1650 symbol.
1651 Reported by: NODA, Kai <nodakai>.
1652
d3e3fab5
VS
16532012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1654
1655 Fix ehci on amd64.
1656
1657 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
1658 pointers.
1659 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
1660 (grub_ehci_setup_qh): Likewise.
1661 (grub_ehci_find_qh): Likewise.
1662 (grub_ehci_transaction): Likewise.
1663 (grub_ehci_setup_transfer): Likewise.
1664 (grub_ehci_check_transfer): Likewise.
1665 (grub_ehci_portstatus): Likewise.
1666 (grub_ehci_detect_dev): Likewise.
1667 (grub_ehci_transfer_controller_data): New field td_last_phys.
1668 (grub_ehci_setup_transfer): Fill td_last_phys.
1669 (grub_ehci_check_transfer): Use td_last_phys.
1670
3008675b
SG
16712012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
1672
1673 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
1674 if no submenu is present.
1675
fc9b5652
AN
16762012-02-01 Aleš Nesrsta <starous@volny.cz>
1677
1678 CBI support.
1679
1680 * include/grub/usb.h (grub_usbms_protocol_t): New values
1681 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
1682 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
1683 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
1684 (grub_usbms_dev): Add subclass, protocol and intrpt.
1685 Remove in_maxsz and out_maxsz.
1686 (grub_usbms_reset): Rename to ...
1687 (grub_usbms_bo_reset): .. this.
1688 (grub_usbms_cbi_cmd): New function.
1689 (grub_usbms_cbi_reset): Likewise.
1690 (grub_usbms_reset): Likewise.
1691 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
1692 (grub_usbms_transfer): Rename to ...
1693 (grub_usbms_transfer_bo): ... this.
1694 (grub_usbms_transfer_cbi): Likewise.
1695 (grub_usbms_transfer): Likewise.
1696
a2b81d53
AN
16972012-02-01 Aleš Nesrsta <starous@volny.cz>
16982012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
1701 the support for the CS5536 modification thereos and few bugfixes.
1702
1703 * grub-core/Makefile.core.def (ehci): New module.
1704 * grub-core/bus/usb/ehci.c: New file.
1705 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
1706 port and hubaddr. All users updated.
1707 Save port and hubaddr into dev structure.
1708 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
1709 define.
1710 * include/grub/pci.h (grub_dma_phys2virt): New function.
1711 (grub_dma_virt2phys): Likewise.
1712 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
1713
b1d51f02
VS
17142012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1715
1716 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
1717 check as some mkfs implementations omit it.
1718
fc694106
VS
17192012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1720
1721 * docs/grub.texi (Unicode): Mention identifier and space limitations.
1722
6c0920e3
VS
17232012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
1726 Add new member volname2.
1727 (grub_jfs_label): Use volname2 if available.
1728
d1a46f9a
VS
17292012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1730
1731 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
1732 over last_mounted as seen in image generated by mkfs.nilfs2.
1733 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
1734
dec8ed14
VS
17352012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1736
1737 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
1738 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
1739 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
1740
7397c69b
VS
17412012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
1744 over the sector.
1745
b3fe42ad
VS
17462012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
1749 subvolume name (by removing a bogus and useless check).
1750
10476bb0
VS
17512012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
1754 sizeof while on it.
1755
9c08ad87
VS
17562012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
1759 (grub_scsi_read_capacity10): ... this.
1760 (grub_scsi_read_capacity16): New function.
1761 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
1762 0xffffffff.
1763 Fix off-by-one error.
1764 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
1765 64-bit unsigned.
1766 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
1767 (grub_scsi_read_capacity10): ... this.
1768 (grub_scsi_read_capacity_data): Rename to ...
1769 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
1770 (grub_scsi_read_capacity16): New struct.
1771 (grub_scsi_read_capacity16_data): Likewise.
1772 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
1773 grub_scsi_cmd_read_capacity10.
1774 New command grub_scsi_cmd_read_capacity16.
1775
bc8d0f45
VS
17762012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1777
1778 SCSI >2TiB support.
1779
1780 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
1781 (grub_scsi_write16): Likewise.
1782 (grub_scsi_read): Use read16 when necessary.
1783 (grub_scsi_write): Likewise.
1784 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
1785 (grub_scsi_write16): Likewise.
1786 (grub_scsi_cmd_t): Add READ16 and WRITE16.
1787
cc774926
VS
17882012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 SCSI write support (for usbms mainly).
1791
1792 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
1793 a const pointer.
1794 (grub_scsi_write): Implement.
1795 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
1796
67639fd7
VS
17972012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
1800 variable.
1801
9079d3ed
VS
18022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1803
1804 * grub-core/lib/posix_wrap/string.h (memchr): New function.
1805
c6a6f204
VS
18062012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 * po/POTFILES.in: Regenerate.
1809
ecbf8cd1
VS
18102012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1811
1812 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
1813 with grub_printf to avoid unnecessary fatal failure.
1814
0b3b3b38
VS
18152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
1818 (INT_MAX): Likewise.
1819 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
1820 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
1821 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
1822 (strcpy): Likewise.
1823 (strstr): Likewise.
1824 (strchr): Likewise.
1825 (strncpy): Likewise.
1826 (strcat): Likewise.
1827 (strncat): Likewise.
1828 (strcoll): Likewise.
1829 * include/grub/types.h (GRUB_SHRT_MAX): New define.
1830 (GRUB_INT_MAX): Likewise.
1831
db7337a3
VS
18322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
1835 unexpected error.
1836 (optimize_utf8): Likewise.
1837 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
1838
f37c87e1
VS
18392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1840
1841 * grub-core/boot/i386/pc/lnxboot.S: Use
1842 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
1843 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
1844 location.
1845 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
1846 definition.
1847 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
1848
63fe43f3
VS
18492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1850
1851 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
1852 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
1853 now to avoid double free.
1854 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
1855 hostdisk.
1856 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
1857 * util/grub-probe.c (escape_of_path): Always return a new copy.
1858 (print_full_name): Escape path.
1859 (probe): Don't call grub_util_devname_to_ofpath on NULL.
1860 Fix hints on abstractions.
1861
ebe2c961
VS
18622012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
1865 Don't add "root" line if no compatibility hont is available.
1866 Suggested by: Seth Goldberg.
1867
2b5336a2
VS
18682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1869
1870 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
1871 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
1872 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
1873 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
1874
74310bd8
VS
18752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
1878
c30582ba
VS
18792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1880
1881 * util/grub-pe2elf.c (ehdr): Make static.
1882 (shdr): Likewise.
1883 (num_sections): Likewise.
1884 (offset): Likewise.
1885
5f47782c
VS
18862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1887
1888 Eliminate ofpath limits and possible overflows.
1889
1890 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
1891 (OF_PATH_MAX): Removed.
1892 (MAX_DISK_CAT): New const.
1893 (find_obppath): Use allocated rather than preallocated buffer.
1894 Return result. Argument of_path removed. All users updated.
1895 Add missing fdstat.
1896 (xrealpath): New function.
1897 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
1898 Allocate rather than use preallocated buffer. All users updated.
1899 (__of_path_common): Use allocated rather than preallocatecd buffer.
1900 Return result. Argument of_path removed. All users updated.
1901 (vendor_is_ATA): Read only needed part form the file.
1902 (check_sas): Allocate depending on contents rather than fixed.
1903 (main) [STANDALONE]: Handle NULL result.
1904
f990cbf9
VS
19052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * grub-core/normal/completion.c (iterate_dev): Close the disk.
1908
9c6e84b8
VS
19092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1910
1911 Cryptodisk write support.
1912
1913 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
1914 (grub_cryptodisk_decrypt): Moved logic to ...
1915 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
1916 (grub_cryptodisk_write): Implement.
1917 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
1918 (grub_util_fd_write): ... this. Make global.
1919 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
1920
87cf9744
VS
19212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1922
1923 * include/grub/list.h (grub_list_remove): Don't crash if element is
1924 removed twice.
1925
ca8c0baf
VS
19262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1927
1928 Rename ofconsole to console.
1929
1930 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
1931 as sysnonym to console.
1932 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
1933 * grub-core/term/ieee1275/console.c: ... this. All users updated.
1934 Rename grub_ofconsole_ to grub_console_. All users updated
1935 (grub_console_term_output): Rename "ofconsole" to "console".
1936 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
1937 as "console".
1938
64c8b8f6
VS
19392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1940
1941 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
1942 handling.
1943 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
1944 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
1945 GRUB_DISK_DEVICE_FILE_ID.
1946
f6c434d5
VS
19472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1948
1949 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
1950 and improve performance.
1951
5858b42d
VS
19522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
1955 missing ieee1275/ prefix on whole disk.
1956
4ed3c26b
VS
19572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1958
1959 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
1960 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
1961
df71143e
VS
19622012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1963
1964 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
1965
076e7c0f
VS
19662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1967
1968 Merge common RAID and LVM logic to an abstract diskfilter.
1969 Add LDM support using the same framework.
1970
1971 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
1972 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
1973 (libgrubmods): Remove grub-core/disk/raid.c and
1974 grub-core/partmap/gpt.c.
1975 * grub-core/Makefile.core.def (ldm): New module.
1976 (raid): Renamed to diskfilter. All users updated.
1977 * grub-core/disk/raid.c: Moved to ...
1978 * grub-core/disk/diskfilter.c: ... here.
1979 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
1980 (lv_num): New var.
1981 (find_array): Renamed to ...
1982 (find_lv): ... this. Support multi-LV. Skip nameless LVs
1983 (grub_is_array_readable): Renamed to ...
1984 (grub_is_lv_readable): ... this. Support multinode hierarchy.
1985 (insert_array): New argument id.
1986 (is_node_readable): New function.
1987 (scan_device): Rename to ...
1988 (scan_disk): .. this. Restrict to one disk.
1989 (scan_devices): New function.
1990 (grub_diskfilter_iterate): Support multi-LV.
1991 Skip invisible and nameless LVs.
1992 (grub_diskfilter_memberlist): Support multi-LV.
1993 (grub_diskfilter_read_node): New function.
1994 (grub_raid_read): Most of logic moved to ...
1995 (read_segment): ... here
1996 (read_lv): New function.
1997 (grub_diskfilter_get_vg_by_uuid): New function.
1998 (grub_diskfilter_make_raid): Likewise.
1999 * grub-core/disk/ldm.c: New file.
2000 * grub-core/disk/lvm.c (vg_list): Removed.
2001 (lv_count): Likewise.
2002 (scan_depth): Likewise.
2003 (is_lv_readable): Likewise.
2004 (grub_lvm_getvalue): Advance pointer past the number.
2005 (find_lv): Removed.
2006 (do_lvm_scan): Refactored into ...
2007 (grub_lvm_detect): ... this. Support raid.
2008 (grub_lvm_iterate): Removed.
2009 (grub_lvm_memberlist): Likewise.
2010 (grub_lvm_open): Likewise.
2011 (grub_lvm_close): Likewise.
2012 (read_lv): Likewise.
2013 (read_node): Likewise.
2014 (is_node_readable): Likewise.
2015 (is_lv_readable): Likewise.
2016 (grub_lvm_read): Likewise.
2017 (grub_lvm_write): Likewise.
2018 (grub_lvm_dev): Use diskfilter
2019 (GRUB_MOD_INIT): Likewise.
2020 (GRUB_MOD_FINI): Likewise.
2021 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
2022 new interface.
2023 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
2024 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2025 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
2026 grub_diskfilter_read_node.
2027 Fix a bug with xor.
2028 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
2029 grub_diskfilter_read_node.
2030 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
2031 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
2032 (grub_disk_dev_iterate): Move from here...
2033 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
2034 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
2035 Make global.
2036 (grub_hostdisk_find_partition_start): Likewise.
2037 (grub_hostdisk_os_dev_to_grub_drive): New function.
2038 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
2039 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
2040 * util/getroot.c (make_device_name): ... here.
2041 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
2042 Move to ...
2043 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
2044 * grub-core/kern/emu/hostdisk.c
2045 (convert_system_partition_to_system_disk): Move to ...
2046 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
2047 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
2048 * util/getroot.c (device_is_wholedisk): ... here.
2049 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
2050 * util/getroot.c (find_system_device): ... here.
2051 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
2052 Move to ...
2053 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
2054 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
2055 Move to ...
2056 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
2057 Handle LDM.
2058 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
2059 Move to ...
2060 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
2061 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
2062 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
2063 DISKFILTER.
2064 * include/grub/raid.h: Renamed to ...
2065 * include/grub/diskfilter.h: ... this.
2066 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
2067 (GRUB_RAID_LAYOUT_*): Make into array.
2068 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
2069 (grub_diskfilter_vg): New struct.
2070 (grub_diskfilter_pv_id): Likewise.
2071 (grub_raid_member): Removed.
2072 (grub_raid_array): Likewise.
2073 (grub_diskfilter_pv): New struct.
2074 (grub_diskfilter_lv): Likewise.
2075 (grub_diskfilter_segment): Likewise.
2076 (grub_diskfilter_node): Likewise.
2077 (grub_diskfilter_get_vg_by_uuid): New proto.
2078 (grub_raid_register): Inline.
2079 (grub_diskfilter_unregister): Likewise.
2080 (grub_diskfilter_make_raid): New proto.
2081 (grub_diskfilter_vg_register): Likewise.
2082 (grub_diskfilter_read_node): Likewise.
2083 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
2084 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
2085 (grub_util_is_ldm): Likewise.
2086 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
2087 (grub_hostdisk_find_partition_start): Likewise.
2088 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
2089 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
2090 New definition.
2091 (grub_gpt_partition_map_iterate): New proto.
2092 * include/grub/lvm.h (grub_lvm_vg): Removed.
2093 (grub_lvm_pv): Likewise.
2094 (grub_lvm_lv): Likewise.
2095 (grub_lvm_segment): Likewise.
2096 (grub_lvm_node): Likewise.
2097 * util/getroot.c [...]
2098 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
2099 (probe_abstraction): Likewise.
2100 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
2101 (main): Remove dead logic.
2102
8a7f9b9c
VS
21032012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
2104
2105 Simplify root device discover and don't fail when trying to open
2106 incorrect devices.
2107
2108 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
2109 function.
2110 (get_diskname_from_path): Likewise.
2111 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
2112 of iterating.
2113
30545b85
VS
21142012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
2117
28ea58cf
VS
21182012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
2121 pastthe end.
2122
692dabca
VS
21232012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 * util/grub-install.in: Add missing \.
2126 Reported by: gentoofan
2127
f6e4ea70
VS
21282012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
2131 (direct_read): Use correct compressed size.
2132 (grub_squash_read_data): Likewise.
2133
21342012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
2135
2136 * docs/grub.texi (Platform limitations): New section.
2137 (Platform-specific operations): Likewise.
2138 * docs/grub-dev.texi (Porting): Likewise.
2139
76261110
VS
21402012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 IEEE1275 disk write support.
2143
2144 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
2145 const void *.
2146 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
2147 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
2148 and seek loginc to ...
2149 (grub_ofdisk_prepare): ... here.
2150 (grub_ofdisk_write): Implement.
2151
fc36d603
VS
21522012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2153
2154 ARC disk write support.
2155
2156 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
2157 (reopen): New argument writable. All users updated.
2158 Handle required access mode.
2159 (grub_arcdisk_write): Implement.
2160 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
2161 (grub_arc_firmware_vector): Make buffer to write a const buffer.
2162
e06c2e7a
VS
21632012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
2166 (read_sblock): Don't attempt to read superblocks outside the disk size.
2167
ff447958
VS
21682012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2169
2170 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
2171 first superblock to find the second one when possible.
2172
9e88df39
VS
21732012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 * util/grub-install.in: Fix an ARC bug.
2176 Print a warning if no platform-specific setup is available.
2177
bb26e4ff
VS
21782012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2179
2180 Use static allocation rather than scratch pointer in reed_solomon.
2181 It decreases its size significantly and avoids a variable in .text.
2182
2183 * grub-core/lib/reed_solomon.c (scratch): Removed.
2184 (chosenstat): New const or static array.
2185 (sigma): Likewise.
2186 (errpot): Likewise.
2187 (errpos): Likewise.
2188 (sy): Likewise.
2189 (mstat): Likewise.
2190 (errvals): Likewise.
2191 (eqstat): Likewise.
2192 (pol_evaluate): Replace x with log_x argument. All users updated.
2193 (syndroms): Removed.
2194 (gauss_solve): Use statically allocated arrays.
2195 (rs_recover): Likewise.
2196 Calculate syndroms directly.
2197 (decode_block): Use statically allocated arrays.
2198 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
2199 (main) [TEST]: Allow -DTEST -DSTANDALONE.
2200
2e13ede5
VS
22012012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2202
2203 Eliminate fixed limit on reed solomon decoder length.
2204
2205 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
2206 rather than hardcoding the address.
2207 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
2208 no_reed_solomon_length.
2209 Move gate_a20 to no-reed-solomon part.
2210 Don't force a particular size of no reed-solomon part.
2211 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
2212 Removed.
2213 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
2214 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
2215
f8a9ab12
VS
22162012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 * grub-core/commands/wildcard.c (match_files): Handle filenames
2219 without explicit device.
2220 (wildcard_expand): Don't add explicit device if not already present.
2221 * tests/grub_script_echo1.in: Add a new expansion test.
2222
87edb894
VS
22232012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 Replace single-linked with double-linked lists. It results in more
2226 compact and more efficient code.
2227
2228 * grub-core/kern/list.c (grub_list_push): Moved from here ...
2229 * include/grub/list.h (grub_list_push): ... to here. Set prev.
2230 (grub_list_remove): Moved from here ...
2231 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
2232 (grub_prio_list_insert): Set prev.
2233 * include/grub/list.h (grub_list): Add prev. All users updated.
2234
48b391e9
VS
22352012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 Handle newer autotools. Add some missing quotes while on it.
2238
2239 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
2240 (pkglib_DATA): Move grub-mkconfig_lib from here ...
2241 (pkgdata_DATA): ... here.
2242 * Makefile.util.def (update-grub_lib): Removed.
2243 * conf/Makefile.common (pkglib_DATA): Removed.
2244 (pkglib_SCRIPTS): Likewise.
2245 (pkgdata_DATA): New variable.
2246 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
2247 needed.
2248 Add missing quotes.
2249 Remove unused variable while on it.
2250 * tests/util/grub-shell.in: Likewise.
2251 * util/grub-install.in: Likewise.
2252 * util/grub-mkconfig.in: Likewise.
2253 * util/grub-mknetdir.in: Likewise.
2254 * util/grub-mkrescue.in: Likewise.
2255 * util/grub-mkstandalone.in: Likewise.
2256 * util/grub.d/00_header.in: Likewise.
2257 * util/grub.d/10_hurd.in: Likewise.
2258 * util/grub.d/10_illumos.in: Likewise.
2259 * util/grub.d/10_kfreebsd.in: Likewise.
2260 * util/grub.d/10_linux.in: Likewise.
2261 * util/grub.d/10_netbsd.in: Likewise.
2262 * util/grub.d/10_windows.in: Likewise.
2263 * util/grub.d/20_linux_xen.in: Likewise.
2264 * util/grub.d/30_os-prober.in: Likewise.
2265 * util/update-grub_lib.in: Removed.
2266
22672012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
2268
2269 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
2270 a workaround for intel problem.
2271
66832792
PRP
22722012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
22732012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
22742012-01-23 pfsmorigo
2275
2276 * util/grub-install.in: Support dd'in into PreP partition.
2277 * util/grub-probe.c (probe): Support discovering partition type.
2278 (main): Support -t msdos_parttype.
2279
7816a17e
VS
22802012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
2283 infinite recursion using counter.
2284 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
2285 init to skip it if the magic check fails.
2286 (dec_stream_header): Init s->crc32.
2287
8f9d3a8c
ZB
22882012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22892012-01-22 Zachary Bedell <pendorbound@gmail.com>
22902012-01-22 Richard Laager <rlaager@wiktel.com>
2291
2292 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
2293 All users updated.
2294 (find_bestub): Determine correct size.
2295 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
2296 (scan_disk): Align the size down.
2297 Call check pool before find_bestub to have ashift.
2298
b055dd32
VS
22992012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2300
2301 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
2302 dprintf in no-malloc zone.
2303
d779e9bd
ML
23042012-01-22 Mario Limonciello <mario_limonciello@dell.com>
2305
2306 * configure.ac: Add back in test for limits.h.
2307
b508af69
VS
23082012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2309
2310 Support 4K-sector NTFS.
2311
2312 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
2313 (grub_ntfs_data): Remove blocksize.
2314 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
2315 Remove data argument. All users updated.
2316
dad9c8b5
VS
23172012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
2320 being in .text to avoid dprel references.
2321 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
2322 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
2323 (grub_arch_highmemsize): Likewise.
2324 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
2325 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
2326 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
2327
d43a777e
VS
23282012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2329
2330 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
2331
2332 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
2333 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
2334
34e4208f
VS
23352012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
2338 GRUB_UTIL.
2339 (grub_set_datetime_cmos): Likewise.
2340
3ec0fc1c
VS
23412012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 Make XZ compression parameters dependent on target and not host CPU.
2344
2345 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
2346 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
2347
22489834
VS
23482012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
2351 set but not used variable.
2352
8502fbca
VS
23532012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
2356 created when no uuid support is compiled into mkfs.reiser.
2357
76df2068
VS
23582012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
2361 (utf8_to_macroman): Do the opposite.
2362 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
2363
64e3f8f6
VS
23642012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2365
2366 * configure.ac: Refise build qemu_mips w/o unifont.
2367
9c271078
VS
23682012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2369
2370 Eliminate grub_min/grub_max prone to overflow usage.
2371
2372 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
2373 (poll_nonroot_hub): Likewise.
2374 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
2375 (grub_affs_label): Likewise.
2376 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
2377 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
2378 (grub_hfs_label): Likewise.
2379 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
2380 * grub-core/fs/zfs/zfs.c (MIN): Remove.
2381 (zap_leaf_array_equal): Use grub_size. Remove MIN.
2382 (zap_leaf_array_get): Likewise.
2383 (dnode_get_path): Likewise.
2384 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
2385 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
2386 * grub-core/script/execute.c (grub_script_break): Likewise.
2387 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
2388 grub_max.
2389 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
2390 * include/grub/misc.h (grub_min): Removed.
2391 (grub_max): Likewise.
2392
80662dbc
VS
23932012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2394
2395 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
2396 direct.inode = 0.
2397
e6da1467
VS
23982012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
2401
b1ac4cb1
VS
24022012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
2405
b4bf7c3b
VS
24062012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
2409 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
2410
8ee1101a
VS
24112012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
2414 rather than a hack for grub_strncasemap.
2415
24162012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 Support multiple initrds
2419 Note: part of this was accidently committed in r3739.
2420
2421 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
2422 initrd.
2423 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
2424 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
2425 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2426 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2427 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2428
4d1e2bc9
VS
24292012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
2432 disks with unknown size.
2433 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
2434
75b49ebe
VS
24352012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 Remove defines pertaining to arbitrary limits not affecting GRUB
2438 anymore.
2439
2440 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
2441 (EXT2_MAX_SYMLINKCNT): Likewise.
2442 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
2443 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
2444 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
2445 (GRUB_PXE_MAX_BLKSIZE): Likewise.
2446 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
2447 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
2448 (DN_MAX_OBJECT_SHIFT): Likewise.
2449 (DN_MAX_OFFSET_SHIFT): Likewise.
2450 (DN_MAX_OBJECT): Likewise.
2451 (DNODES_PER_LEVEL_SHIFT): Likewise.
2452 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
2453 (SPA_MAXBLOCKSIZE): Likewise.
2454 (SPA_BLOCKSIZES): Likewise.
2455 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
2456 (MZAP_MAX_BLKSZ): Likewise.
2457
74a1dce7
VS
24582012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
2461 handle NULL appropriately.
2462 Remove MIN.
2463
30c7d3ce
VS
24642012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2465
2466 Fix efiemu.
2467
2468 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
2469 cpu/types.h.
2470 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
2471 * configure.ac: Fix efiemu check.
2472
3c76ea0c
VS
24732012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2474
2475 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
2476 grub_probe.
2477 Reported by: adamwill
2478
7e532280
SG
24792012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
2480
2481 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
2482
30492374
VS
24832012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2484
2485 Fix handling of wide characters in gfxterm.
2486
2487 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
2488 (clear_char): Likewise.
2489 (paint_char): Skip code == NULL chars.
2490 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
2491
e70cb72f
VS
24922012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2493
2494 * grub-core/normal/charset.c: Move comment to right place.
2495
5c827cf9
VS
24962012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2497
2498 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
2499 (GRUB_AFFS_FLAG_FFS): Put back where it was.
2500 (grub_affs_mount): Revert the correct version checking.
2501
53603892
VS
25022012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 * docs/grub.texi (Unicode): Mention several other unsupported features.
2505
ff094b9b
VS
25062011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2507
2508 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
2509 case statements as compile-time one.
2510 (direct_read): Prevent spurious warnings.
2511 (grub_squash_read_data): Likewise.
2512
c029da8a
VS
25132011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2514
2515 Various squash4 fixes and LZO and XZ support.
2516
2517 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
2518 Add xzembed source files.
2519 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
2520 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
2521 (grub_squash_inode): New subtype long_dir.
2522 (SQUASH_TYPE_LONG_DIR): New inode type.
2523 (COMPRESSION): New enum.
2524 (XZBUFSIZ): New const.
2525 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
2526 (read_chunk): Use data->decompress.
2527 (zlib_decompress): New function.
2528 (lzo_decompress): Likewise.
2529 (xz_decompress): Likewise.
2530 (squash_mount): Set new data fields.
2531 (grub_squash_iterate_dir): Handle long dir.
2532 (squash_unmount): Free xzdec and xzbuf.
2533 (grub_squash_open): Check ino type.
2534 (direct_read): Stylistic fixes. Use data->decompress.
2535 (grub_squash_read_data): Likewise.
2536 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
2537 (get_byte): Likewise.
2538 (grub_zlib_disk_read): Removed.
2539 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
2540 (GRUB_POSIX_BOOL_DEFINED): New define.
2541 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
2542 * grub-core/lib/xzembed/xz.h: Addmissing includes.
2543 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
2544 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
2545
7a45a539
VS
25462011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2547
2548 Don't override more informative errors.
2549
2550 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
2551 * grub-core/font/font.c (open_section): Likewise.
2552 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
2553 filename. Don't override errors.
2554 (grub_cmd_openbsd_ramdisk): Don't override errors.
2555 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
2556 (grub_cmd_initrd): Likewise.
2557 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2558 (grub_cmd_initrd): Likewise.
2559 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
2560 (grub_cmd_linux): Likewise.
2561 (grub_cmd_initrd): Likewise.
2562 (grub_cmd_payload): Likewise.
2563 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2564 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
2565 (grub_cmd_module): Likewise.
2566 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2567 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2568 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
2569 (grub_cmd_xnu_mkext): Likewise.
2570 (grub_cmd_xnu_ramdisk): Likewise.
2571 (grub_xnu_check_os_bundle_required): Likewise.
2572 (grub_xnu_load_kext_from_dir): Likewise.
2573 (grub_cmd_xnu_kextdir): Likewise.
2574 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
2575
b2d004db
VS
25762011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2577
2578 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
2579 as 1024 in block size field. Found on one of my test images.
2580 Small optimisation while on it.
2581
ec000eac
VS
25822011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
2585 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
2586 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
2587 performance fixes while on it.
2588 (grub_sfs_close): Fix memory leak while on it.
2589 (grub_sfs_label): Convert Latin1 to UTF-8.
2590
f50e1165
VS
25912011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
2594 space to avoid overflows.
2595 (grub_hfs_label): Convert from macroman to UTF-8.
2596
2ae254de
VS
25972011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
2600
0108f491
VS
26012011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
2604
f45f5f89
VS
26052011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 * unicode: Import Unicode 6.0 data.
2608
4d8c4765
VS
26092011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2610
63fa8ef9
VS
2611 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
2612 outside of range.
2613
26142011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2615
2616 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
2617
2618 * include/grub/charset.h (grub_getend): New function.
2619 * grub-core/script/function.c (grub_script_function_find): Use
2620 grub_getend.
2621 * grub-core/normal/completion.c (add_completion): Likewise.
2622
f3cb4a4e
VS
26232011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2624
2625 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
2626 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
2627 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
2628 (GRUB_UNICODE_TAG_END): Likewise.
2629 (GRUB_UNICODE_LAST_VALID): Likewise.
2630
5da8dbc5
VS
26312011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2632
2633 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
2634 len and make it smaller. All users updated.
2635 * util/import_unicode.py: Put length and not end character.
2636 Check length.
2637
8569f13d
VS
26382011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2639
2640 Make better Unicode-compliant and unify some UTF-8 code pathes.
2641
2642 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
2643 valid character.
2644 (grub_is_valid_utf8): Use grub_utf8_process.
2645 Check resulting code range.
2646 (grub_utf8_to_ucs4): Use grub_utf8_process.
2647 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
2648 valid character.
2649
cc4fddf5
VS
26502011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2651
2652 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
2653
bbc47747
VS
26542011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2655
2656 * docs/grub.texi (Filesystems): Mention AFS.
2657
f63d6bf4
VS
26582011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2659
2660 * docs/grub.texi (Filesystems): Clarify restrictions.
2661 (Regexp): Mention non-Unicode regexp behaviour.
2662 (Other): Mention non-Unicode matching behaviour.
2663
74bbf0db
VS
26642011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2665
f63d6bf4 2666 Make HFS implementation use MacRoman.
74bbf0db
VS
2667
2668 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
2669 (macroman): New const array.
2670 (macroman_to_utf8): New function.
2671 (utf8_to_macroman): Likewise.
2672 (grub_hfs_find_dir): Use utf8_to_macroman.
2673 (grub_hfs_dir): Use macroman_to_utf8.
2674 Set case_insensitive.
2675
4ea0316e
VS
26762011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2677
2678 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
2679
d3c13cbd
VS
26802011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 Integrate hints into autogeneration scripts.
2683
2684 * docs/grub.texi (Filesystems): Add a hostdisk example.
2685 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
2686 (grub-probe): Add ofpath.
2687 * gentpl.py: Remove group nosparc64.
2688 * grub-core/commands/search.c (cache_entry): New struct.
2689 (cache): New var.
2690 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
2691 * grub-core/commands/search_wrap.c (options): Add platform-specific
2692 hint options.
2693 (grub_cmd_search): Handle platform-specific hints.
2694 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
2695 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
2696 (grub_util_biosdisk_data): Likewise.
2697 (grub_util_biosdisk_open): Set device_map.
2698 (read_device_map): Handle "" as indication of no map.
2699 Set device_map.
2700 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
2701 (grub_util_biosdisk_get_compatibility_hint): New function.
2702 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
2703 * include/grub/emu/hostdisk.h
2704 (grub_util_biosdisk_get_compatibility_hint): New proto.
2705 * util/grub-install.in: Don't call grub-mkdevicemap.
2706 Add platform-specific hint to load.cfg.
2707 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
2708 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
2709 hints. Set root preliminary to compatibility hint, not to OS name.
2710 * util/grub-probe.c (PRINT_*): Add hints.
2711 (print): Make static.
2712 (escape_of_path): New function.
2713 (guess_bios_drive): Likewise.
2714 (guess_efi_drive): Likewise.
2715 (guess_baremetal_drive): Likewise.
2716 (print_full_name): Likewise.
2717 (probe): Handle hints.
2718 (main): Likewise.
2719 * util/ieee1275/devicemap.c: Removed.
2720 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
2721 updated.
2722 (grub_util_devname_to_ofpath): Return NULL on failure.
2723
2724 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
2725 resource leak.
2726 * util/getroot.c (grub_util_pull_device): Fix memory leak.
2727
2728 * po/POTFILES.in: Regenerated.
2729
2730 Allow purely long options
2731
2732 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
2733 (SHORT_ARG_USAGE): Likewise.
2734 (grub_arg_show_help): Compare opt with help_options.
2735 (parse_option): Receive opt as argument. If makes big simplificatons.
2736 All users updated
2737
00ce2df3
VS
27382011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
2741 Restructure to avoid warning.
2742
e77e325f
VS
27432011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2744
2745 * util/grub-install.in: Account for possible escaped comma in device
2746 name.
2747
165099ea
VS
27482011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
2751 channel.
2752
ce4a999d
VS
27532011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
2756 allocation and zero-setting.
2757 (grub_ieee1275_get_devname): Check that alias is complete.
2758
379586ad
VS
27592011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2760
2761 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
2762 unaligned segments.
2763
9197b0ad
VS
27642011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
2767 prefix.
2768 (grub_ofdisk_open): Check and discard ieee1275 prefix.
2769 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2770 Add ieee1275 prefix.
2771
edddb7f9
VS
27722011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 * docs/grub.texi (Filesystems): Update.
2775
a1a8b1b9
VS
27762011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2777
2778 Support odc, newc and bigendian cpio formats.
2779
2780 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
2781 * grub-core/Makefile.core.def (newc): New module.
2782 (odc): Likewise.
2783 (cpio_be): Likewise.
2784 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
2785 (MAGIC): Likewise.
2786 (MAGIC2): Likewise.
2787 (head) [MODE_ODC]: Adapt for the format.
2788 (head) [MODE_NEWC]: Likewise.
2789 (head) [!MODE_*]: Write fields of interest as arrays.
2790 (MAGIC_USTAR): Removed.
2791 (read_number) [MODE_NEWC]: Change to hex.
2792 (read_number) [!MODE_*]: Parse binary arrays.
2793 (grub_cpio_find_file): Factor out the code for better structure and
2794 always use read_number.
2795 (grub_cpio_mount): Use MAGIC and MAGIC2.
2796 (grub_cpio_dir): Exit on first hook non-0 return.
2797 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
2798 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
2799 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
2800 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
2801 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
2802 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
2803 * grub-core/fs/newc.c: New file.
2804 * grub-core/fs/odc.c: Likewise.
2805 * grub-core/fs/cpio_be.c: Likewise.
2806
58eba9ee
VS
28072011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 Fix handling of tar numbers occupying the whole field.
2810
2811 * grub-core/fs/cpio.c (read_number): New function.
2812 (grub_cpio_find_file): Use read_number instead of strtoull.
2813
a54a0e12
VS
28142011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2815
2816 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
2817 occupying the whole field size.
2818
a6120aca
LA
28192011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
2820
2821 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
2822
a93964ce
VS
28232011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2824
2825 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
2826
3ea1ca46
SG
28272011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
2828
2829 * grub-core/Makefile.core.def (lzma_decompress): Add missing
2830 TARGET_IMG_LDFLAGS.
2831
b87f7ef2
VS
28322011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 * util/getroot.c (ESCAPED_PATH_MAX): New define.
2835 (mountinfo_entry): Increase the field size to take escaping into
2836 account.
2837 (find_root_device_from_libzfs): Add one byte to size of strings for
2838 security.
2839
62092395
VS
28402011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2841
2842 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
2843 an assert.
2844 * util/grub-setup.c (setup): Likewise.
2845
1f0b1a77
VS
28462011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2847
2848 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
2849 _LzmaDecodeA.
2850
8eba9997
VS
28512011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * docs/grub.texi (Internationalisation): New section.
2854
dd0c91e9
VS
28552011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 * docs/grub.texi (Loopback booting): New section.
2858
28592011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
2860
2861 * util/grub-mkstandalone.in: Fix minor typo errors.
2862
198e150a
VS
28632011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
2866
2867 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
2868 net/icmp.c and net/icmp6.c.
2869 (http): New module.
2870 (priority_queue): Likewise.
2871 * grub-core/io/bufio.c: Rewritten.
2872 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
2873 TYPE_WITH_CONFIGFILE_OPTION.
2874 (legacy_commands): Add bootp and dhcp.
2875 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
2876 (grub_legacy_parse): Likewise.
2877 * grub-core/lib/priority_queue.c: New file.
2878 * grub-core/net/arp.c: Add missing license header.
2879 (arp_find_entry): Removed.
2880 (arp_find_entry): Likewise.
2881 (grub_net_arp_resolve): Rename to ...
2882 (grub_net_arp_send_request): ...this.
2883 (grub_net_arp_receive): New card argument.
2884 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
2885 Set router and DNS server.
2886 (grub_net_configure_by_dhcp_ack): Handle routing information.
2887 (grub_cmd_bootp): Set checksum.
2888 (grub_bootp_init): Remove net_dhcp.
2889 * grub-core/net/dns.c: New file.
2890 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
2891 completion.
2892 (get_card_packet): Handle allocation.
2893 (grub_efinet_findcards): Set mtu.
2894 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
2895 (get_card_packet): Handle allocation.
2896 (emucard): Set mtu.
2897 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
2898 (GRUB_MOD_INIT): Set mtu.
2899 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
2900 mtu.
2901 (get_card_packet): Handle allocation.
2902 (grub_ofnet_findcards): Set mtu.
2903 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
2904 assert.
2905 (grub_net_recv_ethernet_packet): Handle IPv6.
2906 * grub-core/net/http.c: New file.
2907 * grub-core/net/icmp.c: Likewise.
2908 * grub-core/net/icmp6.c: Likewise.
2909 * grub-core/net/ip.c (ip6addr): New type.
2910 (ip6hdr): Likewise.
2911 (reassemble): Likewise.
2912 (cmp): New function.
2913 (reassembles): New variable.
2914 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
2915 (id): New variable.
2916 (send_fragmented): New function.
2917 (grub_net_send_ip_packet): Rename to ...
2918 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
2919 Handle non-UDP.
2920 (grub_net_recv_ip_packets): Rename to ...
2921 (handle_dgram): ... this. Check checksum. Handle non-UDP.
2922 (free_rsm): New function.
2923 (free_old_fragments): Likewise.
2924 (grub_net_recv_ip4_packets): New function.
2925 (grub_net_send_ip6_packet): Likewise.
2926 (grub_net_send_ip_packet): Likewise.
2927 (grub_net_recv_ip6_packets): Likewise.
2928 (grub_net_recv_ip_packets): Likewise.
2929 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
2930 (LINK_LAYER_CACHE_SIZE): New const.
2931 (link_layer_find_entry): New function.
2932 (grub_net_link_layer_add_address): Likewise.
2933 (grub_net_link_layer_resolve_check): Likewise.
2934 (grub_net_link_layer_resolve): Likewise.
2935 (grub_net_ipv6_get_slaac): Likewise.
2936 (grub_net_ipv6_get_link_local): Likewise.
2937 (grub_cmd_ipv6_autoconf): Likewise.
2938 (parse_ip): Handle one number representation.
2939 (parse_ip6): New functoion.
2940 (match_net): Handle IPv6.
2941 (grub_net_resolve_address): Handle IPv6 and DNS.
2942 (grub_net_resolve_net_address): Handle IPv6.
2943 (route_cmp): New function.
2944 (grub_net_route_address): Find best route.
2945 (grub_net_addr_to_str): Handle IPv6.
2946 (grub_net_addr_cmp): New function.
2947 (grub_net_add_addr): Register local route.
2948 (print_net_address): Handle net address.
2949 (grub_net_poll_cards): Retransmit TCP.
2950 (grub_net_poll_cards_idle_real): Likewise.
2951 (have_ahead): New function.
2952 (grub_net_seek_real): Use underlying seek.
2953 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
2954 * grub-core/net/tcp.c: New file.
2955 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
2956 (cmp): New function.
2957 (ack): Likewise.
2958 (tftp_receive): Handle unordered input.
2959 (destroy_pq): New function.
2960 (tftp_close): Close pq.
2961 * grub-core/net/udp.c: Put missing license header.
2962 (grub_net_udp_socket): New function.
2963 (udp_socket_register): Likewise.
2964 (grub_net_udp_close): Likewise.
2965 (grub_net_recv_udp_packet): Check checksum.
2966 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
2967 * include/grub/misc.h (grub_memchr): New function.
2968 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
2969 (grub_net_card_driver): Return buf in recv.
2970 (grub_net_slaac_mac_list): New struct.
2971 (grub_network_level_protocol_id): Add ipv6.
2972 (grub_net_network_level_addr): Likewise.
2973 (grub_net_network_level_net_addr): Likewise.
2974 (grub_net_app_protocol): Add seek.
2975 (grub_net_socket): Removed.
2976 (grub_net_sockets): Likewise.
2977 (grub_net_socket_register): Likewise.
2978 (grub_net_socket_unregister): Likewise.
2979 (FOR_NET_SOCKETS): Likewise.
2980 (grub_net_add_addr): Add const.
2981 (GRUB_NET_BOOTP_*): New enum.
2982 (grub_net_addr_cmp): New proto.
2983 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
2984 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
2985 (grub_net_hwaddr_to_str): NEw proto.
2986 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
2987 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
2988 (grub_dns_init): New proto.
2989 (grub_dns_fini): Likewise.
2990 (grub_net_tcp_retransmit): Likewise.
2991 (grub_net_link_layer_add_address): Likewise.
2992 (grub_net_link_layer_resolve_check): Likewise.
2993 (grub_net_link_layer_resolve): Likewise.
2994 (grub_net_dns_lookup): Likewise.
2995 (grub_net_add_dns_server): Likewise.
2996 (grub_net_remove_dns_server): Likewise.
2997 (GRUB_NET_TRIES): New const.
2998 (GRUB_NET_INTERVAL): Likewise.
2999 * include/grub/net/arp.h: Mostly rewritten.
3000 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
3001 * include/grub/net/ip.h: Mostly rewritten.
3002 * include/grub/net/netbuff.h: Indent.
3003 * include/grub/net/tcp.h: New file.
3004 * include/grub/net/udp.h: Mostly rewritten.
3005 * include/grub/priority_queue.h: New file.
3006 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
3007 (grub_swap_bytes64_compile_time): Likewise.
3008 (grub_cpu_to_be16_compile_time): Likewise.
3009 (grub_cpu_to_be32_compile_time): Likewise.
3010 (grub_cpu_to_be64_compile_time): Likewise.
3011 (grub_be_to_cpu64_compile_time): Likewise.
3012
215c1800
VS
30132011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
3016 UINT_TO_PTR with cast.
3017
c17e546c
VS
30182011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
3021 don't use them.
3022
ff6b18b6
VS
30232011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3024
3025 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
3026 already there.
3027
70ffcc93
VS
30282011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3029
3030 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
3031 confusing ipxe.
3032
e5f4d260
VS
30332011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3034
3035 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
3036 Add missing const attribute.
3037 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
3038 Likewise.
3039 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
3040 Likewise.
3041
8e54b4b7
VS
30422011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
3045 misaligned access.
3046 (serpent_setkey): Likewise.
3047 (serpent_encrypt_internal): Likewise.
3048 (serpent_decrypt_internal): Likewise.
3049 (serpent_encrypt): Don't put an alignment-increasing cast.
3050 (serpent_decrypt): Likewise.
3051 (serpent_test): Likewise.
3052
813c0a2b
VS
30532011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3054
3055 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
3056
f2b60fbd
VS
30572011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
3060
3061 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
3062 grub_addr_t casts.
3063 (PTR_TO_UINT64): Likewise.
3064 (PTR_TO_UINT32): Likewise.
3065
5ef5c511
VS
30662011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * util/grub-mkimage.c (generate_image): Decrease the higher limit
3069 because of stack.
3070 * util/grub-setup.c (setup): Don't add redundancy past the higher load
3071 limit.
3072
c476e6df
VS
30732011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
3076 text_width > available width a bit more gracefully.
3077
384ad7cc
VS
30782011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
3081 current address calculation.
3082
96f8caf8
VS
30832011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3084
3085 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
3086 stack.
3087 (encode_block): Likewise.
3088
276b7a8b
VS
30892011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3090
3091 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
3092 certainety.
3093
e3fd394a
VS
30942011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3095
3096 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
3097 non-RS part to avoid RS messing with GDT.
3098 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
3099 Increase to suit in realmode routines.
3100
31012011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3102
3103 * grub-core/kern/i386/realmode.S: Increase alignment.
3104 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
3105
ee9c2e7a
VS
31062011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
3109 be deterministic.
3110 (syndroms): Compute 0 syndrom.
3111 (rs_recover): Use 0 syndrom.
3112
7a7f7cc9
VS
31132011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
3116
a14b16d1
VS
31172011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
3120 brackets.
3121
9f59e9fc
VS
31222011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3123
ca1b552c
VS
3124 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
3125 account.
3126 (get_top_pad): Likewise.
3127 (get_right_pad): Likewise.
3128 (get_bottom_pad): Likewise.
3129
31302011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 3133
e739d698
VS
31342011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3135
3136 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
3137 attribute as the structure isn't guaranteed to be properly aligned.
3138 (grub_efi_pci_device_path): Likewise.
3139 (grub_efi_pccard_device_path): Likewise.
3140 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
3141 specify the size of `memory_type'.
3142 (grub_efi_vendor_device_path): Likewise.
3143 (grub_efi_controller_device_path): Likewise.
3144 (grub_efi_acpi_device_path): Likewise.
3145 (grub_efi_expanded_acpi_device_path): Likewise.
3146 (grub_efi_atapi_device_path): Likewise.
3147 (grub_efi_scsi_device_path): Likewise.
3148 (grub_efi_fibre_channel_device_path): Likewise.
3149 (grub_efi_1394_device_path): Likewise.
3150 (grub_efi_usb_device_path): Likewise.
3151 (grub_efi_usb_class_device_path): Likewise.
3152 (grub_efi_i2o_device_path): Likewise.
3153 (grub_efi_mac_address_device_path): Likewise.
3154 (grub_efi_ipv4_device_path): Likewise.
3155 (grub_efi_ipv6_device_path): Likewise.
3156 (grub_efi_infiniband_device_path): Likewise.
3157 (grub_efi_uart_device_path): Likewise.
3158 (grub_efi_vendor_messaging_device_path): Likewise.
3159 (grub_efi_hard_drive_device_path): Likewise.
3160 (grub_efi_cdrom_device_path): Likewise.
3161 (grub_efi_vendor_media_device_path): Likewise.
3162 (grub_efi_file_path_device_path): Likewise.
3163 (grub_efi_protocol_device_path): Likewise.
3164 (grub_efi_piwg_device_path): Likewise.
3165 (grub_efi_bios_device_path): Likewise.
3166
cb8f88ea
VS
31672011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3168
3169 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
3170 (grub_ucs4_to_utf8_alloc): Likewise.
3171 (grub_ucs4_to_utf8): Likewise.
3172 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
3173 (grub_ucs4_to_utf8_alloc): Likewise.
3174
309e5352
VS
31752011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3176
3177 AFFS never uses unicode.
3178
3179 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
3180 (grub_latin1_to_utf8): New inline function.
3181 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
3182
e7987e1b
VS
31832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
3186 overflow.
3187
efc2616e
VS
31882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3189
3190 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
3191 (grub_squash_dirent_header): Likewise.
3192 (read_chunk): Don't double swap.
3193 (grub_squash_iterate_dir): Fix swap sizes.
3194
3c349f5a
VS
31952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
3198
b453412d
VS
31992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
3202 (grub_hfs_iterate_dir): Likewise.
3203
12e9d4d1
VS
32042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3205
3206 Fix video on platforms where unaligned access is forbidden.
3207 Make several optimisations while on it.
3208
3209 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
3210 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
3211 (grub_video_fbblit_replace_32bit_1bit): Likewise.
3212 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
3213 Disable.
3214 (grub_video_fbblit_replace_16bit_1bit):
3215 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
3216 (grub_video_fbblit_replace_8bit_1bit): Likewise.
3217 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
3218 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
3219 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
3220 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
3221 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
3222 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
3223 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
3224 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
3225 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
3226 (grub_video_fbblit_replace_index_RGB888): Likewise.
3227 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
3228 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
3229 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
3230 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
3231 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
3232 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
3233 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
3234 Disable.
3235 (grub_video_fbblit_blend_XXX565_1bit):
3236 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
3237 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
3238 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
3239 void *.
3240 * grub-core/video/fb/video_fb.c (common_blitter)
3241 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
3242 (grub_video_fb_create_render_target_from_pointer)
3243 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
3244 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
3245 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
3246 definition.
3247 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
3248
ace96609
VS
32492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3250
3251 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
3252 HH22 and HM10 relocations.
3253
fd261d73
VS
32542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
3257
e59b7857
VS
32582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3259
3260 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
3261 allocation succeeded.
3262
9b4baaa4
VS
32632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
3266 argument a u8 pointer. All users updated.
3267 Handle unaligned buffers.
3268
dc713193
VS
32692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
3272 add_part to workaround compiler bug.
3273
30dd48c2
VS
32742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3275
3276 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
3277
0c6087a8
VS
32782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
3281 Reserve alignment invariants.
3282 (grub_multiboot_load): Likewise.
3283 (retrieve_video_parameters): Likewise.
3284 (grub_multiboot_make_mbi): Likewise.
3285
c2e77777
VS
32862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
3289 incorrect pointer.
3290
b70b6d11
VS
32912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
3294 (grub_pata_pio_write): Likewise.
3295
02a2bf83
VS
32962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3297
3298 Add noreturn attributes and remove unreachable code.
3299
3300 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
3301 code.
3302 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
3303 code. Mark as noreturn.
3304 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
3305 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
3306 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
3307 unreachable code.
3308 * grub-core/kern/main.c (grub_main): Mark as noreturn.
3309 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
3310 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
3311 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
3312 * include/grub/kernel.h (grub_main): Mark as noreturn.
3313 * include/grub/reader.h (grub_rescue_run): Likewise.
3314
2019d09e
VS
33152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3316
3317 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
3318 redundant declaration.
3319
d1c501ee
VS
33202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3321
3322 * include/grub/net.h (grub_net_network_level_interfaces): Remove
3323 redundant declaration.
3324 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
3325
61664420
VS
33262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
3329 to ensure alignment.
3330 (grub_hdparm_print_identify): Make argument uint16 * to ensure
3331 alignment. Ensure tmp alignment.
3332 (grub_cmd_hdparm): Ensure buf alignment.
3333 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
3334 to ensure alignment.
3335 (grub_ata_dumpinfo): Ensure text alignment.
3336 (grub_atapi_identify): Preserve alignment invariant.
3337 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
3338
0d51ee20
VS
33392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
3342 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
3343 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
3344 * include/grub/misc.h (grub_reboot)
3345 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
3346 (grub_halt) [__mips__]: Likewise.
3347
753ef8c1
VS
33482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
3351 Remove redundant declaration.
3352 (grub_mmap_get_post64): Likewise.
3353 (grub_mmap_get_upper): Likewise.
3354 (grub_mmap_get_lower): Likewise.
3355
85c85365
VS
33562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3357
3358 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
3359 uint32_t * to ensure alignment.
3360 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
3361
a23f2cc4
VS
33622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3363
93018f64
VS
3364 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
3365 uint16_t * to ensure alignment.
3366 (sun_pc_partition_map_iterate): Make `block' a union to ensure
3367 alignment.
3368
33692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3370
3371 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
3372 to ensure alignment.
3373 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
3374
58acccd6
VS
33752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 * grub-core/fs/ntfs.c (u16at): Make into inline function.
3378 Handle unaligned pointers.
3379 (u32at): Likewise.
3380 (u64at): Likewise.
3381 (fixup): Use byte access instead of v16at.
3382 (find_attr): Fix imporper usage of v32at.
3383 (read_data): Likewise.
3384 (list_file): Handle byte-swapping and unaligned strings.
3385 (grub_ntfs_label): Likewise.
3386
9b05cad7
VS
33872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3388
3389 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
3390 as it's not necessarily aligned.
3391
b3950b84
VS
33922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3393
3394 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
3395 redundant declaration.
3396 (grub_serial_init): Likewise.
3397 (grub_terminfo_init): Likewise.
3398
fcd232b7
VS
33992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
3402 function.
3403 (ZAP_HASH_IDX): Likewise.
3404 (ZAP_LEAF_HASH_SHIFT): Likewise.
3405 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
3406 (LEAF_HASH): Likewise.
3407 (ZAP_LEAF_NUMCHUNKS): Likewise.
3408 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
3409 alignment invariants. Return pointer. All users updated.
3410 (ZAP_LEAF_ENTRY): Make into inline function.
3411 (NBBY): Removed.
3412 (xor): LIkewise.
3413 (xor_out): Use grub_crypto_xor.
3414 (dnode_get_path): Use grub_get_unaligned.
3415 (nvlist_find_value): Likewise.
3416 (grub_zfs_nvlist_lookup_uint64): Likewise.
3417 (grub_zfs_nvlist_lookup_string): Likewise.
3418 (get_nvlist_size): Likewise.
3419 (grub_zfs_open): Likewise.
3420 (fill_fs_info): Likewise.
3421 (grub_zfs_dir): Likewise.
3422 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
3423 alignment invariants.
3424 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
3425 necessarily aligned.
3426
f138623a
VS
34272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3428
3429 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
3430
564840dc
VS
34312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
3434 arithmetic to conserve alignment invariants.
3435
9b40df20
VS
34362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
3439 redundant declaration.
3440 (grub_efiemu_mm_obtain_request): Likewise.
3441 (grub_efiemu_prepare): Likewise.
3442
d1c930f9
VS
34432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3444
3445 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
3446 to match types.
3447
4c5f3056
VS
34482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3449
3450 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
3451 case of aunaligned recptr.
3452 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
3453 alignment.
3454 (grub_hfsplus_btree_search): Handle unaligned index.
3455
728cba91
VS
34562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3457
3458 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
3459 to get freetag and skip.
3460
eb561f31
VS
34612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3462
3463 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
3464 array.
3465 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
3466 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
3467
20993fbb
VS
34682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3469
3470 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
3471 name for checksum and fix allocation algorithm.
3472
1f313b94
VS
34732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3474
3475 * include/grub/types.h (grub_properly_aligned_t): New type.
3476 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
3477 (grub_get_unaligned16): Add explicit casts.
3478 (grub_get_unaligned32): Likewise.
3479 (grub_get_unaligned64): Likewise.
3480 (grub_set_unaligned16): New function.
3481 (grub_set_unaligned32): Likewise.
3482
47ae27ec
VS
34832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3484
3485 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
3486
78c2cd1c
VS
34872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3488
3489 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
3490 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
3491 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
3492
53072f9b
VS
34932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3494
3495 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
3496 conditionals.
3497
055dc239
VS
34982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3499
3500 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
3501 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
3502
496bd074
VS
35032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3504
3505 Unify and improve RAID and crypto xor.
3506
3507 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
3508 changed to grub_crypto_xor
3509 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
3510 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
3511 Use bigger types when possible.
3512
ef6e4335
VS
35132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 * grub-core/disk/raid.c (scan_devices): Fix condition.
3516
5d048bf2
VS
35172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3518
3519 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
3520 Make name a const ptr.
3521
ee533335
VS
35222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
3525 first argument a const pointer.
3526 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
3527 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
3528 proto.
3529 (grub_children_iterate): Likewise.
3530 (grub_machine_mmap_iterate): Remove redundant declaration.
3531
cc8f3668
VS
35322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
3535 (grub_cmd_acpi) [!x86]: Disable EBDA.
3536
c5fc563a
VS
35372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3538
3539 Enable UTF8 in gnulib regexp.
3540
3541 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
3542 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
3543 (isupper): Use grub_isupper.
3544 (isascii): New inline function.
3545 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
3546 * grub-core/lib/posix_wrap/wctype.h: Likewise.
3547 * grub-core/normal/charset.c (grub_utf8_process): New function.
3548 (grub_utf8_to_utf16): Use grub_utf8_process.
3549 (grub_encode_utf8_character): New function.
3550 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
3551 * include/grub/charset.h (grub_utf8_process): New declaration.
3552 (grub_encode_utf8_character): Likewise.
3553 * include/grub/misc.h (grub_islower): New inline function.
3554 (grub_isupper): Likewise.
3555 (grub_strchrsub): Moved down to fix the definitions.
3556
0af2346f
VS
35572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3558
3559 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
3560 specification.
3561
74dbd244
VS
35622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3563
3564 * include/grub/loader.h (grub_loader_register_preboot_hook):
3565 Use struct preboot * and not void * for handle. All users updated.
3566 (grub_loader_unregister_preboot_hook): Likewise.
3567
1bc8f60d
VS
35682011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
3569
3570 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
3571 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
3572 UTF-16-BE. All users updated.
3573 (grub_hfsplus_cmp_catkey): Fix unicode handling.
3574 (grub_hfsplus_iterate_dir): Likewise.
3575 (grub_hfsplus_label): Likewise.
3576
48d6e456
VS
35772011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
3578
3579 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
3580
bf3a3857
VS
35812011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
3582
3583 Add missing const qualifiers.
3584
3585 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
3586 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
3587 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
3588 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
3589 (grub_lvm_check_flag): Likewise.
3590 * grub-core/efiemu/i386/coredetect.c
3591 (grub_efiemu_get_default_core_name): Likewise
3592 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
3593 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
3594 * grub-core/fs/ntfs.c (fixup): Likewise.
3595 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
3596 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
3597 (fzap_lookup): Likewise.
3598 (zap_lookup): Likewise.
3599 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
3600 * grub-core/lib/legacy_parse.c (check_option): Likewise.
3601 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
3602 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
3603 (grub_freebsd_add_meta_module): Likewise.
3604 (grub_cmd_freebsd_module): Likewise.
3605 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
3606 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
3607 (grub_xnu_writetree_get_size): Likewise.
3608 (grub_xnu_writetree_toheap_real): Likewise.
3609 (grub_xnu_find_key): Likewise.
3610 (grub_xnu_create_key): Likewise.
3611 (grub_xnu_create_value): Likewise.
3612 (grub_xnu_register_memory): Likewise.
3613 (grub_xnu_check_os_bundle_required): Likewise.
3614 (grub_xnu_scan_dir_for_kexts): Likewise.
3615 (grub_xnu_load_kext_from_dir): Likewise.
3616 * grub-core/normal/color.c (color_list): Likewise.
3617 * grub-core/normal/completion.c (current_word): Likewise.
3618 * grub-core/normal/menu_entry.c (insert_string): Likewise.
3619 * grub-core/term/serial.c (grub_serial_find): Likewise.
3620 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
3621 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
3622 Likewise.
3623 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
3624 (grub_freebsd_add_meta_module): Likewise.
3625 * include/grub/lib/arg.h (grub_arg_option): Likewise.
3626 * include/grub/net.h (grub_net_card_driver): Likewise.
3627 (grub_net_card): Likewise.
3628 (grub_net_app_protocol): Likewise.
3629 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
3630 * include/grub/serial.h (grub_serial_find): Likewise.
3631 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
3632 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
3633 (grub_xnu_create_value): Likewise.
3634 (grub_xnu_find_key): Likewise.
3635 (grub_xnu_scan_dir_for_kexts): Likewise.
3636 (grub_xnu_load_kext_from_dir): Likewise.
3637
3638 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
3639 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
3640 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
3641 Moved from here ...
3642 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
3643
112b4837
CW
36442011-11-28 Colin Watson <cjwatson@ubuntu.com>
3645
3646 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
3647
49e891ac
VS
36482011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
3649
3650 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
3651 (read_device): Fix size calculation.
3652
fd258e5c
RM
36532011-11-25 Robert Millan <rmh@gnu.org>
3654
3655 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
3656 (find_root_device_from_libzfs): Add zpool output parser to be used
3657 as fallback when libzfs isn't available.
3658
78845dc2
SG
36592011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
3660
3661 * po/Makefile.in.in: Add missing escape-continuation.
3662
adac5211
VS
36632011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
3664
3665 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
3666
10b64f1c
VS
36672011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3668
3669 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
3670
bb416954
VS
36712011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
3674
bdfe9eeb
VS
36752011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
3678
581ffa8a
VS
36792011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 * grub-core/lib/adler32.c: Add missing license specification.
3682 * grub-core/lib/crc64.c: Likewise.
3683 * grub-core/loader/i386/pc/plan9.c: Likewise.
3684 * grub-core/partmap/plan.c: Likewise.
3685
2536cf64
LK
36862011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
3687
3688 Add facility to debug GRUB with gdb under qemu.
3689
3690 * grub-core/gdb_grub.in: New file.
3691 * grub-core/gmodule.pl.in: Likewise.
3692 * grub-core/Makefile.core.def (gmodule.pl): New script.
3693 (gdb_grub): Likewise.
3694
bc108a4a
VS
36952011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * util/grub-mount.c (argp_parser): Accept relative pathes.
3698 * util/grub-fstest.c (argp_parser): Likewise.
3699
111c1778
VS
37002011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 Plan9 support.
3703
3704 * Makefile.util.def (libgrubmods): Add
3705 grub-core/partmap/plan.c.
3706 * docs/grub.texi: Notice Plan9 support.
3707 * grub-core/Makefile.core.def (plan9): New module.
3708 (part_plan): Likewise.
3709 * grub-core/loader/i386/pc/plan9.c: New file.
3710 * grub-core/partmap/plan.c: Likewise.
3711 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
3712 define.
3713 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
3714 * include/grub/mm.h (grub_extend_alloc): New inline function.
3715
c30be3b6
VS
37162011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3717
3718 Make Reed-Solomon faster by using power of generator representation of
3719 GF(256)*.
3720
3721 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
3722 (gf_double_t): Likewise.
3723 (gf_invert): Removed.
3724 (gf_powx): New array.
3725 (gf_powx_inv): Likewise.
3726 (scratch): Move higher.
3727 (gf_reduce): Removed.
3728 (gf_mul): Use powx.
3729 (gf_invert): Likewise.
3730 (init_inverts): Replaced with ...
3731 (init_powx): ...this. All users updated.
3732 (pol_evaluate): Replace multiplications with additions.
3733 (rs_encode): Likewise.
3734 (gauss_eliminate): Call gf_invert.
3735 (grub_reed_solomon_add_redundancy): Call init_powx.
3736 (grub_reed_solomon_recover): Call init_powx unconditionally.
3737
fa5aeffc
VS
37382011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3739
3740 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
3741
a346b81c
VS
37422011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
3745 disk->partiton for safety.
3746
d89ee414
VS
37472011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3748
3749 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
3750 Fix a memory leak.
3751 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
3752
91ee7b6d
VS
37532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3754
3755 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
3756
91e5a33d
VS
37572011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3758
3759 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
3760
9edd7be2
VS
37612011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 Fix spaces handling in proc/self/mountinfo.
3764
3765 * util/getroot.c (unescape): New function.
3766 (grub_find_root_device_from_mountinfo): Use unescape.
3767
ba102053
VS
37682011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 Support ZFS embedding.
3771
3772 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
3773 (grub_zfs_fs): Register grub_zfs_embed.
3774
aa94b870
VS
37752011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 Fix MIPS compilation.
3778
3779 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
3780 * include/grub/offsets.h: Rename decompressor fields from
3781 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
3782 * util/grub-mkimage.c (image_targets): Use new names.
3783
5fbdac14
VS
37842011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3785
3786 Defer multiboot device parsing until we're in compressed part.
3787
3788 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
3789 bsd_part. setdevice has fallen into disuse.
3790 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
3791 (bsd_part): Likewise.
3792 (boot_dev): New variable.
3793 (multiboot_trampoline): Don't parse multiboot device.
3794 Pass multiboot device in %edx.
3795 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
3796 grub_boot_device.
3797 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
3798 Likewise.
3799 * grub-core/kern/i386/pc/startup.S: Save edx.
3800 (grub_boot_drive): Removed.
3801 (grub_install_dos_part): Likewise.
3802 (grub_install_bsd_part): Likewise.
3803 (grub_boot_device): New variable.
3804 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
3805 (grub_install_bsd_part): Likewise.
3806 (grub_boot_drive): Likewise.
3807 (grub_boot_device): New variable.
3808 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
3809 Removed.
3810 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
3811 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
3812 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
3813 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
3814 * util/grub-install.in: Remove redundant condition.
3815
691cbb58
VS
38162011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3817
3818 Fix bug introduced by previous commit.
3819
3820 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
3821
60240b8b
VS
38222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 Use decompressors framework on i386-pc. It increases core size
3825 by 46 bytes but improves compatibility and maintainability.
3826
3827 * grub-core/Makefile.core.def (lzma_decompress): New image.
3828 (kernel): Add i386_pc_ldflags.
3829 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
3830 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
3831 to real_to_prot, prot_to_real and device info.
3832 * include/grub/offsets.h: Renamed decompressor offsets.
3833 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
3834 (image_target_desc): Remove raw_size and rename decompressor fields.
3835 (compress_kernel): Handle lzma.
3836 (generate_image): Handle decompressors on i386-pc.
3837
e9d3421c
VS
38382011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3839
3840 * configure.ac: Add -fno-asynchronous-unwind-tables.
3841
2b23074a
VS
38422011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3843
3844 Move assembly code to C by using intwrap. It increases core size
3845 by 88 bytes but improves compatibility and maintainability.
3846
3847 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
3848 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
3849 ... here. Translated to C.
3850 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
3851 * grub-core/term/i386/pc/console.c (grub_console_getkey):
3852 ... here. Translated to C.
3853 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
3854 * grub-core/term/i386/pc/console.c (grub_console_getxy):
3855 ... here. Translated to C.
3856 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
3857 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
3858 ... here. Translated to C.
3859 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
3860 * grub-core/term/i386/pc/console.c (grub_console_cls):
3861 ... here. Translated to C.
3862 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
3863 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
3864 ... here. Translated to C.
3865 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
3866 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
3867 Translated to C.
3868 * grub-core/term/i386/pc/console.c (int10_9): New function.
3869 (grub_console_putchar): Likewise.
3870 * include/grub/i386/pc/console.h: Removed the not anymore shared
3871 functions.
3872
678f4b67
VS
38732011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3874
3875 Move grub_chainloader_real_boot out of the kernel.
3876
3877 * grub-core/Makefile.am: Remove machine/loader.h.
3878 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
3879 Removed.
3880 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
3881 variable.
3882 (grub_relocator16_keep_a20_enabled): Likewise.
3883 (grub_relocator16_boot): Fill new variables.
3884 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
3885 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
3886 relocator.
3887 (grub_chainloader_unload): Likewise.
3888 (grub_chainloader_cmd): Likewise.
3889 * include/grub/i386/pc/loader.h: Removed.
3890 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
3891 and esi. All initialisers updated.
3892
4626edf6
VS
38932011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
38942011-11-12 Colin Watson <cjwatson@ubuntu.com>
3895
3896 * Makefile.util.def (grub-mount): New util.
3897 * .bzrignore: Add grub-mount.
3898 * configure.ac: Check for fuse and enable grub-mount if available.
3899 * docs/man/grub-mount.h2m: New file.
3900 * util/grub-mount.c: Likewise.
3901
10f0117b
VS
39022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3903
3904 * grub-core/commands/efi/fixvideo.c: Gettextize.
3905 * grub-core/commands/hashsum.c: Likewise.
3906 * grub-core/commands/i386/cmostest.c: Likewise.
3907 * grub-core/commands/i386/pc/drivemap.c: Likewise.
3908 * grub-core/commands/i386/pc/lsapm.c: Likewise.
3909 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3910 * grub-core/commands/lsmmap.c: Likewise.
3911 * grub-core/commands/menuentry.c: Likewise.
3912 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3913 * grub-core/commands/setpci.c: Likewise.
3914 * grub-core/loader/i386/bsd.c: Likewise.
3915 * grub-core/loader/i386/linux.c: Likewise.
3916 * util/getroot.c: Likewise.
3917 * util/grub-editenv.c: Likewise.
3918 * util/grub-fstest.c: Likewise.
3919 * util/grub-mkfont.c: Likewise.
3920 * util/grub-mkimage.c: Likewise.
3921 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3922 * util/grub-pe2elf.c: Likewise.
3923 * util/grub-probe.c: Likewise.
3924 * util/grub-setup.c: Likewise.
3925 * util/ieee1275/ofpath.c: Likewise.
3926 * util/misc.c: Likewise.
3927 * util/raid.c: Likewise.
3928
566f779b
RM
39292011-11-11 Robert Millan <rmh@gnu.org>
3930
3931 * util/getroot.c (grub_util_get_geom_abstraction): Remove
3932 __attribute__((unused)) from `os_dev', which *is* being used.
3933
b50787de
VS
39342011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
3937 forgotten define.
3938 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
3939 GRUB_IA64_DL_GOT_ALIGN.
3940 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
3941 GRUB_IA64_DL_TRAMP_ALIGN.
3942
119d11c8
VS
39432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 Replace grub_fatal with normal errors in i386 linux loader.
3946
3947 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
3948 (allocate_pages): Check find_efi_mmap_size return value.
3949 (grub_e820_add_region): Return error.
3950 (grub_linux_boot): Check mmap return value.
3951
6e0632e2
VS
39522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3953
3954 * grub-core/commands/acpihalt.c: Gettextized.
3955 * grub-core/commands/cacheinfo.c: Likewise.
3956 * grub-core/commands/cmp.c: Likewise.
3957 * grub-core/commands/efi/loadbios.c: Likewise.
3958 * grub-core/commands/gptsync.c: Likewise.
3959 * grub-core/commands/ieee1275/suspend.c: Likewise.
3960 * grub-core/commands/legacycfg.c: Likewise.
3961 * grub-core/commands/memrw.c: Likewise.
3962 * grub-core/commands/minicmd.c: Likewise.
3963 * grub-core/commands/parttool.c: Likewise.
3964 * grub-core/commands/time.c: Likewise.
3965 * grub-core/commands/videoinfo.c: Likewise.
3966 * grub-core/disk/geli.c: Likewise.
3967 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
3968 * grub-core/disk/luks.c: Likewise.
3969 * grub-core/disk/lvm.c: Likewise.
3970 * grub-core/font/font_cmd.c: Likewise.
3971 * grub-core/fs/zfs/zfscrypt.c: Likewise.
3972 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3973 * grub-core/gfxmenu/view.c: Likewise.
3974 * grub-core/kern/emu/hostdisk.c: Likewise.
3975 * grub-core/kern/emu/main.c: Likewise.
3976 * grub-core/kern/emu/misc.c: Likewise.
3977 * grub-core/kern/emu/mm.c: Likewise.
3978 * grub-core/kern/mips/arc/init.c: Likewise.
3979 * grub-core/kern/mips/loongson/init.c: Likewise.
3980 * grub-core/kern/partition.c: Likewise.
3981 * grub-core/lib/i386/halt.c: Likewise.
3982 * grub-core/lib/mips/arc/reboot.c: Likewise.
3983 * grub-core/lib/mips/loongson/reboot.c: Likewise.
3984 * grub-core/loader/i386/pc/chainloader.c: Likewise.
3985 * grub-core/loader/i386/xnu.c: Likewise.
3986 * grub-core/loader/multiboot.c: Likewise.
3987 * grub-core/net/bootp.c: Likewise.
3988 * grub-core/net/net.c: Likewise.
3989 * grub-core/normal/term.c: Likewise.
3990 * grub-core/partmap/bsdlabel.c: Likewise.
3991 * grub-core/parttool/msdospart.c: Likewise.
3992 * grub-core/term/gfxterm.c: Likewise.
3993 * grub-core/term/terminfo.c: Likewise.
3994 * grub-core/video/i386/pc/vbe.c: Likewise.
3995 * util/grub-menulst2cfg.c: Likewise.
3996 * util/grub-mkdevicemap.c: Likewise.
3997 * util/grub-mklayout.c: Likewise.
3998 * util/grub-mkrelpath.c: Likewise.
3999 * util/grub-script-check.c: Likewise.
4000 * util/ieee1275/grub-ofpathname.c: Likewise.
4001 * util/resolve.c: Likewise.
4002
073aa7a9
VS
40032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4004
4005 Support %1$d syntax.
4006
4007 * tests/printf_unit_test.c: New file.
4008 * Makefile.util.def (printf_test): New test.
4009 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
4010
c76b5417
VS
40112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
4014 fix.
4015
df067ad1
VS
40162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4017
4018 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
4019 dprintf.
4020 * grub-core/font/font.c (grub_font_load): Likewise.
4021
5b289bc5
VS
40222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4023
4024 * util/grub-macho2img.c: Add comment concerning gettext.
4025 * grub-core/lib/legacy_parse.c: Likewise.
4026
c1860f87
VS
40272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4028
4029 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
4030 (grub_xvasprintf): Likewise.
4031
d35d0d37
VS
40322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4033
4034 Add const keyword to grub_env_get and gettextize week days.
4035
4036 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
4037 (grub_read_hook_datetime): Return const char *.
4038 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
4039 updated.
4040 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
4041 Mark for gettext.
4042 (grub_get_weekday_name): Return const char *. Call gettext.
4043 * grub-core/script/argv.c (grub_script_argv_append): Receive const
4044 char * and len as the argument. All users updated.
4045 (grub_script_argv_split_append): Receive const char *.
4046 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
4047 * include/grub/env.h (grub_env_get): Likewise.
4048 (grub_env_read_hook_t): Return const char *.
4049 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
4050 (grub_script_argv_split_append): Likewise.
4051
9aed8a71
VS
40522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4053
4054 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
4055
067fdf00
VS
40562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4057
4058 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
4059 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
4060
a8bd9d39
VS
40612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4062
4063 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
4064 Fix prototype.
4065
f7ce5baf
VS
40662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 Fix mips compilation.
4069
4070 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
4071 normal decoder.
4072 (hashes): Use in embed decoder as well (for sizes).
4073 (dec_stream_header): Fix embed decompressor logic.
4074 (dec_stream_footer): Likewise.
4075
9bb182f3
VS
40762011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4077
4078 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
4079 an error and not a fatal on unrecognised relocation types.
4080
63a9e6f6
VS
40812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
4084 Issue error rather than printf on unknown arguments.
4085
4c458569
VS
40862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
4089 Make buf a const.
4090
e2d22baf
VS
40912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4092
4093 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
4094 Fix module name.
4095
53dc8590
VS
40962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4097
4098 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
4099 leftover debug printf.
4100
6c189294
VS
41012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4102
4103 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
4104
f7688369
VS
41052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
4108 A stylistic fix.
4109
11a775a3
VS
41102011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4111
4112 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
4113
33f784e8
SL
41142011-11-10 Shea Levy <slevy@tieronedesign.com>
4115
4116 Allow all modules to perform serial IO
4117
4118 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
4119 * include/grub/serial.h (grub_serial_port_configure): New inline
4120 function.
4121 (grub_serial_port_fetch): Likewise.
4122 (grub_serial_port_put): Likewise.
4123 (grub_serial_port_fini): Likewise.
4124 (grub_serial_find): New proto.
4125
f6276525
VS
41262011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4127
4128 Put symlink at the end of the node and fix a potential
4129 memory corruption.
4130
4131 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
4132 Make symlink into an array.
4133 (set_rockridge): Set have_symlink and alloc_dirents.
4134 (grub_iso9660_read_symlink): Use new layout.
4135 (grub_iso9660_iterate_dir): Fix memory corruption.
4136 Use new layout.
4137 (grub_iso9660_dir): Set have_symlink.
4138 (grub_iso9660_open): Likewise.
4139
c3591189
VS
41402011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4141
4142 Remove local keyword.
4143
4144 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
4145 (version_test_gt): Likewise.
4146 (version_find_latest): Likewise.
4147 (gettext_printf): Likewise.
4148 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
4149
cb544caa
VS
41502011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4151
4152 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
4153
45bd824d
VS
41542011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4155
4156 Fix ZFS memory and resource leaks.
4157
4158 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
4159 All users updated.
4160 Free type on exit.
4161 (fill_vdev_info): New parameter inserted. All users updated.
4162 (check_pool_label): Likewise.
4163 (scan_disk): Likewise.
4164 (scan_devices): Close non-inserted disks.
4165 (fzap_iterate): Free l.
4166 (unmount_device): Free children descripto memory.
4167
ad9a2f44
VS
41682011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4169
4170 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
4171 argument (access out of bounds).
4172
6b68db81
VS
41732011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4174
4175 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
4176 >= 6 drives.
4177
28840fda
VS
41782011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4179
4180 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
4181 Fix declaration.
4182
8a5a3a5b
VS
41832011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4184
4185 Fix several memory leaks.
4186
4187 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
4188 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
4189 (grub_cpio_dir): Likewise.
4190 * grub-core/fs/fat.c (grub_fat_label): Likewise.
4191 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
4192 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
4193 (grub_romfs_label): Likewise.
4194 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
4195 (squash_unmount): New function.
4196 (grub_squash_dir): Fix memory leak.
4197 (grub_squash_open): Likewise.
4198 (grub_squash_read): Likewise.
4199 (grub_squash_mtime): Likewise.
4200 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
4201 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
4202 * util/grub-fstest.c (fstest): Likewise.
4203
57b01250
VS
42042011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4205
4206 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
4207 avoid accessing beyond the array.
4208
19e81ba7
VS
42092011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
4212
52b656c0
VS
42132011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4214
4215 Several AFFS fixes.
4216
4217 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
4218 (GRUB_AFFS_FLAG_FFS): Removed.
4219 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
4220 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
4221 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
4222 (grub_fshelp_node): Make block 32-bit.
4223 Add block_cache and last_block_cache.
4224 (grub_affs_read_block): Fill and use block cache.
4225 (grub_affs_read_file): Removed.
4226 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
4227 boot block.
4228 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
4229 safety.
4230 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
4231 space.
4232 (grub_affs_close): Free block cache.
4233 (grub_affs_read): Use grub_fshelp_read_file directly.
4234
438a746a
VS
42352011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4236
4237 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
4238 with no error set.
4239
49a45021
VS
42402011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4241
4242 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
4243 used variable.
4244 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
4245 Likewise.
4246
3ae17eb8
VS
42472011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
4250
4251 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
4252 byteswap when needed.
4253
27610c38
VS
42542011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4255
4256 Fix FreeBSD compilation.
4257
4258 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
4259 to avoid circular dependency.
4260 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
4261 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
4262 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
4263
4a19b601
VS
42642011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4265
4266 Fix ZFS crypto error types.
4267
4268 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
4269 (grub_gcm_decrypt): Likewise.
4270 (grub_zfs_load_key_real): Fix error code type. Handle possible error
4271 from PBKDF2.
4272
958ee221
VS
42732011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 Illumos support.
4276
4277 * Makefile.util.def (10_illumos): New script.
4278 * configure.ac: Set COND_HOST_ILLUMOS.
4279 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
4280 Support Illumos calls.
4281 (find_partition_start) [__sun__]: Likewise.
4282 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
4283 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
4284 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
4285 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
4286 device.
4287 * util/grub-probe.c (probe) [__sun__]: Do character check.
4288 * util/grub.d/10_illumos.in: New file.
4289
cac14fb6
VS
42902011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 Support escaped commas in hostdisk.
4293
4294 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
4295 (find_grub_drive): Use unescape_cmp.
4296 (make_device_name): Escape commas.
4297
78e08dc3
VS
42982011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
4301
9f421dd1
VS
43022011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
4305 variable.
4306
ed64e9e2
VS
43072011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4308
4309 Support trampoline jumps on powerpc.
4310
4311 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
4312 __ia64__ path.
4313 (grub_dl_load_segments): Set mod->sz.
4314 (grub_dl_flush_cache): Flush whole space occupied by module, not just
4315 segments.
4316 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
4317 (jump): Likewise.
4318 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
4319 function.
4320 (trampoline): New struct.
4321 (trampoline_template): New const.
4322 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
4323 * include/grub/dl.h (grub_dl): Add sz element.
4324 [__powerpc__]: Follow __ia64__.
4325 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
4326 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
4327 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
4328 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
4329
3084ede4
VS
43302011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 ZFS crypto support.
4333
4334 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
4335 * grub-core/Makefile.core.def (zfscrypt): New module.
4336 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
4337 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
4338 it. All users updated.
4339 (grub_zfs_decrypt): New var.
4340 (grub_zfs_load_key): Likewise.
4341 (zio_checksum_functions): Add SHA256+MAC.
4342 (zio_checksum_verify): Handle incomplete comparison due to MAC.
4343 (zio_read): Handle encrypted blocks.
4344 (zap_verify): Remove incorrect check.
4345 (fzap_iterate): Handle non-standard fzap.
4346 (zap_iterate): Likewise.
4347 (zap_iterate_u64): New function.
4348 (dnode_get_fullpath): Load keys.
4349 * grub-core/fs/zfs/zfscrypt.c: New file.
4350 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
4351 (grub_crypto_ecb_encrypt): Make input const.
4352 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
4353 (grub_crypto_ecb_encrypt): Make input const.
4354 (GRUB_CIPHER_AES): New macro.
4355 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
4356 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
4357 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
4358 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
4359 prefix. All users updated.
4360 (grub_zfs_add_key): New proto.
4361 (grub_zfs_decrypt): Likewise.
4362 (grub_zfs_load_key): Likewise.
4363 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
4364 * util/grub-fstest.c (options): Add -K option.
4365 (argp_parser): Likewise.
4366
b632b404
VS
43672011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4368
4369 Support zle compression on ZFS.
4370
4371 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
4372 (decomp_table): Add zle.
4373 * include/grub/zfs/zio.h (zio_compress): Add zle.
4374
c7ba4f69
VS
43752011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 Support BtrFS embedding.
4378
4379 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
4380 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
4381 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
4382 * util/grub-setup.c (setup): Use fs embedding if available.
4383 Add additional sanity check.
4384
455377d9
VS
43852011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4386
4387 * util/grub-install.in: Fix condition for config_opt.
4388
c2fd16ca
VS
43892011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4390
4391 Support third redundancy strip on raidz3.
4392
4393 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
4394 Return error on singularity. All users updated.
4395 (read_device): Don't stop on 3rd failure on raidz3.
4396
8622923b
VS
43972011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4398
4399 Support case-insensitive ZFS subvolumes.
4400
4401 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
4402 All users updated.
4403 (zap_hash): Likewise.
4404 (name_cmp): New function.
4405 (zap_leaf_array_equal): New parameter case_insensitive.
4406 All users updated.
4407 (zap_leaf_lookup): Likewise.
4408 (fzap_lookup): Likewise.
4409 (zap_lookup): Likewise.
4410 (dnode_get_path): New parameter case_insensitive. Retrieve case
4411 sensitiviness of a volume. All users updated.
4412 (dnode_get_fullpath): New parameter case_insensitive.
4413 All users updated.
4414 (grub_zfs_dir): Set info.case_insensitiveness.
4415
95f2e860
VS
44162011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4417
4418 Support second redundancy strip on raidz(2,3).
4419
4420 * grub-core/fs/zfs/zfs.c (powx): New array.
4421 (powx_inv): Likewise.
4422 (poly): New const.
4423 (xor_out): New function.
4424 (gf_mul): Likewise.
4425 (recovery): Likewise.
4426 (read_device): Use second redundancy strip.
4427
11ee4389
VS
44282011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 Use a power of generator representation of GF(256) multiplication group
4431 to save space time and complexity.
4432
4433 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
4434 (raid6_table2): Likewise.
4435 (powx): New array.
4436 (powx_inv): Likewise.
4437 (poly): New const.
4438 (grub_raid_block_mul): Replace with ...
4439 (grub_raid_block_mulx): ...this.
4440 (grub_raid6_init_table): Rewritten.
4441 (grub_raid6_recover): Use power of generator representation.
4442
09e2763f
VS
44432011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4444
4445 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
4446 for the right device.
4447
8bec9a28
VS
44482011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
4451 expected by grub-mkimage and it's more clear since there is no implicit
4452 padding.
4453
dbd3a32e
VS
44542011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
4457 disk.
4458 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
4459
182c872a
PMH
44602011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
4461
4462 * util/grub-mkrescue.in: Fix handling xorriso option.
4463
1e51cabd
VS
44642011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4465
4466 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
4467 NULL.
4468
9cc3581d 44692011-11-03 crocket <crockabiscuit@gmail.com>
4470
4471 * util/grub.d/10_linux.in: Add Slackware initrd naming.
4472
158dc1ea
VS
44732011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 XZ CRC64 and SHA256 support.
4476
4477 * Makefile.util.def (libgrubmods): Add crc64.c.
4478 * grub-core/Makefile.core.def (crc64): New module.
4479 * grub-core/lib/crc64.c: New file.
4480 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
4481 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
4482 Fix the type.
4483 (MAX_HASH_SIZE): New define.
4484 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
4485 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
4486 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
4487 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
4488 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
4489 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
4490 Handle non-crc32 hashes.
4491 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
4492 (dec_stream_header): Handle non-crc32 hashes.
4493 (dec_stream_footer): Likewise.
4494 (dec_block_header): Likewise.
4495 (dec_main): Likewise.
4496 (xz_dec_init): Likewise.
4497 (xz_dec_reset): Likewise.
4498 (xz_dec_end): Likewise.
4499 * util/import_gcry.py: Add CRC64 line.
4500
9d9b3d2f
VS
45012011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
4504 as well.
4505
7d0ac931
VS
45062011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4507
4508 Make reiserfs label retrieval similar to other *_label functions.
4509
4510 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
4511 (REISERFS_MAX_LABEL_LENGTH): Removed.
4512 (REISERFS_LABEL_OFFSET): Likewise.
4513 (grub_reiserfs_label): Rewritten.
4514
45152011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
4518 field.
4519
cf5ba824
VS
45202011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
4523
17744004
VS
45242011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
4525
4526 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
4527 drive failure on both raidz and raidz2.
4528
aca5aefc
VS
45292011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
4530
4531 Fix RAIDZ(2) for >= 5 devices.
4532
4533 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
4534 asize argument. All users updated.
4535
ce8ca56e
VS
45362011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4537
4538 Fix RAIDZ(2).
4539
4540 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
4541 (fill_vdev_info_real): Set ashift.
4542 (read_device): Rewrite RAIDZ part based on reverse engineering.
4543
7c01e783
VS
45442011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4545
4546 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
4547 don't report potentially unavialiable fields in debug output.
4548 (find_path): Fix double-free and memory leak.
4549
ce109e84
VS
45502011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4551
4552 Read label on UFS1.
4553
4554 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
4555 (grub_ufs_fs): Always set .label.
4556
87661123
VS
45572011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4558
4559 Use shifts in UFS.
4560
4561 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
4562 (grub_ufs_data): New field log2_blksz.
4563 (grub_ufs_read_file): Use shifts.
4564 (grub_ufs_mount): Check block size and logarithm it.
4565
46bc1dc2
VS
45662011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4567
4568 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
4569 long symlinks.
4570
19ee2987
VS
45712011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4572
4573 Handle symlinks and long names on tar and cpio.
4574
4575 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
4576 (ATTR_FILE): Likewise.
4577 (ATTR_DIR): Likewise.
4578 (ATTR_LNK): Likewise.
4579 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
4580 (grub_cpio_find_file): Fill mode, handle linkname field as well as
4581 L and K entries.
4582 (grub_cpio_mount): Zero-fill data.
4583 (handle_symlink): New function.
46bc1dc2
VS
4584 (grub_cpio_dir): Handle symlinks.
4585 (grub_cpio_open): Likewise.
4586 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 4587
c83a08d8
VS
45882011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 Fix iso9660 filename limitations and fix memory leaks.
4591
4592 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
4593 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
4594
45cdd3ea
VS
45952011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4596
4597 Fix JFS file name length limitations.
4598
4599 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
4600 (grub_jfs_diropen): Fix maximum filename length.
4601 (grub_jfs_getent): Fix filename length.
4602 (grub_jfs_lookup_symlink): Fix size checks.
4603
94ef05c2
VS
46042011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4605
4606 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
4607 string.
4608
785ab8c7
VS
46092011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4610
eb0b6b45
VS
4611 Leverage BFS implementation to read AFS.
4612
4613 * Makefile.util.def (libgrubmods): Add afs.c.
4614 * grub-core/Makefile.core.def (afs): New module
4615 * grub-core/fs/afs.c: New file.
4616 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
4617
46182011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4619
4620 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 4621
c4a1628f
VS
46222011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4623
4624 * grub-core/fs/bfs.c: Run indent.
4625
5825b379
VS
46262011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4627
4628 BFS implementation based on the specification.
4629
4630 * grub-core/fs/bfs.c: New file.
4631 * Makefile.util.def (libgrubmods): Add bfs.c.
4632 * grub-core/Makefile.core.def (bfs): New module.
4633
42b2a706
VS
46342011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4635
4636 * util/grub-fstest.c (cmd_cp): Clarify error message.
4637 (cmd_cmp): Likewise.
4638
61b99bfc
YB
46392011-10-30 Yves Blusseau <blusseau@zetam.org>
4640
4641 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
4642 and befs_be.
4643
faba3d16
VS
46442011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
4645
4646 Remove afs and befs because of copyright problem.
4647
4648 * grub-core/fs/afs.c: Removed.
4649 * grub-core/fs/afs_be.c: Removed.
4650 * grub-core/fs/befs.c: Removed.
4651 * grub-core/fs/befs_be.c: Removed.
4652 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
4653 * grub-core/Makefile.core.def (afs): Removed.
4654 (afs_be): Likewise.
4655 (befs): Likewise.
4656 (befs_be): Likewise.
4657
c39224b0
VS
46582011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 Prefer rockridge over Joliet.
4661
4662 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
4663 to ...
4664 (set_rockridge): ... here.
4665 (grub_iso9660_mount): Check rockridge on the primary label when
4666 discovering. Ignore Joliet if Rockridge is present.
4667
e551115a
VS
46682011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 Use shifts in nilfs2.
4671
4672 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
4673 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
4674 (grub_nilfs2_palloc_entries_per_group): Replace with ...
4675 (grub_nilfs2_log_palloc_entries_per_group): ... this.
4676 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
4677 (grub_nilfs2_entries_per_block): Replaced with ...
4678 (grub_nilfs2_log_entries_per_block_log): ... this.
4679 (grub_nilfs2_blocks_per_group): Replaced with ...
4680 (grub_nilfs2_blocks_per_group_log): ... this.
4681 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
4682 (grub_nilfs2_blocks_per_desc_block_log): ... this.
4683 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
4684 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
4685 (grub_nilfs2_palloc_entry_offset): Replaced ...
4686 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
4687 (grub_nilfs2_dat_translate): Use shifts.
4688 (grub_nilfs2_read_inode): Likewise.
4689 (GRUB_MOD_INIT): Ensure that logs are correct.
4690
564dd58c
VS
46912011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 Use shifts in minix filesystem.
4694
4695 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
4696 (GRUB_MINIX_ZONE2SECT): Likewise.
4697 (grub_minix_data): Replace block_size with log_block_size.
4698 (grub_minix_read_file): Use shifts.
4699 (grub_minix_mount): Check block size and take a logarithm.
4700
ed9ba06d
VS
47012011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 Use shifts in squash4.
4704
4705 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
4706 (squash_mount): Check block size and take logarithm.
4707 (direct_read): Use shifts.
4708
ad03fe76
VS
47092011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4710
4711 Correct befs block counting logic.
4712
4713 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
4714 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
4715 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
4716 (grub_afs_read_inode): Use block_shift.
4717 (RANGE_SHIFT): New definition.
4718 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
4719 unexpected conditions, use shifts and appropriate types.
4720 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
4721
6563f63d
VS
47222011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 * grub-core/disk/raid.c (scan_devices): Check partition.
4725 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
4726
5b1ae25f
VS
47272011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4728
4729 Support BFS (befs) UUID.
4730
4731 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
4732 (grub_afs_small_data_element_header): New struct.
4733 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
4734 (grub_afs_read_attribute) [MODE_BFS]: New function.
4735 (grub_afs_iterate_dir): Allocate for complete inode.
4736 (grub_afs_mount): Likewise.
4737 (grub_afs_uuid) [MODE_BFS]: New function.
4738 (grub_afs_fs) [MODE_BFS]: Add .uuid.
4739
f8d82408
VS
47402011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
4743 (zfs_unmount): Fix memory leak.
4744
5773fb64
VS
47452011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4746
4747 Support NTFS reparse points.
4748
4749 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
4750 (symlink_descriptor): New struct.
4751 (grub_ntfs_read_symlink): New function.
4752 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
4753 (grub_ntfs_open): Likewise.
4754
91c3fdde
VS
47552011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
4758
3be82e10
VS
47592011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 fstest xnu_uuid subcommand.
4762
4763 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
4764 grub-core/commands/xnu_uuid.c.
4765 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
4766 (fstest): Handle xnu_uuid.
4767 (options): Document xnu_uuid.
4768 (argp_parser): Parse xnu_uuid.
4769
8e32442e
VS
47702011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4771
4772 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
4773 -l argument. Add newline at the end if printing.
4774 (GRUB_MOD_INIT): Document -l.
4775
52a05075
VS
47762011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
4779
1869edb5
VS
47802011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4781
4782 ZFS multi-device and version 33 support.
4783
4784 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
4785 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
4786 (grub_zfs_data): Add multidev-ice-related fields.
4787 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
4788 (dva_get_offset): Make dva const.
4789 (zfs_fetch_nvlist): New function.
4790 (fill_vdev_info_real): Likewise.
4791 (fill_vdev_info): Likewise.
4792 (check_pool_label): Likewise.
4793 (scan_disk): Likewise.
4794 (scan_devices): Likewise.
4795 (read_device): Likewise.
4796 (read_dva): Likewise.
4797 (zio_read_gang): Use read_dva.
4798 (zio_read_data): Likewise.
4799 (zap_leaf_lookup): Add missing endian conversion.
4800 (zap_verify): Add missing endian conversion. All users updated.
4801 (fzap_lookup): Likewise.
4802 (fzap_iterate): Likewise.
4803 (dnode_get_path): Handle SA bonus.
4804 (nvlist_find_value): Make input const. All users updated.
4805 (unmount_device): New function.
4806 (zfs_unmount): Use unmount_device.
4807 (zfs_mount): Use scan_disk.
4808 (zfs_mtime): New function.
4809 (grub_zfs_open): Handle system attributes.
4810 (fill_fs_info): Likewise.
4811 (grub_zfs_dir): Likewise.
4812 (grub_zfs_fs): Add mtime.
4813 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
4814 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
4815 (SA_MTIME_OFFSET): Likewise.
4816 (SA_SYMLINK_OFFSET): Likewise.
4817 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
4818 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
4819 (fstest): Support zfsinfo.
4820 (argp_parser): Likewise.
4821
186b4028
VS
48222011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4823
4824 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
4825 error.
4826
48272011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
4828
4829 ZFS fixes.
4830
4831 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
4832 sharing the same block. Iterate over correct number of indices.
4833 (dnode_get_path): Handle symlinks correctly.
4834
c0584900
VS
48352011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4836
4837 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
4838
67e2bd71
VS
48392011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4840
4841 Read label on HFS+.
4842
4843 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
4844 (grub_hfsplus_btree_search): Fix types.
4845 (grub_hfsplus_label): Implement.
4846
e9cc6b7b
VS
48472011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4848
4849 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
4850
19832ddb
VS
48512011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4852
4853 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
4854
66b40850
VS
48552011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4856
4857 Fix symlink handling on iso9660.
4858
4859 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
4860 All users updated.
4861 (grub_iso9660_susp_iterate): Accept zero-size iterate.
4862 (grub_iso9660_read_symlink): Moved most of code ...
4863 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
4864
db821363
VS
48652011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4866
4867 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4868 Use union to avoid breaking strict-aliasing rules.
4869
e1211949
VS
48702011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4871
4872 Support multi-extent iso files.
4873
4874 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
4875 Add node.
4876 (grub_fshelp_node): Revamp. All users updated.
4877 (FLAG_*): New enum.
4878 (read_node): New function.
4879 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
4880 All users updated.
4881 (grub_iso9660_mount): Don't attempt to read sua when there is none.
4882 (get_node_size): New function.
4883 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
4884 entries.
4885 Fix memory leak on . and ..
4886 (grub_iso9660_read): Use read_node.
4887 (grub_iso9660_close): Free node.
4888
d4888031
VS
48892011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4890
4891 Fix tar 4G limit and handle paths containing dot.
4892
4893 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
4894 (canonicalize): New function.
4895 (grub_cpio_find_file): Use canonicalize. Store offs in
4896 grub_disk_addr_t.
4897 (grub_cpio_dir): Use grub_disk_addr_t.
4898 (grub_cpio_open): Likewise.
4899
9f12e664
VS
49002011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 Fix handling of uncompressed blocks on squashfs and break 4G limit.
4903
4904 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
4905 unused flags.
4906 (grub_squash_inode): Add long_file and block_size.
4907 (grub_squash_cache_inode): New struct.
4908 (grub_squash_dirent): Make types into enum.
4909 (SQUASH_TYPE_LONG_REGULAR): New type.
4910 (grub_squash_frag_desc): Add field size.
4911 (SQUASH_BLOCK_FLAGS): New enum.
4912 (grub_squash_data): Use grub_squash_cache_inode.
4913 (grub_fshelp_node): Make ino_chunk 64-bit.
4914 (read_chunk): Minor argument change. All users updated.
4915 (squash_mount): Use correct le_to_cpu.
4916 (grub_squash_open): Handle LONG_REGULAR.
4917 (direct_read): New function.
4918 (grub_squash_read_data): Handle blocks correctly.
4919
9f326fba
VS
49202011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4921
4922 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
4923
f4d9b64b
VS
49242011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4925
4926 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
4927
5bbd28b8
VS
49282011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4929
4930 Fix 2G limit on ZFS.
4931
4932 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
4933 types.
4934 (uberblock_verify): Likewise.
4935 (dmu_read): Likewise.
4936 (grub_zfs_read): Likewise. Remove invalid cast.
4937
68c72069
VS
49382011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
4941 (grub_jfs_blkno): Fix incorrect shift.
4942 (grub_jfs_read_file): Use more appropriate types.
4943
6e536dc8
VS
49442011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4945
4946 Support triple indirect on minix2 and minix3.
4947
4948 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
4949 Declare triple_indir_zone.
4950 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
4951 indirect.
4952
e0864e7a
VS
49532011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 Minix FS fixes.
4956
4957 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
4958 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
4959 Rename ctime to mtime. All users updated.
4960 (grub_minix_get_file_block): Fix types and double indirect computations.
4961
89481cab
VS
49622011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4963
4964 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
4965 if no label is found.
4966 (grub_fat_iterate_dir): Fix file size type.
4967 (grub_fat_iterate_dir): Likewise.
4968
f646e143
VS
49692011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4970
4971 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
4972 save some space.
4973 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
4974 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
4975
534d769e
VS
49762011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4977
4978 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
4979
e084ba18
VS
49802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4981
4982 * util/import_gcry.py: Accept space between # and include.
4983
3471ecdf
VS
49842011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4985
4986 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
4987
124df5f6
VS
49882011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4989
4990 Fine grainely disable warnings on lexer. Remove Wno-error on it.
4991
4992 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
4993 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
4994 yylex_strncpy.
4995 * grub-core/script/yylex.l: Add fine-grained #pragma.
4996
4defb8d5
VS
49972011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4998
4999 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
5000 New inline function.
5001 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
5002 Likewise.
5003 (memset) [GRUB_UTIL]: Likewise.
5004 (memcmp) [GRUB_UTIL]: Likewise.
5005
4e94ae65
VS
50062011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5007
5008 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
5009 inline function rather than a define.
5010
18c575e5
VS
50112011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5012
5013 * util/grub-setup.c: Add missing include.
5014
f8bc22a8
VS
50152011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5016
5017 * util/ieee1275/grub-ofpathname.c: Add missing include.
5018
3ce69fc9
VS
50192011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5020
5021 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
5022 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
5023 Likewise.
5024
d1e293bb
VS
50252011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
5028 grub_memcmp usage.
5029
7a5c54a4
VS
50302011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5031
5032 * util/grub-install.in: Add datarootdir as per automake manual
5033 suggestion.
5034 * util/grub-mknetdir.in: Likewise.
5035
50362011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
5037
5038 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
5039 suggestion.
5040 * util/grub.d/10_kfreebsd.in: Likewise.
5041 * util/grub.d/10_linux.in: Likewise.
5042 * util/grub.d/10_netbsd.in: Likewise.
5043 * util/grub.d/10_windows.in: Likewise.
5044 * util/grub.d/20_linux_xen.in: Likewise.
5045
766f7d08
VS
50462011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
5047
5048 Remove redundant grub_kernel_image_size.
5049
5050 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
5051 _edata and _start.
5052 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
5053 the small code. It moves it only by few bytes but simplifies the code.
5054 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
5055 _start.
5056 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
5057 (grub_kernel_image_size): Removed.
5058 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
5059 (grub_kernel_image_size): Removed.
5060 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
5061 compiled with Apple toolchain.
5062 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
5063 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
5064 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
5065 (grub_total_module_size): Likewise.
5066 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
5067 Removed.
5068 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
5069 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
5070 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
5071 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
5072 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
5073 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
5074 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
5075 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
5076 Removed.
5077 (grub_total_module_size): Removed.
5078 * util/grub-mkimage.c (image_target_desc): Remove image_size.
5079 (image_targets): Likewise.
5080 Set .compressed_size to no field on sparc.
5081 (generate_image): Remove kernel_image_size handling.
5082
fcf1d672
SJ
50832011-10-19 Szymon Janc <szymon@janc.net.pl>
5084
5085 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
5086 NULL pointer dereference.
5087
de9c615e
VS
50882011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5089
5090 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
5091 done with a dedicated section.
5092
5093 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
5094 Ensure the correct position of boot_path.
5095 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
5096 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
5097 other fields.
5098 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
5099 * include/grub/boot.h: Removed. All references removed.
5100 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
5101 Removed.
5102 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
5103
e55599dc
VS
51042011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
5107 name.
5108
36dd20ad
VS
51092011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5110
5111 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
5112
f8f72eb8
VS
51132011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5114
5115 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
5116 Don't add the bogus brackets.
5117
a374751b
VS
51182011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5119
5120 ExFAT support.
5121
5122 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
5123 * grub-core/Makefile.core.def (exfat): New module.
5124 * grub-core/fs/exfat.c: New file.
5125 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
5126 (GRUB_FAT_ATTR_*): Make into an enum.
5127 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
5128 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
5129 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
5130 (GRUB_FAT_MAXFILE): Removed.
5131 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
5132 (grub_current_fat_bpb_t): New type.
5133 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
5134 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
5135 (grub_fat_dir_node_t): New type.
5136 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
5137 (fat_log2) [MODE_EXFAT]: Removed.
5138 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
5139 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
5140 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
5141 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
5142 (grub_fat_label) [MODE_EXFAT]: New function.
5143 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
5144 reserved_first_sector to 0.
5145
544c2487
VS
51462011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5147
5148 Move grub_reboot out of the kernel.
5149
5150 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
5151 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
5152 * grub-core/lib/efi/reboot.c: ... here.
5153 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
5154 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
5155 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
5156 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
5157 * grub-core/lib/i386/reboot_trampoline.S: ... here.
5158 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
5159 * grub-core/lib/ieee1275/reboot.c: ... here.
5160 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
5161 * grub-core/lib/mips/arc/reboot.c: ... here.
5162 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
5163 * grub-core/lib/mips/loongson/reboot.c: ...here.
5164 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
5165 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
5166 * include/grub/emu/misc.h (grub_reboot): New function declaration.
5167 * include/grub/i386/reboot.h: New file.
5168 * include/grub/mips/loongson/ec.h: Fix includes.
5169 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
5170 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
5171 * grub-core/lib/i386/reboot.c: New file.
5172
a97501d2
VS
51732011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 Make grub_prefix into module to fix the arbitrary limit and save
5176 some space.
5177
5178 * grub-core/kern/emu/main.c (grub_prefix): Removed.
5179 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
5180 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
5181 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
5182 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
5183 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
5184 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
5185 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
5186 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
5187 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
5188 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
5189 * include/grub/ia64/efi/kernel.h: Removed.
5190 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
5191 (grub_prefix): Removed.
5192 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
5193 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
5194 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
5195 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
5196 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
5197 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
5198 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
5199 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
5200 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
5201 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
5202 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
5203 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
5204 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
5205 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
5206 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
5207 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
5208 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
5209 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
5210 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
5211 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
5212 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
5213 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
5214 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
5215 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
5216 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
5217 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
5218 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
5219 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
5220 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
5221 from module.
5222 * util/grub-mkimage.c (image_target_desc): Removed prefix and
5223 prefix_end.
5224 (image_targets): Likewise.
5225 (generate_image): Put prefix as a module.
5226
39705fad
VS
52272011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 Replace grub_module_iterate with FOR_MODULES.
5230
5231 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
5232 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
5233 (grub_efi_modules_addr): ...this.
5234 * grub-core/kern/efi/init.c (grub_modbase): New variable.
5235 (grub_efi_init): Set grub_modbase.
5236 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
5237 (grub_modbase): New variable.
5238 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
5239 (grub_modbase): New variable.
5240 (grub_machine_init): Set grub_modbase.
5241 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
5242 (grub_modbase): New variable.
5243 (grub_machine_init): Set grub_modbase.
5244 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
5245 (grub_modbase): New variable.
5246 (grub_machine_init): Set grub_modbase.
5247 * grub-core/kern/main.c (grub_module_iterate): Remove.
5248 (grub_modules_get_end): Use grub_modbase.
5249 (grub_load_modules): Use FOR_MODULES.
5250 (grub_load_config): Likewise.
5251 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
5252 (grub_modbase): New variable.
5253 (grub_machine_init): Set grub_modbase.
5254 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
5255 (grub_modbase): New variable.
5256 (grub_machine_init): Set grub_modbase.
5257 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
5258 Removed.
5259 (grub_modbase): New variable.
5260 (grub_machine_init): Set grub_modbase.
5261 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
5262 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
5263 (grub_module_iterate): Likewise.
5264 (grub_modbase): New variable declaration.
5265 (FOR_MODULES): New macro.
5266
2afb7f6c
VS
52672011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5268
5269 * configure.ac: Check for __ctzdi2 and __ctzsi2.
5270 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
5271
366e34fa
VS
52722011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5273
5274 Fix few obvious type discrepancies.
5275
5276 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
5277 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
5278 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
5279 variable.
5280 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
5281 and connected types.
5282 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
5283 offset.
5284 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
5285 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
5286 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
5287 and connected types.
5288
177b960e
VS
52892011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 Fix python 3.x incompatibilities.
5292
5293 * gentpl.py: Put brackets around print strings.
5294 * util/import_gcry.py: Open explicitly as utf-8.
5295 Use in instead of has_key.
5296
3b619ae1
VS
52972011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
5300 (GRUB_XFS_INO_AGBITS): Make into inline function.
5301 (GRUB_XFS_INO_INOINAG): Likewise.
5302 (GRUB_XFS_INO_AG): Likewise.
5303 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
5304 (GRUB_XFS_EXTENT_OFFSET): Likewise.
5305 (GRUB_XFS_EXTENT_BLOCK): Likewise.
5306 (GRUB_XFS_EXTENT_SIZE): Likewise.
5307 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
5308 (GRUB_XFS_NEXT_DIRENT): Likewise.
5309 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
5310 (grub_xfs_read_file): Fix offset type.
5311
8bcebcb8
RM
53122011-10-15 Robert Millan <rmh@gnu.org>
5313
5314 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
5315
0017e5ef
RM
53162011-10-15 Robert Millan <rmh@gnu.org>
5317
5318 Fix build problem on FreeBSD and GNU/kFreeBSD.
5319
5320 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
5321
d8919552
VS
53222011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5323
5324 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
5325
5326 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
5327 types.
5328 (grub_hfsplus_btree_recoffset): Likewise.
5329 (grub_hfsplus_btree_recptr): Likewise.
5330 (grub_hfsplus_find_block): Likewise.
5331 (grub_hfsplus_btree_search): Likewise.
5332 (grub_hfsplus_read_block): Likewise.
5333 (grub_hfsplus_read_file): Likewise.
5334 (grub_hfsplus_mount): Likewise.
5335 (grub_hfsplus_btree_iterate_node): Likewise.
5336 (grub_hfsplus_btree_search): Likewise.
5337 (grub_hfsplus_iterate_dir): Likewise.
5338 (grub_hfsplus_read): A small code simplification.
5339
c81296b6
VS
53402011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5341
5342 * grub-core/kern/emu/hostdisk.c
5343 (convert_system_partition_to_system_disk): Don't assume that children
5344 of mapper nodes are mapper nodes.
5345
0eb8ffb1
VS
53462011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5347
5348 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
5349 * include/grub/misc.h (grub_isxdigit): New function.
5350 * grub-core/video/colors.c (my_isxdigit): Removed. All users
5351 switched to grub_isxdigit.
5352 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
5353 number starting with a letter.
5354
a98f4a08
RM
53552011-10-09 Robert Millan <rmh@gnu.org>
5356
5357 LVM support for FreeBSD and GNU/kFreeBSD.
5358
5359 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
5360 GNU/kFreeBSD.
5361 (LVM_DEV_MAPPER_STRING): Move from here ...
5362 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
5363 * util/getroot.c: Include `<grub/util/lvm.h>'.
5364 (grub_util_get_dev_abstraction): Enable
5365 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
5366 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
5367 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
5368 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
5369 support it.
5370 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
5371 GNU/kFreeBSD.
5372 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
5373 when LVM abstraction is required for ${GRUB_DEVICE}.
5374
050e8e90
SJ
53752011-10-06 Szymon Janc <szymon@janc.net.pl>
5376
5377 Add support for LZO compression in GRUB:
5378 - import of minilzo library,
5379 - LZO decompression for btrfs,
5380 - lzop files decompression.
5381
5382 * grub-core/io/lzopio.c: New file.
5383 * grub-core/lib/adler32.c: Likewise.
5384 * grub-core/lib/minilzo/lzoconf.h: Likewise.
5385 * grub-core/lib/minilzo/lzodefs.h: Likewise.
5386 * grub-core/lib/minilzo/minilzo.c: Likewise.
5387 * grub-core/lib/minilzo/minilzo.h: Likewise.
5388 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
5389 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
5390 grub-core/lib/minilzo/minilzo.c to common.
5391 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
5392 cflags in cppflags.
5393 * grub-core/Makefile.core.def (btrfs): Likewise.
5394 * grub-core/Makefile.core.def (lzopio): New module.
5395 (adler32): Likewise.
5396 * grub-core/fs/btrfs.c: Include minilzo.h.
5397 (GRUB_BTRFS_COMPRESSION_LZO): New define.
5398 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
5399 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
5400 (grub_btrfs_lzo_decompress): New function.
5401 (grub_btrfs_extent_read): Add support for LZO compression type.
5402 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
5403 (GRUB_USHRT_MAX): Likewise.
5404 (GRUB_UINT_MAX): Likewise.
5405 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
5406 (UINT_MAX): Likewise.
5407 (CHAR_BIT): Likewise.
5408 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
5409 grub-core/lib/posix_wrap/limits.h
5410 (UCHAR_MAX): Likewise.
5411 * include/grub/file.h (grub_file_filter_id): New compression filter
5412 GRUB_FILE_FILTER_LZOPIO.
5413 * include/grub/file.h (grub_file_filter_id): Set
5414 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
5415 * include/grub/types.h (grub_get_unaligned16): New function.
5416 (grub_get_unaligned32): Likewise.
5417 (grub_get_unaligned64): Likewise.
5418 * util/import_gcry.py (cryptolist): Add adler32.
5419
0eb8ffb1
VS
54202011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
5421
5422 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
5423 in perspective decreases the complexity of build system and fixes
5424 compilation right now.
5425
ce79cc99 54262011-10-01 Ales Nesrsta <starous@volny.cz>
5427
5428 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
5429 (fixed problem related to using UHCI with coreboot).
5430
8667a314
BC
54312011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
5432
5433 * gentpl.py: Use Autogen macros so that the output template file
5434 (Makefile.tpl) size is reduced.
5435
fc5efcc0
MK
54362011-09-29 Mads Kiilerich <mads@kiilerich.com>
5437
5438 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
5439 extra_dist.
5440
d1ab689d
ML
54412011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5442
5443 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
5444 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
5445
c05de032
ML
54462011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5447
5448 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
5449 _fullpath.
5450
cca7ccd8
ML
54512011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5452
5453 Remove extra declaration of sleep for mingw32.
5454
5455 * util/misc.c (sleep) [__MINGW32__]: Removed.
5456 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
5457
e0b0dc83
GS
54582011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
5459
5460 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
5461 type and packname.
5462 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
5463 Resurrected.
5464 (NETBSD_BTINFO_BOOTWEDGE): New definition.
5465 (grub_netbsd_btinfo_bootwedge): New struct.
5466 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5467 New function.
5468 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
5469
91a1a164
TH
54702011-09-28 Thomas Haller <thomas.haller@fen-net.de>
5471
5472 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
5473 loader.
5474
2ded951e
AB
54752011-09-28 Andreas Born <futur.andy@googlemail.com>
5476
5477 Fix incorrect identifiers in bash-completion.
5478
5479 * util/bash-completion.d/grub-completion.bash.in
5480 (_grub_mkpasswd-pbkdf2): Rename to ...
5481 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
5482 (_grub_script-check): Rename to ...
5483 (_grub_script_check): ... this. All users updated.
5484
69915030
VS
54852011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5486
5487 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
5488 Return 0 if disk isn't biosdisk.
5489
20fd15f9
GS
54902011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
5491
5492 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
5493 on NetBSD.
5494 * Makefile.util.def (grub-fstest): Likewise.
5495
1a7d7db9
GS
54962011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
5497
5498 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
5499 Get sector size from disk label.
5500
2221ab6c
CW
55012011-09-05 Colin Watson <cjwatson@ubuntu.com>
5502
5503 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
5504 */README* as well as README*.
5505 Reported by: Axel Beckert.
5506
ca51c4a0
VS
55072011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5508
5509 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
5510 case of less than 256 MiB of RAM.
5511
ab80f326
VS
55122011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5513
5514 * grub-core/commands/wildcard.c (make_regex): Handle @.
5515
4155e697
VS
55162011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5517
5518 * util/grub-install.in: Move cryptodisk logic to appropriate place.
5519
ab178c08
SJ
55202011-08-21 Szymon Janc <szymon@janc.net.pl>
5521
5522 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
5523 AC_LANG_CONFTEST macros.
5524
7dc3c686
SJ
55252011-08-20 Szymon Janc <szymon@janc.net.pl>
5526
5527 Add grub-fstest option to uncompress data for commands.
5528
5529 * util/grub-fstest.c (uncompress): New var.
5530 (options): New option -u.
5531
fe8d4a7b
SJ
55322011-08-20 Szymon Janc <szymon@janc.net.pl>
5533
5534 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
5535 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
5536
a5219af1
SJ
55372011-08-20 Szymon Janc <szymon@janc.net.pl>
5538
5539 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
5540 file type was not recognized correctly (not gzip or corrupted).
5541
f87abff5
VS
55422011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5543
5544 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
5545 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
5546
d94497ea
VS
55472011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
5550 loongson.
5551 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
5552 video_radeon_fuloong2e.
5553 * grub-core/video/radeon_fuloong2e.c: New file.
5554 * include/grub/video.h (grub_video_id_t): Add new ID
5555 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
5556
0d1fd011
VS
55572011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5558
5559 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
5560 define.
5561 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
5562 that PRID matches the detected subplatform and reset the subplatform
5563 if it doesn't.
5564
84beb0ee
VS
55652011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
5568
1227c133
VS
55692011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5570
5571 Fix PCI iterating on functions >= 4.
5572
5573 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
5574 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
5575 Removed.
5576 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
5577 (grub_pci_read): Fix bitmask.
5578 (grub_pci_read_word): Likewise.
5579 (grub_pci_read_byte): Likewise.
5580 (grub_pci_write): Likewise.
5581 (grub_pci_write_word): Likewise.
5582 (grub_pci_write_byte): Likewise.
5583
9594c689
VS
55842011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5585
5586 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
5587 can still be specified in TARGET_CFLAGS)
5588
14a2562c
VS
55892011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5590
5591 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
5592
5593 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
5594 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
5595 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
5596 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
5597 (FULOONG): Rename to ...
5598 (FULOONG2F): ... this. All users updated.
5599 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
5600 (machtype_fuloong2f_str): ... this.
5601 (machtype_fuloong2e_str): New string.
5602 Check for machtype_fuloong2e_str.
5603 * grub-core/loader/mips/linux.c (loongson_machtypes)
5604 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
5605 * grub-core/term/serial.c (loongson_defserial)
5606 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
5607 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
5608 loongson_defserial.
5609 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
5610 Rename to ...
5611 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
5612 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
5613 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
5614 to IMAGE_FULOONG2F_FLASH. All users updated.
5615 (image_targets): Rename images.
5616 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
5617
b526cbb6
SJ
56182011-08-19 Szymon Janc <szymon@janc.net.pl>
5619
5620 Make enable of disk cache statistics code configurable.
5621
5622 * configure.ac: --enable-cache-stats added.
5623 * config.h.in (DISK_CACHE_STATS): New define.
5624 * grub-core/Makefile.core.def (cacheinfo): New command.
5625 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
5626 * grub-core/commands/cacheinfo.c: New file.
5627 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
5628 moved to cacheinfo.c.
5629 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
5630 debug code.
5631 * include/grub/disk.h: Likewise.
5632
fb739ccd
SJ
56332011-08-19 Szymon Janc <szymon@janc.net.pl>
5634
5635 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
5636 * grub-core/Makefile.am: Likewise.
5637
2bba8cfd
VS
56382011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
5641 non-zero pull.
5642
43526629
VS
56432011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5644
5645 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
5646 All users updated.
5647 (grub_jfs_lookup_symlink): Use correct starting inode.
5648
5c144cc8
VS
56492011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5650
5651 * util/grub-setup.c (main): Add missing gcry initialisation.
5652
b1257f65
VS
56532011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5654
5655 Don't accept text modes on EFI when booting Linux.
5656
5657 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
5658 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
5659
828bc390
ML
56602011-08-15 Mario Limonciello <mario_limonciello@dell.com>
56612011-08-15 Colin Watson <cjwatson@ubuntu.com>
5662
5663 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
5664 use of "/path/.." as in grub-install for EFI as well as handling
5665 symlinks correctly.
5666 Fixes Debian bug #637768.
5667
5f60ccac
CW
56682011-08-15 Colin Watson <cjwatson@ubuntu.com>
5669
5670 * util/grub-probe.c: Remove duplicate #include.
5671
6dc212f9
RM
56722011-08-10 Robert Millan <rmh@gnu.org>
5673
5674 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
5675
5676 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
5677 function.
5678 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
5679 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
5680
66816d85
RM
56812011-08-03 Robert Millan <rmh@gnu.org>
5682
5683 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
5684 la_array as packed.
5685 Reported by: Zachary Bedell
5686
20168fca
CW
56872011-07-26 Colin Watson <cjwatson@ubuntu.com>
5688
5689 * configure.ac: The Loongson port requires grub-mkfont due to its
5690 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
5691 be built.
5692
303b6246
CW
56932011-07-26 Colin Watson <cjwatson@ubuntu.com>
5694
5695 * util/grub-install.in: Don't source grub-mkconfig_lib until after
5696 processing arguments (otherwise help2man fails when GRUB has not yet
5697 been installed).
5698
6795300e
VS
56992011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5700
41aa28ea
VS
5701 New script grub-mkstandalone.
5702
5703 * Makefile.util.def (grub-mkstandalone): New script.
5704 * docs/man/grub-mkstandalone.h2m: New file.
5705 * util/grub-mkstandalone.in: Likewise.
5706
57072011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5708
5709 Support ATA disks with 4K sectors.
6795300e
VS
5710
5711 * include/grub/ata.h (grub_ata): New member log_sector_size.
5712 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
5713 (grub_ata_identify): Read sector size.
5714 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
5715
92227597
VS
57162011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 * util/grub-install.in: Don't use uhci outside of x86.
5719
c77069f5
VS
57202011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 * util/grub-mkrescue.in: Add missing quotes.
5723
57242011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
5725
5726 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
5727 dereference.
5728
583168a2
VS
57292011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5730
5731 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
5732
6be1c01f
VS
57332011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5734
5735 * include/grub/video.h: add missing EXPORT_FUND on
5736 grub_video_edid_checksum and grub_video_edid_preferred_mode.
5737
a1167439
VS
57382011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5739
5740 * include/grub/mips/kernel.h: Fix define conflict.
5741
bf66054f
VS
57422011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5743
5744 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
5745 all four ways.
5746
8fc4fa45
CW
57472011-07-21 Colin Watson <cjwatson@ubuntu.com>
5748
5749 Preferred resolution detection for VBE.
5750
5751 * grub-core/video/video.c (grub_video_edid_checksum): New function.
5752 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
5753 the Flat Panel extension, in line with the X.org VESA driver.
5754 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
5755 New function.
5756 (grub_vbe_bios_get_ddc_capabilities): Likewise.
5757 (grub_vbe_bios_read_edid): Likewise.
5758 (grub_vbe_get_preferred_mode): Likewise.
5759 (grub_video_vbe_setup): When the mode is "auto", try to get the
5760 preferred mode from VBE, and use the largest mode that is no larger
5761 than the preferred mode (some BIOSes expose a preferred mode that is
5762 not in their mode list!). If this fails, fall back to 640x480 as a
5763 safe conservative choice.
5764 (grub_video_vbe_get_edid): New function.
5765 (grub_video_vbe_adapter): Add get_edid.
5766 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
5767 (struct grub_video_adapter): Add get_edid.
5768 (grub_video_edid_checksum): Add prototype.
5769 (grub_video_edid_preferred_mode): Likewise.
5770 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
5771 structure.
5772
5773 * grub-core/commands/videoinfo.c (print_edid): New function.
5774 (grub_cmd_videoinfo): Print EDID if available.
5775
5776 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
5777 is more appropriate on a wider range of platforms than 640x480.
5778 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
5779 documentation.
5780
ca5572a9
VS
57812011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
5784
e4bcf625
VS
57852011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5786
5787 * po/POTFILES.in: Regenerate.
5788
c4edd548
VS
57892011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5790
5791 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
5792 incorrect memory usage.
5793
16a2bab0
VS
57942011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5795
5796 * util/grub-install.in: Source grub-mkconfig_lib.
5797
2e418de6
VS
57982011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
5799
5800 Remove getroot.c from core on emu platform.
5801
5802 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
5803 kern/emu/raid.c.
5804 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
5805 useless.
5806 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
5807 * util/getroot.c (get_win32_path): ... here.
5808 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
5809 * util/getroot.c (fini_libzfs): ... here.
5810 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
5811 * util/getroot.c (grub_get_libzfs_handle): ... here.
5812 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
5813 Moved from here...
5814 * util/getroot.c (grub_find_zpool_from_dir): ... here.
5815 * grub-core/kern/emu/misc.c
5816 (grub_make_system_path_relative_to_its_root): Moved from here...
5817 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
5818 * grub-core/kern/emu/getroot.c: Moved from here ...
5819 * util/getroot.c: ... here. All users updated.
5820 * grub-core/kern/emu/raid.c: Moved from here ...
5821 * util/raid.c: ... here. All users updated.
5822
def9832a
VS
58232011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
5824
5825 * po/POTFILES.in: Regenerate.
5826
cd8fe79a
VS
58272011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5828
5829 Fix compilation on GNU/Linux.
5830
5831 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
5832 Disable geli.
5833 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
5834 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
5835 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
5836
a251b719
VS
58372011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
58382011-07-07 Michael Gorven <michael@gorven.za.net>
58392011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
5840
5841 LUKS and GELI support.
5842
5843 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
5844 grub-core/disk/luks.c, grub-core/disk/geli.c,
5845 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
5846 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
5847 grub-core/lib/arg.c.
5848 (libgrubmods.a): Remove gcrypts cflags and cppflags.
5849 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
5850 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
5851 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
5852 (grub-bin2h): Add libgcry.a.
5853 (grub-mkimage): Likewise.
5854 (grub-mkrelpath): Likewise.
5855 (grub-script-check): Likewise.
5856 (grub-editenv): Likewise.
5857 (grub-mkpasswd-pbkdf2): Likewise.
5858 (grub-pe2elf): Likewise.
5859 (grub-fstest): Likewise.
5860 (grub-mkfont): Likewise.
5861 (grub-mkdevicemap): Likewise.
5862 (grub-probe): Likewise.
5863 (grub-ofpath): Likewise.
5864 (grub-mklayout): Likewise.
5865 (example_unit_test): Likewise.
5866 (grub-menulst2cfg): Likewise.
5867 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
5868 * grub-core/Makefile.core.def (cryptodisk): New module.
5869 (luks): Likewise.
5870 (geli): Likewise.
5871 * grub-core/disk/AFSplitter.c: New file.
5872 * grub-core/disk/cryptodisk.c: Likewise.
5873 * grub-core/disk/geli.c: Likewise.
5874 * grub-core/disk/luks.c: Likewise.
5875 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
5876 grub_util_is_lvm.
5877 (grub_util_get_dm_abstraction): New function.
5878 (grub_util_follow_gpart_up): Likewise.
5879 (grub_util_get_geom_abstraction): Likewise.
5880 (grub_util_get_dev_abstraction): Use new functions.
5881 (grub_util_pull_device): Pull GELI and LUKS.
5882 (grub_util_get_grub_dev): Handle LUKS and GELI.
5883 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
5884 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
5885 (follow_geom_up): Removed.
5886 (grub_util_fd_seek): New function.
5887 (open_device): Use grub_util_fd_seek.
5888 (nread): Rename to ..
5889 (grub_util_fd_read): ... this. All users updated.
5890 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
5891 (grub_crypto_cbc_decrypt): Likewise.
5892 (grub_crypto_hmac_write): Likewise.
5893 (grub_crypto_hmac_buffer): Likewise.
5894 (grub_password_get): Extend to util.
5895 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
5896 New member modname.
5897 (gcry_md_spec) [GRUB_UTIL]: Likewise.
5898 * include/grub/cryptodisk.h: New file.
5899 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
5900 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
5901 LUKS and GELI.
5902 (grub_util_follow_gpart_up): New proto.
5903 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
5904 (grub_util_fd_read): Likewise.
5905 (grub_cryptodisk_cheat_mount): Likewise.
5906 (grub_util_cryptodisk_print_uuid): Likewise.
5907 (grub_util_get_fd_sectors): Likewise.
5908 * util/grub-fstest.c (mount_crypt): New var.
5909 (fstest): Mount crypto if requested.
5910 (options): New option -C.
5911 (argp_parser): Parse -C.
5912 (main): Init and fini gcry.
5913 * util/grub-install.in: Support cryptodisk install.
5914 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
5915 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
5916 cryptodisk.
5917 (prepare_grub_to_access_device): Likewise.
5918 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
5919 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
5920 (probe_cryptodisk_uuid): New function.
5921 (probe_abstraction): Likewise.
5922 (probe): Use new functions.
5923 * util/import_gcry.py: Create Makefile.utilgcry.def.
5924 Add modname member.
5925
9bfdcbbc
VS
59262011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5927
5928 Lazy device scanning.
5929
5930 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
5931 (grub-setup): Remove util/raid.c.
5932 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
5933 * grub-core/disk/lvm.c (scan_depth): New variable.
5934 (grub_lvm_iterate): Rescan if necessary.
5935 (find_lv): New function based on grub_lvm_open.
5936 (grub_lvm_open): Use find_lv. Rescan on error.
5937 (is_node_readable): New function.
5938 (is_lv_readable): Likewise.
5939 (grub_lvm_scan_device): Skip already found disks.
5940 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
5941 Stop if searched device is found and readable.
5942 * grub-core/disk/raid.c (inscnt): New variable.
5943 (scan_depth): Likewise.
5944 (scan_devices): New function based on grub_raid_register. Abort if
5945 looked for device is found.
5946 (grub_raid_iterate): Rescan if needed.
5947 (find_array): NEw function based on -grub_raid_open.
5948 (grub_raid_open): Use find_array and rescan.
5949 (insert_array): Set became_readable_at.
5950 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
5951 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
5952 New function.
5953 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
5954 (grub_util_pull_device): New function.
5955 (grub_util_get_grub_dev): Call grub_util_pull_device.
5956 * util/raid.c: Moved to ..
5957 * grub-core/kern/emu/raid.c: ... here.
5958 (grub_util_raid_getmembers): New parameter "bootable".
5959 All users updated. Support 1.x.
5960 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
5961 All users updated.
5962 * include/grub/disk.h (grub_disk_pull_t): New enum.
5963 (grub_disk_dev): Change iterate prototype.
5964 All users updated.
5965 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
5966 New proto.
5967 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
5968 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
5969 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
5970 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
5971 All users updated.
5972 * include/grub/util/raid.h: Removed.
5973
1c358e59
VS
59742011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
5975
5976 * po/POTFILES.in: Regenerate.
5977
abee94ed
VS
59782011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
5979
5980 Unify sparc init with other ieee1275.
5981
5982 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
5983 instead of kern/sparc64/ieee1275/init.c.
5984 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
5985 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
5986 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
5987 grub/machine/kernel.h.
5988 (grub_ieee1275_original_stack) [__sparc__]: New variable.
5989 (grub_claim_heap) [__sparc__]: Use sparc version.
5990 (grub_machine_init): Moved args parsing to
5991 (grub_parse_cmdline): ...this.
5992 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
5993 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
5994 New definition.
5995 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
5996
5997 Move BOOTP to separate file.
5998
5999 * grub-core/Makefile.core.def (net): Add net/bootp.c.
6000 * grub-core/net/net.c: Move all BOOTP functions to
6001 * grub-core/net/bootp.c: ... here.
6002
6003 Use frame interface on PXE.
6004
6005 * grub-core/Makefile.core.def (pxecmd): Removed.
6006 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
6007 * grub-core/commands/i386/pc/pxecmd.c: Removed.
6008 * grub-core/i386/pc/pxe.c: Moved from here ...
6009 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
6010 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
6011 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
6012
6013 EFI network support.
6014
6015 * grub-core/Makefile.core.def (efinet): New module.
6016 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
6017 here...
6018 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
6019 All users updated.
6020 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
6021 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
6022 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
6023 * grub-core/net/drivers/efi/efinet.c: New file.
6024 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
6025 (grub_efi_net_config): New extern var.
6026
6027 Various cleanups and bugfixes.
6028
6029 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
6030 error.
6031 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
6032 disk declared as partition.
6033 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
6034 leak on failure.
6035 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
6036 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
6037 (grub_debug_zalloc): Likewise.
6038 (grub_debug_realloc): Likewise.
6039 (grub_debug_memalign): Likewise.
6040 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
6041 Check that target is IPv4.
6042 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
6043 local-mac-address as fallback.
6044 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
6045 memory leak.
6046 * grub-core/net/ip.c (ipchksum): Rename to ...
6047 (grub_net_ip_chksum): ... this. All users updated.
6048 (grub_net_recv_ip_packets): Special handling for DHCP.
6049 * util/grub-mkimage.c (generate_image): Zero-out aout header.
6050
6051 Unify prefix handling
6052
6053 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
6054 (grub_machine_get_bootlocation): ... this.
6055 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
6056 (grub_machine_get_bootlocation): ... this.
6057 (grub_prefix): New variable.
6058 (prefix): Removed.
6059 (root_dev): New variable.
6060 (dir): Likewise.
6061 (main): Use new variables.
6062 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
6063 Revamped into ...
6064 (grub_machine_get_bootlocation): ... this.
6065 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
6066 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
6067 (grub_machine_get_bootlocation): ... this.
6068 (grub_machine_set_prefix): Removed.
6069 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
6070 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
6071 Revamped into ...
6072 (grub_machine_get_bootlocation): ... this.
6073 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
6074 (grub_set_prefix_and_root): ... this. All users updated.
6075 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
6076 Revamped into ...
6077 (grub_machine_get_bootlocation): ... this.
6078 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
6079 (grub_machine_get_bootlocation): New proto.
6080 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
6081
6082 Less intrusive and more reliable seek on network implementation.
6083
6084 * grub-core/kern/file.c (grub_file_net_seek): Removed.
6085 (grub_file_seek): Don't call grub_file_net_seek.
6086 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
6087 (grub_net_fs_read_real): .. this.
6088 (grub_net_seek_real): Use net->offset.
6089 (grub_net_fs_read): Seek if necessary.
6090
6091 Unify IEEE1275 netwotk config with the other platforms.
6092
6093 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
6094 New variable.
6095 (grub_machine_get_bootlocation): Support network.
6096 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
6097 Support type and device parsing.
6098 (grub_ieee1275_get_device_type): New function.
6099 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
6100 into ...
6101 (grub_ieee1275_net_config_real): ... this.
6102 (grub_ofnet_probecards): Removed.
6103 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
6104 * include/grub/ieee1275/ofnet.h: Removed.
6105 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
6106 extern var.
6107 (grub_ieee1275_get_device_type): New function.
6108
6109 Unify network device closing across platforms and make more robust.
6110
6111 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
6112 grub_grubnet_fini.
6113 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
6114 already.
6115 * grub-core/net/net.c (grub_net_network_level_interface_register):
6116 Update num_ifaces.
6117 (grub_net_card_unregister): Close all interfaces.
6118 (receive_packets): Don't poll if no iterfaces are registered.
6119 Open if necessary.
6120 (grub_net_fini_hw): New function.
6121 (grub_net_restore_hw): Likewise.
6122 (fini_hnd): New variable.
6123 (GRUB_MOD_INIT): Register preboot hook.
6124 (GRUB_MOD_FINI): Run and unregister preboot hook.
6125
6126 Poll network cards when idle.
6127
6128 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
6129 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
6130 * grub-core/net/net.c (receive_packets): Save last poll time.
6131 (grub_net_poll_cards_idle_real): New function.
6132 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
6133 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
6134 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
6135
6136 Rename ofnet interfaces.
6137
6138 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
6139 (grub_ofnet_findcards): Use ofnet_%s names.
6140
6141 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
6142
6143 Cleanup socket opening.
6144
6145 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
6146 (grub_net_fs_close): Likewise.
6147 (grub_net_fs_read_real): Use eof member.
6148 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
6149 (+grub_net_udp_close): New inline function.
6150
6151 * include/grub/net/tftp.h: Moved to the top of ...
6152 * grub-core/net/tftp.c: ... here.
6153 * include/grub/net/ip.h: Moved mostly to the top of ...
6154 * grub-core/net/ip.c: ... here.
6155 * include/grub/net/ethernet.h: Moved mostly to the top of ...
6156 * grub-core/net/ethernet.c: ... here.
6157
6158 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
6159
6160 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
6161 FS name.
6162
6163 * include/grub/net/ip.h (ipv4_ini): Removed.
6164 (ipv4_fini): Likewise.
6165
6166 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
6167 (grub_net_send_ip_packets): Likewise.
6168
cf1337aa
VS
61692011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6170
6171 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
6172 grub_read_cmos prototype.
6173
93c06ff9
VS
61742011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6175
6176 VGA text support in qemu-mips
6177
6178 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
6179 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
6180 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
6181 text.
6182 * grub-core/kern/i386/qemu/init.c: Renamed to ...
6183 * grub-core/kern/vga_init.c: ... this.
6184 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
6185 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
6186 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
6187 Adjust.
6188 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
6189 GRUB_MACHINE_PCI_IO_BASE.
6190
748ccabe
VS
61912011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6192
6193 MIPS qemu flash support.
6194
6195 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
6196 magic.
6197 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
6198 (grub_machine_init): Probe memory if its size isn't known.
6199 * util/grub-mkimage.c (image_targets): Add flash targets.
6200 (generate_image): Handle flash targets.
6201
d7345994
VS
62022011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6203
6204 MIPS qemu at_keyboard support.
6205
6206 * gentpl.py (videoinkernel): Add qemu-mips.
6207 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
6208 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
6209 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
6210 modules.
6211 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
6212 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
6213 * grub-core/term/serial.c (grub_serial_register)
6214 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
6215
a07a81b3
VS
62162011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6217
6218 CMOS support on sparc.
6219
6220 * gentpl.py (cmos): Add powerpc and sparc.
6221 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
6222 powerpc and sparc.
6223 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
6224 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
6225 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
6226 grub_set_datetime_cmos.
6227 * grub-core/lib/ieee1275/cmos.c: New file.
6228 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
6229 (find_rtc): Set no_ieee1275_rtc on error.
6230 (grub_get_datetime): Call grub_get_datetime_cmos on error.
6231 (grub_set_datetime): Call grub_set_datetime_cmos on error.
6232 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
6233 fail. Move value to argument. All users updated
6234 (grub_cmos_write): Likewise.
6235 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
6236 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
6237 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
6238 grub_get_datetime_cmos and grub_set_datetime_cmos.
6239
77546584
GS
62402011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
6241
6242 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
6243 sourcing grub-mkconfig_lib.
6244 * util/update-grub_lib.in: Likewise.
6245 * util/grub.d/00_header.in: Likewise.
6246 * util/grub.d/10_hurd.in: Likewise.
6247 * util/grub.d/10_kfreebsd.in: Likewise.
6248 * util/grub.d/10_linux.in: Likewise.
6249 * util/grub.d/10_netbsd.in: Likewise.
6250 * util/grub.d/10_windows.in: Likewise.
6251 * util/grub.d/20_linux_xen.in: Likewise.
6252 * util/grub.d/30_os-prober.in: Likewise.
6253
54894791
CW
62542011-06-28 Colin Watson <cjwatson@ubuntu.com>
6255
6256 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
6257 default_bg_color rather than black.
6258 (grub_gfxterm_fullscreen): Likewise.
6259 (grub_gfxterm_background_color_cmd): Save new background color in
6260 default_bg_color.
6261
8d5d8444
VS
62622011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
6265
5afeb5bd
VS
62662011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6267
6268 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
6269 mismerge.
6270
ba7df45e
VS
62712011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 Chainloading on coreboot support.
6274
6275 * grub-core/Makefile.core.def (chain): Add coreboot.
6276 * grub-core/loader/i386/coreboot/chainloader.c: New file.
6277
d0b526b2
VS
62782011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6279
6280 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
6281 if it happens.
6282
5ff1d945
VS
62832011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6284
6285 Implement time command.
6286
6287 * grub-core/Makefile.core.def (time): New module.
6288 * grub-core/commands/time.c: New file.
6289 * grub-core/script/parser.y: Remove "time" keyword.
6290 * grub-core/script/yylex.l: Likewise.
6291
5ebaad7e
VS
62922011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6293
6294 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
6295
bdea3798
VS
62962011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6297
6298 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
6299 when handling leftovers.
6300
b28c5655
VS
63012011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6302
6303 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
6304 so that help2man doesn't fail.
6305
b6f945dc
VS
63062011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
6309 type in pointers on sparc64.
6310 (get_card_packet): Likewise.
6311
f9b75e8a
CW
63122011-06-27 Colin Watson <cjwatson@ubuntu.com>
6313
6314 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
6315 with `*'.
6316 (grub_cmd_videoinfo): Fetch current video mode.
6317
1e3d9b86
VS
63182011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6319
6320 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
6321 because of underlying system restrictions.
6322
efff4b1c
VS
63232011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6324
6325 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
6326 necessary.
6327
9fc9ce37
VS
63282011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6329
6330 Coreboot video support.
6331
6332 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
6333 (vbe): Likewise.
6334 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
6335 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
6336 here ...
6337 * grub-core/kern/i386/int.S: ... here.
6338 * grub-core/video/i386/pc/vbe.c: Updated includes.
6339 * grub-core/video/i386/pc/vga.c: Likewise.
6340 * include/grub/i386/coreboot/memory.h
6341 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
6342 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
6343 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
6344 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
6345 Disable interrupts.
6346 * include/grub/i386/pc/vga.h: Removed. All users updated.
6347
41bec7fe
VS
63482011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6349
6350 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
6351 definitions for dprintf.
6352 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
6353
ca80309d
VS
63542011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6355
6356 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
6357 prototype.
6358 (get_card_packet): Likewise.
6359
9e322ce8
YB
63602011-06-26 Yves Blusseau <blusseau@zetam.org>
6361
6362 Display the path of the file when file is not found
6363
6364 * grub-core/fs/fat.c: Display the filename when file is not found.
6365 * grub-core/fs/fshelp.c: Likewise.
6366 * grub-core/fs/hfs.c: Likewise.
6367 * grub-core/fs/jfs.c: Likewise.
6368 * grub-core/fs/minix.c: Likewise.
6369 * grub-core/fs/ufs.c: Likewise.
6370 * grub-core/fs/btrfs.c: Likewise.
6371 * grub-core/commands/i386/pc/play.c: Likewise.
6372
cbf597af
SJ
63732011-06-26 Szymon Janc <szymon@janc.net.pl>
6374
6375 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
6376 pointer checks before calling grub_free().
6377 * grub-core/commands/wildcard.c (match_devices): Likewise.
6378 * grub-core/commands/wildcard.c (match_files): Likewise.
6379 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
6380 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
6381 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
6382 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
6383 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
6384 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
6385 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
6386 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
6387 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
6388
6295b32f
P
63892011-06-25 Patrick <p55@mailinator.com>
6390
6391 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
6392
77c0840b
VS
63932011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
6396 (grub_pxe_send): Likewise.
6397 (GRUB_MOD_INIT): Fix types.
6398
40ea05de
SJ
63992011-06-24 Szymon Janc <szymon@janc.net.pl>
6400
6401 * grub-core/io/xzio.c: Fix code style issues
6402
90162423
MRA
64032011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
64042011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
6405
6406 Network infrastructure.
6407 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
6408
6409 * include/grub/net/arp.h: New file.
90162423
MRA
6410 * include/grub/net/device.h: Likewise.
6411 * include/grub/net/ethernet.h: Likewise.
6412 * include/grub/net/ip.h: Likewise.
6413 * include/grub/net/netbuff.h: Likewise.
6414 * include/grub/net/tftp.h: Likewise.
6415 * include/grub/net/udp.h: Likewise.
6416 * include/grub/ieee1275/ofnet.h: Likewise.
6417 * include/grub/emu/export.h: Likewise.
6418 * include/grub/net.h: Likewise.
6419 * grub-core/net/arp.c: Likewise.
6420 * grub-core/net/ethernet.c: Likewise.
6421 * grub-core/net/ip.c: Likewise.
6422 * grub-core/net/udp.c: Likewise.
6423 * grub-core/net/tftp.c: Likewise.
6424 * grub-core/net/netbuff.c: Likewise.
6425 * grub-core/net/net.c: Likewise.
6426 * grub-core/net/drivers/emu/emunet.c: Likewise.
6427 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
6428 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
6429 export.h.
6430 * grub-core/Makefile.core.def (net): New module.
6431 (tftp): Likewise.
6432 (ofnet): Likewise.
6433 (emunet): Likewise.
6434 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
6435 network protocols.
6436 * grub-core/kern/device.c (grub_net_open) : New variable.
6437 (grub_device_open): Handle network device.
6438 (grub_device_close): Likewise.
6439 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
6440 (grub_grubnet_fini): Likewise.
6441 (grub_file_seek): Seek in network device.
6442 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
6443 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
6444 network root.
6445 (grub_machine_fini): Call grub_grubnet_fini.
6446 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
6447 network.
6448 (grub_ieee1275_get_aliasdevname): New function.
6449 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
6450 Add unofficial Solaris network info.
6451 (grub_multiboot_make_mbi): Likewise.
6452 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
6453 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
6454 * include/grub/device.h (grub_fs): Removed.
6455 * include/grub/err.h (grub_err_t): Add network-related values.
6456 * include/grub/i386/pc/pxe.h: Removed bootp parts.
6457 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
6458 (grub_ieee1275_get_aliasdevname): New proto.
6459 * include/grub/net.h: Rewritten.
423a1849 6460
031f22a0
VS
64612011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6462
6463 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
6464 names.
6465
4388ca72
VS
64662011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6467
6468 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
6469 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
6470 it truncates the output.
6471 Reported by: Ximin Luo.
6472
98e2f506
VS
64732011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6474
6475 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
6476
2a5e94d8
VS
64772011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6478
6479 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
6480 partmap before abstraction.
6481
535c1910
AK
64822011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
6483
6484 * util/grub-mkconfig_lib.in: Add missing quotes.
6485
bc09e1a2
VS
64862011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6487
6488 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
6489 old method if mountinfo would return /dev/root and /dev/root doesn't
6490 exist.
6491
290766fb
VS
64922011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6493
6494 ZFS zlib support
6495
6496 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
6497 (decomp_table): Add zlib entries.
6498 (zio_read): USe 8 bits for compression function rather than 3.
6499 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
6500
65012011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 * grub-core/disk/ahci.c: Add missing license statements.
6504 * grub-core/fs/romfs.c: Likewise.
6505 * grub-core/lib/ia64/setjmp.S: Likewise.
6506 * grub-core/loader/i386/pc/freedos.c: Likewise.
6507 * grub-core/loader/ia64/efi/linux.c: Likewise.
6508 * grub-core/video/colors.c: Likewise.
6509 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
6510
5ab3f48a
VS
65112011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6512
6513 AHCI support.
6514
6515 * grub-core/Makefile.core.def (ata_pthru): Removed.
6516 (ahci): New module.
6517 (pata): Likewise.
6518 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
6519 on unload.
6520 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
6521 readwrite.
6522 (grub_hdparm_do_check_powermode_cmd): Likewise.
6523 (grub_hdparm_do_smart_cmd): Likewise.
6524 (grub_hdparm_set_val_cmd): Likewise.
6525 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
6526 * grub-core/disk/ahci.c: New file.
6527 * grub-core/disk/ata.c: Factor out the low-level part into ...
6528 * grub-core/disk/pata.c: ... here.
6529 * grub-core/disk/ata_pthru.c: Contents moved to ...
6530 * grub-core/disk/pata.c: ... here.
6531 * grub-core/disk/scsi.c (grub_scsi_names): New array.
6532 (grub_scsi_iterate): Use grub_scsi_names.
6533 (grub_scsi_open): Likewise.
6534 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
6535 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
6536 (grub_ata_regs_t): New struct.
6537 (grub_disk_ata_pass_through_parms): Likewise.
6538 (grub_ata_device): Renamed to ...
6539 (grub_ata): ... this.
6540 (grub_ata_dev): New struct.
6541 Removed all low-level inline functions.
6542 * include/grub/scsi.h: Add PATA and AHCI subsystems.
6543 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
6544 iterate hooks and open. All users updated.
6545 * util/grub-install.in: Handle AHCI disk module.
6546
c31dc5f5
SJ
65472011-06-23 Szymon Janc <szymon@janc.net.pl>
6548
6549 Add support for DRI and RSTn markers in JPEG files.
6550
6551 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
6552 (JPEG_MARKER_RST0): Likewise.
6553 (JPEG_MARKER_RST1): Likewise.
6554 (JPEG_MARKER_RST2): Likewise.
6555 (JPEG_MARKER_RST3): Likewise.
6556 (JPEG_MARKER_RST4): Likewise.
6557 (JPEG_MARKER_RST5): Likewise.
6558 (JPEG_MARKER_RST6): Likewise.
6559 (JPEG_MARKER_RST7): Likewise.
6560 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
6561 (grub_jpeg_decode_dri): New function.
6562 (grub_jpeg_decode_sos): Move image data related part into
6563 grub_jpeg_decode_data function.
6564 (grub_jpeg_decode_data): New function.
6565 (grub_jpeg_reset): New function.
6566 (grub_jpeg_decode_jpeg): Handle new markers.
6567
fe12fd5b
VS
65682011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6569
6570 * util/ieee1275/ofpath.c (check_sas): Close fd.
6571 (main): Free of_path.
6572 Reported by: David Volgyes <dvolgyes>.
6573
03147f46
VS
65742011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6575
6576 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
6577 Reported by: David Volgyes <dvolgyes>.
6578
cad3237f
VS
65792011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6580
6581 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
6582 file after stat.
6583 Reported by: David Volgyes <dvolgyes>.
6584
13548d26
VS
65852011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6586
6587 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
6588
6589 Reported by: David Volgyes <dvolgyes>.
6590
e061a1b5
VS
65912011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6592
6593 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
6594 Prevent memory leak.
6595
1abe47dc
VS
65962011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6597
6598 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
6599 (main): Close file.
e061a1b5 6600 Reported by: David Volgyes <dvolgyes>.
1abe47dc 6601
fbc62666
VS
66022011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6603
6604 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
6605 to continue if allocation is failed.
6606
6607 Reported by: David Volgyes <dvolgyes>.
6608
e98c83e9
DV
66092011-06-23 David Volgyes <dvolgyes>
6610
6611 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
6612 dereference.
6613
a199a8cd
VS
66142011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6615
6616 Fix spurious warning.
6617
6618 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
6619 (acorn_partition_map_find): Use .bin member.
6620
e2d1dba0
VS
66212011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
6624 /dev/root as a valid device.
6625
8a5d6919
JM
66262011-06-23 Jim Meyering <meyering@redhat.com>
6627
e2d1dba0
VS
6628 Avoid NULL deref in grub_device_open.
6629
8a5d6919
JM
6630 * grub-core/kern/device.c (grub_device_open): Don't dereference
6631 a NULL pointer upon failed grub_env_get.
6632
f7db6f4a
VS
66332011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6634
6635 Support non-512B sectors and agglomerate reads.
6636
6637 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
6638 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
6639 (disk_io_guid): Removed.
6640 (make_devices): Locate solely by BlockIO.
6641 (grub_efidisk_open): Fill log_sector_size and total_sectors.
6642 (grub_efidisk_read): Use read_blocks.
6643 (grub_efidisk_write): Use write_blocks.
6644 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
6645 log_sector_size.
6646 (get_safe_sectors): Handle non-512B sectors.
6647 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
6648 sectors.
6649 (grub_biosdisk_write): Handle non-512B sectors.
6650 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
6651 (grub_scsi_read): Remove special non-512B block handling (now handled
6652 one level up).
6653 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
6654 and do sanity checks.
6655 (grub_disk_adjust_range): Handle non-512B sectors.
6656 (transform_sector): New function.
6657 (grub_disk_read_small): Likewise.
6658 (grub_disk_read): Rewritten.
6659 (grub_disk_write): Handle non-512B sectors.
6660 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
6661 log_sector_size.
6662 (open_device): Use log_sector_size.
6663 (grub_util_biosdisk_read): Likewise.
6664 (grub_util_biosdisk_write): Likewise.
6665 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
6666 non-512B sectors.
6667 (pc_partition_map_embed): Likewise.
6668 * include/grub/disk.h (grub_disk): New field log_sector_size.
6669 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
6670 (GRUB_DISK_CACHE_BITS): Increased to 6.
6671 * util/grub-fstest.c (fstest): New command testload.
6672 (argp_parser): Likewise.
6673
881ac815
RM
66742011-06-16 Robert Millan <rmh@gnu.org>
6675
6676 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
6677 `ata' driver on kernel of FreeBSD 9.
6678
6679 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
6680 (get_ataraid_disk_name): New functions.
6681 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
6682 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
6683 get_ataraid_disk_name() and get_ada_disk_name().
6684
1e9aef7d
CW
66852011-06-13 Colin Watson <cjwatson@ubuntu.com>
6686
6687 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
6688 input format.
6689
351c7c8a
CW
66902011-05-29 Colin Watson <cjwatson@ubuntu.com>
6691
6692 * docs/grub.texi (Obtaining and Building GRUB): Substitute
6693 `ftp.gnu.org' for `alpha.gnu.org'.
6694
6b4e6430
CW
66952011-05-27 Colin Watson <cjwatson@ubuntu.com>
6696
6697 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
6698 partitions under /dev/disk/by-id/.
6699
c64db050
CW
67002011-05-27 Colin Watson <cjwatson@ubuntu.com>
6701
6702 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
6703 after ten consecutive open failures. Scanning all the way up to
6704 10000 is excessive and can cause serious performance problems in
6705 some configurations.
6706 Fixes Ubuntu bug #787461.
6707
245f4aba
VS
67082011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6709
6710 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
6711 opening new one.
6712
f767c929
VS
67132011-05-21 Colin Watson <cjwatson@ubuntu.com>
67142011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6715
6716 Don't stat devices unless we have to.
6717
6718 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
6719 dir == /dev/mapper.
6720 (grub_guess_root_device): Use already known os_dev if possible.
6721 * grub-core/kern/emu/hostdisk.c
6722 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
6723 if device is known to be a dm one.
6724
f35fa3a6
CW
67252011-05-20 Colin Watson <cjwatson@ubuntu.com>
6726
6727 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
6728 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
6729 Reported by: Pawel Tecza.
6730
9a79fcf2
VS
67312011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
6732
6733 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
6734 (lsefisystab): Likewise.
6735 (lssal): Likewise.
6736 (lsefimmap): Likewise.
6737 (hdparm): Enable on qemu-mips.
6738 (setjmp): Add ia64 nodist.
6739 (serial): Simplify tags.
6740
63e3eea9
CW
67412011-05-18 Colin Watson <cjwatson@ubuntu.com>
6742
6743 * Makefile.util.def (grub-ofpathname): Install manual page.
6744
09728256
CW
67452011-05-18 Colin Watson <cjwatson@ubuntu.com>
6746
6747 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
6748
8b63a142
CW
67492011-05-18 Colin Watson <cjwatson@ubuntu.com>
6750
6751 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
6752
e775d8ed
VS
67532011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
6756 into dprintf.
6757
bf947d36
VS
67582011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6759
6760 Use full 64-bit division.
6761
6762 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
6763 (grub_divmod64): ... this.
6764 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
6765 version.
6766
b84f26c5
CW
67672011-05-18 Colin Watson <cjwatson@ubuntu.com>
6768
6769 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
6770 `source'.
6771
5626056f
CW
67722011-05-18 Colin Watson <cjwatson@ubuntu.com>
6773
6774 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
6775 to avoid accidents when debugging with 'sh -x'.
6776 * grub-core/gensyminfo.sh.in: Likewise.
6777 * tests/example_scripted_test.in: Likewise.
6778 * tests/grub_cmd_regexp.in: Likewise.
6779 * tests/grub_script_blanklines.in: Likewise.
6780 * tests/grub_script_dollar.in: Likewise.
6781 * tests/grub_script_expansion.in: Likewise.
6782 * tests/grub_script_final_semicolon.in: Likewise.
6783 * tests/partmap_test.in: Likewise.
6784 * tests/util/grub-shell-tester.in: Likewise.
6785 * tests/util/grub-shell.in: Likewise.
6786
e2965f4a
CW
67872011-05-18 Colin Watson <cjwatson@ubuntu.com>
6788
6789 Move gfxmenu color handling to video, so that gfxterm can use it
6790 too.
6791
6792 * grub-core/gfxmenu/named_colors.c: Move to ...
6793 * grub-core/video/colors.c: ... here. Rename
6794 grub_gui_get_named_color to grub_video_get_named_color.
6795 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
6796 * grub-core/video/colors.c (my_isxdigit): ... here.
6797 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
6798 Move to ...
6799 * grub-core/video/colors.c (parse_hex_color_component): ... here.
6800 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
6801 to ...
6802 * grub-core/video/colors.c (grub_video_parse_color): ... here.
6803
6804 * include/grub/gui.h (grub_gui_color_t): Move to ...
6805 * include/grub/video.h (grub_video_rgba_color_t): ... here.
6806 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
6807 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
6808 * include/grub/gui.h (grub_gui_map_color): Move to ...
6809 * include/grub/video.h (grub_video_map_rgba_color): ... here.
6810 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
6811 to ...
6812 * include/grub/video.h (grub_video_get_named_color): ... here.
6813 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
6814 * include/grub/video.h (grub_video_parse_color): ... here.
6815
6816 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
6817 video/colors.c.
6818 (gfxmenu): Remove gfxmenu/named_colors.c.
6819 (video) [videomodules]: Add video/colors.c.
6820
6821 Add a background_color command.
6822
6823 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
6824 function.
6825 (GRUB_MOD_INIT): Register background_color command.
6826 (GRUB_MOD_FINI): Unregister background_color command.
6827 (redraw_screen_rect): Allow blend/replace of text layer to be
6828 controlled independently from whether there is a background bitmap.
6829 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
6830 changing bitmap.
6831
1e4b4390
VS
68322011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6833
26618ff0
VS
6834 Patch BPB in ntldr and chainloader --bpb.
6835
1e4b4390
VS
6836 * grub-core/fs/fat.c: Include grub/fat.h.
6837 (grub_fat_bpb): Moved to ...
6838 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
6839 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
6840 grub/ntfs.h.
6841 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
6842 Moved from here...
6843 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
6844 here.
6845 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
6846 New function.
6847 (grub_chainloader_cmd): Patch BPB if --bpb is given.
6848 (GRUB_MOD_INIT): Show --bpb.
6849 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
6850 * grub-core/normal/main.c (features): New variable.
6851 (GRUB_MOD_INIT): Set feature_* variables.
6852 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
6853 proto.
6854 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
6855
cf02731e
VS
68562011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
6859 for cleanness.
6860
e3a1073f
VS
68612011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6862
6863 FreeDOS direct loading support.
6864
6865 * docs/grub.texi (Supported OS): Add FreeDOS.
6866 * grub-core/Makefile.core.def (freedos): New module.
6867 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
6868 variable.
6869 (grub_relocator16_boot): Handle %ebx.
6870 * grub-core/lib/i386/relocator16.S: Likewise.
6871 * grub-core/loader/i386/pc/freedos.c: New file.
6872
05caa461
VS
68732011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 Long Linux command line support.
6876
6877 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
6878 (maximal_cmdline_size): New variable.
6879 (allocate_pages): Use maximal_cmdline_size.
6880 (grub_cmd_linux): Set and use maximal_cmdline_size.
6881 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
6882 (allocate_pages): Use maximal_cmdline_size.
6883 (grub_cmd_linux): Set and use maximal_cmdline_size.
6884 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
6885 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
6886 and cmdline_size.
6887
a2491e23
VS
68882011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
68892011-05-18 Colin Watson <cjwatson@ubuntu.com>
6890
6891 Improve devmapper support
6892
6893 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
6894 (grub_util_is_lvm): New function.
6895 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
6896 than lvm if not dmraid.
6897 Handle mapped md nodes.
6898 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
6899 (grub_util_device_is_mapped): ... this. Make always available. All users
6900 updated.
6901 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
6902 (convert_system_partition_to_system_disk): Handle lvm, mpath and
6903 dmraid nodes.
6904 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
6905
6ad6223e
VS
69062011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6907
6908 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
6909
6910 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
6911 * grub-core/modinfo.sh.in: New file.
6912 * grub-core/Makefile.core.def (modinfo.sh): New script.
6913 * util/grub-mknetdir.in: Use modinfo.sh.
6914 * util/grub-mkrescue.in: Likewise.
6915
543a8f6e
VS
69162011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6917
6918 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
6919 Fix potential usage of Elf32 instead of Elf64 when compiling on
6920 32-bit architecture. Add endianness macros while on it.
6921
4959e111
VS
69222011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6923
6924 Use mipsel- rather than mips- in directories involving mipsel ports to
6925 allow both endiannesses coexist.
6926
6927 * configure.ac: proparate target_cpu=mipsel rather than resetting to
6928 mips. All conditions adjusted.
6929 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
6930 variable.
6931 * util/grub-install.in: Adjust conditions to take renaming into account.
6932 * util/grub-mkimage.c (image_targets): Likewise. New target
6933 mips-qemu_mips-elf for bigendian mips.
6934
35341bbc
VS
69352011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6936
6937 Avoid unnecessary copying on MIPS.
6938
6939 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
6940 early if src == dest.
6941 * util/grub-mkimage.c (generate_image): Arange for src == dest if
6942 compression is none.
6943
b772baed
VS
69442011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6945
6946 Reduce memory footprint on SGI by putting modules before the kernel
6947 as opposed to after.
6948
6949 * grub-core/Makefile.core.def (kernel): Increase linking address.
6950 (none_decompress): Likewise.
6951 (xz_decompress): Likewise.
6952 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
6953 address.
6954 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
6955 layout change.
6956 (grub_arch_modules_addr): New function.
6957 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
6958 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
6959 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
6960 here.
6961 * grub-core/kern/mips/startup.S (total_size): Rename to ...
6962 (grub_total_modules_size): ... this. Make global.
6963 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
6964 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
6965 New definition.
6966 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
6967 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
6968 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
6969 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
6970 * util/grub-mkimage.c (image_target_desc): New flag
6971 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
6972 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
6973 (generate_image): Handle images with modules before kernel.
6974
566a1917
VS
69752011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6976
6977 Prevent potential loss of memory map by overwrite on qemu-mips.
6978
6979 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
6980 Save ram size in $s4.
6981 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
6982 All users changed to grub_arch_memsize.
6983 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
6984 Loongson.
6985 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
6986 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
6987 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
6988 external variable.
6989
5d420cd9
CW
69902011-05-17 Colin Watson <cjwatson@ubuntu.com>
6991
6992 * .bzrignore: Remove grub-dumpbios.
6993
d064b830
CW
69942011-05-17 Colin Watson <cjwatson@ubuntu.com>
6995
6996 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
6997 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
6998 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
6999 existing options which append).
7000 * docs/grub.texi (Simple configuration): Document new options.
7001 Reported by: Ian Jackson. Fixes Debian bug #617538.
7002
3ca2b466
CW
70032011-05-17 Colin Watson <cjwatson@ubuntu.com>
7004
7005 * util/grub-fstest.c (cmd_cat): New function.
7006 (fstest): Handle CMD_CAT.
7007 (options): Add cat.
7008 (argp_parser): Handle cat.
7009
24c9143a
CW
70102011-05-17 Colin Watson <cjwatson@ubuntu.com>
7011
7012 * Makefile.util.def (grub-bin2h): Don't install.
7013 * docs/man/grub-bin2h.h2m: Remove.
7014
90f7ac19
VS
70152011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7016
7017 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
7018 place.
7019
8d4a5178
VS
70202011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7021
7022 Reenable qemu-mips port.
7023
7024 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
7025 Fix small arc bug while on it.
7026 * gentpl.py: Handle qemu_mips.
7027 * grub-core/Makefile.am: Likewise.
7028 * grub-core/Makefile.core.def: Likewise.
7029 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
7030 inappropriate includes.
7031 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
7032 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
7033 * grub-core/kern/main.c (grub_modules_get_end)
7034 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
7035 * grub-core/kern/mips/qemu-mips: Moved to ..
7036 * grub-core/kern/mips/qemu_mips: ... this.
7037 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
7038 (grub_machine_init): Call terminfo_init and serial_init.
7039 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
7040 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
7041 New variable.
7042 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
7043 parameter passing.
7044 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
7045 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
7046 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
7047 * include/grub/mips/qemu_mips/cmos.h: New file.
7048 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
7049 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
7050 Removed.
7051 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
7052 Use correct mips-style address.
7053 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
7054 (GRUB_TICKS_PER_SECOND): Removed.
7055 (grub_get_rtc): Likewise.
7056 (grub_cpu_idle): Likewise.
7057 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
7058 New definition.
7059 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
7060 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
7061 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
7062 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
7063 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
7064 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
7065 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
7066 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
7067
400b9371
VS
70682011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7069
7070 SGI ARCS port.
7071
7072 * Makefile.util.def (libgrubmods.a): Add dvh.c.
7073 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
7074 platforms.
7075 * configure.ac: New target mips-arc.
7076 * gentpl.py: Likewise.
7077 * grub-core/Makefile.am: Likewise.
7078 * grub-core/Makefile.core.def: Likewise.
7079 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
7080 (none_decompress): Likewise.
7081 (lsdev): New module.
7082 (datetime): Use lib/arc/datetime.c on ARC.
7083 (part_dvh): New module.
7084 * grub-core/commands/arc/lsdev.c: New file.
7085 * grub-core/disk/arc/arcdisk.c: Likewise.
7086 * grub-core/kern/mips/arc/init.c: Likewise.
7087 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
7088 aligned addresses.
7089 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
7090 support.
7091 (grub_arch_dl_relocate_symbols): Likewise.
7092 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
7093 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
7094 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
7095 platforms.
7096 * grub-core/lib/arc/datetime.c: New file.
7097 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
7098 pci.h on non-loongson.
7099 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
7100 (grub_linux_boot): Set unused registers to 0.
7101 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
7102 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
7103 * grub-core/mmap/mips/uppermem.c: ...here.
7104 * grub-core/partmap/dvh.c: New file.
7105 * grub-core/term/arc/console.c: Likewise.
7106 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
7107 (grub_terminfo_set_current): Add terminal "arc".
7108 (grub_terminfo_readkey): Support ARC sequences.
7109 * include/grub/arc/arc.h: New file.
7110 * include/grub/arc/console.h: Likewise.
7111 * include/grub/disk.h (grub_disk_dev_id): Add
7112 GRUB_DISK_DEVICE_ARCDISK_ID.
7113 * include/grub/mips/arc/kernel.h: New file.
7114 * include/grub/mips/arc/memory.h: Likewise.
7115 * include/grub/mips/arc/time.h: Likewise.
7116 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
7117 * include/grub/mips/kernel.h (grub_halt): ... here.
7118 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
7119 here...
7120 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
7121 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
7122 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
7123 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
7124 proto.
7125 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
7126 from here ...
7127 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
7128 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
7129 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
7130 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
7131 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
7132 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
7133 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
7134 (grub_phys_addr_t): Moved from here ...
7135 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
7136 (grub_vtop): Moved from here ...
7137 * include/grub/mips/memory.h (grub_vtop): ... here.
7138 (grub_map_memory): Moved from here ...
7139 * include/grub/mips/memory.h (grub_map_memory): ... here.
7140 (grub_unmap_memory): Moved from here ...
7141 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
7142 (grub_machine_mmap_iterate): Moved from here ...
7143 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
7144 (grub_mmap_get_lower): Moved from here ...
7145 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
7146 (grub_mmap_get_upper): Moved from here ...
7147 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
7148 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
7149 here ...
7150 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
7151 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
7152 here ...
7153 * include/grub/mips/time.h (grub_get_rtc): ... here.
7154 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
7155 here ...
7156 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
7157 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
7158 here ...
7159 * include/grub/mips/time.h (grub_cpu_idle): ... here.
7160 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
7161 definition.
7162 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
7163 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
7164 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
7165 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
7166 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
7167 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
7168 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
7169 (GRUB_MACHINE_LINK_ADDR): Likewise.
7170 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
7171 to 6.
7172 * util/grub-install.in: Run dvhtool on ARC.
7173 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 7174 (generate_image): Handle ECOFF output for mips-arc.
400b9371 7175
c8ecc840
VS
71762011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
7179 blocks.
7180
153a4b55
VS
71812011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7182
7183 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
7184 after enabling port.
7185
ff44d107
VS
71862011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7187
7188 Skip incorrect USB devices.
7189
7190 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
7191 configcnt == 0.
7192 * include/grub/usb.h (grub_usb_err_t): New enum value
7193 GRUB_USB_ERR_BADDEVICE.
7194
638dbe4f
VS
71952011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7196
7197 Fuloong video init support.
7198
7199 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
7200 well.
7201 (grub_vga_read_arx): New function.
7202 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
7203 definition.
7204 (framebuffer): New members io, mmioptr and mmiobase.
7205 (read_sis_cmd): New function.
7206 (write_sis_cmd): Likewise.
7207 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
7208 rather than 640x400.
7209 * grub-core/video/sis315_init.c: New file.
7210
c3fc520c
VS
72112011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7212
7213 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
7214 non-loongson.
7215 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
7216 to grub_dl_register_symbol.
7217
67b1e5c9
VS
72182011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7219
7220 Fix compilation errors.
7221
7222 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
7223 potentially unused.
7224 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
7225 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
7226 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
7227 to loongson machines.
7228
b756f75f
VS
72292011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7230
7231 Several FS mtime support.
7232
7233 * grub-core/fs/affs.c (grub_affs_time): New struct.
7234 (grub_affs_file): New field mtime.
7235 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
7236 type. Removed 'size'. New field 'di'. All users updated.
7237 (grub_affs_mount): Simplify checsum checking.
7238 (grub_affs_iterate_dir): New helper grub_affs_create_node.
7239 (grub_affs_dir): Handle mtime.
7240 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
7241 (grub_cpio_dir): Likewise.
7242 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
7243 (grub_hfs_filerec): New field mtime.
7244 (grub_hfs_dir): Handle mtime.
7245 (grub_hfs_mtime): New function.
7246 (grub_hfs_fs): Register grub_hfs_mtime.
7247 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
7248 (grub_iso9660_dir): New field mtime.
7249 (grub_fshelp_node): New field dirent.
7250 (iso9660_to_unixtime): New function.
7251 (iso9660_to_unixtime2): Likewise.
7252 (grub_iso9660_read_symlink): Use node->dirent.
7253 (grub_iso9660_iterate_dir): Likewise.
7254 (grub_iso9660_dir): Set mtime.
7255 (grub_iso9660_mtime): New function.
7256 (grub_iso9660_fs): Register grub_iso9660_mtime.
7257 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
7258 (grub_jfs_inode): New fields atime, ctime and mtime.
7259 (grub_jfs_dir): Set mtime.
7260 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
7261 * grub-core/fs/ntfs.c (list_file): Set mtime.
7262 (grub_ntfs_dir): Likewise.
7263 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
7264 (grub_reiserfs_iterate_dir): Set mtime.
7265 (grub_reiserfs_dir): Likewise.
7266 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
7267 (grub_fshelp_node): Likewise.
7268 (grub_sfs_iterate_dir): Set mtime.
7269 (grub_sfs_dir): Likewise.
7270 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
7271 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
7272 (grub_xfs_inode): New fields atime, mtime, ctime.
7273 (grub_xfs_dir): Set mtime.
7274 * include/grub/datetime.h (grub_datetime2unixtime): New function.
7275 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
7276 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
7277
7278 Support UDF symlinks.
7279
7280 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
7281 (grub_ufs_read_symlink): New function. All users updated.
7282
7283 Check amiga partmap checksum.
7284
7285 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
7286 (grub_amiga_partition): Likewise.
7287 (amiga_partition_map_checksum): New function.
7288 (amiga_partition_map_iterate): Check checksum.
7289
5470225d
VS
72902011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7291
7292 ROMFS support.
7293
7294 * Makefile.util.def (libgrubmods.a): Add romfs.
7295 * grub-core/Makefile.core.def (romfs): New module.
7296 * grub-core/fs/romfs.c: New file.
7297
d4680a35
VS
72982011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7299
7300 Squashfs v4 support.
7301
7302 * Makefile.util.def (libgrubmods.a): Add squash4.
7303 * grub-core/Makefile.core.def (squash4): New module.
7304 * grub-core/fs/squash4.c: New file.
7305 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
7306 disk_input_start, disk_input.
7307 (get_byte): Handle disk_input.
7308 (grub_zlib_disk_read): New function.
7309 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
7310
bcb18e74
FZ
73112011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
73122011-05-15 Feiran Zheng <famcool@gmail.com>
7313
7314 * Makefile.util.def (libgrubmods.a): Add minix3.
7315 * grub-core/Makefile.core.def (minix3): New module.
7316 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
7317 (GRUB_MINIX_BSIZE): Removed.
7318 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
7319 (grub_minix_ino_t): New type.
7320 (grub_minix_le_to_cpu_ino): New macro.
7321 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
7322 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
7323 (grub_minix_data): New field block_size.
7324 (grub_minix_read_file): Handle 64-bit correctly.
7325 * grub-core/fs/minix3.c: New file.
7326
32297d5f
TG
73272011-05-15 Tristan Gingold <gingold@free.fr>
73282011-05-15 Robert Millan <rmh.grub@aybabtu.com>
73292011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7330
7331 IA64 support.
7332
7333 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
7334 * configure.ac: Add ia64-efi target.
7335 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
7336 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
7337 * gentpl.py: Add ia64_efi platform.
7338 Rename x86_efi to efi and Add ia64-efi. All users updated.
7339 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
7340 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
7341 Remove kern/generic/rtc_get_time_ms.c on EFI.
7342 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
7343 kern/ia64/dl_helper.c on ia64-efi.
7344 Add kern/emu/cache.c on emu.
7345 (linux): Use on loader/ia64/efi/linux.c on ia64.
7346 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
7347 whether symbol is a function.
7348 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
7349 (grub_symbol): New field 'isfunc'.
7350 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
7351 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
7352 (grub_dl_load_segments): Place all sections into the same region.
7353 [__ia64__]: Create trampolines and got.
7354 [GRUB_MACHINE_EMU]: Call mprotect.
7355 (grub_dl_resolve_symbols): Resolve symbol type as well.
7356 [__ia64__]: Create function descriptors.
7357 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
7358 (grub_rtc_get_time_ms): ... this. Expressions simplified.
7359 (grub_get_rtc): New function.
7360 * grub-core/kern/emu/cache.c [__ia64__]: New file.
7361 * grub-core/kern/emu/cache.S: Renamed to ...
7362 * grub-core/kern/emu/cache_s.S: ... this.
7363 [__ia64__]: Add a nop.
7364 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
7365 [__ia64__]: New function.
7366 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
7367 * grub-core/kern/ia64/dl.c: New file.
7368 * grub-core/kern/ia64/dl_helper.c: Likewise.
7369 * grub-core/kern/ia64/efi/init.c: New file.
7370 * grub-core/kern/ia64/efi/startup.S: Likewise.
7371 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
7372 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
7373 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
7374 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
7375 * grub-core/loader/ia64/efi/linux.c: New file.
7376 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
7377 (GRUB_MOD_DEP): Likewise.
7378 (grub_dl) [__ia64__]: New fields got and tramp.
7379 (grub_dl): New field 'base'.
7380 (grub_dl_register_symbol): New argument isfunc. All users updated.
7381 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
7382 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
7383 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
7384 (grub_ia64_dl_get_tramp_got_size): New proto.
7385 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
7386 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
7387 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
7388 * include/grub/efi/api.h: Skip call wrappers on ia64.
7389 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
7390 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
7391 * include/grub/elf.h (ELF_ST_INFO): New definition.
7392 * include/grub/ia64/efi/kernel.h: New file.
7393 * include/grub/ia64/efi/memory.h: Likewise.
7394 * include/grub/ia64/efi/time.h: Likewise.
7395 * include/grub/ia64/kernel.h: Likewise.
7396 * include/grub/ia64/setjmp.h: Likewise (from glibc).
7397 * include/grub/ia64/time.h: New file.
7398 * include/grub/ia64/types.h: Likewise.
7399 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
7400 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
7401 New protos.
7402 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
7403 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
7404 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
7405 * util/grub-mkimage.c (image_target_desc): New field pe_target.
7406 All users updated.
7407 (EFI64_HEADER_SIZE): New definition. All users updated.
7408 (image_targets): Add ia64-efi.
7409 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
7410 jumpers_addr. All users updated.
7411 Create function descriptors.
7412 (count_funcs): New function.
7413 (unaligned_uint32): New struct.
7414 (MASK20): New definition.
7415 (MASK19): Likewise.
7416 (MASKF21): Likewise.
7417 (add_value_to_slot_20b): New function.
7418 (add_value_to_slot_21_real): Likewise.
7419 (add_value_to_slot_21): Likewise.
7420 (ia64_kernel_trampoline): New struct.
7421 (nopm): New variable.
7422 (jump): Likewise.
7423 (make_trampoline): New function.
7424 (relocate_addresses): Handle ia64.
7425 (make_reloc_section): Likewise.
7426 (load_image): Likewise.
7427
983b414d
VS
74282011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7429
7430 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
7431 warning. Move variables before code while on it.
7432
5d063cdc
VS
74332011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7434
7435 Fuloong support.
7436
7437 * configure.ac: Rename yeeloong platform to loongson. All users updated.
7438 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
7439 * grub-core/boot/mips/loongson/fuloong.S: New file.
7440 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
7441 Explicitly init CS5536.
7442 [FULOONG]: Don't use serial until CS5536 is available.
7443 Set GPIO based on dumps.
7444 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
7445 [FULOONG]: Handle GPIO and memory controller differences.
7446 Parse machine type in $a2.
7447 * grub-core/boot/mips/startup_raw.S: Determine and save the
7448 architecture.
7449 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
7450 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
7451 init on architecture type.
7452 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
7453 SIS315E. Don't init at_keyboard on fuloong.
7454 (grub_halt): Support Fuloong.
7455 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
7456 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
7457 (loongson_machtypes): New array.
7458 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
7459 type.
7460 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
7461 config. All users updated. Handle CS5536 serial.
7462 * grub-core/term/serial.c (grub_serial_register): Conditionalise
7463 default port on machine type. Register serial as inactive.
7464 * grub-core/video/sis315pro.c: New file.
7465 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
7466 definition.
7467 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
7468 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
7469 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
7470 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
7471 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
7472 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
7473 to ...
7474 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
7475 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
7476 definition.
7477 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
7478 (grub_arch_machine): New extern var.
7479 * include/grub/mips/loongson/serial.h
7480 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
7481 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
7482 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
7483 (GRUB_MACHINE_SERIAL_PORT0): ... this.
7484 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
7485 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
7486 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
7487 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
7488 * include/grub/term.h (grub_term_register_input_inactive): New inline
7489 function.
7490 (grub_term_register_output_inactive): Likewise.
7491 * include/grub/video.h (grub_video_driver_id): New value
7492 GRUB_VIDEO_DRIVER_SIS315PRO.
7493 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
7494 New field "names". All users updated.
7495 New field value IMAGE_FULOONG_FLASH.
7496 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
7497
6ada82d1
JU
74982011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
7499
7500 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
7501 and add some clarification.
7502
90c571a4
VS
75032011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7504
7505 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
7506 platforms if kernel is compressed.
7507
de04eecf
VS
75082011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7509
7510 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
7511 unused modules since currently referrence counter isn't reliable and
7512 there isn't much memory to recover there anyway.
7513
57688121
VS
75142011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7515
7516 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
7517 rather than resetting it to allow modules to reference themselves
7518 in init.
7519
3d2c7e35
VS
75202011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7521
7522 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
7523 counter on dependencies since grub_dl_unref already handles this.
7524
b25db218
VS
75252011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7526
7527 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
7528 on error if not already done.
7529
25a45338
VS
75302011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7531
7532 Fix few potential memory misusage.
7533
7534 * grub-core/font/font.c (load_font_index): Don't free char_index to
7535 avoid double free.
b25db218
VS
7536 (grub_font_load): Zero-fill font at alloc for safety.
7537 Close file on error.
7538 (free_font): Free bmp_idx.
25a45338 7539
0cac83df
VS
75402011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7541
7542 * docs/grub.texi (Installation): Fix several outdated claims.
7543
2217a143
VS
75442011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7545
7546 Handle module_license on windows.
7547
7548 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
7549 sections shifted.
7550 (insert_string): Make argument const char * instead of char *.
7551 (write_section_data): Handle long section names.
7552 Handle module_license.
7553
d4de6b01
VS
75542011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7555
7556 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
7557 handle class-free menuentries.
7558 (grub_normal_add_menu_entry): Add a check to be sure.
7559
4c2a3b43
VS
75602011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
7563 PgUp and PgDown.
7564
85c6210f
VS
75652011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7566
7567 * configure.ac: Bump version to 1.99.
7568
36084912
VS
75692011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7570
7571 Give ATA device a bit more time on first try in order to allow disks
7572 to spin up.
7573
7574 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
7575 if dev->present is 1. Reset dev->present on failure.
7576 (grub_ata_device_initialize): Set dev->present to 1.
7577 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
7578 (grub_ata_device): New member 'present'.
7579
bda0e219
VS
75802011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7581
7582 * util/grub-mkimage.c (generate_image): Update hash.
7583
19e1c41b
VS
75842011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7585
7586 Flush caches on DMA memory.
7587
7588 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
7589 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
7590 (grub_dma_free): Likewise.
7591 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
7592
91bbcc0c
VS
75932011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7594
7595 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
7596 to avoid asm treating ld and sd as macros.
7597
60ddfad3
VS
75982011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7599
7600 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
7601 decompressor.
7602
a298aa04
VS
76032011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7604
7605 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
7606 grub_decompress_core since later would fail if grub_decompress_core
7607 is too far.
7608
9b44feca
VS
76092011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7610
7611 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
7612 R_MIPS_JALR since it's used by newer compiler.
7613
56dbe7b4
VS
76142011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7615
7616 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
7617
52856af2
VS
76182011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7619
7620 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
7621 file_path to 0 for surety.
7622 (grub_chainloader_boot): Set exit_data to NULL.
7623 Unset the loader once done.
7624 (grub_cmd_chainloader): Fix confusing error message if file is empty.
7625
9c9bfc6d
VS
76262011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7627
7628 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
7629 unknown key into a dprintf.
7630
dd94a3df
VS
76312011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7632
7633 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
7634 on first non-existant partition.
7635
fa68d99c
VS
76362011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7637
7638 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
7639 openning fails.
7640 Reported by: Mark Korenberg.
7641
157effb7
VS
76422011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7643
7644 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
7645 overflow.
7646
ea75312f
VS
76472011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7648
7649 * util/grub-mkimage.c (main): Explicitely flush and sync the output
7650 before closing to ensure that it will be readable by grub-setup.
7651
072b5d31
VS
76522011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7653
7654 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
7655 (devpath_1): Use MAKE_PIWG_PATH.
7656 (devpath_2): Likewise.
7657 (devpath_3): Likewise.
7658 (devpath_4): Likewise.
7659 (devpath_5): Likewise.
7660 (devpath_6): Likewise.
7661
7662 The appleldr.mod was checked that to be binary identical to previous
7663 version.
7664
7fae0051
Z
76652011-05-05 Zach <mikezackles>
7666
7667 Support 2010 Macbooks.
7668
7669 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
7670 (devs): Add devpath_6.
7671
7c515bee
VS
76722011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7673
7674 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
7675 /dev/random. /dev/urandom is good enough for our purposes (salting).
7676
ed660bd8
VS
76772011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7678
7679 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
7680
ee5614b7
VS
76812011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7682
7683 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
7684 hexadecimal.
7685
664889a6
VS
76862011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7687
7688 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
7689 and not 0 on failure.
7690
bd405bbc
CW
76912011-05-03 Colin Watson <cjwatson@ubuntu.com>
7692
7693 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
7694 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
7695 disk; otherwise grub_fs_probe will not fall back to the next
7696 filesystem.
7697 (grub_pxefs_open): Likewise, for consistency.
7698 Reported and tested by: Ezekiel Grave.
7699
4ebff753
CW
77002011-05-03 Colin Watson <cjwatson@ubuntu.com>
7701
7702 * tests/partmap_test.in: Don't hardcode path to parted.
7703 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
7704
8f942553
CW
77052011-05-01 Colin Watson <cjwatson@ubuntu.com>
7706
7707 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
7708 of `ls' to find out which devices are available.
7709
3c62402d
VS
77102011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
7713 than source address for efi mmap buffer.
7714
723f63f2
VS
77152011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7716
7717 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
7718 wrong action on non-detecting the magic.
7719
68797f92
VS
77202011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7721
7722 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
7723 already supplied by another part of the module (fixes compilation on
7724 FreeBSD).
7725
6be8715d
VS
77262011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7727
7728 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
7729 match the one used by mdadm.
7730
e91dba5b
CW
77312011-04-21 Colin Watson <cjwatson@ubuntu.com>
7732
7733 * po/README: Add instructions for creating po/LINGUAS.
7734
c85140b3
CW
77352011-04-21 Colin Watson <cjwatson@ubuntu.com>
7736
7737 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
7738 #551428.
7739
7740 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
7741 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
7742 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
7743 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
7744 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
7745 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
7746 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
7747 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
7748 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
7749 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
7750 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
7751 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
7752 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
7753 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
7754 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
7755 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
7756 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
7757 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
7758 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
7759 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
7760 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
7761 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
7762
92051871
CW
77632011-04-21 Colin Watson <cjwatson@ubuntu.com>
7764
7765 * grub-core/kern/emu/getroot.c
7766 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
7767 test that was incorrectly reintroduced in r3214.
7768 Reported by: Ian Dall. Fixes Savannah bug #33133.
7769
b13f79a4
CW
77702011-04-21 Colin Watson <cjwatson@ubuntu.com>
7771
7772 Fix stack pointer handling in 16-bit relocator.
7773
7774 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
7775 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
7776 Fixes Ubuntu bug #683904.
7777
9b710a88
VS
77782011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7779
7780 * configure.ac: Bump version to 1.99~rc2.
7781
d97e7b59
VS
77822011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7783
7784 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
7785 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
7786 * grub-core/lib/x86_64/setjmp.S: Likewise.
7787 * grub-core/lib/mips/setjmp.S: Likewise.
7788 * grub-core/lib/powerpc/setjmp.S: Likewise.
7789 * grub-core/lib/sparc64/setjmp.S: Likewise.
7790
0624551c
VS
77912011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7792
7793 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
7794 * grub-core/lib/efi/datetime.c: Likewise.
7795
e8f28d4c
VS
77962011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7797
7798 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
7799 New function.
7800 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
7801 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
7802 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
7803
bba79a15
VS
78042011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7805
7806 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
7807 bitmap.
7808 (grub_gfxterm_term_init): Likewise.
7809
abc474ef
VS
78102011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7811
7812 Take into account the decorations the computing menu entry width.
7813
7814 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
7815 (grub_gfxmenu_create_box): Register get_border_width.
7816 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
7817 if available.
7818 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
7819 get_border_width.
7820
e74b3947
EP
78212011-04-18 Endres Puschner <code@e7p.de>
7822
7823 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
7824 Don't skip first class.
7825
34faa595
VS
78262011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7827
7828 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
7829 chunks.
7830 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
7831
93a777e3
VS
78322011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7833
7834 Complete 64-bit division support.
7835
7836 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
7837 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
7838 * include/grub/misc.h (grub_divmod64): Rename to ...
7839 (grub_divmod64_full): ... this.
7840 (grub_divmod64): New inline function.
7841
a5102d94
VS
78422011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7843
7844 * util/grub-mkimage.c (generate_image): Add forgotten comma.
7845
f3fb7b36
VS
78462011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7847
7848 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
7849 performing the necessary test.
7850
9ac718b0
VS
78512011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7852
7853 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
7854 (kfreebsd.elf): Likewise.
7855 (pc-chainloader.elf): Likewise.
7856 (ntldr.elf): Likewise.
7857
50d2cc5a
VS
78582011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7859
7860 Identify RAID by its UUID rather than (guessed) name.
7861
7862 * grub-core/disk/raid.c (ascii2hex): New function.
7863 (grub_raid_open): Accept mduuid/%s specification.
7864 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
7865 (get_mdadm_uuid): ... this.
7866 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
7867
e03f7bea
VS
78682011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
7869
7870 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
7871 to negative size.
7872
e74c3112
CW
78732011-04-13 Colin Watson <cjwatson@ubuntu.com>
7874
7875 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
7876 btrfs subvolume.
7877 * util/grub.d/20_linux_xen.in: Likewise.
7878
78fa584f
CW
78792011-04-13 Colin Watson <cjwatson@ubuntu.com>
7880
7881 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
7882 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
7883
7884 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
7885 Build a list of relevant visible mounts using the mnt_id and
7886 parent_mnt_id fields, and then scan that list at the end.
7887
9d5f8162
CW
78882011-04-12 Colin Watson <cjwatson@ubuntu.com>
7889
7890 * docs/grub.texi (normal): New section.
7891 (normal_exit): New section.
7892 (Embedded configuration): Add reference to normal.
7893 (GRUB only offers a rescue shell): Likewise.
7894 * docs/grub-dev.texi (Error Handling): Fix typo.
7895
09a9d66f
CW
78962011-04-12 Colin Watson <cjwatson@ubuntu.com>
7897
7898 * NEWS: Drop obsolete entry about probe-only btrfs support.
7899
0c676933
CW
79002011-04-12 Colin Watson <cjwatson@ubuntu.com>
7901
7902 * util/import_gcry.py: Fix typo.
7903
ec9f5e0d
VS
79042011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7905
7906 * NEWS: Add btrfs support.
7907
fe6b2cba
VS
79082011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
79092011-04-11 Colin Watson <cjwatson@ubuntu.com>
7910
7911 BtrFS support. Written by me (Vladimir) with important bugfixes and
7912 even more important testing by Colin.
7913
7914 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
7915 * grub-core/Makefile.core.def (btrfs): Add crc.c.
7916 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
7917 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
7918 mem_input_off and mem_input. All users updated to accept in-RAM input.
7919 (gzio_seek): New function.
7920 (test_zlib_header): Likewise.
7921 (grub_gzio_read): Likewise.
7922 (grub_zlib_decompress): Likewise.
7923 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
7924 Accept partial and non-virtual mounts.
7925 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
7926 avoid receiving /dev/dm-X as device.
7927 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
7928 Handle bind and partial mounts.
7929 * grub-core/lib/crc.c: New file.
7930 * include/grub/deflate.h: Likewise.
7931 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
7932 proto.
7933 * include/grub/lib/crc.h: New file.
7934
e745cf0c
VS
79352011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7936
7937 Implement automatic module license checking according to new GNU
7938 guidelines.
7939
7940 * grub-core/kern/dl.c (grub_dl_check_license): New function.
7941 (grub_dl_load_core): Use grub_dl_check_license.
7942 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
7943 (GRUB_MOD_LICENSE): Likewise.
7944 (GRUB_MOD_DUAL_LICENSE): Likewise.
7945 All modules updated.
7946
2a9bc016
CW
79472011-04-11 Colin Watson <cjwatson@ubuntu.com>
7948
7949 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
7950 reserved_first_sector to 1. btrfs reserves plenty of space for boot
7951 loaders.
7952 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
7953
8a3bc88e
VS
79542011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7955
7956 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
7957
af869a4a
VS
79582011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7959
7960 * util/grub-fstest.c (read_file): Report GRUB error if file opening
7961 failed.
7962
9ee8d94f
VS
79632011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7964
7965 * grub-core/kern/file.c (grub_file_open): Don't take into account the
7966 parenthesis in the middle of the filename.
7967
b01abe3e
VS
79682011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7969
7970 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
7971 rather than trying to put initrd way too high.
7972 Reported by: Ryan Lortie <desrt@desrt.ca>
7973
335bda1e
VS
79742011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7975
7976 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
7977 improperly removed string.
7978
5ca1a64d
VS
79792011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7980
7981 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
7982 is_disk.
7983 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
7984 (open_device) Likewise.
7985 (grub_util_biosdisk_close): Likewise.
d8ce9995 7986 Reported by: Mark Korenberg.
5ca1a64d 7987
cbac5b1e
AK
79882011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
7989
7990 * util/grub-mkconfig_lib.in: Add missing quotes.
7991
088cdb65
CW
79922011-04-10 Colin Watson <cjwatson@ubuntu.com>
7993
7994 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
7995 is NULL.
7996
8b8a81fa
VS
79972011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7998
7999 Dynamically count the number of lines for the lower banner.
8000
8001 * grub-core/normal/menu_entry.c (per_term_screen): New member
8002 num_entries.
8003 (print_down): Use num_entries.
8004 (update_screen): Likewise.
8005 (grub_menu_entry_run): Set num_entries.
8006 * grub-core/normal/menu_text.c (menu_viewer_data): New member
8007 num_entries.
8008 (grub_print_message_indented): Move real part to ...
8009 (grub_print_message_indented_real): ... here. Additional argument
8010 dry_run.
8011 (draw_border): Additional argument num_entries.
8012 (print_message): Additional argument dry_run.
8013 (print_entries): Receive menu viewer data.
8014 (grub_menu_init_page): New argment num_entries.
8015 (menu_text_set_chosen_entry): Use num_entries.
8016 (grub_menu_try_text): Likewise.
8017 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
8018 All users updated.
8019 (grub_ucs4_count_lines): New function.
8020 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
8021 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
8022 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
8023 (grub_term_border_height): Likewise.
8024 (grub_term_num_entries): Likewise.
8025
277f955b
VS
80262011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8027
8028 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
8029 Remove now unused string.
8030
536ce85a
CW
80312011-04-09 Colin Watson <cjwatson@ubuntu.com>
8032
8033 * docs/grub-dev.texi (Finding your way around): Update for 1.99
8034 build system.
8035 (Getting started): GRUB is developed in Bazaar now, not Subversion.
8036
8037 (Comment): Fix typo.
8038 (Getting started): General copy-editing.
8039 (Typical Development Experience): Likewise.
8040 (Error Handling): Likewise.
8041 (Video API): Likewise.
8042
2cf09e32
CW
80432011-04-09 Colin Watson <cjwatson@ubuntu.com>
8044
8045 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
8046 throughout.
8047
1ec652f4
VS
80482011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8049
8050 * util/grub-mkimage.c (main): Handle special naming of yeeloong
8051 directory.
8052
2c583728
CW
80532011-04-08 Colin Watson <cjwatson@ubuntu.com>
8054
8055 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
8056 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
8057 "development".
8058
d7a565e9
VS
80592011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8060
8061 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
8062 grub_strcpy since the lines aren't necessarily 0-terminated.
8063
7c2e4909
VS
80642011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8065
8066 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
8067 root on legacy.
8068
34c09785
VS
80692011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8070
8071 * grub-core/commands/probe.c (options): Argument to set isn't optional.
8072 (GRUB_MOD_INIT): DEVICE isn't optional.
8073
6a6f8058
VS
80742011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8075
8076 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
8077 word on new line if it's too long anyway. Fixes a hang.
8078
2e335e90
VS
80792011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8080
8081 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
8082 const.
8083 * util/grub-setup.c (main): Reuse md device name if available.
8084 * util/raid.c (grub_util_raid_getmembers): Receive device name and
8085 not GRUB name as argument.
8086 Based on patch by: Florian Wagner <fwagner>.
8087
10a7a867
VS
80882011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8089
8090 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
8091 Place mbi on low memory for better compatibility.
8092
7a3d6cd9
VS
80932011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8094
8095 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
8096
18dd6b47
VS
80972011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
80982011-04-08 Colin Watson <cjwatson@ubuntu.com>
8099
8100 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 8101 * conf/Makefile.common: Likewise.
18dd6b47 8102
3c0e3f14
VS
81032011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8104
f7148863
VS
8105 * grub-core/normal/menu.c: Add missing include.
8106
81072011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8108
8109 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 8110
6d1fa41f
MZ
81112011-04-08 Martin Zuther <mzuther@mzuther.de>
8112
8113 * util/grub-mkconfig.in: Ignore emacsen backup.
8114
478182a8
VS
81152011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8116
8117 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
8118 on open.
8119 (grub_util_biosdisk_close): Likewise.
8120
72a89a54
VS
81212011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8122
8123 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
8124 const attribute and use grub_isdigit.
8125
b5ebecfa
A
81262011-04-06 Andrey <dev_null@ukr.net>
8127
8128 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
8129 gcc warning.
8130
7755f66e
VS
81312011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8132
8133 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
8134 useful grub_dprintf's.
8135
461121ff
VS
81362011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8137
8138 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
8139
2a961775
VS
81402011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8141
8142 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
8143
adf594cc
VS
81442011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8145
8146 Output errors if theme loading failed.
8147
8148 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
8149 grub_gfxterm_fullscreen on error paths to ...
8150 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
8151 theme loading error.
8152
665900a3
VS
81532011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
8156 space for older compilers.
8157 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
8158
a562b479
VS
81592011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8160
8161 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
8162 and report them as not RAID members since they are useless for GRUB.
8163 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8164
850e9373
VS
81652011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8166
8167 Increase LVM implementation robustness in order not to crash on
8168 configurations like pvmove. Previously code assumed that in some places
8169 only lvs or only pvs are used whereas it seems that they are used
8170 interchangeably.
8171
8172 * grub-core/disk/lvm.c (read_node): New function.
8173 (read_lv): Use read_node.
8174 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
8175 Match volumes only at the end when all lvs are found. Take both
8176 pvs (first) and lvs (second) into account.
8177 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
8178 mirror_* into node_*. All users updated.
8179 (grub_lvm_stripe): Merge this ...
8180 (grub_lvm_mirror): ... and this ...
8181 (grub_lvm_node): ... into this. All users updated.
8182
6f332153
VS
81832011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8184
8185 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
8186 of function to allow further scanning for LVMs.
8187
829ea451
VS
81882011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8189
8190 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
8191 on failed seek as it breaks open fd reusage.
8192
09ceb9a5
VS
81932011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8194
8195 * util/grub-install.in: Add a recommendation to use --recheck before
8196 reporting bugs.
8197
67e11623
VS
81982011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8199
8200 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
8201 are obtained.
8202
caee5efd
VS
82032011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8204
8205 GRUB developper manual based on existing Internals section and
8206 contributions by the various authors with active copyright assignment.
8207
8208 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
8209 * docs/font_char_metrics.png: New file.
8210 * docs/font_char_metrics.txt: Likewise.
8211 * docs/grub-dev.texi: Likewise.
8212 * docs/grub.texi (Internals): Move from here ...
8213 * docs/grub-dev.texi: ... here.
8214
2cccc747
CW
82152011-04-01 Colin Watson <cjwatson@ubuntu.com>
8216
8217 Store the loopback device as data on loopback grub_disk structures,
8218 rather than the file it points to. This fixes use of freed memory
8219 if an existing loopback device is replaced.
8220
8221 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
8222 disk->data, not dev->file.
8223 (grub_loopback_read): Adjust file assignment to match.
8224 Fixes Ubuntu bug #742967.
8225
186ae367
CW
82262011-04-01 Colin Watson <cjwatson@ubuntu.com>
8227
8228 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
8229 when replacing an existing device.
8230
cfed2ad0
VS
82312011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8232
8233 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
8234 memory corruptions.
8235
8236 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
8237 unsigned.
8238 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
8239 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
8240 (grub_jfs_read_inode): Likewise.
8241 (grub_jfs_opendir): Likewise. Remove now useless casts.
8242 (grub_jfs_getent): Likewise.
8243 Make ino a grub_uint32_t rather than int.
8244 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
8245 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
8246 division and module with bit operations.
8247 (grub_jfs_find_file): Make ino a grub_uint32_t.
8248 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
8249
05d2ed32
CW
82502011-04-01 Colin Watson <cjwatson@ubuntu.com>
8251
8252 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
8253 warning. (This was in fact always initialised before use, but GCC
8254 wasn't smart enough to prove that.)
8255 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
8256
91dc6073
VS
82572011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8258
8259 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
8260 stack alignment.
8261 (efi_wrap_1): Likewise.
8262 (efi_wrap_2): Likewise.
8263 (efi_wrap_3): Likewise.
8264 (efi_wrap_4): Likewise.
8265 (efi_wrap_5): Likewise.
8266 (efi_wrap_6): Likewise.
8267 (efi_wrap_10): Likewise.
8268 Based on information by: Red Hat/Peter Jones.
8269
a8afc1d1
CW
82702011-03-31 Colin Watson <cjwatson@ubuntu.com>
8271
8272 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
8273 set-but-not-used variable.
8274
a826cc7d
CW
82752011-03-31 Colin Watson <cjwatson@ubuntu.com>
8276
8277 * docs/grub.texi (Simple configuration): Be more explicit about
8278 GRUB_DEFAULT, and add an example.
8279 Reported by: Leslie Rhorer.
8280
875b67ba
CW
82812011-03-30 Colin Watson <cjwatson@ubuntu.com>
8282
8283 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
8284 shell".
8285
fd7cd914
AS
82862011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
8287
8288 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
8289 * util/grub.d/20_linux_xen.in: Likewise.
8290
090b1b6a
VS
82912011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8292
8293 * util/grub.d/10_linux.in: Try alternative config filenames where
8294 we parse config file.
8295 * util/grub.d/20_linux_xen.in: Likewise.
8296
baad885c
AS
82972011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
8298
8299 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
8300 * util/grub.d/20_linux_xen.in: Likewise.
8301
241e41f5
VS
83022011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8303
8304 * grub-core/disk/raid.c (insert_array): Add few potentially
8305 useful grub_util_info.
8306 (grub_raid_register): Likewise.
8307
56445fb2
VS
83082011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8309
8310 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
8311 Preserve partition number in mdadm code path.
8312
c871b1c6
VS
83132011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
8316 few potentially useful grub_util_info.
8317
5e631b4f
CW
83182011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
8321
2d5d0333
CW
83222011-03-30 Colin Watson <cjwatson@ubuntu.com>
8323
8324 * docs/grub.texi (default): Use @example rather than nested
8325 itemized lists to avoid breaking gendocs.
8326
3d7ed04e
CW
83272011-03-30 Colin Watson <cjwatson@ubuntu.com>
8328
8329 * docs/grub.texi (Future): Update.
8330
abf04200 83312011-03-30 Colin Watson <cjwatson@ubuntu.com>
8332
8333 * docs/grub.texi (Environment): New chapter.
8334 (Changes from GRUB Legacy): Link to "Environment block" section for
8335 details of limitations.
8336 (Simple configuration): Likewise. Link to documentation of gfxmode
8337 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
8338 respectively.
8339 (Shell-like scripting): Note that normal variables are stored in the
8340 environment.
8341 (gettext): Link to documentation of lang and locale_dir.
8342 (list_env): New section.
8343 (load_env): New section.
8344 (save_env): New section.
8345
8346 (Reporting bugs): Fix typo.
8347
e1ad0edd
VS
83482011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8349
8350 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
8351 the example.
8352
5d803174
VS
83532011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 * grub-core/term/at_keyboard.c (set_scancodes)
8356 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
8357
2a2da1d0
CW
83582011-03-30 Colin Watson <cjwatson@ubuntu.com>
8359
8360 * docs/grub.texi (Menu-specific commands): Remove some semantics
8361 that were true in GRUB Legacy but not in GRUB 2.
8362 (submenu): New section.
8363 (false): New section.
8364 (read): New section.
8365 (true): New section.
8366
a7527639
CW
83672011-03-30 Colin Watson <cjwatson@ubuntu.com>
8368
8369 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
8370
83712011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
8372
8373 * docs/grub.texi (Simple configuration): Explain some of the
8374 current limitations of grub-mkconfig.
8a748df2 8375 Reported by: Leslie Rhorer.
e30af029 8376
fc858482
VS
83772011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8378
8379 Old macs search for boot.efi rather than for bootia32.efi.
8380
8381 * util/grub-install.in: Copy bootia32.efi to boot.efi.
8382 * util/grub-mkrescue.in: Likewise.
8383 Suggested by: Peter Jones.
8384
e1eb511d
VS
83852011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8386
8387 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
8388
70e75364
VS
83892011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8390
8391 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
8392 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
8393 (grub_lvm_mirror): New struct.
8394 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
8395 (grub_lvm_iterate): Iterate only visible volumes.
8396 (grub_lvm_read): Factor out to ..
8397 (read_lv): ... this. Support mirrors.
8398 (grub_lvm_read): New wrapper function.
8399 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
8400 stripped or mirrored.
8401
fc18f6a3
VS
84022011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8403
8404 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
8405
5c650f4c
CW
84062011-03-29 Colin Watson <cjwatson@ubuntu.com>
8407
8408 * docs/grub.texi (loopback): New section.
8409
61d7156b
CW
84102011-03-29 Colin Watson <cjwatson@ubuntu.com>
8411
8412 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
8413 removed -p option.
8414
994b8264
CW
84152011-03-29 Colin Watson <cjwatson@ubuntu.com>
8416
8417 * docs/grub.texi (BIOS installation): New section, partly based on
8418 previous text in other sections.
8419 (Installing GRUB using grub-install): Replace BIOS discussion with a
8420 cross-reference.
8421 (Images): Likewise.
8422
9e4d19e0
VS
84232011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8424
8425 * grub-core/kern/emu/hostdisk.c (find_partition_start)
8426 [HAVE_DIOCGDINFO]: Add safety checks.
8427
a307c0b2
VS
84282011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8429
8430 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
8431 per default compiled in kernel and prior to 8.0 isn't shipped at all.
8432
b4db4f39
CW
84332011-03-29 Colin Watson <cjwatson@ubuntu.com>
8434
8435 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
8436 real_sb->size is zero (e.g. RAID-0), get the disk size from
8437 real_sb->data_size instead.
8438 Fixes Ubuntu bug #743136.
8439
35e5f84c
VS
84402011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8441
8442 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
8443 printf clauses for printing size and start.
8444
d2e29d81
VS
84452011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8446
8447 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
8448 Reported and tested by: Timothy Nikkel.
8449
ed5587af
VS
84502011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8451
8452 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
8453 (dirty_region_add_real): ... this.
8454 (dirty_region_add): Don't discard margin refresh when performing
8455 scheduled repaint.
8456
a1dc717c
VS
84572011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8458
8459 * grub-core/lib/relocator.c (allocate_regstart)
8460 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
8461 terminals are capabple of malloc-free operation.
8462 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
8463 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
8464
9f3677d3
VS
84652011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
8466
8467 * util/grub-setup.c: Copy the partition table zone if floppy support
8468 is disabled, even if no partition table is found.
8469
8470 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
8471 during POST if an invalid partition table is contained in the PBR
8472 of the active partition when GRUB is installed to a partition.
8473
24148725
CW
84742011-03-28 Colin Watson <cjwatson@debian.org>
8475
8476 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
8477 comment.
8478
f329eda7
CW
84792011-03-28 Colin Watson <cjwatson@debian.org>
8480
8481 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
8482 to be specific about what kind of RAID device we're scanning for.
8483
c482ad98
SG
84842011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
8485
8486 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
8487 return freed string.
8488
5ee04984
VS
84892011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8490
8491 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
8492
f4727da9
VS
84932011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8494
8495 Use libgeom on FreeBSD to detect partitions.
8496
8497 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
8498 (grub-mkrelpath): Likewise.
8499 (grub-script-check): Likewise.
8500 (grub-editenv): Likewise.
8501 (grub-mkpasswd-pbkdf2): Likewise.
8502 (grub-fstest): Likewise.
8503 (grub-mkfont): Likewise.
8504 (grub-mkdevicemap): Likewise.
8505 (grub-probe): Likewise.
8506 (grub-setup): Likewise.
8507 (grub-ofpathname): Likewise.
8508 (grub-mklayout): Likewise.
8509 (example_unit_test): Likewise.
8510 (grub-menulst2cfg): Likewise.
8511 * grub-core/Makefile.core.def (grub-emu): Likewise.
8512 (grub-emu-lite): Likewise.
8513 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
8514 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
8515 define HAVE_DIOCGDINFO.
8516 (follow_geom_up) [FreeBSD]: New function.
8517 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
8518 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
8519 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
8520 unconditionally of HAVE_DIOCGDINFO.
8521
82fe6c75
VS
85222011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8523
8524 Fix FreeBSD compilation problem.
8525
8526 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
8527 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
8528
4c6c9431
CW
85292011-03-24 Colin Watson <cjwatson@ubuntu.com>
8530
8531 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
8532 Switch back to page zero before loading a kernel, since some kernel
8533 drivers expect that.
8534 Thanks to: Felix Kuehling.
8535
c7064d94
VS
85362011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8537
8538 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
8539 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
8540 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
8541
3f71cded
VS
85422011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8543
8544 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
8545 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
8546
ef6de21a
VS
85472011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8548
8549 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
8550 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
8551 malloc is disabled.
8552
8bc66a2c
VS
85532011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8554
8555 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
8556 for modules headers when counting the needed allocation size.
8557
5657722c
VS
85582011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8559
8560 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
8561 if no ASCII character is found to prevent crash.
8562
41a85f55
AK
85632011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
8564
8565 * grub-core/video/bitmap.c (match_extension): Ignore case.
8566
59e1e5f1
VS
85672011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8568
8569 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
8570
bd4d051a
VS
85712011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8572
8573 * grub-core/script/parser.y: Declare "time" as valid argument.
8574
bae7fcc1
PJ
85752011-03-23 Peter Jones <pjones@redhat.com>
8576
8577 Fix incorrect assert failure reporting.
8578
8579 * grub-core/tests/example_functional_test.c (example_test): Add
8580 a failure comment.
8581 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
8582 (failure_start): ...this. Check that malloc succeeded.
8583 Don't call xvasprintf. Return failure struct.
8584 (failure_append_vtext): New function.
8585 (failure_append_text): Likewise.
8586 (add_failure): Likewise.
8587 (grub_test_assert_helper): Likewise.
8588 * include/grub/test.h (grub_test_assert_helper): New declaration.
8589 (grub_test_assert): Macro rewritten.
8590
537dc9be
VS
85912011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8592
8593 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
8594
fa3e01bf
VS
85952011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8596
8597 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
8598
b1d28404
VS
85992011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8600
8601 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
8602 into GRUB-style one.
8603
2e3e2e09
VS
86042011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8605
8606 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
8607 error and not grub_errno.
8608 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
8609
ed57e557
VS
86102011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8611
8612 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
8613 GRUB_USB_SPEED_NONE in case of failure and not the error code.
8614
d1611f01
VS
86152011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8616
8617 * grub-core/efiemu/i386/pc/cfgtables.c
8618 (grub_machine_efiemu_init_tables): Make declaration a prototype.
8619 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
8620 (grub_xnu_unlock): Likewise.
8621 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
8622
7d4e39d6
VS
86232011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8624
8625 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
8626 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
8627 * grub-core/commands/hashsum.c (aliases): Likewise.
8628 * grub-core/commands/setpci.c (pci_registers): Likewise.
8629 * grub-core/disk/usbms.c (attach_hook): Likewise.
8630 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
8631 (zio_checksum_table): Likewise.
8632 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
8633 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
8634 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
8635 * grub-core/lib/relocator.c (leftovers): Likewise.
8636 (extra_blocks): Likewise.
8637 * grub-core/loader/i386/bsd.c (relocator): Likewise.
8638 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
8639 (modules_last): Likewise.
8640 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
8641 (devices): Likewise.
8642 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
8643 (modules_last): Likewise.
8644 * grub-core/normal/auth.c (users): Likewise.
8645 * grub-core/normal/context.c (initial_menu): Likewise.
8646 (current_menu): Likewise.
8647 * grub-core/normal/crypto.c (crypto_specs): Likewise.
8648 * grub-core/term/serial.c (grub_serial_ports): Likewise.
8649 (grub_serial_terminfo_input_template): Likewise.
8650 (grub_serial_terminfo_output_template): Likewise.
8651 (grub_serial_terminfo_input): Likewise.
8652 (grub_serial_terminfo_output): Likewise.
8653 (registered): Likewise.
8654 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
8655
40fc4659
VS
86562011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8657
8658 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
8659 grub_video_mode_type_t.
8660 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
8661 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
8662 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
8663
2da48d28
VS
86642011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8665
8666 * util/grub-install.in: Correct the x86-64 name as x86_64.
8667
9b43bf39
CW
86682011-03-11 Colin Watson <cjwatson@ubuntu.com>
8669
8670 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
8671 initial chunk read from the kernel always includes GRUB's multiboot
8672 header, which is now outside the first sector.
8673
be1a7ce0
CW
86742011-03-09 Colin Watson <cjwatson@ubuntu.com>
8675
8676 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
8677 cached mmap_size, so that this works correctly when called multiple
8678 times.
8679 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
8680
83a3c48d
CW
86812011-03-09 Colin Watson <cjwatson@ubuntu.com>
8682
8683 * docs/grub.texi (Simple configuration): Tidy up formatting.
8684
57d75699
SJ
86852011-03-07 Szymon Janc <szymon@janc.net.pl>
8686
8687 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
8688 Set-but-not-used variable removed.
8689
028501a0
VS
86902011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8691
8692 Workaround yet another IEEE1275 bug.
8693
8694 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8695 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
8696 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
8697 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
8698 is set.
8699 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8700 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
8701
d998657d
VS
87022011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8703
8704 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
8705 error.
8706
fee7cdd4
CW
87072011-02-11 Colin Watson <cjwatson@ubuntu.com>
8708
8709 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
8710 empty, since in that case we can only generate either nothing or a
8711 syntactically invalid configuration file.
8712 Reported by: Michal Suchanek. Fixes Debian bug #612898.
8713
97286eb5
CW
87142011-02-09 Colin Watson <cjwatson@ubuntu.com>
8715
8716 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
8717 (Making a GRUB bootable CD-ROM): Likewise.
8718 (Invoking grub-mkrescue): New section.
8719 Reported by: Yann Dirson. Fixes Debian bug #612585.
8720
22b28eb3
CW
87212011-02-09 Colin Watson <cjwatson@ubuntu.com>
8722
8723 * util/grub-install.in: Remove unnecessary brackets from tr
8724 arguments.
8725 * util/grub.d/10_hurd.in: Likewise.
8726 * util/grub.d/10_kfreebsd.in: Likewise.
8727 * util/grub.d/10_linux.in: Likewise.
8728 * util/grub.d/20_linux_xen.in: Likewise.
8729 Reported by: Jamie Heilman. Fixes Debian bug #612564.
8730
7e735e43
CW
87312011-02-08 Colin Watson <cjwatson@ubuntu.com>
8732
8733 * include/grub/file.h (not_easly_seekable): Rename to ...
8734 (not_easily_seekable): ... this. Update all users.
8735
800f1881
CW
87362011-01-28 Colin Watson <cjwatson@ubuntu.com>
8737
8738 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
8739 grub-mkrescue.
8740
3281d3d6
VS
87412011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8742
8743 * util/grub-mkimage.c (generate_image): Refuse to create the images
8744 bigger than the actual flash (512K) in Loongson machines. 512K is also
8745 the biggest chip supported by them.
8746
3533413c
VS
87472011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8748
8749 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
8750
73ae4f4f
VS
87512011-01-22 Anthony DeRobertis <anthony@derobert.net>
8752
8753 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
8754 super_offset field.
8755
37f4f608
VS
87562011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8757
8758 * util/grub-install.in: Ignore install device on platforms
8759 where it doesn't make sense. Always use UUIDs except on pc, efi and
8760 sparc64.
8761 Reported by: Daniel Kahn Gillmor.
8762
03a4ccb5
VS
87632011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8764
8765 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
8766
ffc8f4d8
VS
87672011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8768
8769 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
8770 (iterate_real): Don't rely on partition being non-NULL.
8771
80f23be7
VS
87722011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8773
8774 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
8775 supported platforms. Put a compile time assert for this rather than
8776 generate a warning with 32-bit shift.
8777
5d4f4dd5
VS
87782011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
8781 logical expression more readable.
8782
e489601a
VS
87832011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8784
8785 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
8786 even if some elements have a name.
8787 Reported by: Alexander GQ Gerasiov.
8788
96e0a6ea
CW
87892011-01-22 Colin Watson <cjwatson@ubuntu.com>
8790
8791 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
8792 path unreadable if `grub-probe -t abstraction' fails, for example if
8793 memberlist fails on an LVM volume group.
8794 Reported by: Darius Jahandarie.
8795
81431e2b
CW
87962011-01-22 Colin Watson <cjwatson@ubuntu.com>
8797
8798 * docs/grub.texi (Simple configuration): Document
8799 GRUB_PRELOAD_MODULES.
8800
5e79d66a
CW
88012011-01-17 Colin Watson <cjwatson@ubuntu.com>
8802
8803 * .bzrignore: Remove nonexistent grub-pbkdf2.
8804
646ada34
VS
88052011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
8806
8807 * configure.ac: Bump version to 1.99~rc1.
8808
04360337
VS
88092011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
8810
8811 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
8812 for safety.
8813
46c9db88
VS
88142011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8815
8816 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
8817 module.
8818
88192011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
8820
8821 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
8822
4fbf1852
VS
88232011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8824
8825 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
8826 diskdevid.
8827
f1632d4d
VS
88282011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8829
8830 Fix compilation on cygwin.
8831
8832 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
8833 -R .drectve on cygwin.
8834 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
8835 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
8836 (COND_CYGWIN): New condition.
8837 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
8838 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
8839 not @TARGET_OBJ2ELF@.
8840 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
8841 type to determine whether aux is to be used.
8842
0b5e127b
VS
88432011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8844
8845 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
8846 realpath'ed device string.
8847 Handle floppy (somewhat).
8848 Issue error in unknown case rather than garbage.
8849 Reported by: Axel Beckert.
8850
173b71e9
VS
88512011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8852
8853 * util/grub.d/00_header.in (load_video): Handle the case when no video
8854 drivers available.
8855 Thanks to: Axel Beckert.
8856
f8f479db
VS
88572011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8858
8859 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
8860 variable. Fixes problem on big endian platforms.
8861
8fc0a245
VS
88622011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8863
8864 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
8865 It doesn't work well there.
8866
b8494fbe
VS
88672011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8868
8869 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
8870 warning.
8871 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
8872 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
8873 counter.
8874
b44a558c
VS
88752011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8876
8877 Use alias->path rather than buggy "canon".
8878
8879 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
8880 (ofdisk_hash_add): New argument curcan. All users updated.
8881
51fa856c
CW
88822011-01-11 Colin Watson <cjwatson@ubuntu.com>
8883
8884 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
8885
9da068a5
VS
88862011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8887
8888 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
8889 loadmask before doing any calculations. Use correct type for offset.
8890 (grub_linux_load64): Likewise.
8891
86205c94
CW
88922011-01-11 Colin Watson <cjwatson@ubuntu.com>
8893
8894 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
8895 with NULL.
8896 (console_grub_equivalences_unshift): Likewise.
8897 Reported by: Daniel Dehennin.
8898
4531a206
VS
88992011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8900
8901 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
8902 (set_env_limn_ro): Likewise.
8903 (GRUB_MOD_INIT): Likewise.
8904 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
8905 ARRAY_SIZE while on it.
8906 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
8907 * grub-core/normal/context.c (grub_env_export): Move from here ...
8908 * grub-core/kern/env.c (grub_env_export): ... here.
8909 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
8910 prefix.
8911 * grub-core/kern/main.c (grub_main): Export root and prefix.
8912 * include/grub/env.h (grub_env_export): Export.
8913 Reported by: Seth Goldberg.
8914
45146057
VS
89152011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8916
8917 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
8918 Take into account space used by ELF sections and multiboot palette.
8919 Reported by: Grégoire Sutre.
8920
f093110b
VS
89212011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8922
8923 * BUGS: New file.
8924
3395fe52
VS
89252011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8926
8927 Pass more appropriate video id to Linux.
8928
8929 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
8930 grub_video_get_driver_id and variable gfxpayloadforcelfb to
8931 fill have_vga.
8932 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
8933 shift params->lfb_size.
8934 * include/grub/i386/linux.h: Make an enume out of have_vga values.
8935
c2fa6cbb
VS
89362011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8937
8938 * util/grub-menulst2cfg.c: Add missing include of misc.h.
8939
b3ff6ff0
VS
89402011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8941
8942 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
8943 separator and pass bootpath/devid even if only one of them is available.
8944 Reported by: Seth Goldberg.
8945
ae67942e
VS
89462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8947
8948 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
8949 implementations bug on them.
8950
8951 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
8952 memory.
8953 (filter_memory_map): Likewise.
8954
d570097a
VS
89552011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8956
8957 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
8958 Reported by: nebuchadnezzar.
8959
a508e776
VS
89602011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8961
8962 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
8963 Reported by: nebuchadnezzar.
8964
dcb883b1
VS
89652011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8966
8967 Submenu default support.
8968
8969 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
8970 auto_boot. All users updated.
8971 Declared static.
8972 Handle chosen and default with submenus.
8973 (grub_menu_execute_with_fallback): Declared static.
8974 Don't notify failure if autobooted. Upper level does it.
8975 (menuentry_eq): New function.
8976 (get_entry_number): Use menuentry_eq.
8977 (show_menu): New parameter "autobooted". All users updated.
8978 (grub_show_menu): Likewise.
8979 * include/grub/normal.h (grub_show_menu): Likewise.
8980 * include/grub/menu.h (grub_menu_execute_entry): Removed.
8981 (grub_menu_execute_with_fallback): Likewise.
8982
6fef99b4
VS
89832011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8984
8985 * util/grub-mklayout.c (usage): Update help text.
8986
47a77af5
VS
89872011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8988
8989 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
8990
ce6bb3ee
VS
89912011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8992
8993 * util/grub-menulst2cfg.c (main): Trim the line.
8994
db87be2a
VS
89952011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8996
8997 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
8998 (grub_machine_init): Don't check amount of low memory as reportedly
8999 INT 12h can be broken and if low memory is too low we wouldn't have
9000 gotten into grub_machine_init anyway.
9001
c49849cc
VS
90022011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9003
9004 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
9005 (grub_machine_mmap_iterate): Take low memory into account
9006
b1969b30
VS
90072011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
9010 badfs.
9011 Reported by: TiCPU.
9012
cf0eaf13
VS
90132011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
9016 members errors.
9017
1f060f39
GS
90182011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
9019
9020 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
9021 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
9022
a21e5672
GS
90232011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
9024
9025 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
9026 openbsd and netbsd types being in part_bsd module.
9027
c88172fa
VS
90282011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9029
9030 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
9031 (_FILE_OFFSET_BITS): Likewise.
9032 Reported by: Seth Goldberg.
9033
53798c4b
GS
90342011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
9035
9036 * configure.ac: Check for libdevmapper header.
9037
e7121b69
VS
90382011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9039
9040 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
9041 avoid aliasing.
9042 (fzap_lookup): Likewise.
9043 (dnode_get): Likewise.
9044 (make_mdn): Likewise.
9045 (zfs_mount): Likewise.
9046 (fzap_iterate): Use temporary pointer to avoid aliasing.
9047 (grub_zfs_read): Likewise.
9048 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
9049 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
9050 pointers to avoid aliasing.
9051 (grub_cmd_xnu_kernel64): Likewise.
9052 (grub_xnu_load_driver): Likewise.
9053
fc836af9
VS
90542011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9055
9056 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
9057 aliasing warning.
9058 (grub_cmd_terminal_output): Likewise.
9059 Reported and tested by: Grégoire Sutre.
9060
f9f37648
VS
90612011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9062
9063 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
9064 warning.
9065 Reported and tested by: Grégoire Sutre.
9066
ec1dfd63
VS
90672011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 * configure.ac: Do CPU substitution even if it's specified explicitly.
9070 Reported and tested by: Alain Greppin.
9071
9462775a
VS
90722011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9073
9074 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
9075 Reported and tested by: Alain Greppin.
9076
0fd48e35
VS
90772011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9078
9079 Satisfy some bison versions need for inttypes.h.
9080
9081 * grub-core/lib/posix_wrap/inttypes.h: New file.
9082 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
9083 (int16_t): Likewise.
9084 (int32_t): Likewise.
9085 (int64_t): Likewise.
9086 Reported and tested by: Alain Greppin.
9087
43f1bc83
VS
90882011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9089
9090 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
9091 Silence spurious warning.
9092 Reported and tested by: Alain Greppin.
9093
64d1f041
SJ
90942011-01-07 Szymon Janc <szymon@janc.net.pl>
9095
9096 * docs/grub.texi (Support automatic decompression): Update with xz
9097 decompression support.
9098
25953e10
SJ
90992011-01-07 Szymon Janc <szymon@janc.net.pl>
9100
9101 Improve loaders' kernel command line handling.
9102
9103 * grub-core/lib/cmdline.c: New file.
9104 * include/grub/lib/cmdline.h: Likewise.
9105 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
9106 grub_create_loader_cmdline to create kernel command line.
9107 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9108 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
9109 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
9110 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
9111 (linux): Add lib/cmdline.c on common.
9112
e72d259f
VS
91132011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9114
9115 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
9116 inopos might be unaligned.
9117
c0cf26da
VS
91182011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9119
9120 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
9121 endian transformations.
9122 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9123 Based on report by: Doug Nazar.
9124
0ca09e6c
DN
91252011-01-07 Doug Nazar <nazard.michi@gmail.com>
9126
9127 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
9128 array->members[i].start_sector.
9129 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
9130
014b6806
VS
91312011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9132
9133 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
9134 Reported and tested by: Grégoire Sutre.
9135
415502c2
CW
91362011-01-06 Colin Watson <cjwatson@ubuntu.com>
9137
9138 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
9139 avoid causing test failures by clearing the screen.
9140
71b6a2b7
CW
91412011-01-06 Colin Watson <cjwatson@ubuntu.com>
9142
9143 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
9144 Fix prefix check to handle the case where dir ends with a slash
9145 (most significantly, "/" itself).
9146 Reported by: Michael Vogt.
9147
b3f8d28a
VS
91482011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9149
9150 Run terminfo_cls on initing terminfo output to clear the screen and
9151 move the cursor to (0,0).
9152
9153 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
9154 Call grub_terminfo_output_init.
9155 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
9156 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
9157 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
9158
4c3e4f37
VS
91592011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
9162 only when needed.
9163
488f71f1
VS
91642011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9165
9166 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
9167 CTRL.
9168
18a38098
VS
91692011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9170
9171 The E820 type 5 is BADRAM, not EXEC_CODE.
9172
9173 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
9174 (GRUB_E820_BADRAM): New define.
9175 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
9176 into reserved. Propagate BADRAM.
9177 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
9178 (GRUB_E820_BADRAM): New define.
9179
9eae2084
VS
91802011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9181
9182 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
9183 Ignore the memory post-4G.
9184 (grub_relocator_firmware_alloc_region): Additional debug statement.
9185
ebc71d28
VS
91862011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9187
9188 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
9189 names.
9190 Reported by: David Pravec.
9191
446fa400
VS
91922011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9193
9194 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
9195 BIOSes.
9196
a0159f37
VS
91972011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
9200 Prevent overflow.
9201 (grub_reed_solomon_recover): Likewise.
9202
e5146ca1
VS
92032011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9204
9205 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
9206
92072011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
9208
9209 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
9210 variable.
9211
5b1bdf12
CW
92122011-01-04 Colin Watson <cjwatson@ubuntu.com>
9213
9214 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
9215 descriptions of extract_legacy_entries_source and
9216 extract_legacy_entries_configfile.
9217 Reported by: Seung Soo, Ha.
9218
99d925aa
CW
92192011-01-03 Colin Watson <cjwatson@ubuntu.com>
9220
9221 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
9222 on devices that do not implement function 0.
9223
4af0504b
DV
92242011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
9225
9226 * grub-core/fs/hfsplus.c: Make parent unsigned.
9227 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
9228 overflows.
9229 (grub_hfsplus_cmp_extkey): Likewise
9230
469ee10a
VS
92312011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
9232
9233 * util/grub-install.in: Correctly use bootloader_id and not
9234 GRUB_DISTRIBUTOR on efibootmgr line.
9235
323a8e9c
VS
92362011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
9237
9238 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
9239
1b394975
IC
92402010-12-31 Ian Campbell <ijc@hellion.org.uk>
9241
9242 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
9243 Xen and reorder menu item wording to make it clearer that this entry
9244 will launch Xen. Print separate messages when loading Xen and
9245 Linux.
9246
275bff5f
VS
92472010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9248
9249 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
9250 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
9251 loop in case of incorrect amiga partmap.
9252
307806cb
VS
92532010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9254
9255 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
9256 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
9257 Reported by:EHeM.
9258
b12b923e
VS
92592010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9260
9261 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
9262 spurious warning.
9263 Reported by: crocket
9264
14b48a19
VS
92652010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9266
9267 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
9268 Preload EFIemu.
9269 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
9270
693db2df
VS
92712010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9272
9273 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
9274 is loaded
9275 (grub_cmd_xnu_kextdir): Likewise.
9276 (grub_cmd_xnu_splash): Likewise.
9277
c7638645
VS
92782010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9279
9280 Avoid using Reed-Solomon with 0 redundancy.
9281
9282 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
9283 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
9284 or 0 redundancy.
9285 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
9286 (grub_reed_solomon_recover): Likewise.
9287
25dd4780
VS
92882010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9289
9290 Don't use disk subsystem in freebsd_boot.
9291
9292 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
9293 (freebsd_biosdev): Likewise.
9294 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
9295 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
9296
0b2db943
VS
92972010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9298
9299 Handling of files of unknown size is currently limited. They can't be
9300 used e.g. for initrd or modules. Moreover gzip handling of not
9301 easily seekable files is buggy. Disable unknown file size for now. May
9302 be inefficient but works.
9303
9304 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
9305 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
9306
5c408d0f
MP
93072010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
9308
9309 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
9310 floppy probe.
9311
190a011a
JD
93122010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
9313
9314 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
9315
022d01b8
SL
93162010-12-25 Shea Levy <shlevy>
9317
9318 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
9319
c4855fdc
VS
93202010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9321
9322 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
9323 Windows Server 2008.
9324 Reported by: Devin Giddings.
9325
0354b867
VS
93262010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9327
9328 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
9329 writing an error message because of async power management.
9330 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
9331 (grub_reboot): Likewise.
9332
ab66c69f
JU
93332010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
9334
9335 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
9336 keep unit tests from failing when they shouldn't.
9337
1426ef35
CW
93382010-12-21 Colin Watson <cjwatson@ubuntu.com>
9339
9340 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
9341 previous patch increased the size of the RS code by 20 bytes (at
9342 least with gcc-4.4), so increase this by 20 bytes to match.
9343 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9344
20641b6b
CW
93452010-12-21 Colin Watson <cjwatson@ubuntu.com>
9346
9347 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
9348 scratch area. Make sure to initialise chosen in standalone mode as
9349 well as non-standalone.
9350 Reported by: Robert Hooker and Andy Whitcroft.
9351 Tested by: Andy Whitcroft.
9352
d060ad60
CW
93532010-12-21 Colin Watson <cjwatson@ubuntu.com>
9354
9355 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
9356 constructing a new unescaped string and passing it to grub_xputs in
9357 one go, rather than passing characters to grub_printf one at a time.
9358
b889cfad
CW
93592010-12-21 Colin Watson <cjwatson@ubuntu.com>
9360
9361 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
9362 initialising utf16.
9363
4e01b6c8
CW
93642010-12-21 Colin Watson <cjwatson@ubuntu.com>
9365
9366 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
9367 comment. Add an extra layer of quotation, requiring the output of
9368 this function to be used in a printf format string.
9369 (gettext_printf): New function.
9370 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
9371 Extract translatable strings from here-documents and use a temporary
9372 variable instead, so that xgettext can find them.
9373 * util/grub.d/10_kfreebsd.in: Likewise.
9374 * util/grub.d/10_linux.in: Likewise.
9375 * util/grub.d/20_linux_xen.in: Likewise.
9376
9377 * po/grub.d.sed: New file.
9378 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
9379 arguments. Set c-format flags on all strings extracted from
9380 util/grub.d/ (xgettext refuses to include these itself for strings
9381 it extracted from a shell file, but these really are c-format).
9382
5318fe98
VS
93832010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
9384
9385 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
9386 Avoid next pointing to nowhere.
9387
6c85b743
VS
93882010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9389
9390 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
9391 rather than assuming than rootblock is exactly in the middle.
9392 (grub_affs_label): Likewise.
9393
a2a08a35
VS
93942010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9395
9396 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
9397 reserved_first_sector to 0.
9398 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
9399 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
9400 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
9401
7059d1ec
VS
94022010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9403
9404 Fix handling of UTF-16 UDF labels.
9405
9406 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
9407 (read_string): .. here.
9408 (grub_udf_label): Use read_string.
9409
30aff4cb
BC
94102010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
9411
9412 * grub-core/normal/menu_entry.c (run): Execute commands from menu
9413 editor under argument scope.
9414 Reported by: Jordan Uggla
9415
5cf86f4b
VS
94162010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9417
9418 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
9419
32570200
CW
94202010-12-18 Colin Watson <cjwatson@ubuntu.com>
9421
9422 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
9423 line, and other keys scroll an entire page (previous handling was
9424 for \r and \n to scroll a page and other keys to scroll two lines).
9425
e1dffcf2
VS
94262010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9427
9428 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9429 Set ptrdest to correct get_physical_target_address rather than
9430 incorrect get_virtual_current_address.
9431
b04298cf 94322010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
9433
9434 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
9435 correct cat to grub_uint8_t * rather than grub_uint32_t *.
9436
5367ecd3
CW
94372010-12-10 Colin Watson <cjwatson@ubuntu.com>
9438
9439 * .bzrignore: Ignore grub-core/rs_decoder.S.
9440
1fb430f8
CW
94412010-12-10 Colin Watson <cjwatson@ubuntu.com>
9442
9443 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
9444 .mo/.mo.gz opening sequence to ...
9445 (grub_mofile_open_lang): ... here.
9446 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
9447 * util/grub.d/00_header.in (grub_lang): Include country part of
9448 locale.
9449 Reported by: Mario Limonciello.
9450
a94a6671
RM
94512010-12-09 Robert Millan <rmh@gnu.org>
9452
9453 * NEWS: Document addition of ZFS support.
9454
24b7938b
CW
94552010-12-04 Colin Watson <cjwatson@ubuntu.com>
9456
9457 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
9458 rather than `/ 2', as the latter requires -Wa,--divide which would
9459 require bumping our minimum binutils version.
9460
bddc3ef6
BC
94612010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
9462
9463 * util/grub-script-check.c (main): Print script line number on
9464 error.
9465
bf78d5b2
RM
94662010-12-01 Robert Millan <rmh@gnu.org>
9467
9468 * grub-core/fs/zfs/zfs.c: New file.
9469 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
9470 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
9471 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
9472 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9473
9474 * include/grub/zfs/dmu.h: Likewise.
9475 * include/grub/zfs/dmu_objset.h: Likewise.
9476 * include/grub/zfs/dnode.h: Likewise.
9477 * include/grub/zfs/dsl_dataset.h: Likewise.
9478 * include/grub/zfs/dsl_dir.h: Likewise.
9479 * include/grub/zfs/sa_impl.h: Likewise.
9480 * include/grub/zfs/spa.h: Likewise.
9481 * include/grub/zfs/uberblock_impl.h: Likewise.
9482 * include/grub/zfs/vdev_impl.h: Likewise.
9483 * include/grub/zfs/zap_impl.h: Likewise.
9484 * include/grub/zfs/zap_leaf.h: Likewise.
9485 * include/grub/zfs/zfs.h: Likewise.
9486 * include/grub/zfs/zfs_acl.h: Likewise.
9487 * include/grub/zfs/zfs_znode.h: Likewise.
9488 * include/grub/zfs/zil.h: Likewise.
9489 * include/grub/zfs/zio.h: Likewise.
9490 * include/grub/zfs/zio_checksum.h: Likewise.
9491
9492 * Makefile.util.def: Build ZFS into libgrubmods.
9493 * grub-core/Makefile.core.def: Build zfs.mod.
9494
3f0f3831
SJ
94952010-11-30 Szymon Janc <szymon@janc.net.pl>
9496
9497 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
9498 variable.
9499 * grub-core/commands/wildcard.c (match_files): Likewise.
9500
3a4253b2
RM
95012010-11-30 Robert Millan <rmh@gnu.org>
9502
9503 * grub-core/loader/i386/bsd.c
9504 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
9505 whether kernel is loaded using grub_loader_is_loaded(), rather
9506 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
9507 certain error conditions.
9508
8c317b27
RM
95092010-11-30 Robert Millan <rmh@gnu.org>
9510
c5c9cd3e
RM
9511 * grub-core/commands/echo.c: Include `<grub/term.h>'.
9512 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 9513
49d3ab46
VS
95142010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
9515
9516 Avoid using tricks for initialising endian variables.
9517
9518 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
9519 Make const.
9520 (GRUB_MOD_INIT): Don't byte-swap.
9521 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
9522 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
9523 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
9524 (grub_swap_bytes32_compile_time): Likewise.
9525 (grub_cpu_to_le32_compile_time): Likewise.
9526 (grub_cpu_to_le16_compile_time): Likewise.
9527
f420a804
VS
95282010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
9529
9530 * util/grub-setup.c (setup): Stop recommending --force. People who
9531 understand the dangers of blocklists are able to find this option
9532 anyway and the ones who don't shouldn't use it anyway.
9533
4e7db17b
RM
95342010-11-26 Robert Millan <rmh@gnu.org>
9535
9536 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
9537 Update all users.
9538
9be57a0d
CW
95392010-11-26 Colin Watson <cjwatson@ubuntu.com>
9540
9541 Fix LVM-on-RAID probing.
9542
9543 * util/grub-probe.c (probe): Remember which disk was detected as
9544 RAID (perhaps an LVM physical volume). Use that disk's raidname
9545 rather than that of the top-level disk.
9546
2c7859b3 95472010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 9548
d7647bb6
BC
9549 Fix cmdline argument quotes for setparams command of menuentry
9550 definitions.
7e623b0d
BC
9551
9552 * grub-core/commands/menuentry.c (setparams_prefix): Use single
9553 quotes for arguments.
f866fe80 9554 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 9555 grub_strchrsub function instead.
f866fe80 9556
7955bea0 9557 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 9558
74f72a64
CW
95592010-11-24 Colin Watson <cjwatson@ubuntu.com>
9560
9561 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
9562 effort by skipping "." and ".." entries up-front.
9563 Suggested by: Michael Lazarev.
9564
5a407278
CW
95652010-11-24 Colin Watson <cjwatson@ubuntu.com>
9566
9567 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
9568 ldflags to ldadd, to fix link line ordering.
9569 (none_decompress): Likewise.
9570
3030d8ec
CW
95712010-11-24 Colin Watson <cjwatson@ubuntu.com>
9572
9573 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
9574 platforms.
9575 (grub-emu-lite): Remove kern/emu/cache.S.
9576
b7fbac12
CW
95772010-11-23 Colin Watson <cjwatson@ubuntu.com>
9578
9579 * util/deviceiter.c (compare_devices): If the by-id link for a
9580 device couldn't be resolved, fall back to sorting by the by-id link
9581 rather than segfaulting.
9582 Reported and tested by: Daniel Mierswa.
9583
5225f328
CW
95842010-11-23 Colin Watson <cjwatson@ubuntu.com>
9585
9586 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
9587 ldflags, to fix link line ordering.
9588
038b3ce8
CW
95892010-11-23 Colin Watson <cjwatson@ubuntu.com>
9590
9591 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
9592 linkers are picky about this.
9593
bf16e98e
CW
95942010-11-23 Colin Watson <cjwatson@ubuntu.com>
9595
9596 * grub-core/Makefile.am (command.lst): Adjust sed expression
9597 ordering so that extended and priority commands aren't treated as
9598 ordinary commands.
9599
7242bab6
CW
96002010-11-23 Colin Watson <cjwatson@ubuntu.com>
9601
9602 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
9603 Remove byte-swapping function calls, which are not valid in
9604 structure initialisers.
9605 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
9606 non-const.
9607 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
9608 grub_gpt_partition_type_bios_boot.
9609
14e8b279
CW
96102010-11-22 Colin Watson <cjwatson@ubuntu.com>
9611
9612 Fix test program build on GNU/kFreeBSD.
9613
9614 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
9615 $(LIBNVPAIR)' library dependencies.
9616
e6f63338 96172010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
9618
9619 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
9620
cf8ffc38
CW
96212010-11-22 Colin Watson <cjwatson@ubuntu.com>
9622
9623 * util/grub-install.in: Remove excessive quoting that broke
9624 installations to RAID devices.
9625
7f8b0fd7
VS
96262010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9627
9628 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
9629 bootloader version instead of 0.
9630
dfd240b1
VS
96312010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9632
9633 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
9634 warning.
9635
7b61e609
VS
96362010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9637
9638 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
9639 retrieve the metadat sector if size isn't known.
9640 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9641
9dfe92d0
RM
96422010-11-18 Robert Millan <rmh@gnu.org>
9643
9644 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
9645 with grub_memcmp().
9646
41cc919e
VS
96472010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
9648
9649 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
9650 arrow.
9651 Reported by: Jordan Uggla.
9652
1afcc914
VS
96532010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 Make better UTF compliant.
9656
9657 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
9658 sequences as incorrect.
9659 (grub_is_valid_utf8): Likewise.
9660 (grub_utf8_to_ucs4): Likewise.
9661 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
9662 (grub_ucs4_to_utf8_alloc): Likewise.
9663 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
9664
f1808884
VS
96652010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9666
9667 Make legacy_source behave like source.
9668
9669 * grub-core/commands/legacycfg.c (legacy_file): Don't call
9670 grub_show_menu.
9671 (grub_cmd_legacy_source): Call grub_show_menu if needed.
9672
24ec575b
CW
96732010-11-16 Colin Watson <cjwatson@debian.org>
9674
9675 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
9676 (-Wunused implies -Wunused-parameter, but not vice versa).
9677
72b7c7aa
CW
96782010-11-16 Colin Watson <cjwatson@ubuntu.com>
9679
9680 * configure.ac: Make error messages less confusing by testing for
9681 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
9682 accepted, but produces a diagnostic if something else is wrong).
9683
e98937aa
VS
96842010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
9685
9686 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
9687 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
9688 (now unused).
9689 (grub_keyboard_controller_init)
9690 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
9691 read the initial state since controller isn't inited yet.
9692
f6bbabc3
VS
96932010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
9694
9695 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
9696 allocate_regbeg may need to create new chunk header.
9697
22e7dbb2
VS
96982010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9699
9700 Fix quoting in legacy parser.
9701
9702 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
9703 single quotes.
9704 (grub_legacy_parse): Likewise.
9705 Reported by: Jordan Uggla.
9706 Tested by: Jordan Uggla.
9707
03f80960
VS
97082010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9709
9710 Don't add -lgcc on i386 and x86_64.
9711
9712 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
9713 * conf/Makefile.common (LDADD_KERNEL): Likewise.
9714 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
9715
779dc15b
VS
97162010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9717
9718 * configure.ac: Add -Wno-trampolines when supported.
9719
d20a3b37
MV
97202010-11-14 Modestas Vainius <modax@debian.org>
9721
9722 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
9723 fakeraid.
9724
e5360933
GC
97252010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9726
9727 Add generic logical block size support for UDF.
9728
9729 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
9730 (GRUB_UDF_BLKSZ): Removed.
9731 (struct grub_udf_data): New field "lbshift" to hold the logical block
9732 size of the file system in log2 format. All users updated.
9733 (sblocklist): Change type to unsigned.
9734 (grub_udf_mount): Change type of "sblklist" to unsigned.
9735 Move AVDP search before VRS recognition, because the latter requires
9736 knowledge of the logical block size, which is detected during the
9737 former.
9738 Detect and validate logical block size during AVDP search, adding
9739 support for block sizes 512, 1024 and 4096.
9740 Make VRS recognition independent of block size.
9741
cb0229c5
GC
97422010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9743
9744 Properly handle deleted files on UDF.
9745
9746 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
9747 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
9748 set.
9749
406858a8
GC
97502010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9751
9752 Support reading files larger than 2 GiB.
9753
9754 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
9755 "offset" to grub_off_t.
9756 (grub_udf_read_file): Likewise for parameter "pos".
9757
130da6a7
VS
97582010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9759
9760 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
9761 unavailable.
9762 (Simple configuration): Refer to Changes from GRUB Legacy about
9763 save_env availability.
9764
65e93f6b
VS
97652010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9766
9767 * util/grub-install.in: Ignore empty partition table detection
9768 instead of trying to include part_ module.
9769
1fd08bf1
VS
97702010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9771
9772 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
9773 LVM on RAID support.
9774
de1a024f
VS
97752010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9776
9777 Properly define WORDS_BIGENDIAN in wrapped environments.
9778
9779 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
9780 definition.
9781 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
9782
9783 Reported by: Manoel Rebelo Abranches.
9784 Tested by: Manoel Rebelo Abranches.
9785
bc5dd0b9
VS
97862010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9787
9788 * util/grub-mkconfig.in: Fix quoting.
9789
58c184be
VS
97902010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9791
9792 Support big ext2 files.
9793
9794 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
9795 (grub_ext2_read_block): Support triple indirect blocks.
9796 (grub_ext2_read_file): Use 64-bit types and read size_high.
9797 (grub_ext2_open): Read size_high.
9798 Reported by: Ximin Luo.
9799 Tested by: Manoel Rebelo Abranches.
9800
5f0c02b3
VS
98012010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9802
9803 * util/grub-install.in: Handle filenames containing spaces.
9804 Reported by: Jordan Uggla.
9805 Tested by: Jordan Uggla.
9806
4417aae6
VS
98072010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9808
9809 * util/grub-mkconfig.in (grub_script_check): New variable.
9810 Use grub_script_check instead of grub-script-check.
9811 Reported by: Barry Jackson.
9812
7625a68e
VS
98132010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9814
9815 * docs/grub.texi (menu): Correct the order.
9816 Reported by: D. Hugh Redelmeier.
9817
10001ac5
VS
98182010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9819
9820 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
9821 jump.
9822
9c4cf53b
MRA
98232010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
9824
10001ac5
VS
9825 * include/grub/elfload.h (grub_elf32_size): New parameter.
9826 All users updated.
9c4cf53b
MRA
9827 Return maximum segments alignment.
9828 (grub_elf64_size): Likewise.
9829 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
9830 Return maximum segments alignment.
9831 (grub_elf64_size): Likewise.
9832 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
9833 (grub_linux_claimmap_iterate): New function. Uses the
9834 "available" property in the "memory" node for memory allocation
9835 for kernel in the PowerPC loader.
9c4cf53b
MRA
9836 (grub_linux_load32): Correctly find linux entry point offset.
9837 (grub_linux_load64): Likewise.
9838
d2bf06bf
RM
98392010-11-07 Robert Millan <rmh@gnu.org>
9840
9841 On mips-yeeloong, build with -march=loongson2f when this flag is
9842 available (GCC >= 4.4).
9843 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
9844 `-march=mips3'.
9845 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
9846 or otherwise add -march=mips3.
9847
898c99a2
BC
98482010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
9849
87220a68
BC
9850 Suppress shell expansion on echo '*' and echo "*" like cases.
9851 Reported by: Jordan Uggla.
898c99a2
BC
9852
9853 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
9854 string arguments before shell expansion.
9855 * tests/grub_cmd_echo.in: New testcases.
9856
4f9b406a
RM
98572010-11-07 Robert Millan <rmh@gnu.org>
9858
9859 * conf/mips-qemu-mips.rmk: Remove stale file from previous
9860 transition.
9861
80c6d25e
VS
98622010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
9863
9864 * grub-core/kern/emu/hostdisk.c
9865 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
9866
4a1a0153
VS
98672010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
9870 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
9871 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
9872
34706ddc
VS
98732010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9874
9875 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
9876
6972dea9
VS
98772010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9878
9879 * util/grub-install.in: Replace useless recomendation to pass
9880 --modules with a recomendation to report a bug.
9881
9c693bd6
VS
98822010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9883
9884 Properly register serial terminfo.
9885 Reported by: Jordan Uggla
9886
9887 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
9888 const.
9889 (grub_serial_terminfo_output_template): Likewise.
9890 (grub_cmd_serial): Register "serial" with terminfo.
9891 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
9892 grub_serial_terminfo_output.
9893
6c9e4c0c
RM
98942010-11-05 Robert Millan <rmh@gnu.org>
9895
9896 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
9897 needed).
9898
b9b3839f
RM
98992010-11-05 Robert Millan <rmh@gnu.org>
9900
9901 On Yeeloong, pass machine type information to Linux.
9902
9903 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
9904 (LOONGSON_MACHTYPE): New macro, set to
9905 "machtype=lemote-yeeloong-2f-8.9inches".
9906 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
9907 additional argument to Linux.
9908
1a3aaff4
RM
99092010-11-04 Robert Millan <rmh@gnu.org>
9910
9911 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
9912 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
9913 (its SATA disks are detected as slaveless IDE master drives on
9914 kFreeBSD).
9915 Reported by Carsten Aulbert.
9916
a75f4f62
CW
99172010-11-02 Colin Watson <cjwatson@ubuntu.com>
9918
9919 * util/bin2h.c (main): Fix spelling error in generated output.
9920
33b4b0c6
GS
99212010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
9922
9923 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
9924
2b36fbf4
VS
99252010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9926
9927 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
9928 vga= option is supplied.
9929
74aaf558
VS
99302010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9931
9932 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
9933 * util/grub.d/10_kfreebsd.in: Likewise.
9934 * util/grub.d/10_linux.in: Likewise.
9935 * util/grub.d/20_linux_xen.in: Likewise.
9936
6428dec3
VS
99372010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9938
9939 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
9940 argument as an argument to no-argument option.
9941
f8729d98
VS
99422010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9943
9944 * util/grub.d/10_linux.in: Add missing load_video with explicit
9945 GRUB_GFXPAYLOAD_LINUX.
9946
89d68fa6
VS
99472010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9948
9949 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
9950
3a1197cd
VS
99512010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9952
9953 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
9954 elements with invlid index.
9955 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9956 * grub-core/disk/raid.c (insert_array): Automatically reallocate
9957 members.
9958 * include/grub/raid.h (grub_raid_member): New struct.
9959 (grub_raid_array): Transform devices and start_sector into usage of
9960 grub_raid_member. All users updated
9961 (allocated_devs): New member.
9962
71574288
VS
99632010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9964
9965 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
9966 is modified
9967
8d40ec65
BC
99682010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
9969
9970 NetBSD build fix for getline function conflict from gnulib.
9971
9972 * Makefile.util.def (libgrubkern.a): New library for grub kernel
9973 components that depend on gnulib headers.
9974 (libgrubmods.a): Renamed from earlier libgrub.a.
9975 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
9976
95b9257e
VS
99772010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
9980 install rather than creating a broken install.
9981
26c53dc6
VS
99822010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9983
9984 * util/grub-setup.c (argp): Remove misleading example of installing to
9985 a partition.
9986
4171b3c5
VS
99872010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9988
9989 * util/grub-setup.c (setup): Clarify the error message.
9990
18568d18
VS
99912010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9992
9993 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
9994
4f6a2e21
VS
99952010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9996
9997 * grub-core/kern/emu/misc.c
9998 (grub_make_system_path_relative_to_its_root)
9999 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
10000
100012010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
10002
10003 * grub-core/kern/emu/misc.c
10004 (grub_make_system_path_relative_to_its_root): Revert r2882.
10005
e138c458
VS
100062010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
10007
10008 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
10009 useless field head. All users updated.
10010 (free_subchunk): Correct handling of IN_REGION subchunk.
10011
0cbcdf0e
CW
100122010-10-22 Colin Watson <cjwatson@ubuntu.com>
10013
10014 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
10015 (Supported kernels): Likewise.
10016
b65ea155
GS
100172010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
10018
10019 Make mktemp invocations portable.
10020
10021 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
10022 exit if mktemp fails.
10023 * tests/grub_script_blockarg.in: Likewise.
10024 * tests/partmap_test.in: Likewise.
10025 * tests/util/grub-shell-tester.in: Likewise.
10026 * tests/util/grub-shell.in: Likewise.
10027 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10028 * Makefile.am: Likewise, and chain shell commands with `&&'
10029 instead of ';'.
10030 * util/grub-mkrescue.in: Use the same explicit template as above, and
10031 exit if mktemp fails.
10032
05f43cdd
BC
100332010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
10034
10035 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
10036 Linux kernel, reported by Dennis Schridde.
10037
800e6a9b
SJ
100382010-10-17 Szymon Janc <szymon@janc.net.pl>
10039
10040 * grub-core/normal/auth.c (grub_auth_check_authentication):
10041 Set-but-not-used variable removed.
10042
d82df574
VS
100432010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10044
10045 * docs/grub.texi (GNU/Linux): Document APM unavailability with
10046 32-bit linux protocol.
10047
7bced458
VS
100482010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10049
10050 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
10051 cursor shape for sanity.
10052
5b027690
VS
100532010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10054
10055 * docs/grub.texi (Installation): Document buggy BIOS install.
10056
ba5f65cf
VS
100572010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10058
10059 * docs/grub.texi (Installation): Indent.
10060
fdf2ec9c
VS
100612010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10062
10063 * util/grub-setup.c (setup): New parameter allow_floppy.
10064 (arguments): New member allow_floppy.
10065 (argp_parser): Handle --allow-floppy.
10066 (main): Pass allow_floppy.
10067 * util/grub-install.in: New option --allow-floppy passed though to
10068 grub-setup.
10069
861dfd4c
VS
100702010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10071
10072 * util/grub-install.in: Handle partitionless disks.
10073
f77a8c24
VS
100742010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10075
10076 * util/grub-setup.c (setup): Don't clean blocklists before readability
10077 verfification.
10078
27d9ee32
VS
100792010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10080
10081 * docs/grub.texi (Installation): Document embedding zone. Remove
10082 obsolete grub-install example.
10083
6bdda8f8
SJ
100842010-10-16 Szymon Janc <szymon@janc.net.pl>
10085
10086 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
10087 Set-but-not-used variable ifdef'ed.
10088 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
10089 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
10090 variable removed.
10091 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
10092 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
10093 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
10094 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
10095 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
10096 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
10097 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
10098 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
10099 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
10100 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
10101 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
10102 Likewise.
10103
e19b016b
VS
101042010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10105
10106 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
10107 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
10108 enum value.
10109
6c8d3002
VS
101102010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10111
10112 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
10113 synonym to _S5_. Needed for some DSDTs.
10114
c32b51c9
VS
101152010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 Userspace ACPI parser debugging.
10118
10119 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
10120 headers and add relevant defines. Don't include standard headers.
10121 (main) [GRUB_DSDT_TEST]: New function.
10122 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
10123 Don't declare functions.
10124
fbfbeb39
VS
101252010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10126
10127 Remove dead grub_efi_mm_fini.
10128
10129 * grub-core/kern/efi/mm.c (allocated_page): Removed.
10130 (ALLOCATED_PAGES_SIZE): Likewise.
10131 (MAX_ALLOCATED_PAGES): Likewise.
10132 (allocated_pages): Likewise.
10133 (grub_efi_allocate_pages): Don't record allocated pages.
10134 (grub_efi_free_pages): Likewise.
10135 (grub_efi_mm_init): Likewise.
10136 (grub_efi_mm_fini): Removed.
10137
65f7ed7c
VS
101382010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
10141 (grub_efi_mm_init): Take into account the memory map size increase.
10142
24977b44
VS
101432010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10144
10145 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
10146 (serial_hw_put): Wait based on real time rather than port reads. Don't
10147 roken ports.
10148 * include/grub/serial.h (grub_serial_port): New field broken.
10149
1eb01cd2
RM
101502010-10-16 Robert Millan <rmh@gnu.org>
10151
10152 * grub-core/kern/emu/misc.c
10153 (grub_make_system_path_relative_to_its_root): Fix premature return
10154 when processing non-root ZFS filesystems.
5f8b440b 10155 Reported by Sergio Talens-Oliag.
1eb01cd2 10156
2d5fed60
RM
101572010-10-15 Robert Millan <rmh@gnu.org>
10158
10159 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
10160 guarantee compressed ones are processed first.
10161
d0f4c1ea
VS
101622010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10163
10164 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
10165 grub_efiemu_autocore.
10166
d87c681f
VS
101672010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10168
10169 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
10170 rather than 0x1b.
10171 (grub_console_getkey): Use correct jae opcode rather than ja.
10172
219b3564
RM
101732010-10-12 Robert Millan <rmh@gnu.org>
10174
10175 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
10176 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
10177 variable. All references updated.
10178
10179 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
10180
20c6bb7e
VS
101812010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
10182
10183 Correctly distinguish mdraid flavours.
10184
10185 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
10186 (insert_array): New argument raid.
10187 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
10188 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
10189 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
10190
74baff84
VS
101912010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
10192
10193 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
10194 handling of special keys.
10195
3ef068df 101962010-10-02 Aleš Nesrsta <starous@volny.cz>
10197
c7980ad9
VS
10198 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
10199 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 10200
a9455194 102012010-10-02 Aleš Nesrsta <starous@volny.cz>
10202
c7980ad9
VS
10203 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
10204 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
10205 users updated.
a9455194 10206 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 10207 Use right endpoint when querying descriptor.
a9455194 10208
441cfe65
VS
102092010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
10210
10211 Clear out 0x80 color bit on EFI.
10212 Tested by: decoder
10213 Reported by: decoder and meta tech.
10214
10215 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
10216 (grub_console_setcolorstate): Clear out 0x80 bit.
10217 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
10218 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
10219 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
10220
bf26bcc4
VS
102212010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
10222
10223 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
10224 Set to "auto".
10225
6e3c515d
VS
102262010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10227
10228 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
10229 mo_file after freeing.
10230
e6d983ba
VS
102312010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10232
10233 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
10234
74ccb5b5
VS
102352010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10236
10237 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
10238 flags.
10239
17821956
VS
102402010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10241
10242 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
10243 usage.
10244
ee74fa48
VS
102452010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10246
10247 Put terminfo into core on ieee1275 and yeeloong (needed for console).
10248
10249 * gentpl.py: New groups terminfoinkernel and terminfomodule.
10250 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
10251 and terminfo.h when needed.
10252 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
10253 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
10254 (terminfo): Enable only on terminfokernel.
10255 (extcmd): Likewise.
10256 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
10257 * include/grub/lib/arg.h: Likewise.
10258 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
10259 incorrect usage of ->.
10260
aa438e68
VS
102612010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10262
10263 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
10264 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
10265
57994012
VS
102662010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10267
10268 Fix coreboot compilation.
10269
10270 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10271 Take VBE info into account even if only text is supported.
10272 (fill_vbe_info): Take into account the case when only VGA text
10273 is supported.
10274 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
10275 on coreboot, multiboot and qemu.
10276
2a406611
VS
102772010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10278
10279 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
10280 debug messages.
10281 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
10282
d33613fc
VS
102832010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10284
10285 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
10286 parameters.
10287
44a1b432
VS
102882010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10289
10290 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
10291 if they were BSD-style.
10292
edde54e6
VS
102932010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10294
10295 * grub-core/boot/i386/pc/lnxboot.S: Replace
10296 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
10297 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
10298
b65830fa
VS
102992010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10300
10301 Write embedding zone using Reed-Solomon.
10302
10303 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
10304 * grub-core/Makefile.am (rs_decoder.S): New target.
10305 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
10306 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
10307 (multiboot): Move to RS part.
10308 (post_reed_solomon): New label.
10309 (grub_boot_drive): Move to non-RS part since it's modified in memory
10310 on boot.
10311 Include rs_decoder.S.
10312 * grub-core/lib/reed_solomon.c: New file.
10313 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
10314 New definition.
10315 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
10316 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
10317 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
10318 * include/grub/partition.h (grub_partition_map): Change prototype of
10319 embed to allow returning additional sectors.
10320 * include/grub/reed_solomon.h: New file.
10321 * util/grub-setup.c (setup): Handle Reed-Solomon.
10322
0b4b227f
CW
103232010-09-28 Colin Watson <cjwatson@ubuntu.com>
10324
10325 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
10326 i386 and x86-64 definedness tests.
10327
f772623b
YB
103282010-09-27 Yves Blusseau <blusseau@zetam.org>
10329
10330 Fix generation of kernel_syms.lst
10331
10332 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
10333 ASM_PREFIX
10334
8e57a6ca
RM
103352010-09-26 Robert Millan <rmh@gnu.org>
10336
10337 Support degraded ZFS arrays in "grub-probe -t device" resolution.
10338
10339 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
10340 the pool is an array of devices, iterate through it and return the
10341 first device that passes a stat() test (instead of blindly returning
10342 the first one).
10343
f9130836
RM
103442010-09-26 Robert Millan <rmh@gnu.org>
10345
10346 Build fixes for GNU/kFreeBSD.
10347
10348 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
10349 to programs that require ZFS conversion.
10350 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
10351 kernels that don't have FLOPPY_MAJOR.
10352
96510faf
BC
103532010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
10354
10355 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
10356
449333eb
BC
103572010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
10358
10359 Fix grub-emu build.
10360
10361 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
10362 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
10363 mdraid09 and mdraid1x.
10364
e1fd1939
CW
103652010-09-24 Colin Watson <cjwatson@ubuntu.com>
10366
10367 Re-enable grub-extras.
10368
10369 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
10370 avoid confusing Automake. Run autogen only twice, once for the top
10371 level and once for grub-core. Add Makefile.util.def and
10372 Makefile.core.def from extra modules to the appropriate autogen
10373 invocations. If Makefile.common exists in an extra module, include
10374 it in both Makefile.util.am and grub-core/Makefile.core.am;
10375 similarly, include any Makefile.util.common file in Makefile.util.am
10376 and any Makefile.core.common file in grub-core/Makefile.core.am.
10377 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
10378 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
10379 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
10380 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
10381
10382 * gentpl.py (gvar_add): Turn GVARS into a set.
10383 (global_variable_initializers): Sort global variables on output.
10384 (vars_init): New function.
10385 (first_time): Likewise.
10386 (library): Ensure that non-global variable initialisations are
10387 emitted before the first time we emit code for a library block.
10388 Append to variables rather than setting them. Only emit
10389 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
10390 each conditional path.
10391 (program): installdir() emits an Autogen macro, so must be passed to
10392 var_add rather than gvar_add.
10393 (data): Likewise.
10394 (script): Likewise.
10395 (rules): New function, centralising handling for different target
10396 types. Set up Guile association lists for first_time and vars_init,
10397 and send most output to a diversion so that variable initialisations
10398 can be emitted first.
10399 (module_rules): Use new rules function.
10400 (kernel_rules): Likewise.
10401 (image_rules): Likewise.
10402 (library_rules): Likewise.
10403 (program_rules): Likewise.
10404 (script_rules): Likewise.
10405 (data_rules): Likewise.
10406
10407 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
10408
10409 * .bzrignore: Add contrib and grub-core/contrib. Remove
10410 grub-core/Makefile.gcry.am.
10411
1d12cf29
YB
104122010-09-24 Yves Blusseau <blusseau@zetam.org>
10413
10414 * grub-core/lib/LzFind.c: Add missing include.
10415 * grub-core/lib/LzmaEnc.c: Likewise.
10416 * grub-core/script/lexer.c: Likewise.
10417 * grub-core/script/yylex.l: Likewise.
10418 * util/grub-macho2img.c: Likewise.
10419 * util/grub-menulst2cfg.c: Likewise.
10420 * util/grub-mklayout.c: Likewise.
10421 * util/grub-mkpasswd-pbkdf2.c
10422 * util/grub-mkrelpath.c: Likewise.
10423 * util/resolve.c: Likewise.
10424
dd363028
BC
104252010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
10426
10427 * Makefile.util.def (example_unit_test): Add
10428 grub-core/gnulib/libgnu.a.
10429
f5a109e2
GS
104302010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
10431
10432 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
10433
6d0fa83c
VS
104342010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
10435
10436 Support xz compression on yeeloong.
10437
10438 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
10439 * configure.ac: Check for LZMA.
10440 * grub-core/Makefile.core.def (xz_decompress): New target.
10441 (none_decompress): Likewise.
10442 * grub-core/boot/decompressor/minilib.c: New file.
10443 * grub-core/boot/decompressor/none.c: Likewise.
10444 * grub-core/boot/decompressor/xz.c: Likewise.
10445 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
10446 * grub-core/kern/mips/cache_flush.S: Likewise.
10447 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
10448 * grub-core/kern/mips/startup.S: Move first stage to ...
10449 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
10450 nomacro.
10451 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
10452 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
10453 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
10454 Allocate statically.
10455 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
10456 Allocate statically or use scratch. Don't check CRC32.
10457 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
10458 Allocate statically. Don't check CRC32.
10459 * include/grub/decompressor.h: New file.
10460 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
10461 Removed.
10462 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
10463 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
10464 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
10465 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
10466 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
10467 * util/grub-mkimage.c (grub_compression_t): New type.
10468 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
10469 (image_target_desc): New field default_compression.
10470 (image_targets): Adjust yeeloong targets.
10471 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
10472 (compress_kernel): New parameter comp.
10473 (generate_image): Likewise. Handle new compression case.
10474 (options): New option --compression
10475 (help): Likewise.
10476 (main): Handle new option.
10477
1b655af6
GS
104782010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
10479
10480 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
10481
8f03f0b5
CW
104822010-09-22 Colin Watson <cjwatson@ubuntu.com>
10483
10484 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
10485 typo in __i386__ conditional.
10486
7835dfd3
VS
104872010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
10488
10489 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
10490 include.
10491
e255597e
VS
104922010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
10493
6d0fa83c 10494 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
10495
10496 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
10497 new tags as supported.
10498 (acpiv2_size): New function.
10499 (grub_multiboot_get_mbi_size): Take new tags into account.
10500 (grub_multiboot_make_mbi): Add new tags.
10501 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 10502
6cc14051 105032010-09-21 Aleš Nesrsta <starous@volny.cz>
10504
10505 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
10506 Added missing configuration of USB device.
10507
df7769d8
CW
105082010-09-21 Colin Watson <cjwatson@ubuntu.com>
10509
10510 * grub-core/normal/menu_entry.c (run): Make sure we always return
10511 a value.
10512
b031012d
CW
105132010-09-21 Colin Watson <cjwatson@ubuntu.com>
10514
10515 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
10516 NumberOfPages is UINT64 according to the UEFI specification, not
10517 UINTN. Fix printf format.
10518
174de8f3
CW
105192010-09-21 Colin Watson <cjwatson@ubuntu.com>
10520
10521 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
10522 `err' to grub_usb_err_t.
10523 Reported and tested by: KESHAV P.R.
10524
d7dbe923
CW
105252010-09-21 Colin Watson <cjwatson@ubuntu.com>
10526
10527 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
10528 tpart non-const, so that we can assign to it. (Since this is a
10529 typedef, the constness refers to the pointer rather than what it
10530 points to.)
10531
8d5e2af3
CW
105322010-09-21 Colin Watson <cjwatson@ubuntu.com>
10533
10534 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
10535 $(top_srcdir)/grub-core/gnulib as well as
10536 $(top_builddir)/grub-core/gnulib.
10537 Reported by: KESHAV P.R.
10538
5c527783
CW
105392010-09-21 Colin Watson <cjwatson@ubuntu.com>
10540
10541 * util/grub-install.in: Fix the bootloader ID option to be
10542 consistently --bootloader-id, not --bootloader_id.
10543 Reported by: KESHAV P.R.
10544
d309a16e
CW
105452010-09-21 Colin Watson <cjwatson@ubuntu.com>
10546
10547 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
10548 check hash checksum." consistently translatable.
10549
b830cd16
YB
105502010-09-21 Yves Blusseau <blusseau@zetam.org>
10551
10552 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
10553 $(top_builddir).
10554
c4fe27a8
CW
105552010-09-21 Colin Watson <cjwatson@ubuntu.com>
10556
10557 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
10558 (GRUB_MOD_INIT): Register sha1sum command.
10559 (GRUB_MOD_FINI): Unregister sha1sum command.
10560
a4c1d277
YB
105612010-09-21 Yves Blusseau <blusseau@zetam.org>
10562
10563 Keep boot and grub directory names in sync with utils scripts
10564
10565 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
10566 * config.h.in: Add previous macros.
10567 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
10568 * util/grub-install.in: Use $bootdir and $grubdir variables.
10569
4eff79d2
CW
105702010-09-21 Colin Watson <cjwatson@ubuntu.com>
10571
10572 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
10573 convert partition names to disk names if the new `convert' parameter
10574 is set.
10575 (grub_util_biosdisk_get_grub_dev): If opening the disk device
10576 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
10577 disk in its own right. This can happen with Xen disk images.
10578
934d7e44
YB
105792010-09-21 Yves Blusseau <blusseau@zetam.org>
10580
10581 * util/grub-editenv.c: Update strings to avoid warnings when generating
10582 grub.pot file.
10583 * util/grub-setup.c: Likewise.
934d7e44 10584
df3367cc
VS
105852010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
10586
10587 * configure.ac: Change version to 1.99~beta0.
10588
77a94e98
VS
105892010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
10590
10591 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
10592 Add BADRAM.
10593 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
10594 Likewise.
10595 * include/multiboot.h: Resynced with specification.
10596 * include/multiboot2.h: Likewise.
10597
269004c1
CW
105982010-09-21 Colin Watson <cjwatson@ubuntu.com>
10599
10600 Fix po directory handling.
10601
10602 * configure.ac: Create po/Makefile.in rather than po/Makefile.
10603 * grub-core/gnulib/Makefile.am: Import gettext module.
10604 * m4/gnulib-cache.m4: Likewise.
10605 * m4/gnulib-comp.m4: Likewise.
10606 * m4/gettext.m4: New file, from gnulib.
10607 * m4/glibc2.m4: Likewise.
10608 * m4/iconv.m4: Likewise.
10609 * m4/intdiv0.m4: Likewise.
10610 * m4/intl.m4: Likewise.
10611 * m4/intldir.m4: Likewise.
10612 * m4/intlmacosx.m4: Likewise.
10613 * m4/intmax.m4: Likewise.
10614 * m4/inttypes-pri.m4: Likewise.
10615 * m4/lcmessage.m4: Likewise.
10616 * m4/lib-ld.m4: Likewise.
10617 * m4/lib-link.m4: Likewise.
10618 * m4/lib-prefix.m4: Likewise.
10619 * m4/lock.m4: Likewise.
10620 * m4/nls.m4: Likewise.
10621 * m4/po.m4: Likewise.
10622 * m4/printf-posix.m4: Likewise.
10623 * m4/progtest.m4: Likewise.
10624 * m4/threadlib.m4: Likewise.
10625 * m4/uintmax_t.m4: Likewise.
10626 * m4/visibility.m4: Likewise.
10627 * po/Makefile.am: Remove.
10628 * po/Makefile.in.in: New file, from gettext.
10629 ($(DOMAIN).pot-update): Support POTFILES-shell.
10630 * po/Makevars: New file.
10631 * po/POTFILES-shell: Rename to ...
10632 * po/POTFILES-shell.in: ... this. Update.
10633 * po/POTFILES: Rename to ...
10634 * po/POTFILES.in: ... this. Update.
10635 * po/Rules-quot: New file, from gettext.
10636 * po/boldquot.sed: Likewise.
10637 * po/en@boldquot.header: Likewise.
10638 * po/en@quot.header: Likewise.
10639 * po/insert-header.sin: Likewise.
10640 * po/quot.sed: Likewise.
10641 * po/remove-potcdate.sin: Likewise.
10642
3e0fa5d0
VS
106432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10644
10645 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
10646
ade9bd66
VS
106472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10648
10649 * util/grub.d/20_linux_xen.in: Use submenus.
10650
fc55cc4c
VS
106512010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10652
10653 Support submenus.
10654
10655 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
10656 parameter submenu. All users updated.
10657 * grub-core/normal/main.c (free_menu): Rename to ...
10658 (grub_normal_free_menu): ... this. Made global.
10659 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
10660 if requested.
10661 * grub-core/normal/menu_entry.c (screen): New field submenu.
10662 (make_screen): Set submenu.
10663 (run): Open new context if requested.
10664 * include/grub/menu.h (grub_menu_entry): New field submenu.
10665 * include/grub/normal.h (grub_normal_free_menu): New proto.
10666
600cedf7
VS
106672010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10668
10669 Menu entries extractor.
10670
10671 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
10672 variants.
10673 (GRUB_MOD_INIT): Register new variants.
10674 (GRUB_MOD_FINI): Unregister new variants.
10675 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
10676 into grub_cmd_legacy_source.
10677 (grub_cmd_legacy_source): Implement extractor variants.
10678 (GRUB_MOD_INIT): Register new variants.
10679 (GRUB_MOD_FINI): Unregister new variants.
10680 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
10681 as an extractor.
10682 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
10683 search as an extractor.
10684 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
10685 test as an extractor.
10686 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
10687 as an extractor.
10688 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
10689 (grub_env_new_context): New function.
10690 (grub_env_context_open): Likewise.
10691 (grub_env_extractor_open): Likewise.
10692 (grub_env_extractor_close): Likewise.
10693 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
10694 grub_extractor_level.
10695 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
10696 * include/grub/env.h (grub_env_extractor_open): New proto.
10697 (grub_env_extractor_close): Likewise.
10698 * include/grub/normal.h (grub_extractor_level): New external variable.
10699
7bda3a87
VS
107002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10701
10702 Make cutmem accept a region specification.
10703 Suggested by: Samuel Thibault
10704
10705 * grub-core/mmap/mmap.c (parsemem): New function.
10706 (grub_cmd_cutmem): Handle new arguments.
10707
2ea57f88
VS
107082010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10709
10710 New command cutmem.
10711
10712 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
10713 (GRUB_MOD_INIT): Register new command.
10714 (GRUB_MOD_FINI): Unregister new command.
10715
74342e31
VS
107162010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10717
10718 Support some annoying BSD and Minix subpartitions.
10719
10720 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
10721 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
10722 Properly handle concatenation.
10723 * grub-core/kern/device.c (grub_device_iterate): Likewise.
10724 * grub-core/normal/completion.c (iterate_partition): Likewise.
10725 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
10726 contain partition. All users updated.
10727 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
10728 struct.
10729 (grub_openbsdlabel_partition_map): Likewise.
10730 (bsdlabel_partition_map_iterate): Rename to ..
10731 (iterate_real): ... this. New arguments sector, freebsd and pmap.
10732 (bsdlabel_partition_map_iterate): New function.
10733 (netopenbsdlabel_partition_map_iterate): Likewise.
10734 (netbsdlabel_partition_map_iterate): Likewise.
10735 (openbsdlabel_partition_map_iterate): Likewise.
10736 (GRUB_MOD_INIT): Register new partmaps.
10737 (GRUB_MOD_FINI): Unregister new partmaps.
10738 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
10739 (grub_partition_msdos_iterate): ... this. All users updated.
10740 Don't support embedding other than in a minix partition.
10741 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
10742 proto.
10743 * include/grub/partition.h (grub_partition): New field msdostype.
10744 * util/grub-install.in: Handle openbsd and netbsd types being in
10745 part_bsd module.
10746
1e8d555b
VS
107472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10748
10749 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
10750
10751 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
10752 * grub-core/Makefile.core.def (mdraid): Renamed to ...
10753 (mdraid09): ... this.
10754 (mdraid1x): New module.
10755 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
10756 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
10757
899d8af4
VS
107582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
10761 vsprintf.
10762
40901acd
CW
107632010-09-20 Colin Watson <cjwatson@ubuntu.com>
10764
10765 * grub-core/commands/efi/lsefimmap.c: Correct header.
10766 * NEWS: Update.
10767
dfe3b247
CW
107682010-09-20 Colin Watson <cjwatson@ubuntu.com>
10769
10770 * util/grub-editenv.c (argp_parser): Don't pass translated strings
10771 as printf format strings; the translations might contain '%' which
10772 could cause a crash.
10773 (main): Likewise.
10774 * util/grub-fstest.c (argp_parser): Likewise.
10775 * util/grub-setup.c (argp_parser): Likewise.
10776 (main): Likewise.
10777
3286a4b4
VS
107782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10779
10780 Use argp in grub-fstest.
10781
10782 * util/grub-fstest.c: Don't include getopt.h.
10783 Include argp.h.
10784 (root): New variable.
10785 (args_count): Likewise.
10786 (nparm): Likewise.
10787 (num_disks): Likewise.
10788 (images): Likewise.
10789 (cmd): Likewise.
10790 (debug_str): Likewise.
10791 (args): Likewise.
10792 (options): Transformed to argp.
10793 (usage): Removed.
10794 (main): Split argument parsing into ...
10795 (argp_parser): ... this. Changed to argp format.
10796 (argp): New variable.
10797 (main): Use argp_parse.
10798
3dccbe4b
TG
107992010-09-20 Tristan Gingold <gingold@free.fr>
108002010-09-20 Robert Millan <rmh.grub@aybabtu.com>
108012010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10802
10803 * grub-core/commands/efi/lsefimmap.c: New file.
10804 * grub-core/Makefile.core.def (lsefimmap): New module.
10805 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
10806
38c259a7
VS
108072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10808
10809 Pause the execution (10s max) if any errors are displayed so the user
10810 has a chance to see them.
10811
10812 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
10813 (grub_print_error): Increment grub_err_printed_errors.
10814 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
10815 execution if any errors were displayed.
10816 (show_menu): Remove old code for pause.
10817 * grub-core/normal/menu_entry.c (run): Likewise.
10818 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
10819 users updated.
10820 (grub_normal_get_char_counter): Likewise.
10821 * include/grub/err.h (grub_err_printed_errors): New external variable.
10822 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
10823
f218b09c
VS
108242010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10825
10826 Support multiboot VBE info.
10827
10828 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10829 Take VBE info into account.
10830 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
10831 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
10832 Call fill_vbe_info when appropriate.
10833 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
10834 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
10835 as supported.
10836 (grub_multiboot_get_mbi_size): Take new tags into account.
10837 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
10838 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
10839 Call fill_vbe_tag when appropriate.
10840 (grub_multiboot_make_mbi): Properly align tags.
10841 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
10842 function.
10843 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
10844 proto.
10845 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
10846
a9cc5438
VS
108472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10848
10849 Suport manual terminal geometry specification.
10850
10851 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
10852 Save state in grub_ofconsole_terminfo_output.
10853 (grub_ofconsole_term): Use grub_terminfo_getwh.
10854 (grub_ofconsole_getwh): Removed.
10855 * grub-core/term/serial.c (grub_serial_getwh): Removed.
10856 (grub_serial_term): Use grub_terminfo_getwh.
10857 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
10858 (options): New struct.
10859 (OPTION_*): New enum.
10860 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
10861 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
10862 width and height.
10863 (grub_terminfo_getwh): New proto.
10864 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
10865
1a8fed20
VS
108662010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10867
10868 Handle legacy "terminal" command.
10869
10870 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
10871 and FLAG_TERMINAL.
10872 (legacy_commands): Add terminal and title.
10873 (grub_legacy_parse): Handle terminal. Simplify title handling.
10874
41e9c57d
VS
108752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10876
10877 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
10878 parameters overflow.
10879
61c874c5
CW
108802010-09-20 Colin Watson <cjwatson@ubuntu.com>
10881
10882 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
10883 widthspec.h.
10884
10885 * docs/grub.texi (Shell-like scripting): Document `!'.
10886 (Network): Simplify using new i386-pc-pxe format. Mention
10887 grub-mknetdir.
10888
10889 * NEWS: Update.
10890
943682b4
CW
108912010-09-20 Colin Watson <cjwatson@ubuntu.com>
10892
10893 * Makefile.am (SUBDIRS): Restore "."; it's important to force
10894 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
10895 when needed.
10896
6d3d698d
CW
108972010-09-20 Colin Watson <cjwatson@ubuntu.com>
10898
10899 * grub-core/commands/efi/lsefisystab.c: Correct header.
10900 * grub-core/commands/efi/lssal.c: Likewise.
10901 * grub-core/commands/testload.c: Likewise.
10902
c982589f
CW
109032010-09-20 Colin Watson <cjwatson@ubuntu.com>
10904
10905 * util/grub-mkrescue.in: Add explicit root argument to --set to
10906 prevent the UUID being interpreted as an argument to --set (matches
10907 previous change to prepare_grub_to_access_device).
10908
a63c31b6
CW
109092010-09-20 Colin Watson <cjwatson@ubuntu.com>
10910
10911 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
10912 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
10913 the verbosity of later #ifs.
10914 (find_partition_start): Define this function on FreeBSD too.
10915 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
10916 function.
10917 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
10918 on FreeBSD.
10919
6439b8ee
YB
109202010-09-20 Yves Blusseau <blusseau@zetam.org>
10921
10922 * util/grub-editenv.c: Use argp instead of getopt.
10923
c5930ec8
YB
109242010-09-20 Yves Blusseau <blusseau@zetam.org>
10925
10926 * util/grub-setup.c: Use argp instead of getopt.
10927
15c69261
YB
109282010-09-20 Yves Blusseau <blusseau@zetam.org>
10929
10930 Use gnulib-tool to create gnulib source files.
10931
10932 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
10933 grub-core/gnulib directories
10934 * .bzignore: Add **/.deps and autogenerated gnulib files
10935 * configure.ac: Assign auxiliary directory to build-aux, add invocation
10936 of gnulib macros, add grub-core/gnulib/Makefile
10937 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
10938 include m4 directory to aclocal.
10939 * Makefile.util.def: Remove direct compilation of gnulib source files
10940 and use the new grub-core/gnulib/libgnu.a.
10941 * build-aux/config.rpath: move config.rpath from top directory to
10942 build-aux
10943 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
10944 in gnulib headers
10945 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
10946 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
10947 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
10948 header.
10949 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
10950 string.
10951
e511c9f5
YB
109522010-09-20 Yves Blusseau <blusseau@zetam.org>
10953
10954 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
10955 grub-core/genmod.sh and grub-core/gensyminfo.sh
10956
c2dede05
BC
109572010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
10958
10959 Add a test for echo command options.
10960
10961 * tests/grub_cmd_echo.in: New test.
10962 * Makefile.util.def: Rules for new test.
10963
c55f5018
SJ
109642010-09-20 Szymon Janc <szymon@janc.net.pl>
10965
10966 Remove crc.mod and move crc command to hashsum.mod.
10967 Remove lib/crc.c - users updated to use gcrypt implementation.
10968
10969 * grub-core/commands/crc.c: Removed.
10970 * grub-core/Makefile.core.def (crc): Module removed.
10971 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
10972 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
10973 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
10974 * grub-core/lib/crc.c: Removed.
10975 * include/grub/lib/crc.h: Removed.
10976 * Makefile.util.def (crc): Remove lib/crc.c
10977 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
10978 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
10979 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
10980 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
10981 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
10982 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
10983
e0337366
VS
109842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10985
10986 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
10987
742f9232
VS
109882010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10989
10990 Split config.h for util and core.
10991
10992 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
10993 (ADDR32): Likewise.
10994 (DATA32): Likewise.
10995 (BSS_START_SYMBOL): Likewise.
10996 (END_SYMBOL): Likewise.
10997 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
10998 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
10999 * config.h.in: New file.
11000 * configure.ac: Use config-util.h as config define file.
11001 Rename MACHINE into GRUB_MACHINE. All users updated.
11002 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
11003 updated.
11004 (NESTED_FUNC_ATTR): Likewise.
11005 Substitue new variables.
11006 (COND_HAVE_ASM_USCORE): New conditional.
11007 * grub-core/Makefile.am (ASM_PREFIX): New variable.
11008 (kernel_syms.lst): Use ASM_PREFIX.
11009 * grub-core/kern/emu/console.c: Include config-util.h.
11010 * grub-core/kern/emu/misc.c: Likewise.
11011 * grub-core/kern/emu/mm.c: Likewise.
11012 * include/grub/emu/misc.h: Likewise.
11013 * include/grub/libgcc.h: Likewise.
11014
39feb0e8
VS
110152010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11016
11017 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
11018 constants usage.
11019 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
11020 Fix GRUB_TERM_KEY_* constants usage.
11021 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
11022
9af6dac3
VS
110232010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11024
11025 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
11026 print pointer.
11027 * grub-core/bus/usb/uhci.c: Remove empty define.
11028 (grub_uhci_check_transfer): Add missing cast.
11029 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
11030 print pointer.
11031 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
11032 PRIuGRUB_SIZE.
11033 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
11034
d6d94820
VS
110352010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11036
11037 * grub-core/Makefile.core.def (legacycfg): Add
11038 lib/i386/pc/vesa_modes_table.c on emu.
11039
3572f2b6
BC
110402010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
11041
11042 Reduce number of temporary files generated by build system.
11043
11044 * grub-core/gencmdlist.sh: Removed.
11045 * grub-core/genfslist.sh: Removed.
11046 * grub-core/genhandlerlist.sh: Removed.
11047 * grub-core/genmodsrc.sh: Removed.
11048 * grub-core/genpartmaplist.sh: Removed.
11049 * grub-core/genparttoollist.sh: Removed.
11050 * grub-core/gentermiinallist.sh: Removed.
11051 * grub-core/genvideolist.sh: Removed.
11052
11053 * grub-core/genmod.sh.in: New file.
11054 * grub-core/gensyminfo.sh.in: New file.
11055
11056 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
11057 * conf/Makefile.extra-dist: Update with new files.
11058 * gentpl.py: Remove rules related to unnecessary temporary files.
11059 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
11060 and und-* files.
11061 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
11062 genmod.sh scripts.
11063 * grub-core/bus/usb/uhci.c: Remove empty #define.
11064 * grub-core/genmoddep.awk: Updated with new syminfo format.
11065 * util/bash-completion.d/Makefile.am: Add config.log to
11066 CLEANFILES.
11067
c836b030
YB
110682010-09-19 Yves Blusseau <blusseau@zetam.org>
11069
11070 * Makefile.util.def: Add forgotten $(LIBINTL) library.
11071
2f4e8053
BC
110722010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
11073
11074 * util/grub-mkconfig.in: Check the config script for syntax errors
11075 before saving.
11076
75831c34
CW
110772010-09-19 Colin Watson <cjwatson@ubuntu.com>
110782010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11079
11080 * Makefile.util.def (grub-install): Use util/grub-install.in on all
11081 platforms.
11082 * util/grub-install.in: Add EFI and IEEE1275 support.
11083 * util/i386/efi/grub-install.in: Removed.
11084 * util/ieee1275/grub-install.in: Likewise.
11085
eaf41b25
VS
110862010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11087
11088 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
11089 (grub_cmd_cmosclean): Likewise.
11090 (GRUB_MOD_INIT): Register command cmosclean.
11091 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
11092 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
11093
1a9130dd
CPE
110942010-09-18 Carles Pina i Estany <carles@pina.cat>
110952010-09-18 Aleš Nesrsta <starous@volny.cz>
110962010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11097
11098 Add keyboard layouts support.
11099
11100 * Makefile.util.def (grub-mklayout): New file.
11101 (grub-kbdcomp): New script.
11102 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
11103 Add keyboard_layouts.h.
11104 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
11105 commands/boot.c on yeeloong.
11106 (keylayouts): New module.
11107 * grub-core/bus/usb/ohci.c
11108 * grub-core/bus/usb/uhci.c
11109 * grub-core/bus/usb/usbhub.c (rescan): New variable.
11110 (grub_usb_add_hub): Poll interrupt pipe for device handling.
11111 (attach_root_port): Likewise.
11112 (poll_nonroot_hub): Likewise.
11113 (grub_usb_poll_devices): Likewise.
11114 (detach_device): Close transfer.
11115 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
11116 function.
11117 (grub_usb_bulk_setup_readwrite): Likewise.
11118 (grub_usb_bulk_finish_readwrite): Likewise.
11119 * grub-core/commands/keylayouts.c: New file.
11120 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
11121 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
11122 aliases.
11123 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
11124 support scancode 2.
11125 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
11126 * include/grub/keyboard_layouts.h: New file.
11127 * util/grub-mklayout.c: New file.
11128 * util/grub-kbdcomp.in: Likewise.
11129
a1d84a5e
VS
111302010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11131
11132 Unify memory types.
11133
11134 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
11135 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
11136 types.
11137 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
11138 (grub_upper_mem): Likewise.
11139 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
11140 * include/grub/memory.h (grub_memory_type_t): New enum.
11141 All users updated.
11142
9696382e
VS
111432010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11144
11145 * grub-core/Makefile.core.def (lsapm): New module.
11146 * grub-core/commands/i386/pc/lsapm.c: New file.
11147 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
11148 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
11149 Likewise.
11150 * include/grub/i386/pc/apm.h: New file.
11151 * include/multiboot.h (multiboot_apm_info): New struct.
11152
111532010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11154
11155 GRUB-legacy configuration file support.
11156
11157 * Makefile.util.def (grub-menulst2cfg): New util.
11158 * docs/man/grub-menulst2cfg.h2m: New file.
11159 * grub-core/Makefile.core.def (legacycfg): New module.
11160 * grub-core/commands/legacycfg.c: New file.
11161 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
11162 (grub_normal_add_menu_entry): ... this.
11163 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
11164 (grub_normal_set_password): ...this.
11165 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
11166 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
11167 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
11168 * grub-core/lib/legacy_parse.c: New file.
11169 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
11170 * include/grub/i386/pc/vesa_modes_table.h: New file.
11171 * include/grub/legacy_parse.h: Likewise.
11172 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
11173 * util/grub-menulst2cfg.c: New file.
11174
bf8d1338
CW
111752010-09-17 Colin Watson <cjwatson@ubuntu.com>
11176
11177 * grub-core/kern/emu/hostdisk.c
11178 (convert_system_partition_to_system_disk): Initialise node.
11179
9c0bad2e
CW
111802010-09-17 Colin Watson <cjwatson@ubuntu.com>
11181
11182 * grub-core/kern/emu/hostdisk.c
11183 (convert_system_partition_to_system_disk): Fix devmapper memory pool
11184 leak.
11185 Reported and based on patch by: Modestas Vainius.
11186
a939d135
CW
111872010-09-17 Colin Watson <cjwatson@ubuntu.com>
11188
11189 Fix DM-RAID probing with recent versions of device-mapper udev
11190 rules.
11191
11192 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
11193 canonicalise device paths under /dev/mapper/.
11194 (convert_system_partition_to_system_disk): Compare the
11195 uncanonicalised path to /dev/mapper/ rather than the canonicalised
11196 path, since device nodes under /dev/mapper/ are often symlinks.
11197
0f7ee3c9
YB
111982010-09-17 Yves Blusseau <blusseau@zetam.org>
11199
11200 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
11201
10854d0d
YB
112022010-09-16 Yves Blusseau <blusseau@zetam.org>
11203
11204 * configure.ac: Avoid some annoying error messages if freetype-config
11205 program is not found.
11206
108538d8
CW
112072010-09-16 Colin Watson <cjwatson@ubuntu.com>
11208
11209 Support RAID on virtio devices, and others.
11210
11211 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
11212 Rename to ...
11213 [__MINGW32__] (grub_find_device): ... this.
11214 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
11215 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
11216 reasonable default if dir is NULL.
11217 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
11218 ...
11219 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
11220 (grub_guess_root_device): Update callers.
11221 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
11222
11223 * util/raid.c (grub_util_getdiskname): Remove.
11224 (grub_util_raid_getmembers): Use grub_find_device rather than
11225 grub_util_getdiskname.
11226
e5bfc130
CW
112272010-09-16 Colin Watson <cjwatson@ubuntu.com>
11228
11229 * docs/grub.texi (serial): Remove obsolete comment about GRUB
11230 needing to be compiled with serial support.
11231 (ls): Indicate that multiple files are accepted.
11232 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
11233 indicate that multiple files are accepted.
11234
be458ae2
CW
112352010-09-16 Colin Watson <cjwatson@ubuntu.com>
11236
11237 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
11238 libgrub_a_init.c, and util/bash-completion.d/grub.
11239
cb731b5e
VS
112402010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11241
11242 * util/grub-setup.c (setup): Fix incorrect container semantics.
11243
35139e8a
VS
112442010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11245
11246 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
11247 misusage.
11248 Reported by: J. Nick Terry
11249
e50fca4a
VS
112502010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11251
11252 Move embedding routines to partmap sources files.
11253
11254 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
11255 [GRUB_UTIL]: New variable.
11256 (gpt_partition_map_iterate): Set part.parent.
11257 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
11258 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
11259 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
11260 New function.
11261 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
11262 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
11263 (grub_partition_map) [GRUB_UTIL]: New field embed.
11264 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
11265 (setup): Use ->embed.
11266
f00478b7
VS
112672010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11268
11269 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
11270 function.
11271 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
11272 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
11273
2b94e3ff
YB
112742010-09-15 Yves Blusseau <blusseau@zetam.org>
11275
11276 Add function to get completions from usage.
11277
11278 * util/bash-completion.d/grub-completion.bash.in: Add function to get
11279 completions from usage. Use LC_ALL=C to get options properly.
11280
2e04a006
VS
112812010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11282
11283 * grub-core/gnulib/basename-lgpl.c: Imported.
11284 * grub-core/gnulib/basename.c: Likewise.
11285 * grub-core/gnulib/dirname-lgpl.c: Likewise.
11286 * grub-core/gnulib/dirname.c: Likewise.
11287 * grub-core/gnulib/dirname.h: Likewise.
11288 * grub-core/gnulib/stripslash.c: Likewise.
11289
5dcdf93a
VS
112902010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11291
11292 * grub-core/gnulib/error.c: Resynced.
11293 * grub-core/gnulib/getopt.c: Likewise.
11294 * grub-core/gnulib/getopt_int.h: Likewise.
11295 * grub-core/gnulib/regex.h: Likewise.
11296 * grub-core/gnulib/regex_internal.c: Likewise.
11297 * grub-core/gnulib/regex_internal.h: Likewise.
11298
014f47b7
SJ
112992010-09-15 Szymon Janc <szymon@janc.net.pl>
11300
11301 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
11302 CRC calculations and validity checks.
11303 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
11304 calculations.
11305
dd521a4a
SJ
113062010-09-15 Szymon Janc <szymon@janc.net.pl>
11307
11308 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
11309
79c4eeb9
VS
113102010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11311
11312 Fix incorrect echo options handling.
11313 Reported by: Yves Blusseau.
11314
11315 * include/grub/command.h (grub_command_flags_t): New flags
11316 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
11317 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
11318 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
11319
ed80f7d5
VS
113202010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11321
11322 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
11323 users updated.
11324 (GRUB_COMMAND_FLAG_MENU): Likewise.
11325 (GRUB_COMMAND_FLAG_BOTH): Likewise.
11326 (GRUB_COMMAND_FLAG_TITLE): Removed.
11327 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
11328 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
11329 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
11330 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
11331 (grub_command_flags_t): New enum. All users updated.
11332
5fe7620a
SG
113332010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
11334
11335 Fix solaris compilation.
11336
11337 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
11338 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
11339 (grub-emu-list): Likewise.
11340
545b752f
VS
113412010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11342
11343 Remove deprecated root command.
11344
11345 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
11346 updated.
11347
6c1a338c
VS
113482010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11349
11350 * util/i386/pc/grub-setup.c: Merge this ...
11351 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
11352 * util/grub-setup.c: ... into this.
11353 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
11354 New struct.
11355
113562010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11357
11358 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
11359 possible.
11360
d2ea4551
VS
113612010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11362
11363 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
11364 allocate p.
11365
3c3b5040
VS
113662010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11367
11368 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
11369 explicit root argument to set to prevent UUID to be interpreted as
11370 argument to set.
11371
b71c3fae
VS
113722010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11373
11374 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
11375
275433e6
VS
113762010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11377
11378 Don't export grub_gate_a20.
11379
11380 * grub-core/kern/i386/pc/init.c: Remove leftovers.
11381 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
11382 to ...
11383 (grub_gate_a20): ... this. All users updated.
11384 * include/grub/i386/pc/init.h: Removed. All users updated.
11385
a5dbb1f1
VS
113862010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11387
11388 Create euro.pf2 which supports most European languages.
11389
11390 * Makefile.am (grubdata_DATA): Add euro.pf2.
11391 (euro.pf2): New target.
11392 (CLEANFILES): Add euro.pf2.
11393
62a747cb
VS
113942010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11395
11396 * configure.ac: Disable emu-usb by default to prevent inadvertent
11397 device takeover.
11398
608e43b1
VS
113992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11400
11401 Disable usbserial on grub-emu since our libusb code isn't good enough
11402 yet.
11403
11404 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
11405 (usbserial_pl2303): Likewise.
11406 (usbserial_ftdi): Likewise.
11407
94564f81
VS
114082010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11409
11410 * include/grub/disk.h (grub_disk): Remove has_partitions.
11411 All users updated.
11412 * disk/loopback.c (grub_loopback): Remove has_partitions.
11413 All users updated.
11414 (options): Remove partitions. All users updated.
11415 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
11416 * util/i386/pc/grub-setup.c (setup): copy partition table only when
11417 actual partition table is found.
11418
3352800b
VS
114192010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11420
11421 Remove readability checks (too many false negatives).
11422
11423 * util/grub-install.in: Remove readability checks.
11424 * util/grub-mkconfig.in: Likewise.
11425 * util/grub.d/10_hurd.in: Likewise.
11426 * util/grub.d/10_kfreebsd.in: Likewise.
11427 * util/grub.d/10_linux.in: Likewise.
11428 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
11429 way.
11430
2419f17a
VS
114312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11432
11433 Enable acpi shutdown on all ACPI platforms.
11434
11435 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
11436 on coreboo, multiboot and EFI.
11437 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
11438 (grub_acpi_halt): Likewise.
11439 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
11440 (grub_cmd_halt): Don't call grub_acpi_halt directly.
11441 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
11442 * grub-core/lib/i386/halt.c (grub_halt)
11443 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
11444
0575c7c3
VS
114452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11446
11447 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
11448 context.
11449
54ac3cd1
VS
114502010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11451
11452 * grub-core/video/efi_gop.c: Fix over-80-chars line.
11453 * grub-core/video/efi_uga.c: Likewise.
11454
b2a30ac5
VS
114552010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11456
11457 Filter devaliases and never open same device twice.
11458
11459 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
11460 (last_ihandle): Likewise.
11461 (ofdisk_hash_ent): New member shortest.
11462 (ofdisk_hash_add): Add canonical path too.
11463 (scan): New function.
11464 (grub_ofdisk_iterate): Iterate over hashed entries.
11465 (compute_dev_path): Don't add :0.
11466 (grub_ofdisk_open): Don't really open the disk.
11467 (grub_ofdisk_close): Avoid closing unrelated disk.
11468 (grub_ofdisk_read): Implement reopen logic.
11469 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
11470 New function.
11471 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
11472 New proto.
11473
fb53b340
VS
114742010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11475
11476 Fix sparc64.
11477
11478 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
11479 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
11480 right address. Add sparc64_ieee1275_ldflags.
11481 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
11482 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
11483 to grub_host_to_target_addr
11484 (load_image): Likewise.
11485
f452b040
VS
114862010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11487
11488 * grub-core/normal/completion.c (complete_file): Handle device
11489 containing slash.
11490 Fix based on patch by Doug Nazar.
11491
9b5b2541
VS
114922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11493
11494 grub-mknetdir script.
11495
11496 * Makefile.util.def (grub-mknetdir): New module.
11497 * tests/util/grub-shell.in: Support boot=net
11498 * util/grub-mknetdir.in: New file.
11499
9d2be652
VS
115002010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11501
11502 videoinfo on non-vbe.
11503
11504 * grub-core/Makefile.core.def (vbeinfo): Removed.
11505 (vbetest): Removed.
11506 (videoinfo): New module.
11507 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
11508 * grub-core/commands/i386/pc/vbetest.c: Removed.
11509 * grub-core/commands/videoinfo.c: New file.
11510 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
11511 specification.
11512 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
11513 as vbetest.
11514 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
11515 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
11516 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
11517 mode_number. New parameter mode. All users updated.
11518 (grub_video_gop_iterate): New function.
11519 (grub_video_efi_gop): New member iterate.
11520 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
11521 (grub_vbe_set_video_mode): Remove setting useless fields.
11522 (vbe2videoinfo): New function.
11523 (grub_video_vbe_iterate): Likewise.
11524 (grub_video_vbe_setup): Use vbe2videoinfo.
11525 (grub_video_vbe_print_adapter_specific_info): New function.
11526 (grub_video_vbe_adapter): New fields iterate and
11527 print_adapter_specific_info.
11528 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
11529 All users updated.
11530 (grub_video_mode_info): New field mode_number.
11531 (grub_video_adapter): New fields iterate and
11532 print_adapter_specific_info.
11533
179503f5
TG
115342010-09-13 Tristan Gingold <gingold@free.fr>
115352010-09-13 Robert Millan <rmh.grub@aybabtu.com>
115362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11537
11538 * grub-core/commands/efi/lsefisystab.c: New file.
11539 * grub-core/commands/efi/lssal.c: Likewise.
11540 * grub-core/Makefile.core.def (lsacpi): New module.
11541 (lsefisystab): Likewise.
11542 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
11543 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
11544 (grub_efi_sal_system_table): New struct.
11545 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
11546 (grub_efi_sal_system_table_memory_descriptor): Likewise.
11547 (grub_efi_sal_system_table_platform_features): Likewise.
11548 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
11549 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
11550 (grub_efi_sal_system_table_ap_wakeup): Likewise.
11551 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
11552
cf9827de
VS
115532010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11554
11555 Support explicit user claim that a device is BIOS-visible.
11556
11557 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
11558 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
11559 * grub-core/kern/emu/hostdisk.c
11560 (convert_system_partition_to_system_disk): Support mdX.
11561 (find_system_device): New parameter add. All users updated.
11562 (grub_util_biosdisk_is_present): New function.
11563 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
11564 proto.
11565
53f0eb1f
VS
115662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11567
11568 Search hints support.
11569
11570 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
11571 All users updated.
11572
b23ffd70
YB
115732010-09-13 Yves Blusseau <blusseau@zetam.org>
11574
11575 Bash completion script for util commands
11576
11577 * Makefile.am: Add util/bash-completion.d directory
11578 * configure.ac: Likewise.
11579 * util/bash-completion.d/Makefile.am: New file.
11580 * util/bash-completion.d/grub-completion.bash.in: Likewise.
11581
d547dc28
VS
115822010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11583
11584 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
11585 (print_backlog): set backlog_ucs4 and backlog_glyphs.
11586 Reported by: Yves Blusseau.
11587
2fc8ccb9
VS
115882010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11589
11590 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
11591 partition size and offset.
11592
d8a84076
VS
115932010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11594
11595 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
11596
84fb3b3d
VS
115972010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11598
11599 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
11600
768ec2e2
VS
116012010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11602
11603 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
11604 (grub_xvasprintf): Likewise.
11605
4870900f
VS
116062010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11607
11608 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
11609
faca6bec
VS
116102010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11611
11612 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
11613 args ending with NULL.
11614
116152010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
11616
11617 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
11618 pointer.
11619
3c70f225
SJ
116202010-09-11 Szymon Janc <szymon@janc.net.pl>
11621
11622 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
11623
4df7996d
VS
116242010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11625
11626 Shutdown using ACPI.
11627
11628 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
11629 * grub-core/commands/acpihalt.c: New file.
11630 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
11631 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
11632 (grub_acpi_halt): New proto.
11633 (GRUB_ACPI_SLP_EN): New const.
11634 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
11635 (GRUB_ACPI_OPCODE_*): New enum.
11636 (GRUB_ACPI_EXTOPCODE_*): Likewise.
11637
126b4c32
TG
116382010-09-11 Tristan Gingold <gingold@free.fr>
116392010-09-11 Robert Millan <rmh.grub@aybabtu.com>
116402010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11641
11642 * commands/lsacpi.c: New file.
11643 * grub-core/Makefile.core.def (lsacpi): New module.
11644 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
11645 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
11646 (grub_acpi_madt_entry_header): New struct.
11647 (grub_acpi_madt): Likewise.
11648 (grub_acpi_madt_entry_interrupt_override): Likewise.
11649 (grub_acpi_madt_entry_sapic): Likewise.
11650 (grub_acpi_madt_entry_lsapic): Likewise.
11651 (grub_acpi_madt_entry_platform_int_source): Likewise.
11652 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
11653 (PRIuGRUB_UINT32_T): Likewise.
11654 (PRIxGRUB_UINT64_T): Likewise.
11655
1aa4fe88
VS
116562010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11657
11658 Implement loading palette on ieee1275_fb.
11659
11660 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
11661 (have_setcolors): Likewise.
11662 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
11663 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
11664 (grub_video_ieee1275_set_palette): Implement.
11665
25761e13
VS
116662010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
116672010-09-11 Colin Watson <cjwatson@ubuntu.com>
11668
11669 * util/grub-install.in (grub_partition): New variable.
11670 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
11671 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
11672 Fixes a bug reported by Yves Blusseau.
11673
050abaea
VS
116742010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11675
11676 Fix emu on mipsel.
11677
11678 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
11679 =grub_cpu_flush_cache on all mips and not only yeeloong.
11680 * configure.ac (COND_mips): New conditional.
11681 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
11682 platforms.
11683 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
11684 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
11685 [GRUB_LINKER_HAVE_INIT]: New function.
11686 (grub_emu_post_init): Likewise.
11687 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
11688 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
11689 * include/grub/cache.h (_mips): Include mips/cache.h.
11690 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
11691 LVM and RAID prototypes.
11692 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
11693 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
11694 function.
11695
5ed7d816
CW
116962010-09-10 Colin Watson <cjwatson@ubuntu.com>
11697
11698 * util/grub-install.in: Don't try to verify core.img until after
11699 running grub-mkimage to create it.
11700
90367e04
RM
117012010-09-10 Robert Millan <rmh@gnu.org>
11702
11703 * util/grub.d/10_hurd.in: Add misc readability checks.
11704 * util/grub.d/10_kfreebsd.in: Likewise.
11705 * util/grub.d/10_linux.in: Likewise.
11706
c452fa66
CW
117072010-09-10 Colin Watson <cjwatson@ubuntu.com>
11708
11709 * util/grub-install.in: ${imgext} won't be defined here until the
11710 install branch is merged. For the meantime, only verify core.img on
11711 i386-pc and sparc64-ieee1275 platforms.
11712
c38fe9f4
RM
117132010-09-10 Robert Millan <rmh@gnu.org>
11714
11715 Solaris support in grub_find_zpool_from_dir(). Thanks
11716 Seth Goldberg for referring to getextmntent() facility.
11717
11718 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
11719 `sys/mkdev.h'.
11720 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
11721 `<sys/mnttab.h>'.
11722 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
11723 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
11724 method for finding zpool name.
11725
905f7773
CW
117262010-09-10 Colin Watson <cjwatson@ubuntu.com>
11727
11728 grub-fstest needs the host and hostfs modules while other utilities
11729 actively require those modules to be absent, so grub-fstest needs
11730 its own initialisation and finalisation code.
11731
11732 * Makefile.am (grub_fstest.pp): New target.
11733 (grub_fstest_init.lst): Likewise.
11734 (grub_fstest_init.c): Likewise.
11735 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
11736
fb90b546
RM
117372010-09-10 Robert Millan <rmh@gnu.org>
11738
11739 * configure.ac: Check for `struct statfs.f_fstypename' and
11740 `struct statfs.f_mntfromname'.
11741
11742 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
11743 kFreeBSD-specific code.
11744
66d4bea5
RM
117452010-09-10 Robert Millan <rmh@gnu.org>
11746
11747 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
11748 on ZFS. Now non-main filesystems are supported as / too.
11749
b6a690ee
CW
117502010-09-09 Colin Watson <cjwatson@ubuntu.com>
11751
11752 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
11753 and grub-core/disk/host.c to ...
11754 (grub-fstest): ... here. Having the host disk implementation
11755 present confuses grub-probe and other utility programs.
11756
11757 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
11758 when writing to a file, not when writing to stdout.
11759
8901b00c 117602010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
11761
11762 * tests/partmap_test.in: New test for partitions.
11763 * Makefile.util.def: Rules for new test.
11764
7bf45fdd
RM
117652010-09-09 Robert Millan <rmh@gnu.org>
11766
11767 * util/grub-probe.c (probe): Fix a pair of unhandled error
11768 conditions.
11769
4dfbc574
RM
117702010-09-09 Robert Millan <rmh@gnu.org>
11771
11772 Basic Btrfs support (detection and UUID).
11773
11774 * grub-core/fs/btrfs.c: New file.
11775 * Makefile.util.def (library): Register btrfs.c.
11776 * grub-core/Makefile.core.def: Likewise.
11777
6b8e78ae
RM
117782010-09-08 Robert Millan <rmh@gnu.org>
11779
11780 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
11781 with (optional) parameters to specify device and relative path.
11782 * util/grub-install.in: Use is_path_readable_by_grub() to
11783 verify readability of a few critical files.
11784 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
11785 verify readability of grub.cfg.new.
11786
27f21a8b
VS
117872010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
11788
11789 Split minix.mod into minix.mod and minix2.mod.
11790
11791 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
11792 * grub-core/Makefile.core.def (minix2): New module.
11793 * grub-core/fs/minix.c: Use definitions instead of runtime version
11794 checking.
11795 * grub-core/fs/minix2.c: New file.
11796
c0e53ea5
YB
117972010-09-08 Yves Blusseau <blusseau@zetam.org>
11798
11799 Add new --boot-directory option to replace --root-directory
11800
11801 * util/grub-install.in: Add new --boot-directory option
11802 * util/grub-reboot.in: Likewise.
11803 * util/grub-set-default.in: Likewise.
11804
b9fe6ea2
YB
118052010-09-08 Yves Blusseau <blusseau@zetam.org>
11806
11807 * util/grub-mkconfig.in: Use new variable.
11808
d87aedff
YB
118092010-09-08 Yves Blusseau <blusseau@zetam.org>
11810
11811 * configure.ac: Define some useful variables.
11812
e55e8495
VS
118132010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
11814
11815 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
11816 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
11817 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
11818 Use terminfo and don't use cursor-on/cursor-off unless it's known
11819 to work.
11820 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
11821 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
11822
6fa6d675
CW
118232010-09-08 Colin Watson <cjwatson@ubuntu.com>
11824
11825 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
11826 starts with "(,", fill the drive containing the loaded image in
11827 between those two characters, but expect that a full partition
11828 specification including partition map names will follow.
11829
92f2aef0
RM
118302010-09-08 Robert Millan <rmh@gnu.org>
11831
11832 * configure.ac: Remove `--enable-grub-fstest' option.
11833 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
11834
11835 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
11836 `grub-fstest' instead of `grub-probe' for readability verification.
11837 * util/grub-probe.c (probe): Remove readability verification kludge.
11838
99fd620d
RM
118392010-09-08 Robert Millan <rmh@gnu.org>
11840
11841 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
11842 initializing `GRUB_FS'.
11843
058e30ac 118442010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
11845
11846 Not command (!) support to GRUB script.
11847
11848 * tests/grub_script_not.in: New test.
11849 * Makefile.util.def: Rules for new test.
11850
11851 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
11852 ! command as a special case.
11853 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
11854
b61d05ed 118552010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11856
058e30ac 11857 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
11858 grub_free.
b61d05ed 11859
4d69c786 118602010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11861
11862 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
11863
aa3119c4 118642010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11865
11866 * docs/grub.texi (Shell-like scripting): Documentation for break,
11867 continue, shift and return commands.
11868
db0f7e3d
VS
118692010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
11870
11871 Rename CD-ROM to cd on BIOS.
11872
11873 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
11874 "cd".
11875 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
11876
88b87c93
VS
118772010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11878
11879 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
11880 * util/grub-probe.c (main): Likewise.
11881 * util/i386/pc/grub-setup.c (main): Likewise.
11882 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
11883 Reported and debugged by: alexxy
11884
294f324d
VS
118852010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11886
11887 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
11888 diagnostic info.
11889
d7ee3441
JS
118902010-09-05 Jo Shields <directhex@apebox.org>
11891
11892 * util/grub.d/30_os-prober.in: Add missing classes.
11893
d7e06c1f
VS
118942010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11895
11896 * docs/grub.texi (Theme file format): Document new position format.
11897
fc157e53
VS
118982010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11899
11900 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
11901 a table. Use @code instead of @verbatim.
11902
506e9a1c
CB
119032010-09-05 Colin D Bennett <colin@gibibit.com>
11904
11905 Gfxmenu documentation.
11906
11907 * docs/grub.texi (Theme file format): New chapter.
11908
f0aff67c
SJ
119092010-09-05 Szymon Janc <szymon@janc.net.pl>
11910
11911 * grub-core/Makefile.core.def (xzio): New module.
11912 * grub-core/io/xzio.c: New file.
11913 * grub-core/lib/xzembed/xz.h: New file (from xembed).
11914 * grub-core/lib/xzembed/xz_config.h: Likewise.
11915 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
11916 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
11917 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
11918 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
11919 * grub-core/lib/xzembed/xz_private.h: Likewise.
11920 * grub-core/lib/xzembed/xz_stream.h: Likewise.
11921 * include/grub/file.h (grub_file_filter_id): New compression filter
11922 GRUB_FILE_FILTER_XZIO.
11923
82a85062
VS
119242010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11925
11926 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
11927 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
11928 size.
11929
3579415d
VS
119302010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11931
11932 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
11933 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
11934
5124ae6d
VS
119352010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11936
11937 Uncompressed checksum support.
11938
11939 * grub-core/commands/hashsum.c (options): Add option --uncompress.
11940 (check_list): New parameter uncompress.
11941 (grub_cmd_hashsum): Handle --uncompress.
11942
9aadb3d1
VS
119432010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11944
11945 Reintroduce testload.
11946
11947 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
11948 from here ...
11949 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
11950 (GRUB_MOD_INIT): New function.
11951 (GRUB_MOD_FINI): Likewise.
11952 * grub-core/Makefile.core.def (testload): New module.
11953
a17792c3
SJ
119542010-09-05 Szymon Janc <szymon@janc.net.pl>
11955
11956 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
11957 (uint8_t): New type.
11958 (uint16_t): Likewise.
11959 (uint32_t): Likewise.
11960 (uint64_t): Likewise.
11961
b81e40a3
SJ
119622010-09-05 Szymon Janc <szymon@janc.net.pl>
11963
11964 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
11965
fc2ef117
VS
119662010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11967
11968 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
11969 Made static.
11970 (grub_gzfile_open): Removed. All users updated.
11971 (GRUB_MOD_INIT): New function.
11972 (GRUB_MOD_FINI): Likewise.
11973 * grub-core/kern/file.c (grub_file_filters_all): New variable.
11974 (grub_file_filters_enabled): Likewise.
11975 (grub_file_open): Handle filters.
11976 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
11977 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
11978 * include/grub/file.h (grub_file_filter_id_t): New type.
11979 (grub_file_filter_t): Likewise.
11980 (grub_file_filters_all): New extern variable.
11981 (grub_file_filters_enabled): Likewise.
11982 (grub_file_filter_register): New inline function.
11983 (grub_file_filter_unregister): Likewise.
11984 (grub_file_filter_disable): Likewise.
11985 (grub_file_filter_disable_compression): Likewise.
11986 * include/grub/gzio.h: Removed.
11987
35ee15e0
BC
119882010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11989
11990 Filename expansion support for wildcards in GRUB script.
11991
11992 * tests/grub_script_expansion.in: New test.
11993 * Makefile.util.def: Rule for new test.
11994
11995 * grub-core/commands/wildcard.c: New file, implements filename
11996 expansion support for GRUB script.
11997 * grub-core/Makefile.core.def: Rule update for regexp.mod.
11998 * grub-core/script/argv.c: Cosmetic changes.
11999 * grub-core/script/execute.c (grub_script_arglist_to_argv):
12000 Refactored to perform wildcard expansion on arguments.
12001 * include/grub/script_sh.h (grub_script_wildcard_translator): New
12002 struct.
12003
12004 * tests/util/grub-shell.in: Fix quoting for read input.
12005
5f0c4aca
BC
120062010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12007
12008 Support for updating environment variables with matched substrings
12009 of regexp.
12010
12011 * tests/grub_cmd_regexp.in: New test.
12012 * Makefile.util.def: Rule for new test.
12013
12014 * grub-core/commands/regexp.c: New option -s to update environment
12015 variables with regexp matches.
12016
3759a35f
SJ
120172010-09-04 Szymon Janc <szymon@janc.net.pl>
12018
12019 * include/grub/file.h (grub_file): New member not_easly_seekable.
12020 (grub_file_seekable): New inline function.
12021 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
12022 easily seekable.
12023 (grub_gzio_open): Set not_easly_seekable.
12024 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
12025 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
12026
ed8c6dec
BC
120272010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12028
12029 Support for options to appear multiple times on cmdline.
12030
12031 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
12032 * grub-core/commands/extcmd.c: Support for repeatable option.
12033 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
12034 repeatable option support.
12035
12036 Refactor menuentry into a regular command.
12037
12038 * grub-core/commands/menuentry.c: New file, menuentry command
12039 implementation.
12040 * grub-core/Makefile.core.def: Rule update for normal.mod.
12041 * grub-core/normal/main.c: Moved menuentry creation to
12042 grub-core/commands/menuentry.c.
12043 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
12044 (grub_menu_execute_entry_real): Removed.
12045 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
12046 function.
12047 (grub_script_execute_menuentry): Removed.
12048 * grub-core/script/parser.y (menuentry): Removed.
12049 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
12050 * grub-core/script/yylex.l (menuentry): Removed.
12051 * include/grub/menu.h (grub_menu_init): New prototype.
12052 (grub_menu_fini): New prototype.
12053 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
12054 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
12055 (grub_script_execute_sourcecode): New prototype.
12056
dacd0cf0
BC
120572010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12058
12059 "return" command for GRUB script functions.
12060
12061 * tests/grub_script_return.in: New test.
12062 * Makefile.util.def: Rules for new test.
12063
12064 * grub-core/script/execute.c (grub_script_return): New function.
12065 * grub-core/script/main.c: Register/unregister return commaond.
12066 * include/grub/script_sh.h (grub_script_return): New prototype.
12067
52e72f9d
BC
120682010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12069
12070 "setparams" command to update positional parameters.
12071
12072 * tests/grub_script_setparams.in: New test.
12073 * Makefile.util.def: Rules for new test.
12074
12075 * grub-core/script/argv.c (grub_script_argv_make): New function.
12076 * grub-core/script/execute.c (replace_scope): New function.
12077 (grub_script_setparams): New function.
12078 * grub-core/script/lexer.c: Remove unused variables.
12079 * grub-core/script/main.c: Register/unregister setparams command.
12080 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
12081 (grub_script_setparams): New prototype.
12082
25b60c91
BC
120832010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12084
12085 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
12086 grub_free order.
12087
37e7bf68
BC
120882010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12089
12090 Support for passing block of commands as an argument to extcmds.
12091
12092 * Makefile.util.def: Rules for new test.
12093 * tests/grub_script_blockarg.in: New test.
12094 * grub-core/tests/test_blockarg.c: New file, block argument
12095 command used in the test.
12096
12097 * include/grub/extcmd.h (grub_extcmd_context): New struct.
12098 (grub_register_extcmd_prio): New function prototype.
12099 (grub_extcmd_dispatcher): New function prototype.
12100 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
12101 type.
12102 * include/grub/script_sh.h (struct grub_script): New members
12103 `children', `next_siblings' and `refcnt' for block arguments and
12104 reference counting.
12105 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
12106 (grub_script_arg): New member `script' for block argument.
12107 (grub_script_argv): New member `script' for block argument.
12108 (grub_parser_param): New member `scripts' for block argument.
12109 (grub_script_mem_free): New extern function prototype.
12110 (grub_script_ref): New function prototype.
12111 (grub_script_unref): New function prototype.
12112
12113 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
12114 extcmd form to support block arguments.
12115 * grub-core/script/argv.c: Block arguments support.
12116 * grub-core/script/execute.c: Likewise.
12117 * grub-core/script/lexer.c: Likewise.
12118 * grub-core/script/main.c: Likewise.
12119 * grub-core/script/script.c: Likewise.
12120 * grub-core/script/parser.y: Likewise. New `block' and `block0'
12121 non-terminals.
12122
12123 * grub-core/commands/acpi.c: Update extcmd implementations with
12124 grub_extcmd_context_t.
12125 * grub-core/commands/cat.c: Likewise.
12126 * grub-core/commands/echo.c: Likewise.
12127 * grub-core/commands/extcmd.c: Likewise.
12128 * grub-core/commands/hashsum.c: Likewise.
12129 * grub-core/commands/hdparm.c: Likewise.
12130 * grub-core/commands/help.c: Likewise.
12131 * grub-core/commands/hexdump.c: Likewise.
12132 * grub-core/commands/i386/cpuid.c: Likewise.
12133 * grub-core/commands/i386/pc/drivemap.c: Likewise.
12134 * grub-core/commands/i386/pc/halt.c: Likewise.
12135 * grub-core/commands/i386/pc/sendkey.c: Likewise.
12136 * grub-core/commands/iorw.c: Likewise.
12137 * grub-core/commands/keystatus.c: Likewise.
12138 * grub-core/commands/loadenv.c: Likewise.
12139 * grub-core/commands/ls.c: Likewise.
12140 * grub-core/commands/lspci.c: Likewise.
12141 * grub-core/commands/memrw.c: Likewise.
12142 * grub-core/commands/probe.c: Likewise.
12143 * grub-core/commands/search_wrap.c: Likewise.
12144 * grub-core/commands/setpci.c: Likewise.
12145 * grub-core/commands/sleep.c: Likewise.
12146 * grub-core/disk/loopback.c: Likewise.
12147 * grub-core/hello/hello.c: Likewise.
12148 * grub-core/loader/i386/bsd.c: Likewise.
12149 * grub-core/loader/xnu.c: Likewise.
12150 * grub-core/term/gfxterm.c: Likewise.
12151 * grub-core/term/serial.c: Likewise.
12152 * grub-core/tests/lib/functional_test.c: Likewise.
12153
888d1500
BC
121542010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12155
12156 Multi-line quoted strings support.
12157
12158 * grub-core/script/lexer.c (append_newline): Removed.
12159 (grub_script_lexer_yywrap): Refactored.
12160 (grub_script_lexer_init): Refactored.
12161 * grub-core/script/yylex.l (yywrap): New function.
12162 (grub_lexer_resplit): New function.
12163 (grub_lexer_unput): New function.
12164 * include/grub/script_sh.h (grub_lexer_param): New members, unput
12165 and resplit.
12166 * tests/grub_script_echo1.in: Added few more testcases.
12167
dda060dd
VS
121682010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
12169
12170 * grub-core/kern/misc.c: Don't add abort alias in utils.
12171 Reported by: echoline.
12172
6556eba9
BC
121732010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
12174
12175 Add missing files into "make dist" tarball for other platforms.
12176
12177 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
12178 * conf/Makefile.common (dist_noinst_DATA): New variable.
12179 * conf/Makefile.extra-dist: Added missing make dist files.
12180 * grub-core/Makefile.core.def: Likewise.
12181
c8e7bf5f
VS
121822010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
12183
12184 Compress grub_prefix.
12185
12186 * grub-core/boot/i386/pc/lnxboot.S: Use
12187 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
12188 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
12189 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
12190 GRUB_MACHINE_PREFIX_END. All users updated.
12191 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
12192 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
12193 + 0x40.
12194 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
12195 * util/grub-mkimage.c (image_target_desc): Change data_end to
12196 prefix_end. All users updated.
12197
a7c00cdb
VS
121982010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
12199
12200 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
12201 value.
12202 (grub_openbsd_boot): Likewise.
12203 (grub_netbsd_boot): Likewise.
12204 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
12205 (grub_xnu_boot): Likewise.
12206
9f915872
VS
122072010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12208
12209 * configure.ac: Clean LIBS variable after tests.
12210
efa1bee7
CW
122112010-09-02 Colin Watson <cjwatson@ubuntu.com>
12212
12213 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
12214
61d720e5
VS
122152010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12216
12217 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
12218 echo if libdevmapper will be used.
12219
ef8e0ec8
IT
122202010-09-02 Ian Turner <Ian.Turner@deshaw.com>
12221
12222 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
12223 constant for the same file.
12224
03e261d8
VS
122252010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12226
12227 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
12228
c2a4eba6
CW
122292010-09-02 Colin Watson <cjwatson@ubuntu.com>
12230
12231 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
12232 grub-core/*.pp.
12233
9056cbf3
CW
122342010-09-02 Colin Watson <cjwatson@ubuntu.com>
12235
12236 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
12237 required by the boot protocol.
12238
12239 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
12240 ebp and edi members.
12241 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
12242 state.ebp and state.edi.
12243 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
12244 %ebp and %edi according to grub_relocator32_ebp and
12245 grub_relocator32_edi respectively.
12246 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
12247 and state.edi.
12248
529cc99a
VS
122492010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12250
12251 Add i386-pc-pxe image target.
12252
12253 * util/grub-mkimage.c (image_target_desc): New enum value
12254 IMAGE_I386_PC_PXE.
12255 (image_targets): New target i386-pc-pxe.
12256 (generate_image): Handle i386-pc-pxe image.
12257
9a093920
VS
122582010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12259
12260 Fix grub_pxe_scan.
12261
12262 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
12263 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
12264 All users updated.
12265 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
12266 (grub_pxe_pxenv): Correct type.
12267
f9cefc4e
CW
122682010-09-01 Colin Watson <cjwatson@ubuntu.com>
12269
12270 * NEWS: Document most of the important changes since 1.98.
12271
4066f57f
CW
122722010-09-01 Colin Watson <cjwatson@ubuntu.com>
12273
12274 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
12275 generated manual page) a little.
12276
da2891f9
CW
122772010-09-01 Colin Watson <cjwatson@ubuntu.com>
12278
12279 * docs/grub.texi: Add myself as an author.
12280
ad717fae
VS
122812010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
12282
12283 * Makefile.util.def (libgrub.a): Add missing sunpc.
12284 Reported by: Seth Goldberg.
12285
eefe8abd
VS
122862010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12287
12288 Interrupt wrapping and code simplifications.
12289
9494ef9a
VS
12290 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
12291 x86_noieee1275 which are functionaly equivalent in this case.
12292 (grub-install): Make source on each platform explicit. Enable on
12293 all noemu.
12294 * gentpl.py (x86_efi_pc): Removed group.
12295 (x86_noefi): Likewise.
12296 (i386_noefi): Likewise.
12297 (x86_noieee1275): Likewise.
12298 (i386_noieee1275): Likewise.
12299 (i386_noefi_noieee1275): Likewise.
12300 (i386_pc_qemu_coreboot): Likewise.
12301 (i386_coreboot_multiboot): Likewise.
12302 (i386_pc_coreboot_multiboot_qemu): Likewise.
12303 (x86_noefi_mips): Likewise.
12304 (noieee1275): Likewise.
12305 (ieee1275_mips): Likewise.
12306 (noemu_noieee1275): Likewise.
12307 (cmos): New group.
12308 (usb): Likewise.
12309 (videoinkernel): Likewise.
12310 (videomodules): Likewise.
eefe8abd 12311 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
12312 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
12313 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
12314 include/grub/loader.h, include/grub/msdos_partition.h,
12315 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
12316 include/grub/machine/console.h, include/grub/machine/vga.h,
12317 include/grub/machine/vbe.h, include/grub/machine/init.h,
12318 include/grub/machine/kernel.h, include/grub/cpu/time.h,
12319 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 12320 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
12321 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
12322 * grub-core/Makefile.core.def (kernel): Explicit the source for
12323 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
12324 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
12325 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
12326 Use videoinkernel tag.
12327 (usb): Enable on all usb.
12328 (usbserial_common): Likewise.
12329 (usbserial_pl2303): Likewise.
12330 (usbserial_ftdi): Likewise.
12331 (uhci): Enable on all x86.
12332 (ohci): Enable on all pci.
12333 (cmostest): Enable on all CMOS.
12334 (acpi): Include commands/acpi.c on all platforms.
12335 (halt): Add relevant lib/*/halt.c.
12336 (hdparm): Enable on all pci.
12337 (lspci): Likewise.
12338 (usbtest): Enable on all usb.
12339 (ata): Enable on all pci.
12340 (ata_pthru): Likewise.
12341 (usbms): Enable on all usb.
12342 (usb_keyboard): Likewise.
12343 (font): Use tag videomodules.
12344 (bufio): Likewise.
12345 (datetime): Use tag cmos. Enable on all noemu.
12346 (mmap): Use tags common and x86.
12347 (gfxterm): Use tag videomodules.
12348 (bitmap): Likewise.
12349 (bitmap_scale): Likewise.
12350 (video_fb): Likewise.
12351 (video): Likewise.
12352 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
12353 adjust padding accordingly. All users updated.
12354 (grub_ohci_transaction): Fix bad format specification.
12355 (GRUB_MOD_INIT): Add asserts for struct size.
12356 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
12357 (grub_alloc_td): Likewise.
12358 (grub_free_queue): Likewise.
12359 (grub_uhci_transfer): Likewise.
12360 (grub_uhci_transaction): Fix bad format specification.
12361 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
12362 (grub_usb_bulk_readwrite): Likewise.
12363 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
12364 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
12365 Made static.
12366 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
12367 Made static.
12368 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
12369 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
12370 Transformed into C.
12371 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
12372 Moved from here ...
12373 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
12374 ... here. Transformed into C. Made static.
12375 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
12376 Moved from here ...
12377 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
12378 ... here. Transformed into C. Made static.
12379 * grub-core/kern/i386/pc/startup.S
12380 (grub_biosdisk_check_int13_extensions): Moved from here ...
12381 * grub-core/disk/i386/pc/biosdisk.c
12382 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
12383 Made static.
12384 * grub-core/kern/i386/pc/startup.S
12385 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
12386 * grub-core/disk/i386/pc/biosdisk.c
12387 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
12388 Transformed into C. Made static.
12389 * grub-core/kern/i386/pc/startup.S
12390 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
12391 * grub-core/disk/i386/pc/biosdisk.c
12392 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
12393 Transformed into C. Made static.
12394 * grub-core/kern/i386/pc/startup.S
12395 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
12396 * grub-core/disk/i386/pc/biosdisk.c
12397 (grub_biosdisk_get_diskinfo_standard): ... here.
12398 Transformed into C. Made static.
12399 * grub-core/kern/i386/pc/startup.S
12400 (grub_biosdisk_get_num_floppies): Moved from here ...
12401 * grub-core/disk/i386/pc/biosdisk.c
12402 (grub_biosdisk_get_num_floppies): ... here.
12403 Transformed into C. Made static.
12404 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
12405 New function.
12406 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
12407 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
12408 Transformed into C. Made static.
12409 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
12410 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
12411 Transformed into C. Made static.
12412 * grub-core/kern/i386/ieee1275/init.c: Removed.
12413 * grub-core/kern/i386/misc.S: Likewise.
12414 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
12415 Splitted from here ...
12416 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
12417 Transformed into C. Made static. All users updated.
12418 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
12419 Transformed into C. Made static. All users updated.
12420 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
12421 Moved from here...
12422 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
12423 Transformed into C. Made static. All users updated.
12424 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
12425 Moved from here...
12426 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
12427 Transformed into C. Made static. All users updated.
12428 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
12429 Removed (replaced by C version).
12430 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
12431 Moved from here...
12432 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
12433 Transformed into C. Made static.
12434 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
12435 Moved from here...
12436 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
12437 ... here. Transformed into C.
12438 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
12439 Moved from here...
12440 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
12441 ... here. Transformed into C.
12442 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
12443 Moved from here...
12444 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
12445 ... here. Transformed into C. Made static.
12446 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
12447 Moved from here...
12448 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
12449 ... here. Transformed into C.
21ed554b
VS
12450 * grub-core/kern/i386/pc/startup.S
12451 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
12452 * grub-core/video/i386/pc/vbe.c
12453 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
12454 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
12455 Moved from here...
12456 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
12457 ... here. Transformed into C.
12458 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
12459 Moved from here...
12460 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
12461 ... here. Transformed into C.
12462 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
12463 Moved from here...
12464 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
12465 ... here. Transformed into C.
12466 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
12467 Moved from here...
12468 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
12469 ... here. Transformed into C.
12470 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
12471 Moved from here...
12472 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
12473 ... here. Transformed into C. Made static.
12474 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
12475 Moved from here...
12476 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
12477 ... here. Transformed into C. Made static.
12478 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
12479 Moved from here...
12480 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
12481 ... here. Transformed into C. Made static.
12482 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
12483 pxe_rm_entry as third argument.
12484 (grub_bios_interrupt): New function.
12485 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
12486 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
12487 of calling grub_stop.
12488 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
12489 * grub-core/lib/efi/halt.c (grub_halt): ...here.
12490 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
12491 * grub-core/lib/emu/halt.c (grub_halt): ... here.
12492 * grub-core/lib/i386/halt.c: Moved from here ...
12493 * grub-core/lib/i386/halt.c: ... here.
12494 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
12495 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
12496 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
12497 grub_stop_floppy.
12498 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
12499 * include/grub/i386/coreboot/init.h: Removed.
12500 * include/grub/i386/multiboot/init.h: Likewise.
12501 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
12502 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
12503 * include/grub/i386/pc/int.h: New file.
12504 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
12505 (grub_pxe_scan): Removed.
12506 (grub_pxe_call): Update prototype.
12507 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
12508 prototypes.
12509 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
12510 * include/grub/i386/qemu/init.h: Removed.
12511 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
12512 noreturn.
12513 (grub_halt): Likewise.
12514 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
12515 (grub_reboot): Likewise.
12516 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
12517 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
12518 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
12519
215dd471
RM
125202010-08-30 Robert Millan <rmh@gnu.org>
12521
12522 * NEWS: Document addition of ZFS support in `grub-install' and
12523 `grub-mkconfig'.
12524
ebd65b82
BC
125252010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
12526
12527 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
12528 dprintf output.
12529
11721d19
VS
125302010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12531
12532 Remove leftover embedding of font objects.
12533
12534 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
12535 * util/grub-install.in (font): Removed.
12536 * util/grub-mkimage.c (generate_image): Remove font support. All users
12537 updated.
12538
37837d4e
VS
125392010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12540
12541 Remove leftover embedding of font objects.
12542
12543 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
12544 * util/grub-install.in (font): Removed.
12545 * util/grub-mkimage.c (generate_image): Remove font support. All users
12546 updated.
12547
b4c1aae0
VS
125482010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12549
12550 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 12551 Reported by: Ian Turner
b4c1aae0 12552
8920a08d
VS
125532010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12554
12555 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
12556 timeout to avoid indefinite boot stalling.
12557
f21db033
VS
125582010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12559
12560 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
12561 (grub_env_write_color_highlight): Likewise.
12562
9a9de209
VS
125632010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12564
12565 * grub-core/normal/term.c (print_more): Return to normal and not
12566 to standard state after printing "---MORE---".
12567
3dca01d7
VS
125682010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12569
12570 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
12571 Mask out the bit 0x80 since it has other meaning that specifiing color.
12572
0b986c40
VS
125732010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12574
12575 New relocator. Allows for more kernel support and more straightforward
12576 loader writing.
12577
12578 * Makefile.am (BOOTTARGET): New variable.
12579 (QEMU32): Likewise.
12580 (linux.init.x86_64): New target.
12581 (linux.init.i386): Likewise.
12582 (multiboot.elf): Likewise.
12583 (kfreebsd.elf): Likewise.
12584 (kfreebsd.aout): Likewise.
12585 (pc-chainloader.elf): Likewise.
12586 (pc-chainloader.bin): Likewise.
12587 (ntldr.elf): Likewise.
12588 (ntldr.bin): Likewise.
12589 (multiboot2.elf): Likewise.
12590 (kfreebsd.init.x86_64): Likewise.
12591 (kfreebsd.init.i386): Likewise.
12592 (knetbsd.init.i386): Likewise.
12593 (kopenbsd.init.i386): Likewise.
12594 (knetbsd.init.x86_64): Likewise.
12595 (kopenbsd.init.x86_64): Likewise.
12596 (linux-initramfs.i386): Likewise.
12597 (linux-initramfs.x86_64): Likewise.
12598 (kfreebsd-mfsroot.i386.img): Likewise.
12599 (knetbsd.image.i386): Likewise.
12600 (kopenbsd.image.i386): Likewise.
12601 (kopenbsd.image.x86_64): Likewise.
12602 (knetbsd.miniroot-image.i386.img): Likewise.
12603 (kfreebsd-mfsroot.x86_64.img): Likewise.
12604 (knetbsd.image.x86_64): Likewise.
12605 (knetbsd.miniroot-image.x86_64.img): Likewise.
12606 (kfreebsd-mfsroot.i386.gz): Likewise.
12607 (bootcheck-kfreebsd-i386): Likewise.
12608 (kfreebsd-mfsroot.x86_64.gz): Likewise.
12609 (bootcheck-kfreebsd-x86_64): Likewise.
12610 (knetbsd.miniroot-image.i386.gz): Likewise.
12611 (bootcheck-knetbsd-i386): Likewise.
12612 (bootcheck-kopenbsd-i386): Likewise.
12613 (bootcheck-kopenbsd-x86_64): Likewise.
12614 (knetbsd.miniroot-image.x86_64.gz): Likewise.
12615 (bootcheck-knetbsd-x86_64): Likewise.
12616 (bootcheck-linux-i386): Likewise.
12617 (bootcheck-linux-x86_64): Likewise.
12618 (bootcheck-linux16-i386): Likewise.
12619 (bootcheck-linux16-x86_64): Likewise.
12620 (bootcheck-multiboot): Likewise.
12621 (bootcheck-multiboot2): Likewise.
12622 (bootcheck-kfreebsd-aout): Likewise.
12623 (bootcheck-pc-chainloader): Likewise.
12624 (bootcheck-ntldr): Likewise.
12625 (CLEANFILES): Add new targets.
12626 (BOOTCHECKS): New variable.
12627 (.PHONY): Add bootchecks.
12628 (SUCCESSFUL_BOOT_STRING): New variable.
12629 (BOOTCHECK_TIMEOUT): Likewise.
12630 (bootcheck): New target
12631 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
12632 * configure.ac: Correct efiemu excuse.
12633 * docs/grub.texi (Supported kernels): New chapter.
12634 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
12635 include/grub/mm_private.h. Simplify inclusion of
12636 include/grub/boot.h, include/grub/loader.h
12637 and include/grub/msdos_partition.h
12638 (KERNEL_HEADER_FILES) [i386_coreboot]:
12639 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
12640 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
12641 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
12642 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
12643 include/grub/machine/loader.h.
12644 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
12645 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
12646 extra_dist.
12647 (pci.mod): Enable on i386-multiboot.
12648 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
12649 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
12650 i386-qemu.
12651 (relocator.mod): Rewritten.
12652 (aout.mod): Enable on all x86.
12653 (bsd.mod): Likewise.
12654 (ntldr.mod): New module.
12655 (linux.mod): Use loader/i386/linux.c on all x86.
12656 (xnu.mod): Enable on all x86.
12657 (vga_text.mod): disable on EFI and QEMU.
12658 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
12659 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
12660 * grub-core/efiemu/loadcore.c: Likewise.
12661 * grub-core/efiemu/main.c: Likewise.
12662 (grub_efiemu_exit_boot_services): Removed.
12663 (grub_efiemu_finish_boot_services): Likewise.
12664 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
12665 function.
12666 * grub-core/efiemu/i386/nocfgtables.c: New file.
12667 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
12668 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
12669 (grub_efi_finish_boot_services): Moved from here ...
12670 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
12671 Fille finish memory map and related data.
12672 (finish_mmap_buf): New variable.
12673 (grub_efi_uintn_t finish_mmap_size): Likewise.
12674 (grub_efi_uintn_t finish_key): Likewise.
12675 (grub_efi_uintn_t finish_desc_size): Likewise.
12676 (grub_efi_uint32_t finish_desc_version): Likewise.
12677 (grub_efi_is_finished): Likewise.
12678 (grub_efi_get_memory_map): Use saved memory map if EFI is already
12679 finished.
12680 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
12681 (grub_elf64_phdr_iterate): Likewise.
12682 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
12683 (grub_os_area_size): Likewise.
12684 (grub_machine_init): Don't reserve os area.
12685 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
12686 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
12687 * grub-core/kern/i386/loader.S: Removed.
12688 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
12689 (grub_os_area_size): Likewise.
12690 (grub_machine_init): Don't reserve os area.
12691 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12692 Don't call grub_dl_unload_all.
12693 Don't include loader.S.
12694 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
12695 Declare the memory after _end as available.
12696 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 12697 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 12698 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
12699 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
12700 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
12701 * include/grub/mm_private.h (grub_mm_header): ... here.
12702 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
12703 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
12704 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
12705 (grub_mm_region): ..here. Removed addr. Added pre_size.
12706 All users updated.
12707 * grub-core/kern/mm.c (base): Renamed to ...
12708 (grub_mm_base): ... this. Made global.
12709 (grub_real_malloc): Alloc from end of region.
12710 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
12711 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
12712 * grub-core/kern/powerpc/cache_flush.S: ... here.
12713 * grub-core/lib/efi/relocator.c: New file.
12714 * grub-core/lib/i386/relocator.c: Rewritten.
12715 * grub-core/lib/i386/relocator16.S: New file.
12716 * grub-core/lib/i386/relocator32.S: Likewise.
12717 * grub-core/lib/i386/relocator64.S: Likewise.
12718 * grub-core/lib/i386/relocator_asm.S: Rewritten.
12719 * grub-core/lib/i386/relocator_common.S: New file.
12720 * grub-core/lib/ieee1275/relocator.c: Likewise.
12721 * grub-core/lib/mips/relocator.c: Rewritten.
12722 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
12723 stylistic adjustments.
12724 * grub-core/lib/powerpc/relocator.c: New file.
12725 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
12726 * grub-core/lib/relocator.c: Rewritten.
12727 * grub-core/lib/x86_64/relocator_asm.S: New file.
12728 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
12729 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
12730 (bsd_tag): New struct.
12731 (tags): New variable.
12732 (tags_last): Likewise.
12733 (netbsd_module): New struct.
12734 (netbsd_mods): New variable.
12735 (netbsd_mods_last): Likewise.
12736 (openbsd_opts): New parameter "serial".
12737 (OPENBSD_SERIAL_ARG): New definition.
12738 (netbsd_opts): New parameter "serial".
12739 (NETBSD_SERIAL_ARG): New definition.
12740 (grub_freebsd_add_meta): Reorganised into ...
12741 (grub_bsd_add_meta): ...this. All users updated.
12742 (grub_freebsd_add_mmap): Reorganised into ...
12743 (generate_e820_mmap): ...this...
12744 (grub_bsd_add_mmap): ...and this. All users updated.
12745 (grub_freebsd_list_modules): Use tags.
12746 (grub_netbsd_add_meta_module): New function.
12747 (grub_netbsd_list_modules): Likewise.
12748 (grub_freebsd_boot): Use relocator and finish EFI.
12749 (grub_openbsd_boot): Likewise.
12750 (grub_netbsd_setup_video): New function.
12751 (grub_netbsd_add_modules): Likewise.
12752 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
12753 and finish EFI.
12754 (grub_bsd_unload): Unload tags.
12755 (grub_bsd_load_aout): Use relocator.
12756 (grub_bsd_elf32_size_hook): New function.
12757 (grub_bsd_elf32_hook): Use relocator.
12758 (grub_bsd_elf64_size_hook): New function.
12759 (grub_bsd_elf64_hook): Use relocator.
12760 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
12761 (grub_bsd_load): Zero-out openbsd_ramdisk.
12762 (grub_bsd_load): Use relocator.
12763 (grub_cmd_openbsd): Support serial.
12764 (grub_cmd_netbsd): Support modules.
12765 (grub_cmd_freebsd_module): Use relocator.
12766 (grub_netbsd_module_load): New function.
12767 (grub_cmd_netbsd_module): Likewise.
12768 (grub_cmd_openbsd_ramdisk): Likewise.
12769 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
12770 kopenbsd_ramdisk.
12771 (GRUB_MOD_FINI): Unregister new commands.
12772 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
12773 (grub_freebsd_load_elfmodule_obj): Use relocator.
12774 (grub_freebsd_load_elfmodule): Likewise.
12775 (grub_freebsd_load_elf_meta): Likewise.
12776 (grub_netbsd_load_elf_meta): New function.
12777 (grub_openbsd_find_ramdisk): Likewise.
12778 * grub-core/loader/i386/bsd_helper.S: Removed.
12779 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
12780 * grub-core/loader/i386/bsd_trampoline.S: Removed.
12781 * grub-core/loader/i386/efi/linux.c: Likewise.
12782 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
12783 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
12784 (DEFAULT_VIDEO_MODE): Likewise.
12785 (real_mode_target): New variable.
12786 (prot_mode_target): Likewise.
12787 (initrd_mem_target): Likewise.
12788 (relocator): Likewise.
12789 (efi_mmap_buf): Likewise.
12790 (efi_mmap_size): Likewise.
12791 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
12792 (free_pages): Use relocator.
12793 (allocate_pages): Account for efi_mmap and use relocator. Return error.
12794 (grub_linux_setup_video): Return error.
12795 (grub_linux_trampoline_start): Removed.
12796 (grub_linux_trampoline_end): Likewise.
12797 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
12798 andd video parameters depending on firmware.
12799 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
12800 [GRUB_MACHINE_EFI]: Pass EFI parameters.
12801 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
12802 (grub_cmd_initrd): Use relocator.
12803 * grub-core/loader/i386/linux_trampoline.S: Removed.
12804 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
12805 (elf_sec_entsize): Likewise.
12806 (elf_sec_shstrndx): Likewise.
12807 (elf_sections): Likewise.
12808 (grub_multiboot_load): Use relocator.
12809 (grub_multiboot_get_mbi_size): Account for sections.
12810 (grub_multiboot_make_mbi): Use relocator and support sections.
12811 (grub_multiboot_add_elfsyms): New function.
12812 (grub_multiboot_free_mbi): Free sections.
12813 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
12814 (grub_linux_real_target): Likewise.
12815 (grub_linux_real_chunk): Likewise.
12816 (grub_linux16_prot_size): Likewise.
12817 (grub_linux16_boot): Use relocator.
12818 (grub_linux_unload): Unload relocator.
12819 (grub_cmd_linux): Use relocator.
12820 (grub_cmd_initrd): Likewise.
12821 * grub-core/loader/i386/pc/ntldr.c: New file.
12822 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
12823 Don't try to guess CPU frequency.
12824 (grub_xnu_set_video): Stretch bitmap.
12825 (grub_xnu_boot): Use relocator.
12826 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
12827 (grub_linux_unload): Free relocator.
12828 (grub_linux_load32): Use relocator.
12829 (grub_linux_load64): Likewise.
12830 (grub_cmd_initrd): Likewise.
12831 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
12832 (grub_multiboot_unload): Unload relocator.
12833 (grub_cmd_multiboot): Use relocator.
12834 (grub_cmd_module): Likewise.
12835 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
12836 Use relocator and support sections.
12837 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
12838 (elf_sec_entsize): Likewise.
12839 (elf_sec_shstrndx): Likewise.
12840 (elf_sections): Likewise.
12841 (grub_multiboot_load): Use relocator.
12842 (grub_multiboot_get_mbi_size): Account for sections.
12843 (grub_multiboot_make_mbi): Use relocator and support sections.
12844 (grub_multiboot_add_elfsyms): New function.
12845 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
12846 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
12847 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
12848 Prototype changed. All users updated.
12849 (grub_xnu_align_heap): Simplified.
12850 (grub_xnu_writetree_toheap): Likewise.
12851 (grub_xnu_unload): Unload relocator.
12852 (grub_cmd_xnu_kernel): Use relocator.
12853 (grub_cmd_xnu_kernel64): Likewise.
12854 (grub_xnu_register_memory): Simplified.
12855 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
12856 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
12857 EFI is finished.
12858 (grub_console_checkkey): Likewise.
12859 (grub_console_getkey): Likewise.
12860 (grub_console_getwh): Likewise.
12861 (grub_console_getxy): Likewise.
12862 (grub_console_gotoxy): Likewise.
12863 (grub_console_cls): Likewise.
12864 (grub_console_setcolorstate): Likewise.
12865 (grub_console_setcursor): Likewise.
12866 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
12867 * grub-core/tests/boot/kbsd.init-i386.S: New file.
12868 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
12869 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
12870 * grub-core/tests/boot/kernel-8086.S: Likewise.
12871 * grub-core/tests/boot/kernel-i386.S: Likewise.
12872 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
12873 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
12874 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
12875 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
12876 * grub-core/tests/boot/knetbsd.cfg: Likewise.
12877 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
12878 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
12879 * grub-core/tests/boot/linux.cfg: Likewise.
12880 * grub-core/tests/boot/linux.init-i386.S: Likewise.
12881 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
12882 * grub-core/tests/boot/linux16.cfg: Likewise.
12883 * grub-core/tests/boot/multiboot.cfg: Likewise.
12884 * grub-core/tests/boot/multiboot2.cfg: Likewise.
12885 * grub-core/tests/boot/ntldr.cfg: Likewise.
12886 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
12887 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
12888 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
12889 New definition.
12890 * include/grub/dl.h (grub_dl_unload_all): Removed.
12891 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
12892 (grub_efi_finish_boot_services): Change prototype.
12893 (grub_efi_is_finished): New variable.
12894 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
12895 Changed prototype.
12896 (grub_efiemu_finish_boot_services): Removed.
12897 (grub_machine_efiemu_init_tables): New prototype.
12898 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
12899 (grub_elf64_phdr_iterate): Likewise.
12900 * include/grub/i386/bsd.h: Include relocator.h.
12901 (freebsd_tag_header): New struct.
12902 (grub_openbsd_bios_mmap): Removed.
12903 (grub_unix_real_boot): Removed.
12904 (grub_freebsd_load_elfmodule32): Changed prototype.
12905 (grub_freebsd_load_elfmodule_obj64): Likewise.
12906 (grub_freebsd_load_elf_meta32): Likewise.
12907 (grub_freebsd_load_elf_meta64): Likewise.
12908 (grub_freebsd_add_meta): Removed.
12909 (grub_netbsd_load_elf_meta32): New prototype.
12910 (grub_netbsd_load_elf_meta64): Likewise.
12911 (grub_bsd_add_meta): Likewise.
12912 (grub_openbsd_ramdisk_descriptor): New struct.
12913 (grub_openbsd_find_ramdisk32): New prototype.
12914 (grub_openbsd_find_ramdisk64): Likewise.
12915 * include/grub/i386/coreboot/loader.h: Removed.
12916 * include/grub/i386/efi/loader.h: Likewise.
12917 * include/grub/i386/ieee1275/loader.h: Likewise.
12918 * include/grub/i386/linux.h (linux_kernel_header): Change void *
12919 to grub_uint32_t.
12920 * include/grub/i386/loader.h: Removed.
12921 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
12922 value.
12923 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
12924 (grub_phys_addr_t): New type.
12925 (grub_vtop): New inline function.
12926 (grub_map_memory): Likewise.
12927 (grub_unmap_memory): Likewise.
12928 * include/grub/i386/multiboot/loader.h: Removed.
12929 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
12930 (NETBSD_BTINFO_CONSOLE): New definition.
12931 (NETBSD_BTINFO_SYMTAB): Likewise.
12932 (NETBSD_BTINFO_MODULES): Likewise.
12933 (NETBSD_BTINFO_FRAMEBUF): Likewise.
12934 (grub_netbsd_bootinfo): New struct.
12935 (grub_netbsd_btinfo_common): Use explicit bitsize.
12936 (grub_netbsd_btinfo_mmap_entry): Removed.
12937 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
12938 (grub_netbsd_btinfo_bootdisk): New struct.
12939 (grub_netbsd_btinfo_symtab): Likewise.
12940 (grub_netbsd_btinfo_serial): Likewise.
12941 (grub_netbsd_btinfo_modules): Likewise.
12942 (grub_netbsd_btinfo_framebuf): Likewise.
12943 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
12944 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
12945 Likewise.
12946 (grub_openbsd_bootargs): Use explicit bitsize.
12947 (grub_openbsd_bootarg_console): New struct.
12948 (GRUB_OPENBSD_COM_MAJOR): New definition.
12949 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
12950 * include/grub/i386/pc/efiemu.h: Removed.
12951 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
12952 * include/grub/i386/qemu/loader.h: Removed.
12953 * include/grub/i386/relocator.h: Rewritten.
12954 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
12955 * include/grub/mips/memory.h: New file.
12956 * include/grub/mips/multiboot.h: Rewritten.
12957 * include/grub/mips/relocator.h: Rewritten.
12958 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
12959 (grub_vtop): New function.
12960 (grub_map_memory): Likewise.
12961 (grub_unmap_memory): Likewise.
12962 * include/grub/misc.h (ALIGN_DOWN): New definition.
12963 * include/grub/mm.h (grub_mm_check_real): New proto.
12964 (GRUB_MM_CHECK): New definition.
12965 * include/grub/mm_private.h: New file.
12966 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
12967 (grub_multiboot_get_mbi_size): Removed.
12968 (grub_multiboot_make_mbi): Change prottype.
12969 (grub_multiboot_set_accepts_video): New proto.
12970 (grub_multiboot_add_elfsyms): Likewise.
12971 (grub_multiboot_payload_eip): New variable.
12972 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
12973 New prototype.
12974 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
12975 New definition.
12976 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
12977 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
12978 * include/grub/powerpc/ieee1275/loader.h: Removed.
12979 * include/grub/powerpc/memory.h: New file.
12980 * include/grub/powerpc/relocator.h: Likewise.
12981 * include/grub/relocator.h: Likewise.
12982 * include/grub/relocator_private.h: Likewise.
12983 * include/grub/sparc64/ieee1275/loader.h: Removed.
12984 * include/grub/x86_64/memory.h: New file.
12985 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
12986 (grub_xnu_heap_malloc): Likewise.
12987 (grub_xnu_heap_real_start): Removed.
12988 (grub_xnu_heap_start): Likewise.
12989 (grub_xnu_relocator): New variable.
12990 (grub_xnu_heap_target_start): Likewise.
12991 * tests/util/grub-shell.in: Support non-pc.
12992 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 12993
5303b85d
VS
129942010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12995
12996 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
12997 on malloc error.
12998 (grub_bidi_logical_to_visual): Check that malloc succeded.
12999 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
13000 puts.
13001 (grub_xputs_normal): Likewise.
13002
d768d159
VS
130032010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13004
13005 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
13006 extra_dist.
13007
130082010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13009
13010 * grub-core/efiemu/runtime/efiemu.sh: Removed.
13011
5bf84df4
VS
130122010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13013
13014 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
13015
3626810e
VS
130162010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13017
13018 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
13019 dprintf.
13020
a7363f53
BC
130212010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
13022
13023 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
13024
902f75f6
VS
130252010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13026
13027 * grub-core/normal/term.c (print_more): Fix a memory leak.
13028 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
13029 (grub_xputs_normal): Likewise.
13030
3c707967
VS
130312010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13032
13033 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
13034 the begining of the string
13035
2053cc07
VS
130362010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13037
13038 * grub-core/script/script.c (grub_script_parse): Free parsed on
13039 failure.
13040
46422ebf
VS
130412010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13042
13043 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
13044 on failure.
13045
9e0fa3f6
VS
130462010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13047
13048 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
13049 return.
13050
3393cf16
VS
130512010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13052
13053 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
13054 (scroll_up): Fix a memory leak.
13055
b17540cb
VS
130562010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13057
13058 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
13059 errors.
13060
67140446
VS
130612010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
13062
13063 Handle USB pendrives exposed as floppies.
13064
13065 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
13066 floppy.
13067 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
13068 Check for partitions on all devices.
13069
e35e46fc
VS
130702010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13071
13072 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
13073 (readkey): Likewise.
13074
d24c6190
BC
130752010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
13076
13077 Multiple variable names support to "export" command.
13078
13079 * normal/context.c (grub_cmd_export): "export" command supports
13080 multiple variable names.
13081
04ddcc6a
ST
130822010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
13083
13084 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
13085 --target=drive output to Mach device name.
13086
0c8b61d8
BC
130872010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
13088
13089 New Automake based build system for GRUB.
13090
13091 * ABOUT-NLS: New file.
13092 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
13093 in Makefile.util.def file.
13094 * Makefile.util.def: New file. Autogen build definitions file for
13095 GRUB host utils.
13096 * conf/Makefile.common: New file. Common variables for GRUB host
13097 utils and target modules.
13098 * conf/Makefile.extra-dist: New file. Extra files for make dist.
13099 * docs/Makefile.am: New file. Automake file for docs.
13100 * gentpl.py: New file. Python script to generate Autogen
13101 template.
13102 * grub-core/Makefile.am: New file. GRUB target modules' rules
13103 that doesn't fit in Makefile.core.def file.
13104 * grub-core/Makefile.core.def: New file. Autogen build
13105 definitions file for GRUB target modules.
13106 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
13107 specific setjmp.S file.
13108 * po/Makefile.am: New file.
13109
13110 * .bzrignore: New ignores.
13111 * INSTALL: New requirements, without Ruby.
13112 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
13113 * autogen.sh: Updated to invoke autogen as necessary.
13114 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
13115 and defines for Automake conditionals.
13116 * geninit.sh: Refactoring.
13117
13118 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
13119 necessary.
13120 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
13121 New prototype.
13122
13123 * include/grub/test.h: Fix functional test modules' naming.
13124 * grub-core/tests/example_functional_test.c: Fix test module name.
13125
13126 * util/misc.c: Hosted versions' of grub functions for libgrub.a
13127 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
13128 * util/grub-editenv.c: Likewise.
13129 * util/grub-fstest.c: Likewise.
13130 * util/grub-mkdevicemap.c: Likewise.
13131 * util/grub-mkfont.c: Likewise.
13132 * util/grub-mkimage.c: Likewise.
13133 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13134 * util/grub-probe.c: Likewise.
13135 * util/grub-script-check.c: Likewise.
13136 * util/i386/pc/grub-setup.c: Likewise.
13137 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13138
13139 * tests/util/grub-shell.in: Fix override directory path.
13140 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
13141 * util/import_gcry.py: Create Makefile.gcry.def file instead.
13142
13143 * util/lvm.c: Update #includes.
13144 * util/raid.c: Likewise.
13145 * util/resolve.c: Likewise.
13146 * grub-core/bus/emu/pci.c: Likewise.
13147 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
13148 * grub-core/lib/posix_wrap/string.h: Likewise.
13149 * grub-core/kern/emu/main.c: Likewise.
13150
13151 * grub-core/gensymlist.sh: New file. Script for generating kernel
13152 symbols file.
13153 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
13154
13155 * grub-core/gentrigtables.c: Fix unused variable warnings.
13156
13157 * Makefile.in: Removed.
13158 * conf/any-emu.rmk: Removed.
13159 * conf/common.rmk: Removed.
13160 * conf/i386-coreboot.rmk: Removed.
13161 * conf/i386-efi.rmk: Removed.
13162 * conf/i386-ieee1275.rmk: Removed.
13163 * conf/i386-multiboot.rmk: Removed.
13164 * conf/i386-pc.rmk: Removed.
13165 * conf/i386-qemu.rmk: Removed.
13166 * conf/i386.rmk: Removed.
13167 * conf/mips-yeeloong.rmk: Removed.
13168 * conf/mips.rmk: Removed.
13169 * conf/powerpc-ieee1275.rmk: Removed.
13170 * conf/sparc64-ieee1275.rmk: Removed.
13171 * conf/tests.rmk: Removed.
13172 * conf/x86-efi.rmk: Removed.
13173 * conf/x86_64-efi.rmk: Removed.
13174 * gendistlist.sh: Removed.
13175 * geninitheader.sh: Removed.
13176 * genkernsyms.sh.in: Removed.
13177 * genmk.rb: Removed.
13178 * gensymlist.sh.in: Removed.
13179 * mkinstalldirs: Removed.
13180 * boot: Moved ...
13181 * grub-core/boot: ... to here.
13182 * bus: Moved ...
13183 * grub-core/bus: ... to here.
13184 * commands: Moved ...
13185 * grub-core/commands: ... to here.
13186 * disk: Moved ...
13187 * grub-core/disk: ... to here.
13188 * efiemu: Moved ...
13189 * grub-core/efiemu: ... to here.
13190 * font: Moved ...
13191 * grub-core/font: ... to here.
13192 * fs: Moved ...
13193 * grub-core/fs: ... to here.
13194 * gencmdlist.sh: Moved ...
13195 * grub-core/gencmdlist.sh: ... to here.
13196 * genemuinit.sh: Moved ...
13197 * grub-core/genemuinit.sh: ... to here.
13198 * genemuinitheader.sh: Moved ...
13199 * grub-core/genemuinitheader.sh: ... to here.
13200 * genfslist.sh: Moved ...
13201 * grub-core/genfslist.sh: ... to here.
13202 * genhandlerlist.sh: Moved ...
13203 * grub-core/genhandlerlist.sh: ... to here.
13204 * genmoddep.awk: Moved ...
13205 * grub-core/genmoddep.awk: ... to here.
13206 * genmodsrc.sh: Moved ...
13207 * grub-core/genmodsrc.sh: ... to here.
13208 * genpartmaplist.sh: Moved ...
13209 * grub-core/genpartmaplist.sh: ... to here.
13210 * genparttoollist.sh: Moved ...
13211 * grub-core/genparttoollist.sh: ... to here.
13212 * genterminallist.sh: Moved ...
13213 * grub-core/genterminallist.sh: ... to here.
13214 * gentrigtables.c: Moved ...
13215 * grub-core/gentrigtables.c: ... to here.
13216 * genvideolist.sh: Moved ...
13217 * grub-core/genvideolist.sh: ... to here.
13218 * gettext: Moved ...
13219 * grub-core/gettext: ... to here.
13220 * gfxmenu: Moved ...
13221 * grub-core/gfxmenu: ... to here.
13222 * gnulib: Moved ...
13223 * grub-core/gnulib: ... to here.
13224 * hello: Moved ...
13225 * grub-core/hello: ... to here.
13226 * hook: Moved ...
13227 * grub-core/hook: ... to here.
13228 * io: Moved ...
13229 * grub-core/io: ... to here.
13230 * kern: Moved ...
13231 * grub-core/kern: ... to here.
13232 * lib: Moved ...
13233 * grub-core/lib: ... to here.
13234 * loader: Moved ...
13235 * grub-core/loader: ... to here.
13236 * mmap: Moved ...
13237 * grub-core/mmap: ... to here.
13238 * normal: Moved ...
13239 * grub-core/normal: ... to here.
13240 * partmap: Moved ...
13241 * grub-core/partmap: ... to here.
13242 * parttool: Moved ...
13243 * grub-core/parttool: ... to here.
13244 * script: Moved ...
13245 * grub-core/script: ... to here.
13246 * term: Moved ...
13247 * grub-core/term: ... to here
13248 * tests/example_functional_test.c: Moved ...
13249 * grub-core/tests/example_functional_test.c: ... to here.
13250 * tests/lib/functional_test.c: Moved ...
13251 * grub-core/tests/lib/functional_test.c: ... to here.
13252 * tests/lib/test.c: Moved ...
13253 * grub-core/tests/lib/test.c: ... to here.
13254 * video: Moved ...
13255 * grub-core/video: ... to here.
13256
645586e6
BC
132572010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
13258
13259 Replace --enable-grub-emu-modules with grub-emu-lite.
13260
13261 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
13262 cache.S.
13263
13264 * include/grub/emu/misc.h (grub_emu_init): New prototype.
13265 * kern/emu/full.c: New file. For grub-emu specific initialization.
13266 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
13267 * kern/emu/main.c: Call initialization function grub_emu_init.
13268
13269 * Makefile.in: Include grub-emu-lite in install.
13270 * commands/parttool.c: Use grub_no_autoload to differentiate
13271 between grub-emu and grub-emu-lite.
13272 * include/grub/misc.h: New variable grub_no_autoload.
13273
13274 * conf/any-emu.rmk: New rules for grub-emu-lite.
13275 * configure.ac: Remove --enable-grub-emu-modules.
13276 * genmk.rb: Cleanup unnecessary rules.
13277 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
13278
13279 * normal/main.c: Don't load list files on grub-emu-lite.
13280 * util/misc.c (grub_arch_sync_caches): Removed.
13281
f86a4030
CW
132822010-08-23 Colin Watson <cjwatson@ubuntu.com>
13283
13284 * kern/mips/startup.S (grub_prefix): Update comment to refer to
13285 grub-mkimage rather than grub-mkelfimage.
13286 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
13287
06776944
VS
132882010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
13289
13290 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
13291 a key after CapsLock or NumLock. It's just a qemu bug.
13292
df262419
VS
132932010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
13294
13295 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
13296 needed by libusb wrapper.
13297
b40ea81b
ST
132982010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
13299
13300 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
13301
dee50575
VS
133022010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
13303
13304 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
13305 --nounzip is passed.
13306
fb1d7b79
VS
133072010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
13308
13309 USB hotunplugging and USB serial support.
13310
13311 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
13312 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
13313 (grub_uhci_transfer): Respect timeout and set *actual.
13314 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
13315 non-standard length.
13316 (grub_usb_device_attach): Autoload modules.
13317 (GRUB_MOD_INIT): Set grub_term_poll_usb.
13318 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
13319 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
13320 users updated.
13321 (grub_usb_add_hub): Fill nports and children.
13322 (attach_root_port): Receive hub instead of controller.
13323 All users updated. Fill hub->devices.
13324 (grub_usb_root_hub): Allocate hub->devices.
13325 (detach_device): New function.
13326 (poll_nonroot_hub): Fill children and detach devices.
13327 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
13328 actual arguments. All users updated.
13329 (grub_usb_bulk_read_extended): New function.
13330 * bus/usb/serial/common.c: New file.
13331 * bus/usb/serial/ftdi.c: Likewise.
13332 * bus/usb/serial/pl2303.c: Likewise.
13333 * commands/terminal.c (handle_command): Support wildcard.
13334 * commands/usbtest.c: Output "Unknown" instead of empty string.
13335 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
13336 (usbserial_common_mod_SOURCES): New variable.
13337 (usbserial_common_mod_CFLAGS): Likewise.
13338 (usbserial_common_mod_LDFLAGS): Likewise.
13339 (pkglib_MODULES): Add usbserial_pl2303.mod.
13340 (usbserial_pl2303_mod_SOURCES): New variable.
13341 (usbserial_pl2303_mod_CFLAGS): Likewise.
13342 (usbserial_pl2303_mod_LDFLAGS): Likewise.
13343 (pkglib_MODULES): Add usbserial_ftdi.mod.
13344 (usbserial_ftdi_mod_SOURCES): New variable.
13345 (usbserial_ftdi_mod_CFLAGS): Likewise.
13346 (usbserial_ftdi_mod_LDFLAGS): Likewise.
13347 (pkglib_MODULES): Add serial.mod.
13348 (serial_mod_SOURCES): New variable.
13349 (serial_mod_CFLAGS): Likewise.
13350 (serial_mod_LDFLAGS): Likewise.
13351 * conf/i386-pc.rmk: Likewise.
13352 * conf/mips-yeeloong.rmk: Likewise.
13353 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
13354 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
13355 * disk/usbms.c (first_available_slot): New variable.
13356 (grub_usbms_attach): Don't reuse free slots due to potential cache
13357 problems.
13358 * include/grub/serial.h: Moved to ..
13359 * include/grub/ns8250.h: ...this.
13360 * include/grub/serial.h: New file.
13361 * include/grub/term.h (grub_term_poll_usb): New variable.
13362 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
13363 readkey. All users updated.
13364 (grub_terminfo_output_state): Pass term to put.
13365 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
13366 (grub_usb_controller_dev): Add timeout and actual arguments to
13367 transfer. All users updated.
13368 (grub_usb_interface): New field detach_data.
13369 (grub_usb_device): New fields children and nports.
13370 (grub_usb_ep_type_t): New type.
13371 (grub_usb_get_ep_type): New function.
13372 (grub_usb_bulk_read_extended): Likewise.
13373 * include/grub/usbdesc.h (grub_usb_desc): New type.
13374 * include/grub/usbserial.h: New file.
13375 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
13376 * kern/term.c (grub_term_poll_usb): New variable.
13377 (grub_getkey): Call grub_term_poll_usb if set.
13378 (grub_checkkey): Likewise.
13379 (grub_getkeystatus): Likewise.
13380 * term/serial.c: Moved controller-specific parts to ...
13381 * term/ns8250.c: ... here.
13382 * term/serial.c: Mostly rewritten.
13383 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
13384 according to spec.
13385
21a313de
RM
133862010-08-20 Robert Millan <rmh@gnu.org>
13387
13388 Make kFreeBSD code more generic to support ext2fs as root, ufs as
13389 a separate module and maybe other interesting combinations.
13390
13391 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
13392 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
13393 (kfreebsd_entry): Add generic filesystem module load routine.
13394 Map GRUB `ext2' to kFreeBSD `ext2fs'.
13395
63c734a6
CW
133962010-08-20 Colin Watson <cjwatson@ubuntu.com>
13397
13398 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
13399 "numcenter" (I misunderstood the purpose of this entry).
13400 * docs/grub.texi (sendkey): Likewise.
13401
c4d16542
CW
134022010-08-20 Colin Watson <cjwatson@ubuntu.com>
13403
13404 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
13405 status flag options; simply omitting the option is equivalent and
13406 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
13407 (keysym_table): Rename "num5numlock" to "numlock".
13408 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
13409 can uniformly say that only the last of multiple `sendkey'
13410 invocations has any effect.
13411 * docs/grub.texi (sendkey): New section.
13412
93541d66
CW
134132010-08-19 Colin Watson <cjwatson@ubuntu.com>
13414
13415 * commands/i386/pc/sendkey.c (options): Fix three typos.
13416
b4ece5e1
VS
134172010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13418
13419 Implement sendkey support.
13420
13421 * commands/i386/pc/sendkey.c: New file.
13422 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
13423 (sendkey_mod_SOURCES): New variable.
13424 (sendkey_mod_CFLAGS): Likewise.
13425 (sendkey_mod_LDFLAGS): Likewise.
13426
51f1f5af
CW
134272010-08-18 Colin Watson <cjwatson@ubuntu.com>
13428
13429 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
13430 fix warnings from Autoconf.
13431
9da94e05
CW
134322010-08-18 Colin Watson <cjwatson@ubuntu.com>
13433
13434 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
13435 to avoid false positives with some assemblers that output things
13436 like "someprefix_func" as part of their output.
13437
729a0f2e
RM
134382010-08-15 Robert Millan <rmh@gnu.org>
13439
13440 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
13441 errors.
13442 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
13443 grub_get_libzfs_handle() errors.
13444
f3710e08
RM
134452010-08-14 Robert Millan <rmh@gnu.org>
13446
13447 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
13448 filesystem is not ZFS.
13449
7a3c13de
BC
134502010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13451
13452 Fix for misspelled color names defaulting to black/black (bug
13453 reported by Doug Nazar)
13454
13455 * include/grub/normal.h (grub_parse_color_name_pair): Add return
13456 status to prototype.
13457 * normal/color.c (grub_parse_color_name_pair): Return failure
13458 status.
13459 (grub_env_write_color_normal): Ignore bad color names.
13460 (grub_env_write_color_highlight): Likewise.
13461 * normal/main.c (GRUB_MOD_INIT): Set default color names.
13462
ab8ba50d
BC
134632010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13464
13465 "shift" command support to GRUB script.
13466
13467 * include/grub/script_sh.h (grub_script_shift): New prototype.
13468 * script/execute.c (grub_script_shift): New function.
13469 * script/main.c (grub_script_init): Register shift command.
13470 (grub_script_fini): Unregister shift command.
13471 * util/grub-script-check.c (grub_script_cmd_shift): New function.
13472
13473 * tests/grub_script_shift.in: New testcase.
13474 * conf/tests.rmk: Rules for new testcase.
13475
4d61999e
BC
134762010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13477
13478 "continue" command support to GRUB script.
13479
13480 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
13481 (grub_script_break): Continue support.
13482 * script/main.c (grub_script_init): Register continue command.
13483 (grub_script_fini): Unregister continue command.
13484
13485 * tests/grub_script_continue.in: New testcase.
13486 * conf/tests.rmk: Rules for new testcase.
13487
4df51e00
BC
134882010-08-12 BVK Chaitanya <bvk@dbook>
13489
13490 "break" command support to GRUB script.
13491
13492 * conf/common.rmk: Rule updates to grub-script-check.
13493 * include/grub/misc.h (grub_min): New function.
13494 * include/grub/script_sh.h (grub_script_init): New prototype.
13495 (grub_script_fini): New prototype.
13496 (grub_script_break): New prototype.
13497 * script/main.c (grub_script_init): New function.
13498 (grub_script_fini): New function.
13499 * script/execute.c (grub_script_break): New function.
13500 * normal/main.c: Calls to grub_script_{init,fini}.
13501 * util/grub-script-check.c (grub_script_break): New function.
13502
13503 * tests/grub_script_break.in: New testcase.
13504 * conf/tests.rmk: Rules for new test case.
13505
f12c8420
BC
135062010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13507
13508 Function parameters support to GRUB script.
13509
13510 * script/yylex.l (VARIABLE): Regular expression update.
13511 * script/function.c (grub_script_function_call): Moved ...
13512 * script/execute.c (grub_script_function_call): ... to here.
13513 (grub_script_execute_arglist_to_argv): Removed.
13514 (grub_script_arglist_to_argv): New function.
13515 * script/argv.c: New file.
13516 (grub_script_argv_free): New function.
13517 (grub_script_argv_next): Likewise.
13518 (grub_script_argv_append): Likewise.
13519 (grub_script_argv_split_append): Likewise.
13520 * include/grub/script_sh.h (grub_script_argv): New struct.
13521 (grub_script_argv_free): New function.
13522 (grub_script_argv_next): Likewise.
13523 (grub_script_argv_append): Likewise.
13524 (grub_script_argv_split_append): Likewise.
13525
13526 * conf/common.rmk (normal.mod): New source script/argv.c.
13527
13528 * tests/grub_script_echo1.in: More tests.
13529 * tests/grub_script_vars1.in: Likewise.
13530 * tests/grub_script_functions.in: New test case.
13531 * conf/tests.rmk: Rules for new testcase.
13532
8022b748
BC
135332010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13534
13535 Remove grub_script_cmdblock struct.
13536
13537 * include/grub/script_sh.h: Remove grub_script_cmdblock.
13538 * script/parser.y: Likewise.
13539 * script/execute.c: Rename cmdblock suffix to cmdlist.
13540 * script/script.c: Likewise.
13541 * util/grub-script-check.c: Likewise.
13542
79a6ba61
YB
135432010-08-11 Yves Blusseau <blusseau@zetam.org>
13544
13545 * .bzrignore: add grub-macho2img
13546
d04b9414
VS
135472010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
13548
13549 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
13550
f947ab49
VS
135512010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
13552
13553 Remove the dump of sm712 initialisation sequence.
13554
13555 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
13556 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
13557 (GRUB_VGA_IO_MISC_WRITE): Likewise.
13558 (GRUB_VGA_CR_*): Added many registers.
13559 (GRUB_VGA_SR_*): Likewise.
13560 (GRUB_VGA_GR_*): Likewise.
13561 (grub_vga_write_arx): New function.
13562 (grub_video_hw_config): New struct.
13563 (grub_vga_set_geometry): New function.
13564 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
13565 GRUB_PCI_CLASS_SUBCLASS_VGA.
13566 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
13567 * video/sm712.c (grub_sm712_write_reg): New function
13568 (grub_sm712_read_reg): Likewise.
13569 (grub_sm712_sr_write): Likewise.
13570 (grub_sm712_gr_write): Likewise.
13571 (grub_sm712_cr_write): Likewise.
13572 (grub_sm712_write_arx): Likewise.
13573 (grub_sm712_cr_shadow_write): Likewise.
13574 (grub_sm712_write_dda_lookup): Likewise.
13575 (grub_video_sm712_setup): Initialise the video rather then
13576 blindly replay the dump.
13577 (main) [TEST]: Add a routine to be able to compile as standalone for
13578 tests.
13579 * video/sm712_init.c (sm712_init): Removed.
13580 (sm712_sr_seq1): New array.
13581 (sm712_sr_seq2): Likewise.
13582
f0206638
VS
135832010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
13584
13585 * include/grub/vga.h: Add missing grub/pci.h include.
13586
2764da3b
YB
135872010-08-10 Yves Blusseau <blusseau@zetam.org>
13588
13589 * util/grub-macho2img.c (main): fix typo
13590
cf0c775e
VS
135912010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
13592
13593 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
13594 (grub_vga_gr_read): Likewise.
13595 (grub_vga_cr_write): Likewise.
13596 (grub_vga_cr_read): Likewise.
13597 (grub_vga_sr_write): Likewise.
13598 (grub_vga_sr_read): Likewise.
13599 (grub_vga_palette_read): Likewise.
13600 (grub_vga_palette_write): Likewise.
13601 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
13602 (grub_sm712_sr_read): New function.
13603 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
13604 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
13605
07f360e9
RM
136062010-08-09 Robert Millan <rmh@gnu.org>
13607
13608 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
13609 out unused variables on non-ZFS build.
13610
346c2072
RM
136112010-08-08 Robert Millan <rmh@gnu.org>
13612
13613 Fix path generation for sub-filesystems in ZFS.
13614
13615 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
13616 missing slash.
13617
71175420
RM
136182010-08-08 Robert Millan <rmh@gnu.org>
13619
13620 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
13621
0d8286f3
RM
136222010-08-08 Robert Millan <rmh@gnu.org>
13623
13624 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
13625 exist, issue a proper error message (rely on `ls' for translated
13626 strings).
13627
55dd2924
RM
136282010-08-08 Robert Millan <rmh@gnu.org>
13629
13630 Fix grub-probe invocation.
13631
13632 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
13633
d3dd9e80
RM
136342010-08-04 Robert Millan <rmh@gnu.org>
13635
13636 * configure.ac: Remove checks for getfsstat() and getmntany().
13637 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
13638 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
13639 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
13640 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
13641 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
13642 function.
13643 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
13644 via find_mount_point_from_dir() and getfsstat() / getmntany().
13645
0de22aa9
RM
136462010-08-04 Robert Millan <rmh@gnu.org>
13647
13648 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13649 (grub_find_zpool_from_mount_point): Merge into ...
13650 (grub_find_zpool_from_dir): ... this.
13651 * kern/emu/misc.c: Likewise.
13652
13653 * kern/emu/misc.c
13654 (grub_make_system_path_relative_to_its_root): Replace
13655 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
13656 with grub_find_zpool_from_dir().
13657 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
13658
62858144
RM
136592010-08-04 Robert Millan <rmh@gnu.org>
13660
13661 Support OpenSolaris in ZFS device resolution.
13662
13663 * configure.ac: Check for getmntany().
13664 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
13665 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
13666 support.
13667
9dd6fd50
RM
136682010-08-03 Robert Millan <rmh@gnu.org>
13669
13670 Fix grub-emu build.
13671
13672 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
13673 * include/grub/emu/misc.h: ... here.
13674
13675 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
13676 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
13677
13678 * util/misc.c: Remove `<grub/util/libzfs.h>'.
13679 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
13680 (grub_get_libzfs_handle): Move to ...
13681 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
13682 (grub_get_libzfs_handle): ... here.
13683
c9f7ff97
BC
136842010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
13685
13686 * script/execute.c (grub_script_execute_cmdline): Check for NULL
13687 as command name case.
13688
a870a783
CW
136892010-08-02 Colin Watson <cjwatson@ubuntu.com>
13690
13691 * disk/raid.c (insert_array): Select unique numbers for named arrays
13692 as well, for use as keys in the disk cache.
13693
c7db243b
RM
136942010-08-01 Robert Millan <rmh@gnu.org>
13695
13696 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
13697 kFreeBSD device name, except on ZFS where the filesystem label is
13698 used.
13699 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
13700 `/boot/zfs/zpool.cache'.
13701 Set mountfrom kernel variable using ${kfreebsd_device}.
13702
f7abdefb
RM
137032010-08-01 Robert Millan <rmh@gnu.org>
13704
13705 Make it even harder to use uninitialized `libzfs_handle' (and
13706 make the interface a bit simpler).
13707
13708 * include/grub/util/misc.h (grub_util_init_libzfs)
13709 (libzfs_handle): Remove.
13710 (grub_get_libzfs_handle): New prototype.
13711
13712 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
13713 attribute.
13714 (grub_util_init_libzfs): Remove.
13715 (grub_get_libzfs_handle): New function.
13716
13717 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
13718 grub_get_libzfs_handle() to obtain a libzfs handle instead of
13719 accessing `libzfs_handle' directly.
13720
c882acc0
RM
137212010-08-01 Robert Millan <rmh@gnu.org>
13722
13723 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13724 (grub_find_zpool_from_mount_point): New function prototypes.
13725
13726 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
13727 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
13728
13729 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
13730 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
13731 `static' attribute.
13732
13733 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
13734 finding zpool from mount point into ...
13735 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
13736
13737 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
13738 requested path is part of a ZFS pool, use
13739 grub_find_zpool_from_mount_point() to detect its filesystem name,
13740 and generate a path with `/fsname@path' syntax.
13741
8bfe31d8
CW
137422010-08-01 Colin Watson <cjwatson@ubuntu.com>
13743
13744 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
13745 (void) rather than () so that this is a proper prototype.
13746
553df63d
VS
137472010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13748
13749 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
13750
8687cf07
VS
137512010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13752
13753 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
13754 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
13755
ea9be8ea
CW
137562010-08-01 Colin Watson <cjwatson@ubuntu.com>
13757
13758 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
13759
6eea041a
CW
137602010-08-01 Colin Watson <cjwatson@ubuntu.com>
13761
13762 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
13763
2cfb45df
CW
137642010-08-01 Colin Watson <cjwatson@ubuntu.com>
13765
13766 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
13767 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
13768 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
13769 disable gfxpayload.
13770 (Shell-like scripting): Add real content.
13771 (Serial terminal): Suggest `terminal_input serial; terminal_output
13772 serial' rather than putting the two commands on separate lines,
13773 since console input will be inoperative after the first command.
13774 (menuentry): Document --class, --users, and --hotkey options.
13775 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
13776 Vladimir Serbinenko).
13777
7decd202
VS
137782010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
137792010-08-01 Colin Watson <cjwatson@ubuntu.com>
13780
13781 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
13782
c882acc0
RM
137832010-08-01 Robert Millan <rmh@gnu.org>
13784
13785 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13786 (grub_find_zpool_from_mount_point): New function prototypes.
13787
13788 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
13789 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
13790
13791 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
13792 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
13793 `static' attribute.
13794
13795 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
13796 finding zpool from mount point into ...
13797 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
13798
13799 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
13800 requested path is part of a ZFS pool, use
13801 grub_find_zpool_from_mount_point() to detect its filesystem name,
13802 and generate a path with `/fsname@path' syntax.
13803
deb0caa3
RM
138042010-08-01 Robert Millan <rmh@gnu.org>
13805
13806 Prevent accidental use of uninitialized libzfs_handle.
13807
13808 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
13809 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
13810 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
13811
ce04ef47
CW
138122010-08-01 Colin Watson <cjwatson@ubuntu.com>
13813
13814 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
13815 util/grub.d/10_linux.in). Fixes Debian bug #591093.
13816
ebf53056
RM
138172010-08-01 Robert Millan <rmh@gnu.org>
13818
13819 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 13820
3710bb6b
RM
138212010-07-31 Robert Millan <rmh@gnu.org>
13822
13823 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
13824
8072efeb
RM
138252010-07-31 Robert Millan <rmh@gnu.org>
13826
13827 * kern/emu/misc.c: Add missing license header.
13828
3169f4c7
RM
138292010-07-31 Robert Millan <rmh@gnu.org>
13830
13831 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
13832
13833 * include/grub/util/libnvpair.h: Include `<config.h>'.
13834 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
13835 declaring libnvpair prototypes ourselves.
13836 * include/grub/util/libzfs.h: Include `<config.h>'.
13837 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
13838 declaring libzfs prototypes ourselves.
13839
13840 (libzfs_handle): Moved to ...
13841 * include/grub/util/misc.h (libzfs_handle): ... here.
13842 Include `<grub/util/libzfs.h>'.
13843
c9a00aee
RM
138442010-07-30 Robert Millan <rmh@gnu.org>
13845
13846 * include/grub/emu/misc.h: Add missing license header.
13847
a184f9c8
RM
138482010-07-30 Robert Millan <rmh@gnu.org>
13849
13850 Enable `grub-probe -t device' resolution on ZFS.
13851
13852 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
13853 * include/grub/util/libnvpair.h: New file.
13854 * include/grub/util/libzfs.h: New file.
13855
13856 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
13857 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
13858 `<grub/util/libnvpair.h>'.
13859 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
13860
13861 (find_mount_point_from_dir): New static function.
13862 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
13863 function.
13864 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
13865 find_root_device_from_libzfs() before ressorting to find_root_device().
13866
13867 * include/grub/util/misc.h (grub_util_init_libzfs): New function
13868 prototype.
13869 * util/misc.c: Include `<grub/util/libzfs.h>'.
13870 (grub_util_init_libzfs): New function.
13871 [HAVE_LIBZFS] (libzfs_handle): New global variable.
13872 [HAVE_LIBZFS] (fini_libzfs): New static function.
13873 (grub_util_init_libzfs): New function.
13874 * util/grub-probe.c (main): Call grub_util_init_libzfs().
13875
f7790cdd
RM
138762010-07-30 Robert Millan <rmh@gnu.org>
13877
13878 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
13879 (xmalloc, xrealloc, xstrdup, xasprintf): Add
13880 `warn_unused_result' attribute.
13881 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
13882 (grub_xasprintf, grub_xvasprintf): Likewise.
13883 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
13884
0806b63c
RM
138852010-07-29 Robert Millan <rmh@gnu.org>
13886
13887 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
13888 (probe): Handle `PRINT_FS_LABEL'.
13889 (main): Handle `-t fs_label'.
13890
9f841f5c
RM
138912010-07-29 Robert Millan <rmh@gnu.org>
13892
13893 * configure.ac: Remove grub-mkisofs checks.
13894
46371121
VS
138952010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
13896
13897 * util/ieee1275/grub-install.in: Don't use empty grub_device.
13898 Reported by: Lennart Sorensen.
13899
139002010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13901
13902 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
13903 prior to terminal_input/terminal_output separation. It's been over 1.5
13904 years and those versions weren't widely deployed.
13905
a9600892
CW
139062010-07-22 Colin Watson <cjwatson@ubuntu.com>
13907
13908 * disk/raid.c (insert_array): Don't count named arrays when looking
13909 for unused array numbers.
697e053c 13910 Reported and tested by: Michael Guntsche.
a9600892 13911
c03507df
CW
139122010-07-20 Colin Watson <cjwatson@ubuntu.com>
13913
13914 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
13915 implementation of this so that grub-emu links again, with a note
13916 that this should support hotplugging in the future.
13917
b26f1c11
CW
139182010-07-20 Colin Watson <cjwatson@ubuntu.com>
13919
13920 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
13921
efc9d7f1
CW
139222010-07-20 Colin Watson <cjwatson@ubuntu.com>
13923
13924 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
13925 handle on failure.
13926 (grub_loopback_close): Remove empty function.
13927 (grub_loopback_dev): Remove close method.
13928
dd8ff5c9
CW
139292010-07-20 Colin Watson <cjwatson@ubuntu.com>
13930
13931 Disable EFI cursor when the EFI console becomes inactive.
13932
13933 * term/efi/console.c (grub_efi_console_init): New function.
13934 (grub_efi_console_fini): New function.
13935 (grub_console_term_output): Register init and fini methods.
13936
5e3bec67
VS
139372010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13938
13939 * tests/util/grub-shell-tester.in: Remove bashism and declare as
13940 sh script.
13941
afaec079
VS
139422010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13943
13944 * disk/loopback.c (grub_loopback): Replace filename with file.
13945 (delete_loopback): Handle new semantics.
13946 (grub_cmd_loopback): Likewise.
13947 (grub_loopback_iterate): Likewise.
13948 (grub_loopback_close): Likewise.
13949
a6a11f3c
VS
139502010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13951
13952 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
13953 with -p "".
13954 Reported by: Tito Keitel.
13955
64a638b0
VS
139562010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13957
13958 * docs/grub.texi (Naming convention): Document new naming convention.
13959
ab8ba957
VS
139602010-07-20 Vadim Solomin <vadic052@gmail.com>
139612010-07-20 Colin Watson <cjwatson@ubuntu.com>
13962
13963 Generate device.map in something closer to the old ordering.
13964
13965 * util/deviceiter.c (struct device): New declaration.
13966 (compare_file_names): Rename to ...
13967 (compare_devices): ... this. Sort by kernel name in preference to
13968 the stable by-id name, but keep the latter as a fallback comparison.
13969 Update header comment.
13970 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
13971 of `struct device' rather than of plain file names.
13972
a29d6a4b
TF
139732010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
13974
13975 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
13976 on i386.
13977
39d824e8
VS
139782010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13979
13980 * commands/acpi.c (setup_common_tables): Use sizeof instead of
13981 hardcoding size.
13982 (setv1table): Likewise.
13983
f058276b
FZ
139842010-07-20 Colin Watson <cjwatson@ubuntu.com>
13985
13986 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
13987 removing the homehost if present.
13988 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
13989 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
13990 removing the homehost if present.
13991 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
13992 if possible.
13993 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
13994
13995 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
13996 parameter. Set its pointer target to 0.
13997 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
13998 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
13999 `data_offset' value from the superblock for 1.x metadata.
14000 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
14001 data on the device.
14002 (insert_array): Record the start sector of data on the device.
14003 (grub_raid_register): Pass start_sector parameters to
14004 grub_raid_list->detect and insert_array.
14005 * include/grub/raid.h (struct grub_raid_array): Add start_sector
14006 member.
14007 (struct grub_raid): Add start_sector parameter to `detect'.
14008
14009 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
14010 __attribute__ ((packed)), leaving a comment.
14011 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
14012 (grub_mdraid_detect_09): ... here and ...
14013 (grub_mdraid_detect_1x): ... here.
14014
140152010-07-20 Peter Henn <peter.henn@web.de>
14016
14017 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
14018 chunk size and disk size, which are already given as sector counts
14019 as distinct from the 0.90 units. Fetch the correct device number
14020 from the role table instead of using the table index.
14021
140222010-07-20 Felix Zielcke <fzielcke@z-51.de>
14023
14024 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
14025 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
14026 (WriteMostly1): New macro.
14027 Set array->name to NULL for metadata format 0.90. Add support for
14028 metadata 1.x. Fix some comments.
14029 * disk/raid.c (): Add support for name based RAID arrays. Fix a
14030 few comments.
14031 * util/getroot.c (grub_util_get_grub_dev): Add support for
14032 /dev/md/name style devices.
14033
4b761da9
CW
140342010-07-20 Colin Watson <cjwatson@ubuntu.com>
14035
14036 * .bzrignore: Ignore 20_linux_xen.
14037
5771289a
CW
140382010-07-17 Colin Watson <cjwatson@ubuntu.com>
14039
14040 * util/import_unicode.py: Remove unnecessary imports.
14041
5dab68df
AN
140422010-07-17 Aleš Nesrsta <starous@volny.cz>
14043
14044 Hotplugging and USB hub support.
14045
14046 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
14047 (grub_ohci): Likewise.
14048 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
14049 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
14050 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
14051 (GRUB_OHCI_CTRL_EDS): Likewise.
14052 (GRUB_OHCI_BULK_EDS): Likewise.
14053 (GRUB_OHCI_TDS): Likewise.
14054 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
14055 (grub_ohci_ed_phys2virt): New function.
14056 (grub_ohci_virt_to_phys): Likewise.
14057 (grub_ohci_td_phys2virt): Likewise.
14058 (grub_ohci_td_virt2phys): Likewise.
14059 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
14060 attachment.
14061 (grub_ohci_find_ed): New function.
14062 (grub_ohci_alloc_td): Likewise.
14063 (grub_ohci_free_td): Likewise.
14064 (grub_ohci_free_tds): Likewise.
14065 (grub_ohci_transfer): Use previously allocated memory.
14066 (grub_ohci_portstatus): Reset status changed bit.
14067 (grub_ohci_detect_dev): Supply status changed.
14068 (grub_ohci_fini_hw): Free memory.
14069 (grub_ohci_restore_hw): Reallocate memory.
14070 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
14071 Reset status change.
14072 (grub_uhci_detect_dev): Supply status_change.
14073 * bus/usb/usb.c (attach_hooks): New var.
14074 (grub_usb_device_attach): New function.
14075 (grub_usb_register_attach_hook_class): Likewise.
14076 (grub_usb_unregister_attach_hook_class): Likewise.
14077 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
14078 (grub_usb_add_hub): Reset connection changed bit.
14079 (attach_root_port): New function.
14080 (grub_usb_root_hub): Likewise.
14081 (poll_nonroot_hub): Likewise.
14082 (grub_usb_poll_devices): Likewise.
14083 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
14084 * disk/usbms.c (grub_usbms_open): Use device hooks.
14085 (grub_usbms_iterate) :Poll devices.
14086 (grub_usbms_finddevs): Split into ...
14087 (grub_usbms_attach): ... this ...
14088 (grub_usbms_attach): ... and this.
14089 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
14090 in detect_dev.
14091 (grub_usb_interface): New fields attached and detach_hook.
14092 (grub_usb_attach_hook_class): New type.
14093 (grub_usb_attach_desc): New struct.
14094 (grub_usb_register_attach_hook_class): New function.
14095 (grub_usb_unregister_attach_hook_class): Likewise.
14096 (grub_usb_poll_devices): Likewise.
14097 (grub_usb_device_attach): Likewise.
14098 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
14099 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
14100
3222efaf
VS
141012010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
14102
14103 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
14104 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
14105 delta determination style. Works with most NetBSD partitions too.
14106
139b714a
VS
141072010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
14108
14109 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
14110 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
14111
986aad56
VS
141122010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
14113
14114 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
14115
99be513c
AB
141162010-07-14 Anton Blanchard <anton@samba.org>
14117
14118 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
14119 ET_DYN files.
14120
18075f62
GS
141212010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14122
14123 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
14124
8d9a5b15
GS
141252010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14126
14127 * kern/partition.c (grub_partition_check_containment): New function to
14128 check that a partition is physically contained in a parent. Since
14129 offsets are relative (and non-negative), this reduces to checking that
14130 the partition ends before its parent.
14131 (grub_partition_map_probe): Discard out-of-range sub-partitions.
14132 (grub_partition_iterate): Likewise.
14133 * include/grub/partition.h (grub_partition_map): Slightly more detailed
14134 comments.
14135 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
14136 partitions that start before their parent, and add debug printfs.
14137
19563c25
CW
141382010-07-13 Colin Watson <cjwatson@ubuntu.com>
14139
14140 * Makefile.in (.SUFFIX): Spell correctly, as ...
14141 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
14142 bare module name without `.mod', e.g. `test') tried to invoke a
14143 Modula-2 compiler.
14144
1a1f1e67
CW
141452010-07-13 Colin Watson <cjwatson@ubuntu.com>
14146
14147 * README: Point to the Info manual.
14148
811b0dca
JS
141492010-07-13 Jiro SEKIBA <jir@unicus.jp>
14150
14151 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
14152 2nd superblock position from partition size.
14153
e4f4eafc
CW
141542010-07-10 Colin Watson <cjwatson@ubuntu.com>
14155
14156 * Makefile.in (MAINTAINER_CLEANFILES): Remove
14157 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
14158 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
14159 outputs.
14160
4274c30f
VS
141612010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14162
14163 Restructure SCSI .id handling.
14164 Reported and tested by: Aleš Nesrsta.
14165
14166 * disk/ata.c (grub_atapi_close): Removed. All users updated.
14167 (grub_atapi_dev): Changed .name to "ata". New field .id.
14168 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
14169 (grub_usbms_dev): New field .id.
14170 * disk/scsi.c (grub_scsi_iterate): Generate name.
14171 (grub_scsi_open): Parse name.
14172 * include/grub/scsi.h (grub_make_scsi_id): New function.
14173 (grub_scsi_dev): Change iterate and open to number instead of naming
14174 busses. All users updated.
14175 (grub_scsi): Remove name. Add .bus.
14176
5bc24388
VS
141772010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14178
14179 * commands/help.c (grub_cmd_help): Fix a typo.
14180
249975ba
VS
141812010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14182
14183 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
14184 Reported and tested by: Colin Watson.
14185
3eaac1a1
VS
141862010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14187
14188 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
14189 in this context.
14190
becce1b1
VS
141912010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14192
14193 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
14194
f7bf0918
CW
141952010-07-07 Colin Watson <cjwatson@ubuntu.com>
14196
14197 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
14198 indentation.
14199
0b0f9620
CW
142002010-07-06 Colin Watson <cjwatson@ubuntu.com>
14201
14202 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
14203 and disk/raid6_recover.c.
14204 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
14205 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
14206
1e545469
CW
142072010-07-06 Colin Watson <cjwatson@ubuntu.com>
14208
14209 * term/gfxterm.c (repaint_schedulded): Rename to ...
14210 (repaint_scheduled): ... this. Update all callers.
14211 (repaint_was_schedulded): Rename to ...
14212 (repaint_was_scheduled): ... this. Update all callers.
14213
5357687a
CW
142142010-07-06 Colin Watson <cjwatson@ubuntu.com>
14215
14216 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
14217 which we expect to be handled by upper layers.
14218
29d7e783
BC
142192010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
14220
14221 * bus/usb/usbhub.c: #include time.h header.
14222
37582066
CW
142232010-07-06 Colin Watson <cjwatson@ubuntu.com>
14224
14225 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
14226 entry_name also for entries without stat blocks (e.g. ".."); fixes
14227 corruption of the first entry in a directory.
14228
c8c06953
CW
142292010-07-06 Colin Watson <cjwatson@ubuntu.com>
14230
14231 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
14232 after setting gfxterm as the active terminal. GRUB_BACKGROUND
14233 doesn't work otherwise.
14234
e75056f1
CW
142352010-07-05 Colin Watson <cjwatson@ubuntu.com>
14236
14237 * docs/grub.texi (Features): Update list of supported file systems.
14238 (GNU/Linux): Update for GRUB 2.
14239 (Serial terminal): Remove mention of --disable-serial, which was a
14240 GRUB Legacy configure option. Update instructions to use
14241 `terminal_input' and `terminal_output' rather than `terminal'.
14242 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
14243 configuration' and `Installing GRUB using grub-install'.
14244 (Menu entry editor): Update for GRUB 2.
14245 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
14246 Document new -a, -u, and -v options.
14247 (initrd): New section.
14248 (initrd16): New section.
14249 (linux): New section.
14250 (linux16): New section.
14251 (search): The `var' argument to `--set' is optional.
14252 (GRUB only offers a rescue shell): Go into a little more detail on
14253 drive ordering.
14254
5cf69151
CW
142552010-07-05 Colin Watson <cjwatson@ubuntu.com>
14256
14257 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
14258
e3f90044
CW
142592010-07-05 Colin Watson <cjwatson@ubuntu.com>
14260
14261 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
14262 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
14263
38d8f4f3
CW
142642010-07-05 Colin Watson <cjwatson@ubuntu.com>
14265
14266 * util/i386/pc/grub-setup.c (setup): Rename prefix to
14267 install_prefix, in line with install_dos_part and install_bsd_part.
14268 Add new prefix variable, which is copied to install_prefix after
14269 comparing core.img in memory with the one read from disk in the
14270 no-embedding case, and use that rather than overwriting
14271 install_prefix immediately when installing to a partition.
14272 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
14273 Bicakci.
14274
57ebd41e
GS
142752010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
14276
14277 * configure.ac: Avoid == in test command, it's not portable.
14278 * util/grub.d/30_os-prober.in: Likewise.
14279
cb7f64b2
CW
142802010-07-04 Colin Watson <cjwatson@ubuntu.com>
14281
14282 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
14283
6b654bb0
GS
142842010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
14285
14286 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
14287 multiple (top-level) partmaps.
14288
72a2026d
VS
142892010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14290
14291 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 14292 Reported by: Tino Keitel.
72a2026d 14293
df3eb88f
VS
142942010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14295
14296 Bidi and diacritics support.
14297
14298 * Makefile.in (widthspec.bin): New target.
14299 (widthspec.h): Likewise.
14300 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
14301 * autogen.sh: Generate unidata.c.
14302 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
14303 * commands/ls.c (grub_ls_list_devices): Likewise.
14304 (grub_ls_list_files): Likewise.
14305 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
14306 (grub_mini_cmd_lsmod): Likewise.
14307 * commands/read.c: Likewise.
14308 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
14309 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
14310 * lib/arg.c (grub_arg_show_help): Likewise.
14311 * lib/crypto.c (grub_password_get): Likewise.
14312 * normal/auth.c (grub_username_get): Likewise.
14313 * normal/misc.c (grub_normal_print_device_info): Likewise.
14314 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
14315 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
14316 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
14317 (normal/charset.c_DEPENDENCIES): New variable.
14318 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
14319 (pkglib_MODULES): Remove charset.mod.
14320 (charset_mod_SOURCES): Removed.
14321 (charset_mod_CFLAGS): Likewise.
14322 (charset_mod_LDFLAGS): Likewise.
14323 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
14324 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
14325 and term/tparm.c.
14326 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14327 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14328 (kernel_img_HEADERS): Add terminfo.h.
14329 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
14330 Fill ->font. Reverse ascii bitmaps.
14331 (grub_font_get_xheight): New function.
14332 * font/font.c (grub_font_get_string_width): Moved from here ...
14333 * gfxmenu/font.c (grub_font_get_string_width): ... here.
14334 * font/font.c (grub_font_draw_string): Moved from here ...
14335 * gfxmenu/font.c (grub_font_draw_string): ... here.
14336 * font/font.c (grub_font_dup_glyph): New function.
14337 (grub_font_blit_glyph): Likewise.
14338 (grub_font_blit_glyph_mirror): Likewise.
14339 (blit_comb): Likewise.
14340 (grub_font_construct_dry_run): Likewise.
14341 (grub_font_get_constructed_device_width): Likewise.
14342 (grub_font_construct_glyph): Likewise.
14343 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
14344 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
14345 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
14346 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
14347 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
14348 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
14349 (grub_font_get_xheight): New proto.
14350 (grub_font_get_constructed_device_width): Likewise.
14351 (grub_font_construct_glyph): Likewise.
14352 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
14353 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
14354 * include/grub/font.h (grub_font_draw_string): Moved from here ...
14355 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
14356 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
14357 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
14358 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
14359 (grub_console_getcharwidth): Likewise.
14360 * include/grub/misc.h (grub_xputs): New proto.
14361 (grub_puts): Inlined.
14362 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
14363 (grub_normal_get_line_counter): Removed.
14364 (grub_install_newline_hook): Likewise.
14365 (grub_normal_get_char_counter): New proto.
14366 (grub_normal_reset_more): Likewise.
14367 (grub_xputs_normal): Likewise.
14368 * include/grub/powerpc/ieee1275/console.h: Removed.
14369 * include/grub/sparc64/ieee1275/console.h: Likewise.
14370 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
14371 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
14372 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
14373 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
14374 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
14375 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
14376 (grub_term_input): Pass reference to self. All users updated.
14377 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
14378 Pass reference to self. New fields normal_color, highlight_color and
14379 data. All users updated.
14380 (grub_putchar): Removed.
14381 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
14382 (grub_unicode_estimate_width): New function.
14383 (grub_term_getcharwidth): Add defaults.
14384 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
14385 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
14386 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
14387 (grub_cls): Remove EXPORT_FUNC.
14388 (grub_setcolorstate): Inline.
14389 (grub_newline_hook): Removed.
14390 * include/grub/terminfo.h: Rewritten. All users updated.
14391 * include/grub/unicode.h: New file.
14392 * include/grub/video.h (grub_video_signed_rect): New type.
14393 * kern/emu/console.c (grub_console_highlight_color): Removed.
14394 (grub_console_normal_color): Likewise.
14395 (grub_console_standard_color): Made static.
14396 (grub_ncurses_putchar): Remove mapping.
14397 (grub_ncurses_getcharwidth): Removed.
14398 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
14399 (grub_ncurses_setcolor): Removed.
14400 (grub_ncurses_getcolor): Likewise.
14401 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
14402 (grub_console_putchar): ... this.
14403 (grub_console_putchar): Handle argument difference.
14404 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
14405 console_init_early and console_init_lately.
14406 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
14407 * kern/misc.c (grub_puts): Removed.
14408 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
14409 (grub_vsnprintf_real): Remove str = NULL support.
14410 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
14411 * normal/charset.c (grub_utf8_to_ucs4): ... here.
14412 * kern/term.c (grub_putcode): Renamed to ...
14413 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
14414 (grub_putchar): Removed.
14415 (grub_xputs_dumb): New function.
14416 (grub_xputs): New variable.
14417 * lib/charset.c: Move from here ...
14418 * normal/charset.c: ... to here.
14419 (grub_ucs4_to_utf8): New function.
14420 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
14421 (join_types): New variable.
14422 (unpack_join): New function.
14423 (bidi_types): New variable.
14424 (unpack_bidi): New function.
14425 (get_bidi_type): Likewise.
14426 (get_join_type): Likewise.
14427 (is_mirrored): Likewise.
14428 (grub_unicode_get_comb_type): Likewise.
14429 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
14430 (is_type_after): Likewise.
14431 (grub_unicode_aglomerate_comb): Likewise.
14432 (bidi_line_wrap): Likewise.
14433 (grub_bidi_line_logical_to_visual): Likewise.
14434 (grub_bidi_logical_to_visual): Likewise.
14435 (grub_unicode_mirror_code): Likewise.
14436 (grub_unicode_shape_code): Likewise.
14437 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
14438 Don't use grub_putchar.
14439 * normal/main.c (grub_normal_init_page): Use grub_putcode.
14440 (grub_normal_reader_init): Likewise.
14441 (grub_xputs_saved): New variable.
14442 (GRUB_MOD_INIT): Set grub_xputs.
14443 (GRUB_MOD_FINI): Restore grub_xputs.
14444 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
14445 (menu_init): Avoid printing gfxmenu error.
14446 (show_menu): Use grub_normal_get_char_counter.
14447 * normal/menu_entry.c (update_screen): Fix out-of-array.
14448 (complete): Avoid NULL dereferencing.
14449 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
14450 * normal/menu_text.c (print_spaces): Removed.
14451 (grub_print_ucs4): Likewise.
14452 (grub_print_message_indented): Use grub_print_ucs4.
14453 (print_message): Use grub_putcode.
14454 (print_entry): Hanlde diacritics.
14455 * normal/term.c (term_state): New type.
14456 (grub_more_lines): Removed.
14457 (term_states): New variable.
14458 (grub_normal_line_counter): Renamed to ..
14459 (grub_normal_char_counter): ...this. All users updated.
14460 (grub_normal_get_line_counter): Renamed to ...
14461 (grub_normal_get_char_counter): ... this.
14462 (grub_normal_reset_more): New function.
14463 (process_newline): Removed.
14464 (print_more): New function.
14465 (grub_install_newline_hook): Removed.
14466 (map_code): New function.
14467 (grub_puts_terminal): Use grub_print_ucs4.
14468 (putglyph): New function.
14469 (putcode_real): Likewise.
14470 (grub_putcode): Use putcode_real.
14471 (get_maxwidth): New function.
14472 (get_startwidth): Likewise.
14473 (print_ucs4_terminal): Likewise.
14474 (find_term_state): Likewise.
14475 (put_glyphs_terminal): Likewise.
14476 (print_backlog): Likewise.
14477 (print_ucs4_real): Likewise.
14478 (grub_print_ucs4): Likewise.
14479 (grub_xputs_normal): Likewise.
14480 * term/efi/console.c (grub_console_putchar): Output diacritics.
14481 (grub_console_getcharwidth): Removed.
14482 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
14483 * term/gfxterm.c (clear_char): Free chars.
14484 (scroll_up): Avoid leaking memory.
14485 (grub_gfxterm_putchar): Support diacritics.
14486 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
14487 * term/i386/pc/console.c (grub_console_term_output): Declare as
14488 GRUB_TERM_CODE_TYPE_VGA.
14489 * term/i386/pc/vga.c (grub_vga_term): Declare as
14490 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
14491 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
14492 GRUB_TERM_CODE_TYPE_VGA.
14493 * term/i386/vga_common.c (map_char): Removed.
14494 (grub_console_putchar): Likewise.
14495 (grub_console_getcharwidth): Likewise.
14496 * term/ieee1275/ofconsole.c: Simplify using terminfo.
14497 (colors): Reordered to match terminfo.
14498 (grub_ofconsole_normal_color): Removed.
14499 (grub_ofconsole_writeesc): Likewise.
14500 (grub_ofconsole_highlight_color): Likewise.
14501 (grub_ofconsole_getcharwidth): Likewise.
14502 (grub_ofconsole_setcolorstate): Likewise.
14503 (grub_ofconsole_setcolor): Likewise.
14504 (grub_ofconsole_getcolor): Likewise.
14505 (grub_ofconsole_readkey): Renamed to ...
14506 (readkey): ... this. Remove escape sequence handling. Return -1 on no
14507 key.
14508 (grub_ofconsole_checkkey): Removed.
14509 (grub_ofconsole_getkey): Likewise.
14510 (grub_ofconsole_getxy): Likewise.
14511 (grub_ofconsole_gotoxy): Likewise.
14512 (grub_ofconsole_cls): Likewise.
14513 (grub_ofconsole_refresh): Likewise.
14514 (grub_ofconsole_terminfo_input): New struct.
14515 (grub_ofconsole_terminfo_output): Likewise.
14516 (grub_ofconsole_term_input): Use terminfo.
14517 (grub_ofconsole_term_output): Likewise.
14518 (grub_console_init): Split into ...
14519 (grub_console_init_early): ...this and ...
14520 (grub_console_init_lately): ...this. Use terminfo.
14521 (grub_ofconsole_putchar): Renamed to ...
14522 (put): ... this. Remove mapping.
14523 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
14524 * term/serial.c: Simplify using terminfo.
14525 (xpos): Removed.
14526 (ypos): Likewise.
14527 (keep_track): Likewise.
14528 (registered): Likewise.
14529 (input_buf): Likewise.
14530 (npending): Likewise.
14531 (serial_translate_key_sequence): Likewise.
14532 (fill_input_buf): Likewise.
14533 (grub_serial_checkkey): Likewise.
14534 (grub_serial_getkey): Likewise.
14535 (grub_serial_getxy): Likewise.
14536 (grub_serial_gotoxy): Likewise.
14537 (grub_serial_putchar): Likewise.
14538 (grub_serial_cls): Likewise.
14539 (grub_serial_setcolorstate): Likewise.
14540 (grub_serial_setcursor): Likewise.
14541 (serial_hw_init): Use serial_hw_fetch.
14542 (grub_serial_terminfo_input): New variable.
14543 (grub_serial_terminfo_output): Likewise.
14544 (grub_serial_term_input): Use terminfo.
14545 (grub_serial_term_output): Likewise.
14546 * term/terminfo.c (putstr): Use put.
14547 (grub_terminfo_all_free): New function
14548 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
14549 (grub_terminfo_output_register): New function.
14550 (grub_terminfo_output_unregister): Likewise.
14551 (grub_terminfo_getxy): Likewise.
14552 (grub_terminfo_readkey): Likewise.
14553 (grub_terminfo_checkkey): Likewise.
14554 (grub_terminfo_getkey): Likewise.
14555 (grub_terminfo_input_init): Likewise.
14556 (print_terminfo): Likewise.
14557 (grub_cmd_terminfo): Handle encoding.
14558 (grub_terminfo_gotoxy): Track position.
14559 (grub_terminfo_cls): Likewise.
14560 (grub_terminfo_putchar): Likewise.
14561 (grub_terminfo_setcolorstate): Handle colors
14562 (grub_terminfo_cursor_on): This ...
14563 (grub_terminfo_cursor_off): ... and this merged into ...
14564 (grub_terminfo_setcursor): ... this.
14565 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
14566 * unicode/ArabicShaping.txt: New file (imported from Unicode).
14567 * unicode/BidiMirroring.txt: Likewise.
14568 * unicode/UnicodeData.txt: Likewise.
14569 * unicode/COPYING: Likewise.
14570 * util/grub-editenv.c (grub_putchar): Removed.
14571 (grub_xputs_real): New function.
14572 (grub_xputs): New variable.
14573 * util/grub-fstest.c (grub_putchar): Removed.
14574 (grub_xputs_real): New function.
14575 (grub_xputs): New variable.
14576 * util/grub-mkdevicemap.c (grub_putchar): Removed.
14577 (grub_xputs_real): New function.
14578 (grub_xputs): New variable.
14579 * util/grub-probe.c (grub_putchar): Removed.
14580 (grub_xputs_real): New function.
14581 (grub_xputs): New variable.
14582 * util/grub-script-check.c (grub_putchar): Removed.
14583 (grub_xputs_real): New function.
14584 (grub_xputs): New variable.
14585 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
14586 (grub_xputs_real): New function.
14587 (grub_xputs): New variable.
14588 * util/import_unicode.py: New file.
14589 * util/grub-mkfont.c (ft_errmsgs): New array.
14590 (grub_glyph_info): Make bitmap a pointer.
14591 (file_formats): New type WIDTH_SPEC.
14592 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
14593 (options): Add width-spec.
14594 (help): Likewise.
14595 (add_char): Renamed to ...
14596 (add_glyph): ... this.
14597 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
14598 (glyph_replace): New type.
14599 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
14600 (add_char): New function.
14601 (add_subst): Likewise.
14602 (process_cursive): Likewise.
14603 (add_font): Handle GSUB.
14604 (write_font_width_spec): New function.
14605 (main): Sort glyphs.
14606 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
14607 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
14608 * kern/term.c (grub_cls): Moved from here...
14609 * normal/term.c (grub_cls): ... here.
14610
50f0bcda
CW
146112010-07-02 Colin Watson <cjwatson@ubuntu.com>
14612
14613 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
14614 suitable for using within the format argument of printf when
14615 converting grub_size_t.
14616 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
14617 "x" to convert grub_size_t arguments.
14618
40372103
VS
146192010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14620
14621 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
14622 too long captions.
14623 (list_get_minimal_size): Take selection box into account.
14624
942a10c7
VS
146252010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14626
14627 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
14628 NULL font.
14629
2bdb2892
CW
146302010-07-02 Colin Watson <cjwatson@ubuntu.com>
14631
14632 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
14633 devices when iterating over /dev/disk/by-id; they will be handled
14634 later if appropriate, which they aren't always (e.g. LVM).
14635
e03ed6c1
CW
146362010-07-02 Colin Watson <cjwatson@ubuntu.com>
14637
14638 * include/grub/misc.h (grub_reboot): Declare as noreturn.
14639 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
14640 fails.
14641 (grub_halt): Likewise.
14642 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
14643 reset-all fails.
14644 (grub_halt): Don't return, even if all of shut-down, power-off, and
14645 poweroff fail.
14646
47695765
CW
146472010-07-02 Colin Watson <cjwatson@ubuntu.com>
14648
14649 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
14650 arguments, not three.
14651
507736c8
CW
146522010-07-02 Colin Watson <cjwatson@ubuntu.com>
14653
14654 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
14655 * util/grub.d/10_linux.in: Use it to check for LVM, so that
14656 LVM-on-RAID is handled correctly.
14657
e3c8cd37
CW
146582010-07-02 Colin Watson <cjwatson@ubuntu.com>
14659
14660 * docs/grub.texi (Changes from GRUB Legacy): New section.
14661 (Future): Fix typo.
14662
8d4a2fec
CW
146632010-07-02 Colin Watson <cjwatson@ubuntu.com>
14664
14665 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
14666 grub.d/README accidentally ends up executable for one reason or
14667 another. Ignore it.
14668
1c4827be
VS
146692010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14670
14671 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
14672 (gpt_partition_map_iterate): Support non-512B sectors.
14673
d9a0c941
VS
146742010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14675
14676 * kern/efi/init.c (grub_efi_init): Disable watchdog.
14677 Tested by: Seth Goldberg.
14678
48f27e87
VS
146792010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14680
14681 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
14682 Properly align mbi.
14683 Reported by: Seth Goldberg.
14684
b0c4f956
VS
146852010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14686
14687 * util/grub-mkrescue.in: Avoid module duplication.
14688
105a2e8c
SF
146892010-07-01 Sean Finney <seanius@seanius.net>
14690
14691 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
14692
5944958c
SF
146932010-07-01 Sean Finney <seanius@seanius.net>
14694
14695 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
14696
146972010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14698
14699 * disk/lvm.c (grub_lvm_checkvalue): New function.
14700 (grub_lvm_check_flag): Likewise.
14701
b79889ba
RM
147022010-07-01 Robert Millan <rmh@gnu.org>
14703
14704 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
14705 Support 'p' as partition separator on kernel of FreeBSD (used
14706 with GPT labels).
14707 (grub_util_biosdisk_get_grub_dev): Likewise.
14708
ec1d04f1
VS
147092010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14710
14711 Yeeloong firmware port.
14712
14713 * boot/mips/yeeloong/fwstart.S: New file.
14714 * bus/cs5536.c (gpiodump): New const.
14715 (set_io_space): New function.
14716 (set_iod): Likewise.
14717 (set_p2d): Likewise.
14718 (grub_cs5536_init_geode): Likewise.
14719 * commands/mips/yeeloong/lsspd.c: New file.
14720 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
14721 (serial_mod_SOURCES): New variable.
14722 (serial_mod_CFLAGS): Likewise.
14723 (serial_mod_LDFLAGS): Likewise.
14724 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
14725 term/terminfo.c and term/tparm.c.
14726 (pkglib_IMAGES): Add fwstart.img.
14727 (fwstart_img_SOURCES): New variable.
14728 (fwstart_img_CFLAGS): Likewise.
14729 (fwstart_img_ASFLAGS): Likewise.
14730 (fwstart_img_LDFLAGS): Likewise.
14731 (fwstart_img_FORMAT): Likewise.
14732 (pkglib_MODULES): Add lsspd.mod.
14733 (lsspd_mod_SOURCES): New variable.
14734 (lsspd_mod_CFLAGS): Likewise.
14735 (lsspd_mod_LDFLAGS): Likewise.
14736 (pkglib_MODULES): Add halt.mod.
14737 (halt_mod_SOURCES): New variable.
14738 (halt_mod_CFLAGS): Likewise.
14739 (halt_mod_LDFLAGS): Likewise.
14740 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
14741 (serial_mod_SOURCES): Removed.
14742 (serial_mod_CFLAGS): Likewise.
14743 (serial_mod_LDFLAGS): Likewise.
14744 * disk/ata.c (check_device): New function.
14745 (grub_ata_device_initialize): Use check_device.
14746 (grub_ata_iterate): Recheck devices.
14747 (grub_ata_open): Likewise.
14748 (grub_atapi_iterate): Likewise.
14749 (grub_atapi_open): Likewise.
14750 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
14751 (GRUB_ATA_CH1_PORT1): Likewise.
14752 (GRUB_ATA_CH0_PORT2): Likewise.
14753 (GRUB_ATA_CH1_PORT2): Likewise.
14754 * include/grub/mips/loongson.h: New file.
14755 * include/grub/mips/yeeloong/ec.h: Likewise.
14756 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
14757 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
14758 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
14759 * include/grub/misc.h (grub_halt): Declare as noreturn.
14760 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
14761 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
14762 (UART_ENABLE_FIFO_TRIGGER1): New definition.
14763 (UART_ENABLE_DTRRTS): Likewise.
14764 (UART_ENABLE_MODEM): Removed.
14765 (UART_ENABLE_OUT2): New const.
14766 * include/grub/term.h (grub_term_register_input_active): New function.
14767 (grub_term_register_output_active): Likewise.
14768 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
14769 argument.
14770 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
14771 (init_pci): New function.
14772 (grub_machine_init): Execute platform init when firmware. Init serial.
14773 (grub_halt): Implement.
14774 (grub_exit): Likewise.
14775 (grub_reboot): Likewise.
14776 * term/serial.c (serial_hw_init): Update macros.
14777 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
14778 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
14779 (image_targets): New target mipsel-yeeloong-flash.
14780 (generate_image): Support IMAGE_YEELOONG_FLASH.
14781 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
14782 (grub_video_sm712_setup): Init card.
14783 (grub_video_sm712_set_palette): Removed.
14784 * video/sm712_init.c: New file.
14785
ff4a70d2
CW
147862010-06-30 Colin Watson <cjwatson@ubuntu.com>
14787
14788 * Makefile.in (install-local): Temporarily prepend $(builddir) to
14789 PATH when running help2man and then run it on the unadorned
14790 executable names, rather than passing $(builddir)/* paths to
14791 help2man. This avoids the build directory ending up in generated
14792 manual pages.
14793
1246efeb
CW
147942010-06-29 Colin Watson <cjwatson@ubuntu.com>
14795
14796 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
14797 to avoid accidents when debugging with 'sh -x'.
14798 * util/grub-mkrescue.in: Likewise.
14799 * util/grub.d/00_header.in: Likewise.
14800 * util/grub.d/10_hurd.in: Likewise.
14801 * util/grub.d/10_kfreebsd.in: Likewise.
14802 * util/grub.d/10_linux.in: Likewise.
14803 * util/grub.d/10_netbsd.in: Likewise.
14804 * util/grub.d/10_windows.in: Likewise.
14805 * util/grub.d/20_linux_xen.in: Likewise.
14806 * util/grub.d/30_os-prober.in: Likewise.
14807 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14808
1ba9b889
CW
148092010-06-29 Colin Watson <cjwatson@ubuntu.com>
14810
14811 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
14812 last character in the buffer.
14813 Reported by: Vladimir Serbinenko.
14814
dccaf99d
RM
148152010-06-29 Robert Millan <rmh@gnu.org>
14816
14817 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
14818 (Command-line and menu entry commands): Document `badram' command.
14819
d500ed12
RM
148202010-06-28 Robert Millan <rmh@gnu.org>
14821
14822 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
14823 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
14824 command using ${GRUB_BADRAM} as parameter.
14825
20bc84a6
CW
148262010-06-28 Colin Watson <cjwatson@ubuntu.com>
14827
14828 * docs/grub.texi (Device map): New section.
14829 (Themes): New section (stub).
14830 * Makefile.in (docs/grub.info): The info documentation now builds
14831 without errors. Make sure it stays that way.
14832
4045dee1
VS
148332010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14834
14835 Use normal parser for menu entries.
14836 Reported by: Thomas Frauendorfer
14837
14838 * include/grub/parser.h (grub_parser_execute): Don't export.
14839 * normal/menu.c (grub_menu_execute_entry_real): New function.
14840 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
14841
bca58c7b
CW
148422010-06-28 Colin Watson <cjwatson@ubuntu.com>
14843
14844 * docs/grub.texi (Embedded configuration): New section (replacing
14845 old "Preset Menu" stub).
14846 (Images): New section.
14847 (configfile): Note that any menu entries defined in `file' are shown
14848 immediately.
14849
dec53e63
JT
148502010-06-28 Josh Triplett <josh@joshtriplett.org>
14851
14852 * mmap/i386/pc/mmap_helper.S: Set CF on return.
14853
c06e40f7
CW
148542010-06-28 Colin Watson <cjwatson@ubuntu.com>
14855
14856 * util/grub-install.in: Add --debug-image= option.
14857
cb88052b
CW
148582010-06-28 Colin Watson <cjwatson@ubuntu.com>
14859
14860 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
14861 possible on Linux.
14862
14863 * util/deviceiter.c (check_device): Rename to ...
14864 (check_device_readable_unique): ... this. Update all callers.
14865 Maintain and check a list of which devices (by canonicalized name)
14866 have already been seen.
14867 (clear_seen_devices): New function.
14868 (compare_file_names) [__linux__]: New function.
14869 (grub_util_iterate_devices): Clear the list of seen devices on exit
14870 and (just in case) on entry.
14871 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
14872 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
14873 seen-devices list, superseded by general code in check_device.
14874
bbe34652
CW
148752010-06-28 Colin Watson <cjwatson@ubuntu.com>
14876
14877 * commands/cat.c (options): New variable.
14878 (grub_cmd_cat): Parse options. If the --dos option is given, print
14879 DOS-style "\r\n" line endings as simple newlines (Debian bug
14880 #586358).
14881 (GRUB_MOD_INIT): Use extcmd.
14882 (GRUB_MOD_FINI): Likewise.
14883 * docs/grub.texi (cat): Document --dos.
14884
412e09f3
VS
148852010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14886
14887 XEN with Linux grub-mkconfig support.
14888
14889 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
14890 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
14891 GRUB_CMDLINE_XEN_DEFAULT.
14892 * util/grub.d/20_linux_xen.in: New file.
14893
53f3ef38 148942010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
14895
14896 Initialise VGA video on qemu ourselves.
14897
14898 * boot/i386/qemu/boot.S: Don't call 0xc000.
14899 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
14900 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
14901 (kernel_img_HEADERS): Add pci.h.
14902 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
14903 * configure.ac: Force unifont on qemu and yeeloong.
14904 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
14905 (grub_vga_palette_write): Use correct register.
14906 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
14907 Call grub_qemu_init_cirrus.
14908 * kern/i386/qemu/init.c: New file.
14909 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
14910
14911 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
14912
c75be4fb
PR
149132010-06-26 Pavel Roskin <proski@gnu.org>
14914
14915 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
14916 13.
14917
d8034603
CW
149182010-06-26 Colin Watson <cjwatson@ubuntu.com>
14919
14920 * docs/grub.texi (Simple configuration): Explain that
14921 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
14922 set to `true' to disable their respective recovery entries, not
14923 merely set.
14924
3fa06487
CW
149252010-06-26 Colin Watson <cjwatson@ubuntu.com>
14926
14927 Make the `source' command slightly faster.
14928
14929 * normal/main.c (grub_normal_execute): Don't re-read list files when
14930 nested.
14931
e9b29642
CW
149322010-06-23 Colin Watson <cjwatson@ubuntu.com>
14933
14934 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
14935 field position and mask size to red fields from mode_info, not
14936 green.
14937 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
14938 Remove redundant tag->common.framebuffer_type assignment.
14939 Reported by: Seth Goldberg.
14940
e726542f
CW
149412010-06-23 Colin Watson <cjwatson@ubuntu.com>
14942
14943 Sync up other versions of the Linux loader with Robert Millan's
14944 change of 2010-01-09, "Make loader output a bit more user-friendly".
14945
14946 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
14947 grub_dprintf().
14948 (grub_cmd_linux): Likewise.
14949 (grub_cmd_initrd): Likewise.
14950 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
14951 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14952
d6e98a17
CW
149532010-06-21 Colin Watson <cjwatson@ubuntu.com>
14954
14955 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
14956 larger than MEMORY_MAP_SIZE.
14957
14d3f08e
BC
149582010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
14959
14960 Fix parallel build.
14961
14962 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
14963 dependency.
14964 * script/parser.y: #include grub_script.tab.h header.
14965
4f9613a3
VS
149662010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14967
14968 Support >3GiB and <16MiB RAM in i386-qemu.
14969
14970 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
14971 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
14972 (grub_lower_mem): Removed.
14973 (grub_upper_mem): Likewise.
14974 (mem_size): Made static.
14975 (above_4g): New variable.
14976 (grub_machine_mmap_init): Detect small mem_size and above_4g.
14977 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
14978 support.
14979
05e51879
VS
149802010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14981
14982 Cirrus 5446 and Bochs video cards support.
14983
14984 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
14985 video_bochs.mod
14986 (video_cirrus_mod_SOURCES): New variable.
14987 (video_cirrus_mod_CFLAGS): Likewise.
14988 (video_cirrus_mod_LDFLAGS): Likewise.
14989 (video_bochs_mod_SOURCES): Likewise.
14990 (video_bochs_mod_CFLAGS): Likewise.
14991 (video_bochs_mod_LDFLAGS): Likewise.
14992 * include/grub/vga.h: New file.
14993 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
14994 (grub_video_fb_set_page_t): New type.
14995 (grub_video_fb_setup): New prototype.
14996 (grub_video_fb_swap_buffers): Likewise.
14997 (grub_video_fb_get_info_and_fini): Likewise.
14998 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
14999 (CRTC_DATA_PORT): Likewise.
15000 (CRTC_CURSOR): Likewise.
15001 (CRTC_CURSOR_ADDR_HIGH): Likewise.
15002 (CRTC_CURSOR_ADDR_LOW): Likewise.
15003 (CRTC_CURSOR_DISABLE): Likewise.
15004 (update_cursor): Use grub_vga_cr_write.
15005 (grub_vga_text_setcursor): Likewise.
15006 * video/bochs.c: New file.
15007 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
15008 (palette): Likewise.
15009 (palette_size): Likewise.
15010 (framebuffer): New variable.
15011 (grub_video_fb_init): Use 'framebuffer'.
15012 (grub_video_fb_fini): Likewise.
15013 (grub_video_fb_get_info): Likewise.
15014 (grub_video_fb_get_palette): Likewise.
15015 (grub_video_fb_set_palette): Likewise.
15016 (grub_video_fb_set_viewport): Likewise.
15017 (grub_video_fb_get_viewport): Likewise.
15018 (grub_video_fb_map_color): Likewise.
15019 (grub_video_fb_map_rgb): Likewise.
15020 (grub_video_fb_map_rgba): Likewise.
15021 (grub_video_fb_unmap_color): Likewise.
15022 (grub_video_fb_unmap_color_int): Likewise.
15023 (grub_video_fb_fill_rect): Likewise.
15024 (grub_video_fb_blit_bitmap): Likewise.
15025 (grub_video_fb_blit_render_target): Likewise.
15026 (grub_video_fb_scroll): Likewise.
15027 (grub_video_fb_create_render_target): Likewise.
15028 (grub_video_fb_doublebuf_blit_init): Likewise.
15029 (grub_video_fb_set_active_render_target): Handle doublebuffering.
15030 (doublebuf_pageflipping_update_screen): New function.
15031 (doublebuf_pageflipping_init): Likewise.
15032 (grub_video_fb_setup): Likewise.
15033 (grub_video_fb_swap_buffers): Likewise.
15034 (grub_video_fb_get_info_and_fini): Likewise.
15035 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
15036 All users updated.
15037 (doublebuf_pageflipping_commit): Restructured into ...
15038 (doublebuf_pageflipping_set_page): ... this.
15039 (doublebuf_pageflipping_update_screen): Removed.
15040 (doublebuf_pageflipping_init): Likewise.
15041 (double_buffering_init): Likewise.
15042 (grub_video_vbe_setup): Use grub_video_fb_setup.
15043 (grub_video_vbe_swap_buffers): Removed.
15044 (grub_video_vbe_set_active_render_target): Likewise.
15045 (grub_video_vbe_get_active_render_target): Likewise.
15046 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
15047 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
15048 grub_video_fb_set_active_render_target and
15049 grub_video_fb_get_active_render_target.
15050 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
15051 (SEQUENCER_DATA_PORT): Likewise.
15052 (MAP_MASK_REGISTER): Likewise.
15053 (CRTC_ADDR_PORT): Likewise.
15054 (CRTC_DATA_PORT): Likewise.
15055 (START_ADDR_HIGH_REGISTER): Likewise.
15056 (START_ADDR_LOW_REGISTER): Likewise.
15057 (GRAPHICS_ADDR_PORT): Likewise.
15058 (GRAPHICS_DATA_PORT): Likewise.
15059 (READ_MAP_REGISTER): Likewise.
15060 (INPUT_STATUS1_REGISTER): Likewise.
15061 (INPUT_STATUS1_VERTR_BIT): Likewise.
15062 (get_map_mask): Use grub_vga_sr_read.
15063 (set_map_mask): Use grub_vga_sr_write.
15064 (set_read_map): Use grub_vga_gr_write.
15065 (set_start_address): Use grub_vga_cr_write.
15066 * video/sm712.c (framebuffer): Remove leftover fields.
15067
4321c64a
CW
150682010-06-20 Colin Watson <cjwatson@ubuntu.com>
15069
15070 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
15071 setting GRUB_VIDEO_BACKEND. Make it available as a user override
15072 instead. Replace the gfxterm backend check with a check that
15073 ${GRUB_PREFIX}/video.lst is non-empty.
15074 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
15075 again.
15076 (load_video): New generated function. Call it before loading
15077 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
15078 * util/grub.d/10_linux.in (linux_entry): Call load_video.
15079 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
15080 * docs/grub.texi (Simple configuration): Document
15081 GRUB_VIDEO_BACKEND.
15082
150832010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
15084
15085 Use video functions in linux and xnu loaders.
15086
15087 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
15088 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
15089 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
15090 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
15091 loader/i386/pc/linux.c.
15092 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
15093 (find_line_len): Removed.
15094 (find_framebuf): Likewise.
15095 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
15096 * loader/i386/efi/xnu.c: Removed.
15097 * loader/i386/pc/xnu.c: Moved from here...
15098 * loader/i386/xnu.c: ...here.
15099
15100 Enable priorities in video drivers.
15101
15102 * include/grub/video.h (grub_video_adapter_prio_t): New type.
15103 (grub_video_adapter): New field prio.
15104 (grub_video_register): Respect prio when inserting.
15105 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
15106 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
15107 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
15108 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
15109 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
15110 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
15111 * video/sm712.c (grub_video_sm712_adapter): Likewise.
15112
15113 Fix SDL driver ID.
15114
15115 * include/grub/video.h (grub_video_driver_id_t): New value
15116 GRUB_VIDEO_DRIVER_SDL.
15117 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
15118
7d24e434
CW
151192010-06-17 Colin Watson <cjwatson@ubuntu.com>
15120
15121 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
15122 argument to printf.
15123 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
15124
c88a83f6
CW
151252010-06-17 Colin Watson <cjwatson@ubuntu.com>
15126
15127 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
15128 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
15129
094dfb69
CW
151302010-06-17 Colin Watson <cjwatson@ubuntu.com>
15131
15132 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
15133 directly, and recommend grub-install instead.
15134 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
15135
2164da6b
CW
151362010-06-17 Colin Watson <cjwatson@ubuntu.com>
15137
15138 Fix i386-pc prefix handling with nested partitions (Debian bug
15139 #585068). Note that the case where the core image is booted using
15140 multiboot and relocated from its original location still requires
15141 more work.
15142
15143 * kern/i386/pc/init.c (make_install_device): If the prefix starts
15144 with "(,", fill the boot drive in between those two characters, but
15145 expect that a full partition specification including partition map
15146 names will follow.
15147 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
15148 specified, write a prefix without the drive name but including a
15149 full partition specification.
15150
044e2e60
CW
151512010-06-16 Colin Watson <cjwatson@ubuntu.com>
15152
15153 * util/grub-mkconfig.in: Ignore non-option arguments, for
15154 compatibility with older versions (before 2010-06-12) which did the
15155 same. In particular, this makes it easier to ship an update-grub
15156 wrapper which is compatible with that used with GRUB Legacy (Debian
15157 bug #586056).
15158
5591324f
GS
151592010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15160
15161 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
15162 for manual page generation.
15163
662e24d5
GS
151642010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15165
15166 * po/POTFILES: Remove leftover commands/handler.c.
15167
8d70754e
CW
151682010-06-14 Colin Watson <cjwatson@ubuntu.com>
15169
15170 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
15171 left this script non-functional.
15172
41160e2e
CW
151732010-06-14 Colin Watson <cjwatson@ubuntu.com>
15174
15175 * docs/man/grub-emu.h2m: New file.
15176
b5309cc1
CW
151772010-06-13 Colin Watson <cjwatson@ubuntu.com>
15178
15179 * docs/grub.texi (Commands): Document reduced command set in rescue
15180 mode.
15181 (cpuid): New section.
15182
fcb2d090
GS
151832010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
15184
15185 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
15186 new partition naming style.
15187 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
15188
96e5c556
BC
151892010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
15190
15191 Add "-o grub.iso" like cmdline options support.
15192
15193 * util/grub-install.in: Improve cmdline option parsing.
15194 * util/grub-mkconfig.in: Likewise.
15195 * util/grub-mkrescue.in: Likewise.
15196 * util/grub-reboot.in: Likewise.
15197 * util/grub-set-default.in: Likewise.
15198 * util/i386/efi/grub-install.in: Likewise.
15199 * util/ieee1275/grub-install.in: Likewise.
15200 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15201
c16be99b
CW
152022010-06-12 Colin Watson <cjwatson@ubuntu.com>
15203
15204 * .bzrignore: Ignore 41_custom.
15205
ce08a9fb
TS
152062010-06-12 Thomas Schmitt <scdbackup@gmx.net>
15207
15208 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
15209
7beac90c
CW
152102010-06-12 Colin Watson <cjwatson@ubuntu.com>
15211
15212 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
15213 prototype declarations.
15214
15215 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
15216 generating fs, partmap, and video lists.
15217 * include/grub/fs.h (grub_fs_register): Omit prototype if
15218 GRUB_LST_GENERATOR is defined.
15219 * include/grub/partition.h (grub_partition_map_register): Likewise.
15220 * include/grub/video.h (grub_video_register): Likewise.
15221
1c8f0f8d
JM
152222010-06-12 Javier Martín <lordhabbit@gmail.com>
15223
15224 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
15225
a6085973
TS
152262010-06-12 Thomas Schmitt <scdbackup@gmx.net>
15227
15228 * util/grub-mkrescue.in: Support --xorriso argument.
15229
25c56d29
VS
152302010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15231
15232 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
15233 Suggested by: Thomas Schmitt.
15234
e03e4b24
VS
152352010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15236
15237 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
15238 Suggested by: Thomas Schmitt.
15239
57711df6
VS
152402010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15241
15242 custom.cfg support.
15243
15244 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
15245 * util/grub.d/41_custom.in: New file.
15246
ee62c427
CW
152472010-06-12 Colin Watson <cjwatson@ubuntu.com>
15248
15249 * util/grub-mkrescue.in (make_image): Remove sh module, which has
15250 been merged back into normal.
15251
283af07a
CW
152522010-06-11 Colin Watson <cjwatson@ubuntu.com>
15253
15254 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
15255 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
15256
56a0d956
CW
152572010-06-11 Colin Watson <cjwatson@ubuntu.com>
15258
15259 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
15260 when generating manual pages.
15261 * docs/man/grub-bin2h.h2m: New file.
15262 * docs/man/grub-editenv.h2m: New file.
15263 * docs/man/grub-fstest.h2m: New file.
15264 * docs/man/grub-install.h2m: New file.
15265 * docs/man/grub-macho2img.h2m: New file.
15266 * docs/man/grub-mkconfig.h2m: New file.
15267 * docs/man/grub-mkdevicemap.h2m: New file.
15268 * docs/man/grub-mkfont.h2m: New file.
15269 * docs/man/grub-mkimage.h2m: New file.
15270 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
15271 * docs/man/grub-mkrelpath.h2m: New file.
15272 * docs/man/grub-mkrescue.h2m: New file.
15273 * docs/man/grub-ofpathname.h2m: New file.
15274 * docs/man/grub-pe2elf.h2m: New file.
15275 * docs/man/grub-probe.h2m: New file.
15276 * docs/man/grub-reboot.h2m: New file.
15277 * docs/man/grub-script-check.h2m: New file.
15278 * docs/man/grub-set-default.h2m: New file.
15279 * docs/man/grub-setup.h2m: New file.
15280
3a37e322
VS
152812010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
15282
15283 Use FOR_* macros instead of *_iterate whenever possible.
15284
15285 * commands/handler.c: Removed.
15286 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
15287 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
15288 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15289 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
15290 (grub_probe_SOURCES): Remove kern/parser.c.
15291 (util/grub-script-check.c_DEPENDENCIES): Removed.
15292 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
15293 and grub_script_check_init.c.
15294 (grub_script_check_init.lst): Removed.
15295 (grub_script_check_init.h): Likewise.
15296 (grub_script_check_init.c): Likewise.
15297 (pkglib_MODULES): Remove handler.mod and sh.mod.
15298 (handler_mod_SOURCES): Removed.
15299 (handler_mod_CFLAGS): Likewise.
15300 (handler_mod_LDFLAGS): Likewise.
15301 (normal_mod_SOURCES): Remove normal/handler.c.
15302 Add script/main.c, script/script.c, script/execute.c,
15303 script/function.c, script/lexer.c, grub_script.tab.c
15304 and grub_script.yy.c.
15305 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15306 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15307 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
15308 (grub_setup_SOURCES): Remove kern/parser.c.
15309 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15310 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
15311 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
15312 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15313 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15314 (grub_setup_SOURCES): Remove kern/parser.c.
15315 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15316 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
15317 * include/grub/command.h (grub_command_iterate): Removed.
15318 (FOR_COMMANDS): New macro.
15319 * include/grub/dl.h (grub_dl): New member next.
15320 (grub_dl_iterate): Removed.
15321 (grub_dl_head): New variable declaration.
15322 (FOR_DL_MODULES): New macro.
15323 * include/grub/fs.h: Include list.h.
15324 (grub_fs): Make next first element.
15325 (grub_fs_list): New variable declaration.
15326 (grub_fs_register): Make inline.
15327 (grub_fs_unregister): Likewise.
15328 (grub_fs_iterate): Removed.
15329 (FOR_FILESYSTEMS): New macro.
15330 * include/grub/handler.h: Removed.
15331 * include/grub/list.h (grub_list_hook_t): Removed.
15332 (grub_list_test_t): Likewise.
15333 (grub_list_pop): Likewise.
15334 (grub_list_iterate): Likewise.
15335 (grub_list_insert): Likewise.
15336 (FOR_LIST_ELEMENTS): New macro.
15337 * include/grub/parser.h (grub_parser_class): Removed.
15338 (grub_parser_register): Likewise.
15339 (grub_parser_unregister): Likewise.
15340 (grub_parser_get_current): Likewise.
15341 (grub_parser_set_current): Likewise.
15342 (grub_register_rescue_parser): Likewise.
15343 (grub_rescue_parse_line): New function.
15344 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
15345 * include/grub/script_sh.h (grub_script_function_list): New variable
15346 declaration.
15347 (FOR_SCRIPT_FUNCTIONS): New macro.
15348 (grub_script_function_iterate): Removed.
15349 (grub_normal_parse_line): New prototype.
15350 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
15351 (FOR_DISABLED_TERM_INPUTS): Likewise.
15352 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
15353 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
15354 * include/grub/video.h (grub_video_adapter): Move 'next' to first
15355 element.
15356 (grub_video_register): Inline.
15357 (grub_video_unregister): Likewise.
15358 (grub_video_adapter_list): New variable declaration.
15359 (grub_video_iterate): Removed.
15360 (FOR_VIDEO_ADAPTERS): New macro.
15361 * kern/dl.c (grub_dl_list): Removed. All users updated.
15362 (grub_dl_iterate): Removed.
15363 * kern/fs.c (grub_fs_list): Make global.
15364 (grub_fs_register): Removed.
15365 (grub_fs_unregister): Likewise.
15366 (grub_fs_iterate): Likewise.
15367 * kern/handler.c: Removed.
15368 * kern/list.c (grub_list_pop): Removed.
15369 (grub_list_iterate): Likewise.
15370 (grub_list_insert): Likewise.
15371 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
15372 (grub_prio_list_insert): Don't use grub_list_insert.
15373 * kern/main.c (grub_register_rescue_parser): Don't call
15374 grub_register_rescue_parser.
15375 * kern/parser.c (grub_parser_class): Removed.
15376 (grub_parser_execute): Use grub_rescue_parse_line.
15377 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
15378 (grub_rescue_parser): Removed.
15379 (grub_register_rescue_parser): Likewise.
15380 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
15381 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
15382 (grub_auth_check_authentication): Likewise.
15383 * normal/completion.c (iterate_command): Removed.
15384 (grub_normal_do_completion): Use FOR_COMMANDS.
15385 * normal/handler.c: Removed.
15386 * normal/main.c (read_config_file): Remove parser changing.
15387 (grub_normal_execute): Don't call read_handler_list.
15388 (grub_normal_read_line_real): Statically allocate prompt.
15389 (grub_cmdline_run): Use grub_normal_parse_line.
15390 (GRUB_MOD_FINI): Don't call free_handler_list.
15391 * normal/menu_entry.c (run): Likewise.
15392 * script/function.c (grub_script_function_list): Make global.
15393 (grub_script_function_iterate): Removed.
15394 * script/main.c (grub_normal_parse_line): Make global.
15395 (grub_sh_parser): Removed.
15396 (GRUB_MOD_INIT): Likewise.
15397 (GRUB_MOD_FINI): Likewise.
15398 * tests/lib/functional_test.c (grub_functional_test): Use
15399 FOR_LIST_ELEMENTS.
15400 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
15401 (grub_test_run): Use FOR_LIST_ELEMENTS.
15402 * tests/lib/unit_test.c (main): Likewise.
15403 * util/deviceiter.c (grub_util_iterate_devices): Don't use
15404 grub_list_pop.
15405 * util/grub-fstest.c (grub_term_input_class): Removed.
15406 (grub_term_output_class): Likewise.
15407 * util/grub-probe.c: Likewise.
15408 * util/i386/pc/grub-setup.c: Likewise.
15409 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15410 * util/grub-script-check.c (main): Don't call grub_init_all and
15411 grub_fini_all.
15412 * video/video.c (grub_video_adapter_list): Make global.
15413 (grub_video_register): Removed.
15414 (grub_video_unregister): Likewise.
15415 (grub_video_iterate): Likewise.
15416
6289c3a7
VS
154172010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
15418
15419 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
15420 reported by Henrique Ferreiro.
15421
91460247
RM
154222010-06-09 Robert Millan <rmh@gnu.org>
15423
15424 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
15425 ones, when both are available.
15426
0ea7c4f9
GS
154272010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15428
15429 Make --version uniform and avoid hard-coded program name.
15430
15431 * util/grub-mkimage.c (main): Use `program_name' instead of
15432 hard-coded string.
15433 * util/i386/pc/grub-setup.c (main): Likewise.
15434 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
15435 * util/grub-install.in: Save the basename of $0 in $self, and use the
15436 latter in informational messages. Use the same format for --version
15437 as the binary programs.
15438 * util/grub-mkconfig.in: Likewise.
15439 * util/grub-mkrescue.in: Likewise.
15440 * util/grub-reboot.in: Likewise.
15441 * util/grub-set-default.in: Likewise.
15442 * util/i386/efi/grub-install.in: Likewise.
15443 * util/ieee1275/grub-install.in: Likewise.
15444 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15445
e8a6f3b6
GS
154462010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15447
15448 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
15449 embedding area. Use <= instead of == when checking for non-emptiness.
15450
f4d095d7
GS
154512010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15452
15453 * configure.ac: Add `.' to the directories searched for unifont.
15454
50e532ca
CW
154552010-06-08 Colin Watson <cjwatson@ubuntu.com>
15456
15457 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
15458 grub_script.yy.h.
15459
d39f3dec
CW
154602010-06-08 Colin Watson <cjwatson@ubuntu.com>
15461
15462 * docs/grub.texi (History): Expand to cover GRUB 2.
15463 (Serial terminal): Refer to `terminal_input' and `terminal_output'
15464 commands, not `terminal'.
15465 (serial): Likewise.
15466 (terminal_input): New section.
15467 (terminal_output): New section.
15468 (uppermem): New section (stub).
15469 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
15470
6ef0ddb4
CW
154712010-06-08 Colin Watson <cjwatson@ubuntu.com>
15472
15473 * docs/grub.texi (Security): Menu entries are unrestricted by
15474 default, not restricted to superusers as I had previously thought.
15475 Reword to account for this.
15476
e0f4c438
CW
154772010-06-07 Colin Watson <cjwatson@ubuntu.com>
15478
15479 * kern/emu/misc.c (device_mapper_null_log): New function.
15480 (grub_device_mapper_supported): New function.
15481 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
15482 prototype.
15483 * kern/emu/hostdisk.c (find_partition_start): Check whether
15484 device-mapper is supported before trying to use it.
15485 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
15486
da908200
CW
154872010-06-07 Colin Watson <cjwatson@ubuntu.com>
15488
15489 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
15490 (File name syntax): Likewise.
15491 (help): --all is no longer supported in GRUB 2. Be more precise
15492 about pattern matching.
15493
fb55c3ac
CW
154942010-06-07 Colin Watson <cjwatson@ubuntu.com>
15495
15496 * normal/completion.c (grub_normal_do_completion): When completing
15497 arguments to "set" and the current word contains an equals sign,
15498 skip to after the equals sign before starting completion.
15499
258c2573
CW
155002010-06-07 Colin Watson <cjwatson@ubuntu.com>
15501
15502 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
15503
ee75515e
CW
155042010-06-07 Colin Watson <cjwatson@ubuntu.com>
15505
15506 * docs/grub.texi (Network): New section.
15507 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
15508 `(nd)' as in GRUB Legacy.
15509 (pxe_unload): New section.
15510
a6a700aa
CW
155112010-06-07 Colin Watson <cjwatson@ubuntu.com>
15512
15513 * docs/grub.texi (Troubleshooting): `echo' is not usually available
15514 in the rescue shell, so recommend using `set' instead. Thanks,
15515 Jordan Uggla.
15516
4003dd38
CW
155172010-06-07 Colin Watson <cjwatson@ubuntu.com>
15518
15519 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
15520 (password): New section.
15521 (password_pbkdf2): New section.
15522 (search): New section.
15523 (Security): New section.
15524 (Troubleshooting): New section, currently very incomplete.
15525 (Invoking grub-mkpasswd-pbkdf2): New section.
15526 (Internals): New section, currently very incomplete.
15527
e1cbcc40
CW
155282010-06-07 Colin Watson <cjwatson@ubuntu.com>
15529
15530 * util/grub.d/00_header.in: Add some more quoting (of
15531 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
15532 work again.
15533 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
15534
db8fa1ad
CW
155352010-06-07 Colin Watson <cjwatson@ubuntu.com>
15536
15537 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
15538 to `count', fixing variable shadowing that broke the -c option.
15539
155402010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
15541
15542 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
15543 in case they contain spaces.
15544
f28a9212
CW
155452010-06-04 Colin Watson <cjwatson@ubuntu.com>
15546
15547 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
15548 "part_" to partmap module names, in line with grub-install.
15549 Reported by: Jindřich Makovička (Debian bug #584426).
15550
9cdfe32f
CW
155512010-06-04 Colin Watson <cjwatson@ubuntu.com>
15552
15553 * util/grub-mkimage.c: Make target-related error messages slightly
15554 more helpful; -O talks about "format". Explicitly point to the use
15555 of -O if no target is specified.
15556 Reported by: Didier Raboud (Debian bug #584415).
15557
795b593a
CW
155582010-06-03 Colin Watson <cjwatson@ubuntu.com>
15559
15560 * INSTALL: Document several build requirements for optional features
15561 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
15562
9d9b5833
GS
155632010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
15564
15565 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
15566 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
15567 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
15568
0819fec8
CW
155692010-06-02 Colin Watson <cjwatson@ubuntu.com>
15570
15571 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
15572 Thanks to Jordan Uggla for spotting this.
15573
49396b4f
VS
155742010-06-02 Aleš Nesrsta <starous@volny.cz>
15575
15576 Finally make USB usable.
15577
15578 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
15579 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
15580 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
15581 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
15582 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
15583 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
15584 (GRUB_OHCI_FSMPS): Likewise.
15585 (GRUB_OHCI_PERIODIC_START): Likewise.
15586 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
15587 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
15588 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
15589 (GRUB_OHCI_SET_PORT_RESET): Likewise.
15590 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
15591 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
15592 (grub_ohci_transaction): Likewise.
15593 (grub_ohci_transfer): Improve condition detection algorithms.
15594 Handle toggle property. Program the transactions correctly.
15595 Improve error handling. Various important fixups.
15596 (grub_ohci_portstatus): Put register writes in right order.
15597 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
15598 (grub_uhci_transfer): Don't show "failed" message on success.
15599 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
15600 array.
15601 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
15602 determine its size.
15603 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
15604 before initialization is completed. Use IN direction for empty
15605 transfers. Use last_trans and compute toggle.
15606 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
15607 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
15608 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
15609 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
15610 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
15611 (grub_usb_device): Increase toggle to 256.
15612 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
15613 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
15614 GRUB_USBMS_SUBCLASS_SFF8070.
15615 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
15616 (grub_scsi_inquiry): New member page and alloc_length.
15617 (grub_scsi_request_sense): New structure.
15618 (grub_scsi_request_sense_data): Likewise.
15619 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
15620 control.
15621 * disk/scsi.c (grub_scsi_request_sense): New function.
15622 (grub_scsi_test_unit_ready): Likewise.
15623 (grub_scsi_inquiry): Fill new fields.
15624 (grub_scsi_read_capacity): Likewise.
15625 (grub_scsi_read10): Add request sense at the end.
15626 (grub_scsi_read12): Likewise.
15627 (grub_scsi_write10): Likewise.
15628 (grub_scsi_write12): Likewise.
15629 (grub_scsi_open): Add Test Unit Ready.
15630 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
15631 Support additional subclasses. Con't clear halt yet. Activate the
15632 proper config. Calculate LUNs correctly.
15633 (grub_usbms_transfer): Various important fixups.
15634
156352010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15636
15637 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
15638 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
15639 (grub_ohci_fini_hw): New function.
15640 (grub_ohci_restore_hw): Likewise.
15641 (GRUB_MOD_INIT(ohci)): Register preboot hook.
15642 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
15643 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
15644
156452010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15646
15647 Dedicated DMA allocations.
15648
15649 * bus/pci.c (grub_memalign_dma32): New function
15650 (grub_dma_free): Likewise.
15651 (grub_dma_get_virt): Likewise.
15652 (grub_dma_get_phys): Likewise.
15653 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
15654 (grub_ohci_pci_iter): Use dma32_alloc.
15655 (grub_ohci_transfer): Likewise.
15656 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
15657 (grub_usb_bulk_readwrite): Likewise.
15658 * include/grub/pci.h: Add declarations.
15659
156602010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15661
15662 CS5536 support.
15663
15664 * bus/cs5536.c: New file.
15665 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
15666 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
15667 (cs5536_mod_SOURCES): New variable.
15668 (cs5536_mod_CFLAGS): Likewise.
15669 (cs5536_mod_LDFLAGS): Likewise.
15670 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
15671 machine/pci.h.
15672 (kernel_img_SOURCES): Add bus/cs5536.c.
15673 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
15674 usb_keyboard.mod.
15675 (usb_mod_SOURCES): New variable.
15676 (usb_mod_CFLAGS): New variable.
15677 (usb_mod_LDFLAGS): New variable.
15678 (usbtest_mod_SOURCES): New variable.
15679 (usbtest_mod_CFLAGS): New variable.
15680 (usbtest_mod_LDFLAGS): New variable.
15681 (ohci_mod_SOURCES): New variable.
15682 (ohci_mod_CFLAGS): New variable.
15683 (ohci_mod_LDFLAGS): New variable.
15684 (usbms_mod_SOURCES): New variable.
15685 (usbms_mod_CFLAGS): New variable.
15686 (usbms_mod_LDFLAGS): New variable.
15687 (usb_keyboard_mod_SOURCES): New variable.
15688 (usb_keyboard_mod_CFLAGS): New variable.
15689 (usb_keyboard_mod_LDFLAGS): New variable.
15690 * include/grub/smbus.h: New file.
15691 * include/grub/cs5536.h: New file.
15692
0b35b2a9
CW
156932010-06-02 Colin Watson <cjwatson@ubuntu.com>
15694
15695 * util/grub.d/00_header.in: Add safety check to make sure that
15696 ${locale_dir} exists before trying to probe it.
15697
ca0afd5b
CW
156982010-06-02 Colin Watson <cjwatson@ubuntu.com>
15699
15700 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
15701 per the GNU Coding Standards; this is now too obscure to be worth
15702 documenting.
15703 (QNX): Likewise.
15704 (chainloader): Remove cross-reference to `SCO UnixWare'.
15705
1c41aa78
CW
157062010-06-02 Colin Watson <cjwatson@ubuntu.com>
15707
15708 * docs/grub.texi (Chain-loading): New section.
15709 (DOS/Windows): New section, borrowed from GRUB Legacy with details
15710 adjusted for GRUB 2.
15711 (SCO UnixWare): Likewise.
15712 (QNX): Likewise.
15713 (chainloader): Add reference to `Block list syntax'.
15714 (drivemap): New section.
15715 (parttool): New section.
15716
bb8ea0f5
CW
157172010-06-02 Colin Watson <cjwatson@ubuntu.com>
15718
15719 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
15720 the grub shell'.
15721 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
15722 (Installing GRUB using grub-install): Remove reference to the grub
15723 shell; mention `grub-mkimage' and `grub-setup' instead.
15724 (Invoking grub-install): Likewise.
15725 (Interface): Add reference to `Menu entry editor'.
15726 (serial): Remove `--device' option.
15727
288dd6ed
CW
157282010-06-02 Colin Watson <cjwatson@ubuntu.com>
15729
15730 * docs/grub.texi (Configuration): New section, documenting
15731 configuration file generation using grub-mkconfig. I've left a slot
15732 for documenting the full shell scripting format but have not yet
15733 started on writing that up.
15734 (Invoking grub-mkconfig): New section.
15735
34c9f0e9
CW
157362010-06-02 Colin Watson <cjwatson@ubuntu.com>
15737
15738 * docs/grub.texi (direntry): Remove grub-terminfo reference.
15739 (GNU GRUB manual): Likewise.
15740 (General commands): Update description of `terminfo' for GRUB 2.
15741
9121567e
CW
157422010-06-02 Colin Watson <cjwatson@ubuntu.com>
15743
15744 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
15745 (GRUB_MOD_INIT): Fix capitalisation.
15746 * docs/grub.texi (Command-line and menu entry commands): Document
15747 gettext and gptsync commands.
15748
ab631611
CW
157492010-06-02 Colin Watson <cjwatson@ubuntu.com>
15750
15751 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
15752 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
15753
bde4a9ac
CW
157542010-06-01 Colin Watson <cjwatson@ubuntu.com>
15755
15756 Add btrfs probing support, currently only in the single-device case.
15757
15758 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
15759 function.
15760 (grub_guess_root_device): Call find_root_device_from_mountinfo
15761 before looking in /dev.
15762
b1d17e10
VS
157632010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
15766 GRUB_DISK_SIZE_UNKNOWN.
15767 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
15768
dfbfe004
JS
157692010-05-31 Jiro SEKIBA <jir@unicus.jp>
15770
15771 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
15772 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
15773 corrupted or not synced properly.
15774
c2ffc8e9
VS
157752010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15776
15777 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
15778 Reported by: Seth Goldberg.
15779
56293166
VS
157802010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15781
15782 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
15783 addition of dest.
15784 Reported by: Seth Goldberg.
15785
7620e7de
VS
157862010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15787
15788 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
15789 Reported by: Seth Goldberg.
15790
c837af3f
VS
157912010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15792
15793 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
15794 64-bit address as signed on MIPS.
15795
c7c75cf4
CW
157962010-05-28 Colin Watson <cjwatson@ubuntu.com>
15797
15798 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
15799 to the empty string.
15800
fa4b8490
BC
158012010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
15802
15803 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
15804
15805 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
15806 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
15807 * kern/misc.c (__enable_execute_stack): Disable on
15808 GRUB_MACHINE_EMU.
15809
a33075b9
CW
158102010-05-28 Colin Watson <cjwatson@ubuntu.com>
15811
15812 Make grub-probe work with symbolic links under /dev/mapper as well
15813 as with real block devices. The Linux world seems to be (at best)
15814 in transition here, and GRUB shouldn't get caught in the middle.
15815
15816 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
15817 /dev/mapper.
15818
d8708134
CW
158192010-05-27 Colin Watson <cjwatson@ubuntu.com>
15820
15821 * util/grub-script-check.c (main): Ensure defined behaviour on empty
15822 input files (in which case exit zero).
15823
db2102a0
CW
158242010-05-27 Colin Watson <cjwatson@ubuntu.com>
15825
15826 * kern/emu/misc.c (canonicalize_file_name): realpath can still
15827 return NULL for various reasons even if it has a maximum-length
15828 buffer: for example, there might be a symlink loop, or the path
15829 might exceed PATH_MAX. If this happens, return NULL.
15830
5fdba519
RM
158312010-05-27 Robert Millan <rmh@gnu.org>
15832
15833 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
15834 partmap module to handle cross-partmap setups.
15835 Reported by Orestes Mas. Gràcies!
15836
d1d368e4
CW
158372010-05-27 Colin Watson <cjwatson@ubuntu.com>
15838
15839 * util/grub-mkrescue.in: Initialise override_dir rather than
15840 assuming that it's unset or empty in the environment.
15841
95ac3c73
GS
158422010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
15843
15844 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
15845 variable index into p_index to suppress a warning with -Wshadow.
15846
7d8c0213
BC
158472010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
15848
15849 * INSTALL: Added flex >= 2.5.35 requirement.
15850
db4d5813
VS
158512010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15852
15853 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
15854
f24f4300
VS
158552010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15856
15857 cmostest support.
15858
15859 * commands/i386/cmostest.c: New file.
15860 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
15861 (cmostest_mod_SOURCES): New variable.
15862 (cmostest_mod_CFLAGS): Likewise.
15863 (cmostest_mod_LDFLAGS): Likewise.
15864 * conf/i386-pc.rmk: Likewise.
15865 * docs/grub.texi (Vendor power-on keys): New section.
15866 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
15867 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
15868 and GRUB_BUTTON_CMOS_ADDRESS.
15869 * util/grub.d/00_header.in: Handle powering-on by separate button.
15870
ad603f61
VS
158712010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15872
15873 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
15874 Removed drawing_scrollbar argument. All users updated
15875 Fixes #29792.
15876 Reported by Jo Shields
15877
3ecb080a
VS
158782010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15879
15880 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
15881 buffer since gfxterm handles double repaint.
15882
5f2316c1
VS
158832010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15884
15885 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
15886 * term/gfxterm.c (real_scroll): Likewise.
15887
9a25f885
VS
158882010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15889
15890 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
15891 before calling BIOS.
15892
39fbb79a
VS
158932010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15894
15895 * include/grub/i18n.h: Always enable grub_gettext.
15896
228cfa97
VS
158972010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15898
15899 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
15900 partition naming style.
15901
21717c8f
CW
159022010-05-21 Colin Watson <cjwatson@ubuntu.com>
15903
15904 * util/grub-mkconfig.in: Fix handling of -o so that it works when
15905 not the first option.
15906
c0f48e65
CW
159072010-05-20 Colin Watson <cjwatson@ubuntu.com>
15908
15909 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
15910
96779aec
CW
159112010-05-20 Colin Watson <cjwatson@ubuntu.com>
15912
15913 * util/misc.c: Move inclusion of <limits.h> to ...
15914 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
15915
fa9d256e
GS
159162010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
15917
15918 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
15919 Fix merge error in NetBSD code.
15920 (find_partition_start) [__NetBSD__]: Likewise.
15921
123b7a85
BC
159222010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
15923
15924 Fix grub-mkrescue usage unit testing.
15925
15926 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
15927
74276c0d
CF
159282010-05-18 Christian Franke <franke@computer.org>
15929
15930 * util/grub.d/10_windows.in: Use path names instead of
15931 drive letters to prevent warning from Cygwin 1.7.
15932 Add drivemap command to menuentry if needed.
15933
c4f7b523
ST
159342010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
15935
15936 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
15937 gnumach and gnumach.gz.
15938
95b97950
VS
159392010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15940
15941 * include/grub/i18n.h (gettext): Inline instead of using #define.
15942 (grub_gettext): Likewise.
15943 (_): Likewise.
15944
01b8d2d7
VS
159452010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15946
15947 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
15948 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
15949 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
15950 (main): Add a slash after pkglibdirroot.
15951
654e1d1e
VS
159522010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15953
15954 * util/grub-install.in: Add missing "in" keyword.
15955
26966aeb
VS
159562010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15957
15958 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
15959 Reported by: Seth Goldberg.
15960
75006747
VS
159612010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15962
15963 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
15964
74cbf5bd
CW
159652010-05-18 Colin Watson <cjwatson@ubuntu.com>
15966
15967 * configure.ac: Check for Linux device-mapper support.
15968
15969 * util/hostdisk.c (device_is_mapped): New function.
15970 (find_partition_start): New function, partly broken out from
15971 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
15972 device-mapper support added.
15973 (linux_find_partition): Use find_partition_start.
15974 (convert_system_partition_to_system_disk): Add `st' argument.
15975 Support Linux /dev/mapper/* devices if device-mapper support is
15976 available; only DM-RAID devices are understood at present.
15977 (find_system_device): Add `st' argument. Pass it to
15978 convert_system_partition_to_system_disk.
15979 (grub_util_biosdisk_get_grub_dev): Pass stat result to
15980 find_system_device and convert_system_partition_to_system_disk. Use
15981 find_partition_start.
15982
15983 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
15984 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
15985 * util/deviceiter.c [__linux__]: Define MINOR.
15986 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
15987 * util/mkdevicemap.c (grub_putchar): New function.
15988 (grub_getkey): New function.
15989 (grub_refresh): New function.
15990 (main): Set debug=all if -v -v is used.
15991
355b51e9
CW
159922010-05-18 Colin Watson <cjwatson@ubuntu.com>
15993
15994 Fix build with non-GNU libcs.
15995
15996 * util/misc.c (canonicalize_file_name): Move to ...
15997 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
15998 grub_make_system_path_relative_to_its_root.
15999
7fb5c25f
CW
160002010-05-18 Colin Watson <cjwatson@ubuntu.com>
16001
16002 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
16003 we handle finding grub-mkimage. Default to finding grub-mkimage in
16004 ${bindir} with program_transform_name applied, and provide a
16005 --grub-mkimage option to override this.
16006
1d3293d6
VS
160072010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16008
16009 Remove grub-mkisofs.
16010
16011 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
16012 (grub_mkisofs_SOURCES): Removed.
16013 (grub_mkisofs_CFLAGS): Removed.
16014 * util/mkisofs/defaults.h: Removed.
16015 * util/mkisofs/eltorito.c: Likewise.
16016 * util/mkisofs/exclude.h: Likewise.
16017 * util/mkisofs/hash.c: Likewise.
16018 * util/mkisofs/include/: Likewise.
16019 * util/mkisofs/include/fctldefs.h: Likewise.
16020 * util/mkisofs/include/mconfig.h: Likewise.
16021 * util/mkisofs/include/prototyp.h: Likewise.
16022 * util/mkisofs/include/statdefs.h: Likewise.
16023 * util/mkisofs/iso9660.h: Likewise.
16024 * util/mkisofs/joliet.c: Likewise.
16025 * util/mkisofs/match.c: Likewise.
16026 * util/mkisofs/match.h: Likewise.
16027 * util/mkisofs/mkisofs.c: Likewise.
16028 * util/mkisofs/mkisofs.h: Likewise.
16029 * util/mkisofs/msdos_partition.h: Likewise.
16030 * util/mkisofs/multi.c: Likewise.
16031 * util/mkisofs/name.c: Likewise.
16032 * util/mkisofs/rock.c: Likewise.
16033 * util/mkisofs/tree.c: Likewise.
16034 * util/mkisofs/write.c: Likewise.
16035
5dde9afe
VS
160362010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16037
16038 Unify grub-mkimage accross platforms.
16039
16040 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
16041 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
16042 (grub_mkelfimage_SOURCES): Removed.
16043 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
16044 (util/grub-mkimage.c_DEPENDENCIES): .. this.
16045 (bin_UTILITIES): Add grub-mkimage.
16046 (grub_mkimage_SOURCES): New variable.
16047 (kernel_img_HEADERS): Remove machine/kernel.h.
16048 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
16049 (pkglib_PROGRAMS): Add kernel.img.
16050 (kernel_img_HEADERS): Add machine/kernel.h.
16051 (kernel_img_FORMAT): Removed.
16052 (bin_UTILITIES): Remove grub-mkimage.
16053 (grub_mkimage_SOURCES): Removed.
16054 (grub_mkimage_CFLAGS): Likewise.
16055 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16056 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
16057 (pkglib_PROGRAMS): Add kernel.img.
16058 (bin_UTILITIES): Remove grub-mkimage.
16059 (grub_mkimage_SOURCES): Removed.
16060 (grub_mkimage_CFLAGS): Likewise.
16061 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16062 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
16063 (pkglib_PROGRAMS): Add kernel.img.
16064 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
16065 (pkglib_PROGRAMS): Add kernel.img.
16066 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
16067 (grub_mkimage_SOURCES): Removed.
16068 (grub_mkimage_CFLAGS): Likewise.
16069 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16070 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
16071 (pkglib_PROGRAMS): Add kernel.img.
16072 (bin_UTILITIES): Remove grub-mkimage.
16073 (grub_mkimage_SOURCES): Removed.
16074 (grub_mkimage_CFLAGS): Likewise.
16075 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16076 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
16077 (grub_mkimage_SOURCES): Removed.
16078 (grub_mkimage_CFLAGS): Likewise.
16079 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16080 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
16081 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
16082 (grub_pe32_optional_header): ... this.
16083 (grub_pe64_optional_header): ... and this. All users updated.
16084 (GRUB_PE32_PE32_MAGIC): Split into ..
16085 (GRUB_PE32_PE32_MAGIC): .. this.
16086 (GRUB_PE32_PE64_MAGIC): .. and this.
16087 (GRUB_PE32_SIGNATURE_SIZE): New definition.
16088 * include/grub/elf.h (PT_GNU_STACK): New definition.
16089 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
16090 * include/grub/i386/efi/kernel.h: Likewise.
16091 * include/grub/i386/kernel.h: Likewise.
16092 * include/grub/i386/pc/kernel.h: Likewise.
16093 * include/grub/i386/qemu/boot.h: Likewise.
16094 * include/grub/mips/kernel.h: Likewise.
16095 * include/grub/mips/qemu-mips/kernel.h: Likewise.
16096 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
16097 * include/grub/powerpc/kernel.h: Likewise.
16098 * include/grub/sparc64/ieee1275/boot.h: Likewise.
16099 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
16100 * include/grub/sparc64/kernel.h: Likewise.
16101 * include/grub/x86_64/efi/kernel.h: Likewise.
16102 * include/grub/x86_64/kernel.h: Likewise.
16103 * include/grub/offsets.h: New file.
16104 * include/grub/kernel.h (grub_module_info): Split into ...
16105 (grub_module_info32): ... this.
16106 (grub_module_info64): ... and this.
16107 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
16108 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
16109 (grub_boot_blocklist): Moved from here ...
16110 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
16111 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
16112 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
16113 * include/grub/types.h (grub_target_to_host16): Removed.
16114 (grub_target_to_host32): Likewise.
16115 (grub_target_to_host64): Likewise.
16116 (grub_host_to_target16): Likewise.
16117 (grub_host_to_target32): Likewise.
16118 (grub_host_to_target64): Likewise.
16119 (grub_host_to_target_addr): Likewise.
16120
16121 Support grub-mkrescue for efi, coreboot and qemu.
16122
16123 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
16124 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
16125 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
16126 * util/grub-mkrawimage.c: Moved from here ...
16127 * util/grub-mkimage.c: ... here. All users updated.
16128 (ALIGN_ADDR): Use image_target.
16129 (TARGET_NO_FIELD): New const.
16130 (image_target_desc): New type.
16131 (image_targets): New array.
16132 (grub_target_to_host64): Use image_target.
16133 (grub_target_to_host32): Likewise.
16134 (grub_target_to_host16): Likewise.
16135 (grub_host_to_target64): Likewise.
16136 (grub_host_to_target32): Likewise.
16137 (grub_host_to_target16): Likewise.
16138 (grub_host_to_target_addr): Likewise.
16139 (generate_image): Handle multiimage.
16140 (main): Require -O parameter. All users updated.
16141 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
16142 util/efi/grub-mkimage.c
16143 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
16144 New option --rom-directory.
16145 Use xorriso.
16146 * util/i386/efi/grub-mkimage.c: Removed.
16147 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
16148 (grub_target_to_host32): Likewise.
16149 (grub_target_to_host64): Likewise.
16150 (grub_host_to_target16): Likewise.
16151 (grub_host_to_target32): Likewise.
16152 (grub_host_to_target64): Likewise.
16153 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
16154 (grub_target_to_host32): Likewise.
16155 (grub_target_to_host64): Likewise.
16156 (grub_host_to_target16): Likewise.
16157 (grub_host_to_target32): Likewise.
16158 (grub_host_to_target64): Likewise.
16159
f4fc97d0
BC
161602010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
16161
16162 Source tree is reorganized for emu build.
16163
16164 * include/grub/util/console.h: Move from here...
16165 * include/grub/emu/console.h: ...to here.
16166 * include/grub/util/getroot.h: Move from here...
16167 * include/grub/emu/getroot.h: ...to here.
16168 * include/grub/util/hostdisk.h: Move from here...
16169 * include/grub/emu/hostdisk.h: ...to here.
16170 * util/console.c: Move from here...
16171 * kern/emu/console.c: ...to here.
16172 * util/getroot.c: Move from here...
16173 * kern/emu/getroot.c: ...to here.
16174 * util/grub-emu.c: Move from here...
16175 * kern/emu/main.c: ...to here.
16176 * util/hostdisk.c: Move from here...
16177 * kern/emu/hostdisk.c: ...to here.
16178 * util/hostfs.c: Move from here...
16179 * kern/emu/hostfs.c: ...to here.
16180 * util/mm.c: Move from here...
16181 * kern/emu/mm.c: ...to here.
16182 * util/pci.c: Move from here...
16183 * bus/emu/pci.c: ...to here.
16184 * util/sdl.c: Move from here...
16185 * video/emu/sdl.c: ...to here.
16186 * util/time.c: Move from here...
16187 * kern/emu/time.c: ...to here.
16188 * util/usb.c: Move from here...
16189 * bus/usb/emu/usb.c: ...to here.
16190
16191 * include/grub/emu/misc.h: New header for grub-emu functions.
16192 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
16193
16194 * conf/any-emu.rmk: Rule updates for above renames.
16195 * conf/common.rmk: Likewise.
16196 * conf/i386-pc.rmk: Likewise.
16197 * conf/i386-qemu.rmk: Likewise.
16198 * conf/mips.rmk: Likewise.
16199 * conf/sparc64-ieee1275.rmk: Likewise.
16200 * conf/x86-efi.rmk: Likewise.
16201
16202 * disk/lvm.h: #include updates for above renames.
16203 * util/grub-mkrelpath.c: Likewise.
16204 * util/grub-probe.c: Likewise.
16205 * util/i386/pc/grub-setup.c: Likewise.
16206 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16207 * kern/emu/console.c: Likewise.
16208 * kern/emu/getroot.c: Likewise.
16209 * kern/emu/hostdisk.c: Likewise.
16210 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
16211
16212 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
16213 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
16214 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
16215 * util/misc.c: Remove grub-emu functions.
16216
cced9145
VS
162172010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16218
16219 Fix gfxmenu crash.
16220 Reported by: Thorsten Grützmacher.
16221
16222 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
16223 timeout hook.
16224 (circprog_set_property): Register and unregister timeout hook.
16225 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
16226 (label_destroy): Free template. and unregister hook.
16227 (label_set_state): New function.
16228 (label_set_property): Handle templates and hooks.
16229 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
16230 timeout hook.
16231 (progress_bar_set_property): Register and unregister timeout hook.
16232 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
16233 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
16234 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
16235 (update_timeout_visit): Removed.
16236 (update_timeouts): New function.
16237 (redraw_timeouts): Likewise.
16238 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
16239 (grub_gfxmenu_clear_timeout): Likewise.
16240 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
16241 (grub_gfxmenu_timeout_notify): Likewise.
16242 (grub_gfxmenu_timeout_notifications): New external variable.
16243 (grub_gfxmenu_timeout_register): New function.
16244 (grub_gfxmenu_timeout_unregister): Likewise.
16245
c6e5caab
VS
162462010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16247
16248 Transform (broken) vga terminal into (working) vga video driver.
16249
16250 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
16251 video/i386/pc/vga.c.
16252 * include/grub/video.h (grub_video_driver_id):
16253 Add GRUB_VIDEO_DRIVER_VGA.
16254 * term/i386/pc/vga.c: Renamed to ...
16255 * video/i386/pc/vga.c: ...this
16256 (DEBUG_VGA): Removed.
16257 (CHAR_WIDTH): Likewise.
16258 (CHAR_HEIGHT): Likewise.
16259 (TEXT_WIDTH): Likewise.
16260 (TEXT_HEIGHT): Likewise.
16261 (DEFAULT_FG_COLOR): Likewise.
16262 (DEFAULT_BG_COLOR): Likewise.
16263 (colored_char): Likewise.
16264 (xpos): Likewise.
16265 (ypos): Likewise.
16266 (cursor_state): Likewise.
16267 (fg_color): Likewise.
16268 (bg_color): Likewise.
16269 (text_buf): Likewise.
16270 (page): Likewise.
16271 (font): Likewise.
16272 (framebuffer): New variable.
16273 (set_read_map): Disabled.
16274 (setup): New variable.
16275 (is_target): Likewise.
16276 (grub_vga_mod_init): Likewise.
16277 (grub_vga_mod_fini): Likewise.
16278 (check_vga_mem): Likewise.
16279 (write_char): Likewise.
16280 (write_cursor): Likewise.
16281 (scroll_up): Likewise.
16282 (grub_vga_putchar): Likewise.
16283 (grub_vga_getcharwidth): Likewise.
16284 (grub_vga_getwh): Likewise.
16285 (grub_vga_getxy): Likewise.
16286 (grub_vga_gotoxy): Likewise.
16287 (grub_vga_cls): Likewise.
16288 (grub_vga_setcolorstate): Likewise.
16289 (grub_vga_setcursor): Likewise.
16290 (grub_video_vga_init): New function.
16291 (grub_video_vga_setup): Likewise.
16292 (grub_video_vga_fini): Likewise.
16293 (update_target): Likewise.
16294 (grub_video_vga_blit_bitmap): Likewise.
16295 (grub_video_vga_blit_render_target): Likewise.
16296 (grub_video_vga_set_active_render_target): Likewise.
16297 (grub_video_vga_get_active_render_target): Likewise.
16298 (grub_video_vga_swap_buffers): Likewise.
16299 (grub_video_vga_set_palette): Likewise.
16300 (grub_video_vga_get_info_and_fini): Likewise.
16301 (grub_vga_term): Removed.
16302 (grub_video_vga_adapter): New variable.
16303 (GRUB_MOD_INIT): Register a video driver instead of terminal.
16304 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
16305
2bf61a98
VS
163062010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16307
16308 * video/readers/jpeg.c: Indented.
16309
09ddcd11
VS
163102010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16311
16312 Various jpeg cleanups.
16313
16314 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
16315 (grub_jpeg_decode_quan_table): Use sizeof.
16316 (grub_jpeg_decode_du): Use ARRAY_SIZE.
16317
e5507505
PH
163182010-05-05 Peter Hurley <No e-mail available> (tiny change)
16319
16320 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
16321 tables. Ignore non-last ac bit.
16322 (grub_jpeg_decode_quan_table): Likewise.
16323
7e720a9b
VS
163242010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16325
16326 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
16327 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
16328 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16329 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
16330 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
16331 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
16332
a7fc080b
VS
163332010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16334
16335 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
16336 error.
16337
2bf6012d
VS
163382010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16339
16340 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
16341
265d68cd
VS
163422010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16343
16344 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
16345 condition.
16346
163472010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
16348
16349 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
16350 part.
16351
265d68cd 163522010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
16353
16354 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
16355 pointers.
16356
265d68cd 163572010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
16358
16359 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
16360
d1b61374
CF
163612010-05-01 Christian Franke <franke@computer.org>
16362
16363 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
16364 Remove broken Cygwin path conversion.
16365 * util/misc.c: [__CYGWIN__] Add include and define.
16366 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
16367 for Cygwin 1.7.
16368 (make_system_path_relative_to_its_root): Simplify loop, replace early
16369 return by break.
16370 [__CYGWIN__] Add conversion to win32 path.
16371 Include "/" case in trailing slash removal.
16372
3558c6e9
VS
163732010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16374
16375 * kern/main.c (grub_load_config): Fix copy-pasted comment.
16376 Reported by: Seth Goldberg
16377
f5f3ff93
VS
163782010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16379
16380 * commands/help.c (grub_cmd_help): Fix a typo.
16381 Reported by: Seth Goldberg
16382
d8b5cd40
VS
163832010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16384
16385 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
16386 name and add N_.
16387 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
16388 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
16389 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
16390 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
16391 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
16392 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
16393 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
16394 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
16395 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
16396 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16397 * normal/context.c (GRUB_MOD_INIT): Likewise.
16398 * normal/main.c (GRUB_MOD_INIT): Likewise.
16399 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
16400 * term/serial.c (GRUB_MOD_INIT): Likewise.
16401 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
16402
88c14915
VS
164032010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16404
16405 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
16406 extra == 0.
16407
165134bc
VS
164082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16409
16410 * commands/iorw.c: New file.
16411 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
16412 (iorw_mod_SOURCES): New variable.
16413 (iorw_mod_CFLAGS): Likewise.
16414 (iorw_mod_LDFLAGS): Likewise.
16415
c5ac9b32
VS
164162010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16417
16418 Hotkey support
16419
16420 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
16421 * normal/main.c (hotkey_aliases): New variable.
16422 (grub_normal_add_menu_entry): Parse "--hotkey".
16423 * normal/menu_text.c (run_menu): Handle hotkeys.
16424
ce60689c
VS
164252010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16426
16427 * kern/i386/coreboot/init.c (grub_machine_init): Call
16428 grub_machine_mmap_init on qemu.
16429
0359d006
VS
164302010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16431
16432 * boot/i386/qemu/boot.S: Add a missing .code16.
16433
7819a456
VS
164342010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16435
16436 Use LBIO on coreboot.
16437
16438 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
16439 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
16440 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
16441 New declaration.
16442 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
16443 grub_machine_mmap_init on coreboot.
16444 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
16445 GRUB_LINUXBIOS_MEMBER_LINK.
16446 (grub_machine_mmap_iterate): Fix declaration.
16447 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
16448
7210dca9
VS
164492010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16450
16451 Split coreboot and multiboot ports.
16452
16453 * conf/i386-multiboot.rmk: New file.
16454 * configure.ac: Add multiboot port.
16455 * include/grub/i386/multiboot/boot.h: New file.
16456 * include/grub/i386/multiboot/console.h: Likewise.
16457 * include/grub/i386/multiboot/init.h: Likewise.
16458 * include/grub/i386/multiboot/kernel.h: Likewise.
16459 * include/grub/i386/multiboot/loader.h: Likewise.
16460 * include/grub/i386/multiboot/memory.h: Likewise.
16461 * include/grub/i386/multiboot/serial.h: Likewise.
16462 * include/grub/i386/multiboot/time.h: Likewise.
16463 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
16464 * loader/multiboot.c: Likewise.
16465 * loader/multiboot_mbi2.c: Likewise.
16466 * util/grub-mkrescue.in: Generate multiboot rescue.
16467
6f8aaf68
VS
164682010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16469
3080f7a7
VS
16470 * kern/parser.c (grub_parser_execute): Cope with read-only config.
16471
164722010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16473
16474 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
16475
16476 * commands/terminal.c (abstract_terminal): New struct.
16477 (handle_command): New function. Based on grub_cmd_terminal_input.
16478 (grub_cmd_terminal_input): Use handle_command.
16479 (grub_cmd_terminal_output): Use handle_command.
16480
a8ebb841
BC
164812010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
16482
16483 Fix comment handling.
16484
16485 * tests/grub_script_comments.in: New testcase.
16486 * conf/tests.rmk: Rules for new testcase.
16487 * script/yylex.l: Updated flex rules.
16488
bb06ba08
ST
164892010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
16490
16491 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
16492 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
16493 if argc is 1.
bb06ba08 16494
cc9d2425
VS
164952010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
16496
16497 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
16498 autogen issues.
16499
460d8402
CF
165002010-04-26 Christian Franke <franke@computer.org>
16501
16502 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
16503 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
16504 (grub_get_prefix): Remove function.
16505 * util/grub-emu.c (main): Replace grub_get_prefix () call by
16506 make_system_path_relative_to_its_root ().
16507 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
16508
553c01f9
CF
165092010-04-24 Christian Franke <franke@computer.org>
16510
16511 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
16512 (kernel_img_LDFLAGS): Remove -static-libgcc.
16513
2aec1692
CF
165142010-04-24 Christian Franke <franke@computer.org>
16515
16516 * configure.ac: Do not CHECK_BSS_START_SYMBOL
16517 and CHECK_END_SYMBOL if grub-emu is built.
16518 Unset TARGET_OBJ2ELF if grub-emu is built
16519 without module support.
16520
f67dc308
JS
165212010-04-24 Jiro SEKIBA <jir@unicus.jp>
16522
16523 Nilfs2 support.
16524
16525 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
16526 (grub_fstest_SOURCES): Likewise.
16527 (pkglib_MODULES): Add nilfs2.mod.
16528 (nilfs2_mod_SOURCES): New variable.
16529 (nilfs2_mod_CFLAGS): Likewise.
16530 (nilfs2_mod_LDFLAGS): Likewise.
16531 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
16532 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
16533 * fs/nilfs2.c: New file.
16534
4ba8d354
VS
165352010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
16536
16537 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
16538 is not supported.
16539
0d2c20c6
GS
165402010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
16541
16542 Add grub-mkconfig support for NetBSD.
16543
16544 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
16545 * util/grub-mkconfig.in: export new NetBSD specific variables.
16546 * po/POTFILES-shell: added 10_netbsd.in.
16547 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
16548
bc4a2d83
BC
165492010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
16550
16551 Fix emu build with grub-emu-pci and grub-emu-modules.
16552
16553 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
16554 functions.
16555 * include/grub/libpciaccess.h: New file.
16556 * conf/any-emu.rmk: Update kernel headers for emu build.
16557
f48c87aa
VS
165582010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16559
16560 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
16561
18959385
VS
165622010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16563
16564 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
16565
0037de3f
VS
165662010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16567
16568 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
16569 Retrieve chosen/bootpath if bootpath isn't hardcoded.
16570 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
16571 util/ieee1275/ofpath.c.
16572 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
16573 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
16574 * include/grub/sparc64/ieee1275/boot.h
16575 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
16576 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
16577 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
16578 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
16579 const char *.
16580 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
16581 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
16582 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
16583 install.
16584
38e55e90
GS
165852010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
16586
16587 * util/grub-mkconfig.in: Corrected two == equality tests.
16588 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
16589 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
16590 expect a number appended to it.
16591 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
16592 expects a number appended to it.
16593
a9e6ff28
VS
165942010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16595
16596 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
16597
0b830b8f
VS
165982010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16599
16600 * util/hostdisk.c (make_device_name): Change to new partition naming.
16601
0973daeb
VS
166022010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16603
16604 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
16605
460d8402 166062010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
16607
16608 * Makefile.in: Add missing localedir setting.
16609
0b456309
CW
166102010-04-14 Colin Watson <cjwatson@ubuntu.com>
16611
16612 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
16613 mistake in r2156. Noticed by Anthony Fok.
16614
16615 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
16616 @localedir@.
16617 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
16618
08f46d62
BC
166192010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
16620
16621 Fix a spurious, uninitialized variable warning.
16622
16623 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
16624 Initialize variable, shdr.
16625 (grub_freebsd_load_elfmodule): Likewise.
16626 (grub_freebsd_load_elf_meta): Likewise.
16627
8c4a72d4
BC
166282010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
16629
16630 Fix for escaped dollar in double quoted strings.
16631
16632 * script/yylex.l: Updated flex rules.
16633 * conf/tests.rmk: Rule for new testcase.
16634 * tests/grub_script_dollar.in: New testcase.
16635
ce44826e
CPE
166362010-04-13 Carles Pina i Estany <carles@pina.cat>
166372010-04-13 Colin Watson <cjwatson@ubuntu.com>
16638
16639 Enclose all translated strings in grub.cfg in single quotes, and
16640 escape them appropriately (Ubuntu bug #552921).
16641
16642 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
16643 * util/grub.d/10_hurd.in: Use it.
16644 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
16645 * util/grub.d/10_linux.in (linux_entry): Likewise.
16646
4b0cd8f8
VS
166472010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16648
16649 Fix cygwin compilation.
16650
16651 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
16652 * include/grub/misc.h (__register_frame_info)
16653 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
16654 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
16655 * kern/misc.c (__register_frame_info)
16656 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
16657 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
16658
01fcf061
VS
166592010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16660
16661 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
16662
5d04b11e
VS
166632010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16664
16665 Unify libgcc processing.
16666
16667 * Makefile.in (kernel_img_LDFLAGS): New variable.
16668 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
16669 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
16670 overwriting.
16671 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
16672 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
16673 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
16674 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
16675 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
16676 overwriting. Remove -lgcc and -static-libgcc
16677 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
16678 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
16679 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
16680 (kernel_img_LDFLAGS): Append instead of overwriting.
16681 Remove -lgcc and -static-libgcc
16682 * conf/sparc64-ieee1275.rmk: Likewise.
16683 * include/grub/powerpc/libgcc.h: Move to ...
16684 * include/grub/libgcc.h: .. this.
16685 * include/grub/libgcc.h: Don't export most of the function on x86.
16686 (__bswapsi2): New export.
16687 (__bswapdi2): Likewise.
16688 * include/grub/mips/libgcc.h: Removed.
16689 * include/grub/sparc64/libgcc.h: Likewise.
16690
b7f3ac29
VS
166912010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16692
16693 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
16694 disk_info_msg (conflicts with gettexting into languages with cases).
16695
2c7031b1
GS
166962010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
16697
16698 Add grub-probe support for NetBSD.
16699
16700 * util/getroot.c (find_root_device): Convert block device to
16701 character device on NetBSD.
16702 * util/probe.c (probe): Require character device on NetBSD.
16703 * util/hostdisk.c: NetBSD specific headers.
16704 (configure_device_driver): new function to tune device driver
16705 parameters (currently only for NetBSD floppy driver).
16706 (grub_util_biosdisk_open): NetBSD specific code (get disk size
16707 via disklabel ioctl).
16708 (open_device): call configure_device_driver on NetBSD.
16709 (convert_system_partition_to_system_disk): NetBSD specific code.
16710 (device_is_wholedisk): Likewise.
16711 (grub_util_biosdisk_get_grub_dev): Likewise.
16712 (make_device_name): Fixed a typo in bsd_part_str.
16713 * configure.ac: check for opendisk() and getrawpartition() on
16714 NetBSD and set LIBUTIL.
16715 * Makefile.in: add LIBUTIL to LIBS.
16716
f516290c
BC
167172010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
16718
16719 Documentation fix.
16720
16721 * util/grub-script-check.c: Better help message.
16722
d8dcc0df
BC
167232010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
16724
16725 Fix FreeBSD build.
16726
16727 * configure.ac: Flex version check.
16728 * conf/common.rmk: Add -Wno-error to sh.mod.
16729 * script/yylex.l: Remove all #pragma.
16730
6734334a
VS
167312010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16732
16733 * include/grub/util/misc.h (canonicalise_file_name): Add missing
16734 prototype.
16735 Reported by: Seth Goldberg.
16736
daea6abd
VS
167372010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16738
16739 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
16740 Rename "module" to "module2".
16741 Reported by: Seth Goldberg.
16742
f2fd9d2b
VS
167432010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16744
16745 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
16746 EXPORT_FUNC.
16747 Reported by: Seth Goldberg.
16748
be124579
VS
167492010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16750
16751 * lib/posix_wrap/locale.h: Add missing file.
16752 Reported by: Seth Goldberg.
16753
ef5da797
VS
167542010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16755
16756 grub-emu module load support.
16757
16758 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
16759 NO_DYNAMIC_MODULES switched to this.
16760 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
16761 (CFLAGS): Likewise.
16762 * conf/any-emu.rmk: Generate symlist.
16763 (kernel_img_HEADERS): Add util/datetime.h.
16764 (kernel_img_HEADERS) [sdl]: Add sdl.h.
16765 (kernel_img_HEADERS) [libusb]: Add libusb.h.
16766 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
16767 kern/$(target_cpu)/cache.S.
16768 * configure.ac (grub-emu-modules): New option.
16769 * genmk.rb: Handle multiple source lists.
16770 * include/grub/sdl.h: New file.
16771 * include/grub/libusb.h: Likewise.
16772 * util/grub-emu.c (main): Hanle (host) root.
16773 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
16774 GRUB_ERR_UNKNOWN_DEVICE.
16775 * util/misc.c: Move mm functions to ...
16776 * util/mm.c: ... here. All users updated.
16777
47822096
VS
167782010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16779
16780 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
16781 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
16782 missing files.
16783 (maintainer-clean): Remove libgcrypt-grub.
16784
5d7e7445
VS
167852010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16786
16787 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
16788
25f4e252
EC
167892010-04-09 EFI Coder <eficoder@hotmail.com>
16790
16791 * normal/menu_text.c (print_message): Clean up the message and show
16792 the Fn information when on EFI
16793 * term/efi/console.c (grub_console_checkkey): Add F4 support.
16794
027de555
VS
167952010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16796
16797 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
16798 All users updated.
16799 * normal/crypto.c (read_crypto_list): Likewise.
16800 * normal/dyncmd.c (read_command_list): Likewise.
16801 * normal/term.c (read_terminal_list): Likewise.
16802 * normal/main.c (read_lists): Use explicit prefix.
16803 (read_lists_hook): Use read_lists.
16804 (grub_normal_execute): Likewise.
16805
47779711
VS
168062010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16807
16808 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
16809 Reported by: Thomas Schmitt.
16810 Add -no-emul-boot to grub-mkisofs parameters.
16811
1118c32e
VS
168122010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16813
16814 * font/font.c: Indented.
16815
7d652447
BC
168162010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
16817
16818 Elif support to GRUB script (by Deepak Vankadaru).
16819
16820 * tests/grub_script_if.in: New testcase.
16821 * conf/tests.rmk: Rule for new testcase.
16822 * script/parser.y: Grammar rules for elif.
16823
34bb22df
BC
168242010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
16825
16826 While and until loops support to GRUB script.
16827
16828 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
16829 (grub_script_create_cmdwhile): New function prototype.
16830 (grub_script_execute_cmdwhile): New function prototype.
16831 * script/execute.c (grub_script_execute_cmdwhile): New function.
16832 * script/parser.y (command): New commands.
16833 (whilecmd): New grammar rule.
16834 (untilcmd): New grammar rule.
16835 * script/script.c (grub_script_create_cmdwhile): New function.
16836 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
16837 function.
16838
16839 * tests/grub_script_while1.in: New testcase.
16840 * conf/tests.rmk: Rule for new testcase.
16841
e215d8e0
VS
168422010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16843
16844 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
16845 as *.jpg.
16846
d7c43ba1
MV
168472010-04-09 Mario Vazquez <mariovazq@gmail.com>
16848
16849 GRUB_BACKGROUND support.
16850
16851 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
16852 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
16853
d64795c0
VS
168542010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16855
16856 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 16857 Idea by: Mario Vazquez
d64795c0
VS
16858
16859 * util/grub.d/00_header.in: Load pf2 and image modules.
16860
f267f83a
VS
168612010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16862
16863 grub-mkconfig multiple terminal support.
16864
16865 * util/grub-mkconfig.in: Handle multiple terminals correctly.
16866 * util/grub.d/00_header.in: Likewise.
16867
b7841ceb
VS
168682010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16869
16870 * Makefile.in: Specify files explicitly instead of using $< and $@ since
16871 we use cd $(srcdir).
16872
df60998c
CW
168732010-04-08 Colin Watson <cjwatson@ubuntu.com>
16874
16875 * util/grub.d/10_linux.in: Only use the first word of
16876 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
16877 spaces in GRUB_DISTRIBUTOR.
16878 * util/grub.d/10_kfreebsd.in: Likewise.
16879 * util/grub.d/10_hurd.in: Likewise.
16880
fa09c82e
BC
168812010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
16882
14e18ae3 16883 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
16884
16885 * tests/util/grub-shell.in: Remove -serial stdio option.
16886
daf892b3
BC
168872010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16888
16889 POSIX header file wrappers.
16890
16891 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
16892 equivalents.
16893 * lib/posix_wrap/ctype.h: Likewise.
16894 * lib/posix_wrap/errno.h: Likewise.
16895 * lib/posix_wrap/langinfo.h: Likewise.
16896 * lib/posix_wrap/limits.h: Likewise.
16897 * lib/posix_wrap/localcharset.h: Likewise.
16898 * lib/posix_wrap/stdint.h: Likewise.
16899 * lib/posix_wrap/stdio.h: Likewise.
16900 * lib/posix_wrap/stdlib.h: Likewise.
16901 * lib/posix_wrap/string.h: Likewise.
16902 * lib/posix_wrap/sys/types.h: Likewise.
16903 * lib/posix_wrap/unistd.h: Likewise.
16904 * lib/posix_wrap/wchar.h: Likewise.
16905 * lib/posix_wrap/wctype.h: Likewise.
16906 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
16907 (grub_script.yy.h): Likewise.
16908 * script/yylex.l: Remove POSIX emulation #defines.
16909 * Makefile.in (POSIX_CFLAGS): New variable.
16910 (GNULIB_UTIL_CFLAGS): Likewise.
16911
16912 Regexp support.
16913
16914 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
16915 (regexp_mod_SOURCES): New variable.
16916 (regexp_mod_CFLAGS): Likewise.
16917 (regexp_mod_LDFLAGS): Likewise.
16918 * commands/regexp.c: New file.
16919 * gnulib/regcomp.c: New file. Imported from gnulib.
16920 * gnulib/regex.c: Likewise.
16921 * gnulib/regex_internal.c: Likewise.
16922 * gnulib/regex_internal.h: Likewise.
16923 * gnulib/regexec.c: Likewise.
16924 * gnulib/regex.h: Likewise.
16925
974ac4f7
VS
169262010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16927
16928 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
16929 unsupported video mode types.
16930
2622c3ff
VS
169312010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16932
16933 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
16934
064cb524
VS
169352010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16936
16937 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
16938 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
16939
a8c3b552
VS
169402010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
16941
16942 Remove unused grub_vga_get_font.
16943
16944 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
16945 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
16946
187bbe3d
GS
169472010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16948
16949 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
16950 * include/grub/misc.h: Likewise.
16951
b9396631
GS
169522010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16953
16954 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
16955 for which failure is fatal.
16956
50479feb
GS
169572010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16958
16959 * util/grub-install.in: Use mkdir -p to create grub directory.
16960 * util/i386/efi/grub-install.in: Likewise.
16961 * util/ieee1275/grub-install.in: Likewise.
16962
b1654fdf
GS
169632010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16964
16965 * Makefile.in (LEX): new variable.
16966
bd5a6415
GS
169672010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16968
16969 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
16970 `=' and added double quotes on operands of this equality test.
16971
3db3a82b
VS
169722010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
16973
16974 * Makefile.in (uninstall): Remove a leftover debug echo.
16975 Reported by: Grégoire Sutre
16976
38023412
VS
169772010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
16978
16979 MIPS multiboot2 support.
16980
16981 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
16982 (multiboot2_mod_SOURCES): New variable.
16983 (multiboot2_mod_CFLAGS): Likewise.
16984 (multiboot2_mod_LDFLAGS): Likewise.
16985 (multiboot2_mod_ASFLAGS): Likewise.
16986 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
16987 definition.
16988 (MULTIBOOT_ENTRY_REGISTER): Likewise.
16989 (MULTIBOOT_MBI_REGISTER): Likewise.
16990 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
16991 (MULTIBOOT_ELF32_MACHINE): Likewise.
16992 (MULTIBOOT_ELF64_MACHINE): Likewise.
16993 * include/grub/mips/multiboot.h: New file.
16994 * include/grub/video.h (grub_video_driver_id): New type
16995 GRUB_VIDEO_DRIVER_SM712.
16996 (grub_video_get_info_and_fini): Export.
16997 (grub_video_get_palette): Likewise.
16998 (grub_video_get_driver_id): Likewise.
16999 * include/multiboot2.h: Resynced with spec.
17000 * loader/i386/multiboot.c: Moved from here ...
17001 * loader/multiboot.c: ... here. All users updated.
17002 (grub_multiboot_boot): Use platform-specific macros.
17003 * loader/i386/multiboot_elfxx.c: Moved from here ...
17004 * loader/multiboot_elfxx.c: ... here. All users updated.
17005 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
17006 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
17007 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
17008
47674667
VS
170092010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17010
17011 Import gnulib argp module.
17012
17013 * gnulib/argp-ba.c: New file.
17014 * gnulib/argp-eexst.c: Likewise.
17015 * gnulib/argp-fmtstream.c: Likewise.
17016 * gnulib/argp-fmtstream.h: Likewise.
17017 * gnulib/argp-fs-xinl.c: Likewise.
17018 * gnulib/argp-help.c: Likewise.
17019 * gnulib/argp-namefrob.h: Likewise.
17020 * gnulib/argp-parse.c: Likewise.
17021 * gnulib/argp-pin.c: Likewise.
17022 * gnulib/argp-pv.c: Likewise.
17023 * gnulib/argp-pvh.c: Likewise.
17024 * gnulib/argp-version-etc.c: Likewise.
17025 * gnulib/argp-version-etc.h: Likewise.
17026 * gnulib/argp-xinl.c: Likewise.
17027 * gnulib/argp.h: Likewise.
17028
495442ed
VS
170292010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
17030
17031 * kern/device.c (grub_device_iterate): Clear errors after failed
17032 opening device.
17033
f9fd65df
VS
170342010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
17035
17036 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
17037 returned by firmware.
17038
af09641e
VS
170392010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17040
17041 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
17042 compilation on coreboot and qemu
17043
016883a5
VS
170442010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
17045
17046 * include/multiboot2.h: Resync with spec.
17047
f97e1f7d
VS
170482010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
17049
17050 Multiboot2 tag support
17051
17052 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
17053 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
17054 Remove loader/multiboot_loader.c.
17055 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
17056 (grub_multiboot2_real_boot): Likewise.
17057 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
17058 (grub_get_multiboot_mmap_count): New proto.
17059 (grub_fill_multiboot_mmap): Likewise.
17060 (grub_multiboot_set_video_mode): Likewise.
17061 (grub_multiboot_set_console): Likewise.
17062 (grub_multiboot_load): Likewise.
17063 (grub_multiboot_load_elf): Likewise.
17064 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
17065 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
17066 * include/multiboot.h: Resynced with specification.
17067 * include/multiboot2.h: Resynced with specification.
17068 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
17069 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
17070 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
17071 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
17072 users updated.
17073 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
17074 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
17075 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
17076 Removed.
17077 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
17078 Moved from here...
17079 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
17080 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
17081 Moved from here...
17082 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
17083 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
17084 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
17085 All users updated.
17086 * loader/i386/multiboot_mbi2.c: New file.
17087
3506b90b
VS
170882010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
17089
17090 Resync with gnulib.
17091
17092 * Makefile.in (GNULIB_CFLAGS): New variable.
17093 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
17094 (grub_script_check_CFLAGS): New variable.
17095 * gnulib/alloca.h: Resync with gnulib.
17096 * gnulib/error.c: Likewise.
17097 * gnulib/error.h: Likewise.
17098 * gnulib/fnmatch.c: Likewise.
17099 * gnulib/fnmatch_loop.c: Likewise.
17100 * gnulib/getdelim.c: Likewise.
17101 * gnulib/getline.c: Likewise.
17102 * gnulib/getopt.c: Likewise.
17103 * gnulib/getopt1.c: Likewise.
17104 * gnulib/getopt_int.h: Likewise.
17105 * gnulib/gettext.h: Likewise.
17106 * gnulib/progname.c: Likewise.
17107 * gnulib/progname.h: Likewise.
17108
394a3120
GS
171092010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
17110
17111 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
17112 which is the case with --disabled-nls.
17113
17114 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
17115 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
17116 * util/misc.c: Likewise.
17117 * util/mkisofs/mkisofs.c: Likewise.
17118 * util/mkisofs/mkisofs.h: Likewise.
17119
969d1c78
VS
171202010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
17121
17122 Simplify Apple CC support.
17123
17124 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
17125 Add 0 byte at the end not to have a symbol with empty target.
17126 * mmap/i386/pc/mmap_helper.S: Likewise.
17127 * genmk.rb: Ignore errors 2030 and 2050.
17128 * kern/i386/pc/startup.S: Use LOCAL when possible.
17129
8d2977bb
BC
171302010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
17131
17132 Testcase and the fix for final semicolon on cmdline.
17133
17134 * tests/grub_script_final_semicolon.in: New testcase.
17135 * conf/tests.rmk: Rules for the new testcase.
17136 * script/parser.y: Grammar fix.
17137
a7bd6915
BC
171382010-03-26 BVK Chaitanya <bvk@localhost>
17139
17140 Blank lines testcase for GRUB script.
17141
17142 * tests/grub_script_blanklines.in: New testcase.
17143 * conf/tests.rmk: Rules for the new testcase.
17144
e4ff6628
VS
171452010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17146
17147 Don't use __FILE__.
17148
17149 * genmk.rb: Add -DGRUB_FILE to all C targets.
17150 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
17151 * include/grub/list.h: Likewise.
17152 * include/grub/misc.h: Likewise.
17153 * include/grub/mm.h: Likewise.
17154 * include/grub/test.h: Likewise.
17155 * kern/mm.c: Likewise.
17156 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
17157
6a5cf6b6
VS
171582010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17159
17160 Sunpc partitions support.
17161
17162 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
17163 (grub_fstest_SOURCES): Likewise.
17164 (pkglib_MODULES): Add part_sunpc.mod.
17165 (part_sunpc_mod_SOURCES): New variable.
17166 (part_sunpc_mod_CFLAGS): Likewise.
17167 (part_sunpc_mod_LDFLAGS): Likewise.
17168 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
17169 * partmap/sunpc.c: New file.
17170
746d9045
BC
171712010-03-26 BVK Chaitanya <bvk@localhost>
17172
17173 For loop support to GRUB script.
17174
17175 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
17176 (grub_script_create_cmdfor): New function prototype.
17177 (grub_script_execute_cmdfor): New function prototype.
17178 * script/execute.c (grub_script_execute_cmdfor): New function.
17179 * script/parser.y (command): New for command.
17180 (forcmd): New grammar rule.
17181 * script/script.c (grub_script_create_cmdfor): New function.
17182 * util/grub-script-check.c (grub_script_execute_cmdfor): New
17183 function.
17184 * tests/grub_script_for1.in: New testcase.
17185 * conf/tests.rmk: Rules for new testcase.
17186
18486b18
VS
171872010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17188
17189 Nested partitions
17190
17191 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
17192 'partition' is NULL, grub_partition_get_start already does that.
17193 * commands/loadenv.c (check_blocklists): Likewise.
17194 (write_blocklists): Likewise.
17195 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
17196 (grub_fstest_SOURCES): Likewise.
17197 (pkglib_MODULES): Add part_bsd.mod.
17198 (part_bsd_mod_SOURCES): New variable.
17199 (part_bsd_mod_CFLAGS): Likewise.
17200 (part_bsd_mod_LDFLAGS): Likewise.
17201 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
17202 (grub_emu_SOURCES): Likewise.
17203 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17204 * include/grub/bsdlabel.h: New file.
17205 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
17206 'get_name'.
17207 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
17208 (grub_partition_map_list): New variable.
17209 (grub_partition_map_register): Inline.
17210 (grub_partition_map_unregister): Likewise.
17211 (FOR_PARTITION_MAPS): New macro.
17212 (grub_partition_map_iterate): Removed.
17213 (grub_partition_get_start): Handle nested partitions.
17214 * include/grub/msdos_partition.h: Remove bsd-related entries.
17215 (grub_pc_partition): Remove.
17216 * kern/disk.c (grub_disk_close): Free partition data.
17217 (grub_disk_adjust_range): Handle nested partitions.
17218 * kern/partition.c (grub_partition_map_probe): New function.
17219 (grub_partition_probe): Parse name to number, handle subpartitions.
17220 (get_partmap): New function.
17221 (grub_partition_iterate): Handle subpartitions.
17222 (grub_partition_get_name): Likewise.
17223 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
17224 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
17225 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
17226 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
17227 Set 'number'.
17228 (acorn_partition_map_probe): Remove.
17229 (acorn_partition_map_get_name): Likewise.
17230 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
17231 Set 'number'.
17232 Set 'index' to 0 since there can be only one partition entry per sector.
17233 (amiga_partition_map_probe): Remove.
17234 (amiga_partition_map_get_name): Likewise.
17235 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
17236 Set 'number'.
17237 Set 'offset' and 'index' to real positions of partitions.
17238 (apple_partition_map_probe): Remove.
17239 (apple_partition_map_get_name): Likewise.
17240 * partmap/bsdlabel.c: New file.
17241 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
17242 Set 'number'.
17243 Allocate 'data' so it can be correctly freed.
17244 Set 'index' to offset inside sector.
17245 (gpt_partition_map_probe): Remove.
17246 (gpt_partition_map_get_name): Likewise.
17247 * partmap/msdos.c (grub_partition_parse): Remove.
17248 (pc_partition_map_iterate): Don't force raw access.
17249 Set 'number'.
17250 Make 'ext_offset' a local variable.
17251 (pc_partition_map_probe): Remove.
17252 (pc_partition_map_get_name): Remove.
17253 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
17254 Set 'number'.
17255 (sun_partition_map_probe): Remove.
17256 (sun_partition_map_get_name): Likewise.
17257 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
17258 (grub_pcpart_type): Likewise.
17259 * util/hostdisk.c (open_device): Handle new numbering scheme.
17260 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
17261 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
17262 * util/grub-probe.c (probe_partmap): Handle nested paritions.
17263 * util/grub-install.in: Insert all subpartition modules.
17264 * util/ieee1275/grub-install.in: Likewise.
17265
a3940f88
AG
172662010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
17267
17268 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
17269 grammar.
17270
21b99926 172712010-03-24 Colin Watson <cjwatson@ubuntu.com>
17272
17273 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
17274
bed1d352
CW
172752010-03-21 Colin Watson <cjwatson@ubuntu.com>
17276
17277 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
17278 match where 'make install' puts them.
17279 * util/i386/efi/grub-install.in: Likewise.
17280
c9f58427
CW
172812010-03-19 Colin Watson <cjwatson@ubuntu.com>
17282
17283 * .bzrignore: Add gentrigtables, grub-script-check,
17284 grub_script_check_init.c, grub_script_check_init.h, and
17285 trigtables.c.
17286
f84afb27
VS
172872010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
17288
17289 * kern/parser.c: Indented.
17290
ed0e3d30
VS
172912010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
17292
17293 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
17294
0ea81d98
VS
172952010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
17296
17297 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
17298 alpha_mask_size == 0 case.
17299
0cdc2a09
BC
173002010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
17301
17302 GRUB shell lexer and parser improvements.
17303
17304 * conf/any-emu.rmk: Build rule updates.
17305 * conf/common.rmk: Likewise.
17306 * conf/i386-coreboot.rmk: Likewise.
17307 * conf/i386-efi.rmk: Likewise.
17308 * conf/i386-ieee1275.rmk: Likewise.
17309 * conf/i386-pc.rmk: Likewise.
17310 * conf/powerpc-ieee1275.rmk: Likewise.
17311 * conf/x86_64-efi.rmk: Likewise.
17312
17313 * configure.ac: Configure check for flex.
17314
17315 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
17316 types.
17317 (grub_lexer_param): Struct member updates.
17318 (grub_parser_param): Likewise.
17319 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
17320 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
17321 (grub_script_lexer_init): Prototype update.
17322 (grub_script_lexer_record_start): Likewise.
17323 (grub_script_lexer_record_stop): Likewise.
17324 (grub_script_lexer_yywrap): New function prototype.
17325 (grub_script_lexer_fini): Likewise.
17326 (grub_script_execute_argument_to_string): Removed by...
17327 (grub_script_execute_argument_to_argv): ...better version.
17328
17329 * script/execute.c (ROUND_UPTO): New macro.
17330 (grub_script_execute_cmdline): Out of memory fixes.
17331 (grub_script_execute_menuentry): Likewise.
17332 (grub_script_execute_argument_to_string): Removed. Update all
17333 users by...
17334 (grub_script_execute_argument_to_argv): ...better version.
17335 * script/function.c (grub_script_function_create): Use
17336 grub_script_execute_argument_to_argv instead of
17337 grub_script_execute_argument_to_string.
17338
17339 * script/lexer.c (check_varstate): Removed.
17340 (check_textstate): Removed.
17341 (grub_script_lexer_record_start): Likewise.
17342 (grub_script_lexer_record_stop): Likewise.
17343 (recordchar): Replaced with...
17344 (grub_script_lexer_record): ...new function.
17345 (nextchar): Removed.
17346 (grub_script_lexer_init): Rewritten.
17347 (grub_script_yylex): Rewritten.
17348 (append_newline): New function.
17349 (grub_script_lexer_yywrap): New function.
17350 (grub_script_lexer_fini): New function.
17351 (grub_script_yyerror): Sets error flag.
17352
17353 * script/yylex.l: New file.
17354 (grub_lexer_yyfree): Wrapper for flex yyffre.
17355 (grub_lexer_yyalloc): Likewise.
17356 (grub_lexer_yyrealloc): Likewise.
17357 * script/parser.y: Refactored.
17358
17359 * script/script.c (grub_script_arg_add): Out of memory fixes.
17360 (grub_script_add_arglist): Likewise.
17361 (grub_script_create_cmdline): Likewise.
17362 (grub_script_create_cmdmenu): Likewise.
17363 (grub_script_add_cmd): Likewise.
17364 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
17365 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
17366 unnecessary code.
17367
17368 * tests/grub_script_echo1.in: New testcase.
17369 * tests/grub_script_vars1.in: New testcase.
17370 * tests/grub_script_echo_keywords.in: New testcase.
17371
1d63a066
VS
173722010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17373
17374 Remove some redundancy in build system.
17375
17376 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
17377 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
17378 (TARGET_LDFLAGS): Add -nostdlib.
17379 (TARGET_IMG_LDFLAGS): Likewise.
17380 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
17381 anything since mmap isn't available.
17382 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
17383 Add util/time.c.
17384 (pkglib_MODULES): Remove reboot.mod.
17385 (reboot_mod_SOURCES): Removed.
17386 (reboot_mod_CFLAGS): Likewise.
17387 (reboot_mod_LDFLAGS): Likewise.
17388 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
17389 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
17390 (DEFSYMFILES): Add kernel_syms.lst.
17391 (kernel_img_HEADERS): Add common headers.
17392 (symlist.c): New target.
17393 (kernel_syms.lst): Likewise.
17394 (pkglib_MODULES): Add memdisk.mod.
17395 (memdisk_mod_SOURCES): New variable.
17396 (memdisk_mod_CFLAGS): Likewise.
17397 (memdisk_mod_LDFLAGS): Likewise.
17398 (pkglib_MODULES): Add reboot.mod.
17399 (reboot_mod_SOURCES): New variable.
17400 (reboot_mod_CFLAGS): Likewise.
17401 (reboot_mod_LDFLAGS): Likewise.
17402 (pkglib_MODULES): Add date.mod.
17403 (date_mod_SOURCES): New variable.
17404 (date_mod_CFLAGS): Likewise.
17405 (date_mod_LDFLAGS): Likewise.
17406 (pkglib_MODULES): Add datehook.mod.
17407 (datehook_mod_SOURCES): New variable.
17408 (datehook_mod_CFLAGS): Likewise.
17409 (datehook_mod_LDFLAGS): Likewise.
17410 (pkglib_MODULES): Add lsmmap.mod.
17411 (lsmmap_mod_SOURCES): New variable.
17412 (lsmmap_mod_CFLAGS): Likewise.
17413 (lsmmap_mod_LDFLAGS): Likewise.
17414 (pkglib_MODULES): Add boot.mod.
17415 (boot_mod_SOURCES): New variable.
17416 (boot_mod_CFLAGS): Likewise.
17417 (boot_mod_LDFLAGS): Likewise.
17418 * conf/i386-coreboot.rmk: Removed redundant parts.
17419 * conf/i386-ieee1275.rmk: Likewise.
17420 * conf/i386-pc.rmk: Likewise.
17421 * conf/mips-yeeloong.rmk: Likewise.
17422 * conf/mips.rmk: Likewise.
17423 * conf/powerpc-ieee1275.rmk: Likewise.
17424 * conf/sparc64-ieee1275.rmk: Likewise.
17425 * conf/x86_64-efi.rmk: Likewise.
17426 * conf/i386-coreboot.rmk: Moved qemu parts ..
17427 * conf/i386-qemu.rmk: ... here
17428 * conf/i386-efi.rmk: Moved common parts to...
17429 * conf/x86-efi.rmk: ... here.
17430 * conf/i386.rmk: Added modules common to all x86 variants.
17431 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
17432 * disk/memdisk.c: Remove grub/machine/kernel.h.
17433 * gensymlist.sh.in: Include symbol.h.
17434 * hook/datehook.c: Correct module name.
17435 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
17436 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
17437 * include/grub/i386/efi/serial.h: New file.
17438 * include/grub/x86_64/efi/serial.h: Likewise.
17439 * util/time.c: Likewise.
17440 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
17441
463ac55f
CK
174422010-03-14 Colin King <colin.king@ubuntu.com>
174432010-03-14 Colin Watson <cjwatson@ubuntu.com>
17444
17445 Shrink the pre-partition-table part of boot.img by eight bytes.
17446
17447 * boot/i386/pc/boot.S (ERR): New macro.
17448 (chs_mode): Use ERR.
17449 (geometry_error): Likewise.
17450 (hd_probe_error): Remove. This is only used once, so we wrwite
17451 it inline instead.
17452 (read_error): Instead of printing read_error_string, just set up
17453 %si and fall through to ...
17454 (error_message): ... this new function, also used by ERR.
17455
08e46ede
CW
174562010-03-14 Colin Watson <cjwatson@ubuntu.com>
17457
17458 Speed up consecutive hostdisk operations on the same device.
17459
17460 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
17461 (grub_util_biosdisk_open): Initialise disk->data.
17462 (struct linux_partition_cache): New structure.
17463 (linux_find_partition): Cache partition start positions; these are
17464 expensive to compute on every read and write.
17465 (open_device): Cache open file descriptor in disk->data, so that we
17466 don't have to reopen it and flush the buffer cache for consecutive
17467 operations on the same device.
17468 (grub_util_biosdisk_close): New function.
17469 (grub_util_biosdisk_dev): Set `close' member.
17470
17471 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
17472 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
17473 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17474 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
17475 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
17476
4a6d2d06
VS
174772010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17478
17479 Compile parts of grub-emu as modules.
17480
17481 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
17482 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
17483 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
17484 (all-local): Add $(GRUB_EMU).
17485 (install-local): Install $(GRUB_EMU).
17486 (uninstall): Uninstall $(GRUB_EMU).
17487 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
17488 * kern/dl.c: Likewise.
17489 * commands/sleep.c: Not include machine/time.h.
17490 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
17491 (COMMON_CFLAGS): Likewise.
17492 (sbin_UTILITIES): Remove grub-emu.
17493 (grub_emu_SOURCES): Removed.
17494 (kernel_img_RELOCATABLE): New variable.
17495 (pkglib_PROGRAMS): Add kernel.img.
17496 (kernel_img_SOURCES): New variable
17497 (kernel_img_CFLAGS): Likewise.
17498 (kernel_img_LDFLAGS): Likewise.
17499 (TARGET_NO_STRIP): Likewise.
17500 (TARGET_NO_DYNAMIC_MODULES): Likewise.
17501 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
17502 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
17503 (grub-emu): New target.
17504 (GRUB_EMU): New variable.
17505 * configure.ac: Whitelist -emu as possible x86_64 architecture.
17506 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
17507 * loader/xnu.c: Likewise.
17508 * include/grub/pci.h: Likewise.
17509 * genemuinit.sh: New file.
17510 * genemuinitheader.sh: Likewise.
17511 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
17512 Support TARGET_NO_DYNAMIC_MODULES.
17513 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
17514 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
17515 * disk/loopback.c: Likewise.
17516 * font/font_cmd.c: Likewise.
17517 * partmap/acorn.c: Likewise.
17518 * partmap/amiga.c: Likewise.
17519 * partmap/apple.c: Likewise.
17520 * partmap/gpt.c: Likewise.
17521 * partmap/msdos.c: Likewise.
17522 * partmap/sun.c: Likewise.
17523 * parttool/msdospart.c: Likewise.
17524 * term/gfxterm.c: Likewise.
17525 * video/bitmap.c: Likewise.
17526 * video/readers/jpeg.c: Likewise.
17527 * video/readers/png.c: Likewise.
17528 * video/readers/tga.c: Likewise.
17529 * video/video.c: Likewise.
17530 * util/grub-emu.c (read_command_list): Removed.
17531 (main): Don't call util_init_nls.
17532 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
17533 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
17534
91fdd2ed
VS
175352010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17536
17537 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
17538 date.mod, datehook.mod.
17539 (datetime_mod_SOURCES): New variable.
17540 (datetime_mod_CFLAGS): Likewise.
17541 (datetime_mod_LDFLAGS): Likewise.
17542 (date_mod_SOURCES): Likewise.
17543 (date_mod_CFLAGS): Likewise.
17544 (date_mod_LDFLAGS): Likewise.
17545 (datehook_mod_SOURCES): Likewise.
17546 (datehook_mod_CFLAGS): Likewise.
17547 (datehook_mod_LDFLAGS): Likewise.
17548 * conf/sparc64-ieee1275.rmk: Likewise.
17549 * lib/ieee1275/datetime.c: New file.
17550
873ccae6
VS
175512010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17552
17553 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
17554 (ieee1275_fb_mod_SOURCES): New variable.
17555 (ieee1275_fb_mod_CFLAGS): Likewise.
17556 (ieee1275_fb_mod_LDFLAGS): Likewise.
17557 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
17558 New proto.
17559 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
17560 (HEAP_MAX_ADDR): Likewise.
17561 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
17562 type.
17563 Correct stop condition.
17564 (grub_ieee1275_devices_iterate): New function.
17565 * video/ieee1275.c: New file.
17566
601c97c0
VS
175672010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17568
17569 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
17570
17571 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
17572 as scratch.
17573 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
17574 SCRATCH_PAD_DISKBOOT as scratch.
17575 (bootit): Pass Openfirmware pointer in %o4.
17576 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
17577 of 0x200000.
17578 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
17579 with util/grub-mkrawimage.c.
17580 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
17581 * include/grub/aout.h (AOUT_MID_SUN): New definition.
17582 (grub_aout_get_type) [GRUB_UTIL]: Removed.
17583 (grub_aout_load) [GRUB_UTIL]: Likewise.
17584 * include/grub/kernel.h (grub_modules_get_end): New proto.
17585 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
17586 (SCRATCH_PAD_BOOT): New definition.
17587 (SCRATCH_PAD_DISKBOOT): Likewise.
17588 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
17589 * include/grub/sparc64/ieee1275/ieee1275.h
17590 (grub_ieee1275_original_stack): New variable
17591 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
17592 New definition
17593 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
17594 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
17595 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
17596 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
17597 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
17598 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
17599 (grub_platform_image_format_t): New type.
17600 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
17601 * kern/main.c (grub_modules_get_end)
17602 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
17603 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
17604 (codestart): Switch stacks.
17605 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
17606 variable.
17607 (grub_heap_init): Use grub_modules_get_end.
17608 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
17609 stack.
17610 * util/grub-mkrawimage.c (generate_image): Support sparc64.
17611 (main): Likewise.
17612 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
17613
d68b491e
TG
176142010-03-14 Thorsten Glaser <tg@mirbsd.org>
17615
17616 * util/grub-mkrescue.in: Base ISO UUID on UTC.
17617
4e02ed50
MK
176182010-03-08 Matt Kraai <kraai@ftbfs.org>
17619
17620 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
17621 bug #559005).
17622
1f15fc1e
VS
176232010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
17624
17625 * genmoddep.awk: Output all missing symbols and not only first.
17626
fce5d8ff
VS
176272010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17628
17629 * NEWS: Put the date of 1.98 release.
17630
d1e8a02f
VS
176312010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17632
17633 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
17634 ft2build.h.
17635
696fd607
VS
176362010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17637
17638 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
17639 completition in the middle of string.
17640
33e2e6f3
VS
176412010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17642
17643 * util/grub-mkrescue.in: Use mktemp with explicit template.
17644
b1f6d291
VS
176452010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17646
17647 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
17648
2ac227c7
VS
176492010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17650
17651 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
17652 right pointer.
17653
8f9a632b
VS
176542010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
17655
17656 Fix FreeBSD compilation.
17657
17658 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
17659 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
17660
60b03859
VS
176612010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
17662
17663 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
17664
48a5a769
VS
176652010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17666
17667 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
17668
3ab4bd77
VS
176692010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17670
17671 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
17672
d116e0d8
RM
176732010-03-04 Robert Millan <rmh.grub@aybabtu.com>
17674
17675 Support relative image path in theme file.
17676
17677 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
17678 (image_set_property): Handle theme_dir and relative path.
17679
c7ef54aa
VS
176802010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17681
17682 * configure.ac: Alias amd64 to x86_64.
17683
fcee14ed
VS
176842010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17685
17686 * NEWS: mention multiboot on EFI.
17687
d0780363
VS
176882010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17689
17690 * kern/main.c (grub_load_modules): Handle errors from init functions of
17691 embeded modules.
17692
41168ea4
VS
176932010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17694
17695 * normal/autofs.c (autoload_fs_module): Handle errors.
17696
b54d93ac
VS
176972010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17698
17699 Disable linux.mod on qemu-mips since it's not functional and leads
17700 to compilation failure.
17701
17702 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
17703 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
17704 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
17705 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
17706 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
17707 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
17708 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
17709 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
17710 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
17711 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
17712 Reported by: BVK Chaitanya
17713
fc8345da
JU
177142010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
17715
17716 * INSTALL: Add gettext as a dependency and add qemu to a new section
17717 "Prerequisites for make-check".
17718
4760f979
CF
177192010-03-04 Christian Franke <franke@computer.org>
17720
17721 * util/grub-pe2elf.c: Add missing include "progname.h".
17722
f209b5b2
VS
177232010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17724
17725 * normal/crypto.c (read_crypto_list): Fix a typo.
17726 Reported by: Seth Goldberg.
17727
b4b7be98
VS
177282010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17729
17730 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 17731 Reported by: Seth Goldberg.
b4b7be98 17732
c0ee0385
VS
177332010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17734
17735 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
17736 ascii.bitmaps.
17737
a8efbf64
VS
177382010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17739
17740 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 17741 Reported by: Seth Goldberg.
a8efbf64 17742
08dcd913
VS
177432010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17744
17745 * util/i386/efi/grub-install.in: Copy gettext files.
17746
c4d0b332
VS
177472010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17748
17749 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
17750
c6f2fe52
VS
177512010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17752
17753 Wait for user entry basing on presence of output rather than on errors.
17754
17755 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
17756 (grub_install_newline_hook): Likewise.
17757 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
17758 * normal/menu.c (show_menu): Check line_counter to determine presence
17759 of output.
17760 * normal/term.c (grub_normal_line_counter): New variable.
17761 (grub_normal_get_line_counter): New function.
17762 (grub_install_newline_hook): Likewise.
17763
5382b1e4
VS
177642010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17765
17766 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
17767
5519963b
VS
177682010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17769
17770 * configure.ac: Update version to 1.98.
17771
72b28631
VS
177722010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
17773
17774 * util/grub.d/10_linux.in (linux_entry): Don't default to
17775 gfxpayload=keep if Linux doesn't support video handover.
17776
c140a180
VS
177772010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
17778
17779 Don't compile video modules on yeeloong since video subsystem is part
17780 of kernel.
17781
17782 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
17783 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
17784 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
17785 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
17786 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
17787 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
17788 * include/grub/bitmap_scale.h: Likewise.
17789 * include/grub/bufio.h: Likewise.
17790 * include/grub/font.h: Likewise.
17791 * include/grub/gfxterm.h: Likewise.
17792 * include/grub/video.h: Likewise.
17793 * include/grub/vbe.h: Don't include video_fb.h.
17794 * video/i386/pc/vbe.c: Include video_fb.h.
17795 * commands/i386/pc/vbetest.c: Include video.h.
17796
a0ca21c2
CW
177972010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
17798
17799 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
17800 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
17801 default entry if GRUB_SAVEDEFAULT=true. This allows using
17802 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
17803 saving a new default on every boot.
17804
4a8a763c
VS
178052010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
17806
17807 * normal/crypto.c (read_crypto_list): Fix a memory leak.
17808 * normal/term.c (read_terminal_list): Likewise.
17809 * normal/main.c (grub_normal_init_page): Likewise.
17810 (grub_normal_read_line_real): Likewise.
17811
607ffde2
VS
178122010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
17813
17814 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
17815 memory leak.
17816 Reported by: Seth Goldberg.
17817
2b8fa975
CW
178182010-02-24 Joey Korkames <joey+lists@kidfixit.com>
17819
17820 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
17821 duplicate declaration of `start'.
17822
618307dd
VS
178232010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
17824
17825 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
17826 filename.
17827 Reported by: Georgy Buranov
17828
7dd05b96 178292010-02-20 Carles Pina i Estany <carles@pina.cat>
17830
17831 * util/grub-mkrawimage.c (usage): Change string formatting to
17832 improve gettext.
17833
d1484a42
MRA
178342010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
17835
17836 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
17837 backspace keys.
17838
42b1d186
VS
178392010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
17840
17841 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
17842 Reported by: Michael Suchanek.
17843
178442010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
17845
17846 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
17847 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
17848
d9f31a41
VS
178492010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
17850
17851 Remove any reference to non-free fonts.
17852
17853 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
17854 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
17855 uses non-free components.
17856 * font/font.c (grub_font_get_name): Remove example name.
17857 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
17858 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
17859 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
17860 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
17861
2793c71e
GB
178622010-02-16 Georgy Buranov <gburanov@gmail.com>
17863
17864 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
17865
402e3779
VS
178662010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
17867
17868 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
17869 Double divisor.
17870 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
17871 features.
17872 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
17873
0dd1e0dd
VS
178742010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
17875
17876 * gensymlist.sh.in: Use TARGET_CC instead of CC.
17877
6fa7cfce
ST
178782010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17879
17880 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
17881 * docs/grub.texi (Command-line and menu entry commands): Document play
17882 command.
17883
37c8483b
ST
178842010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17885
17886 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
17887 parse arguments as inline tempo and notes. Move code for playing notes
17888 to...
17889 (play): ... new function.
17890
14da0fb7
ST
178912010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17892
17893 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
17894 grub_uint16_t instead of short.
17895 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
17896 disk from little endian to cpu endianness.
17897
04459e70
ST
178982010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
17899
17900 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
17901 GRUB_TICKS_PER_SECOND instead of 120.
17902
a0876943
VS
179032010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17904
17905 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
17906 escape sequence after \e.
17907
e29f95dc
VS
179082010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17909
17910 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
17911 non-ASCII characters.
17912
d27859b2
VS
179132010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17914
17915 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
17916 set root in single quotes to prevent \, from being unescaped.
17917
bc028f2f
VS
179182010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17919
17920 Prevent unknown commands from stopping menuentry execution.
17921
17922 * script/execute.c (grub_script_execute_cmdline): Print error after
17923 unknown command.
17924
095f5f82
VS
179252010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17926
17927 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
17928 Reported by: Pavel Pisa.
17929
8c717950
VS
179302010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17931
17932 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
17933
904935c3
VS
179342010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17935
17936 Merge grub_ieee1275_map_physical into grub_map and rename to
17937 grub_ieee1275_map
17938
17939 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
17940 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
17941 Remove.
17942 * kern/ieee1275/openfw.c (grub_map): Rename to ...
17943 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
17944 necessary.
17945 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
17946
5b59a4e3
VS
179472010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17948
17949 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
17950 opening and not after.
17951
69e137e8
VS
179522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17953
17954 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
17955 constants.
17956
2c0fcc36
VS
179572010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17958
17959 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
17960 (alloc_phys): Use ALIGN_UP instead of align_addr.
17961
8c6052ce
VS
179622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17963
17964 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
17965
17cec782
VS
179662010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17967
17968 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
17969
e0128bbd
VS
179702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17971
17972 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
17973 verbose dprintf.
17974
ca62070b
VS
179752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17976
17977 Fix over-4GiB seek on sparc64.
17978
17979 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
17980 Replace pos_i and pos_lo with pos. All users updated.
17981 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
17982 New constant.
17983 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
17984 Likewise.
17985 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
17986 and pos_lo.
17987
bdca2607
VS
179882010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17989
17990 * util/grub-mkrawimage.c (main): Call set_program_name.
17991
da278c4d
VS
179922010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17993
17994 Properly align 64-bit targets.
17995
17996 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
17997 (generate_image): Use ALIGN_ADDR.
17998
b274d734
VS
179992010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18000
18001 Properly create cross-endian images.
18002
18003 * include/grub/types.h (grub_host_to_target_addr): New macro
18004 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
18005
82da2062
VS
180062010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18007
18008 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
18009
7cae4377
VS
180102010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
18011
18012 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
18013
18014 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
18015 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
18016 (grub_linux_boot): Divide by 64K when on VESA.
18017
65a533e7
VS
180182010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
18019
18020 Support GRUB_GFXPAYLOAD_LINUX.
18021
18022 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
18023 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
18024
dd01d397
VS
180252010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
18026
18027 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
18028 to show messages instead of discarding them.
18029 Process errors after executing command and not before. Keep old method
18030 too as precaution.
18031
660960d6
VS
180322010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
18033
18034 * configure.ac: Check for ft2build.h.
18035
62509f04
VS
180362010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18037
18038 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
18039
473df63d
VS
180402010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18041
18042 * genkernsyms.sh.in: Use TARGET_CC.
18043
c98d2a13
CW
180442010-02-07 Colin Watson <cjwatson@ubuntu.com>
18045
18046 * NEWS: Update.
18047
6e14234c
VS
180482010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18049
18050 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
18051 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
18052 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 18053
b255e9cf
YB
180542010-02-07 Yves Blusseau <blusseau@zetam.org>
18055
6e14234c 18056 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 18057
98e6959d
VS
180582010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18059
18060 Fix warnings in grub-emu when compiling with maximum warning options.
18061
18062 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
18063 (grub_arch_modules_addr): Return 0 and not NULL.
18064 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 18065 (xstrdup): Use newstr instead of dup.
f88d801b
VS
18066 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
18067 of disk to dsk to avoid shadowing.
74e4934e
VS
18068 (find_free_slot): Fix prototype.
18069 * util/getroot.c (grub_util_is_dmraid): Make static.
18070 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
18071 Add missing prototype.
18072 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 18073
74e31b5c
VS
180742010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18075
18076 * loader/i386/linux.c (grub_linux_setup_video): Handle error
18077 appropriately.
18078
6b2ad14b
VS
180792010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18080
18081 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
18082 code out.
18083
8f891adc
VS
180842010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18085
18086 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
18087 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
18088 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
18089 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
18090 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
18091 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
18092
74b45184
VS
180932010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18094
18095 * include/grub/err.h (grub_err_printf): Don't export.
18096
a4bced77
VS
180972010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18098
18099 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
18100
007d0695
VS
181012010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18102
18103 * include/grub/i18n.h (grub_gettext_dummy): Removed.
18104 * kern/misc.c (grub_gettext_dummy): Make static.
18105
b6c0d9c2
VS
181062010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18107
18108 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
18109 by non-valid ones.
18110 * kern/term.c (grub_putchar): Likewise.
18111
f51a90d0
VS
181122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18113
18114 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
18115 buggy hook call and memory leak.
18116
6846cec5
VS
181172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18118
18119 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
18120
468d69fe
VS
181212010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18122
18123 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
18124
51906b8c
VS
181252010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18126
18127 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
18128 modevar.
18129 Return grub_errno on allocation error.
18130
09706ce5
VS
181312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18132
18133 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
18134
911df80c
YB
181352010-02-06 Yves Blusseau <blusseau@zetam.org>
18136
18137 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
18138 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
18139
3746a6bc
VS
181402010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18141
18142 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
18143 non-pxe disk.
18144 (grub_pxefs_open): Likewise.
18145
09706ce5
VS
181462010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18147
18148 * util/grub.d/10_hurd.in: Add --class information to menuentries.
18149 * util/grub.d/10_kfreebsd.in: Likewise.
18150 * util/grub.d/10_linux.in: Likewise.
18151
7cc192d9
VS
181522010-02-06 Colin D Bennett <colin@gibibit.com>
18153
18154 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
18155 (gfxmenu_mod_SOURCES): New variable.
18156 (gfxmenu_mod_CFLAGS): Likewise.
18157 (gfxmenu_mod_LDFLAGS): Likewise.
18158 * include/grub/term.h (grub_term_set_current_output): Declare
18159 argument as const.
18160 * docs/gfxmenu-theme-example.txt: New file.
18161 * gfxmenu/gfxmenu.c: Likewise.
18162 * gfxmenu/gui_box.c: Likewise.
18163 * gfxmenu/gui_canvas.c: Likewise.
18164 * gfxmenu/gui_circular_progress.c: Likewise.
18165 * gfxmenu/gui_image.c: Likewise.
18166 * gfxmenu/gui_label.c: Likewise.
18167 * gfxmenu/gui_list.c: Likewise.
18168 * gfxmenu/gui_progress_bar.c: Likewise.
18169 * gfxmenu/gui_string_util.c: Likewise.
18170 * gfxmenu/gui_util.c: Likewise.
18171 * gfxmenu/icon_manager.c: Likewise.
18172 * gfxmenu/model.c: Likewise.
18173 * gfxmenu/named_colors.c: Likewise.
18174 * gfxmenu/theme_loader.c: Likewise.
18175 * gfxmenu/view.c: Likewise.
18176 * gfxmenu/widget-box.c: Likewise.
18177 * include/grub/gfxmenu_model.h: Likewise.
18178 * include/grub/gfxmenu_view.h: Likewise.
18179 * include/grub/gfxwidgets.h: Likewise.
18180 * include/grub/gui.h: Likewise.
18181 * include/grub/gui_string_util.h: Likewise.
18182 * include/grub/icon_manager.h: Likewise.
18183
181842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18185
18186 Agglomerate scrolling in gfxterm.
18187
18188 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
18189 (grub_virtual_screen_setup): Initialise 'total_screen'.
18190 (write_char): Split to ...
18191 (paint_char): ... this ...
18192 (write_char): ... and this.
18193 (paint_char): Handle delayed scrolling.
18194 (draw_cursor): Likewise.
18195 (scroll_up): Split to ...
18196 (real_scroll): ... this ...
18197 (scroll_up): ... and this.
18198 (real_scroll): Handle multi-line scroll and draw below-the-bottom
18199 characters.
18200 (grub_gfxterm_refresh): Call real_scroll.
18201
182022010-02-06 Colin D Bennett <colin@gibibit.com>
18203
18204 * include/grub/misc.h (grub_iscntrl): New inline function.
18205 (grub_isalnum): Likewise.
18206 (grub_strtol): Likewise.
18207
182082010-02-06 Colin D Bennett <colin@gibibit.com>
18209
18210 * normal/menu_text.c (get_entry_number): Move from here ...
18211 * normal/menu.c (get_entry_number): ... moved here.
18212 * include/grub/menu.h (grub_menu_get_default_entry_index):
18213 New prototype.
18214 * normal/menu.c (grub_menu_get_default_entry_index): New function.
18215 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
18216 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
18217 (grub_menu_viewer_should_return): Likewise.
18218 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
18219 * normal/menu_text.c (run_menu): Enable menu switching.
18220 * normal/menu_viewer.c (should_return): New variable.
18221 (menu_viewer_changed): Likewise.
18222 (grub_menu_viewer_show_menu): Handle menu viewer changes.
18223 (grub_menu_viewer_should_return): New function.
18224 (menuviewer_write_hook): Likewise.
18225 (grub_menu_viewer_init): Likewise.
18226
182272010-02-06 Colin D Bennet <colin@gibibit.com>
182282010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18229
18230 Support for gfxterm in a window.
18231
18232 * include/grub/gfxterm.h: New file.
18233 * include/grub/video.h (struct grub_video_rect): New declaration.
18234 (grub_video_rect_t): Likewise.
18235 * term/gfxterm.c (struct grub_gfxterm_window): New type.
18236 (refcount): New variable.
18237 (render_target): Likewise.
18238 (window): Likewise.
18239 (repaint_callback): Likewise.
18240 (grub_virtual_screen_setup): Use 'render_target'.
18241 (init_window): New function.
18242 (grub_gfxterm_init_window): Likewise.
18243 (grub_gfxterm_init): Check reference counter.
18244 Use init_window.
18245 (destroy_window): New function.
18246 (grub_gfxterm_destroy_window): Likewise.
18247 (grub_gfxterm_fini): Check reference counter.
18248 Use destroy_window.
18249 (redraw_screen_rect): Restore viewport.
18250 Use 'render_target' and 'window'.
18251 Call 'repaint_callback'.
18252 (write_char): Use 'render_target'.
18253 (draw_cursor): Likewise.
18254 (scroll_up): Restore viewport.
18255 Use 'render_target' and 'window'.
18256 Call 'repaint_callback'.
18257 (grub_gfxterm_cls): Likewise.
18258 (grub_gfxterm_refresh): Use 'window'.
18259 (grub_gfxterm_set_repaint_callback): New function.
18260 (grub_gfxterm_background_image_cmd): Use 'window'.
18261 (grub_gfxterm_get_term): New function.
18262 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
18263
182642010-02-06 Colin D Bennett <colin@gibibit.com>
18265
18266 Bitmap scaling support.
18267
18268 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
18269 (bitmap_scale_mod_SOURCES): New variable.
18270 (bitmap_scale_mod_CFLAGS): Likewise.
18271 (bitmap_scale_mod_LDFLAGS): Likewise.
18272 * include/grub/bitmap_scale.h: New file.
18273 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
18274 (background_image_cmd_options): New variable.
18275 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
18276 (cmd): Rename and change type to ...
18277 (background_image_cmd_handle): ... this. All users updated.
18278 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
18279 * video/bitmap_scale.c: New file.
18280
182812010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18282
18283 SDL support.
18284
18285 * Makefile.in (LIBSDL): New variable.
18286 (enable_grub_emu_sdl): Likewise.
18287 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
18288 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
18289 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
18290 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
18291 * util/sdl.c: New file.
18292
182932010-02-06 Colin D Bennett <colin@gibibit.com>
182942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18295
18296 Double buffering support.
18297
18298 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
18299 * include/grub/video.h: Update comment.
18300 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
18301 New type.
18302 (grub_video_fb_doublebuf_blit_init): New prototype.
18303 * term/gfxterm.c (scroll_up): Support double buffering.
18304 (grub_gfxterm_refresh): Likewise.
18305 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
18306 (grub_video_fb_doublebuf_blit_init): Likewise.
18307 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
18308 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
18309 'displayed_page', 'render_page' and 'update_screen'.
18310 (grub_video_vbe_fini): Free offscreen buffer.
18311 (doublebuf_pageflipping_commit): New function.
18312 (doublebuf_pageflipping_update_screen): Likewise.
18313 (doublebuf_pageflipping_init): Likewise.
18314 (double_buffering_init): Likewise.
18315 (grub_video_vbe_setup): Enable doublebuffering.
18316 (grub_video_vbe_swap_buffers): Implement.
18317 (grub_video_vbe_set_active_render_target): Handle double buffering.
18318 (grub_video_vbe_get_active_render_target): Likewise.
18319 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
18320 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
18321 (grub_video_vbe_enable_double_buffering): Likewise.
18322 (grub_video_vbe_swap_buffers): Use update_screen.
18323 (grub_video_set_mode): Use double buffering.
18324
183252010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18326
18327 * maintainance/gentrigtables.py: Remove.
18328 * lib/trig.c: Likewise.
18329
18330 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
18331
18332 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
18333 `trigtables.c'.
18334 (trigtables.c): New rule.
18335 (gentrigtables): Likewise.
18336 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
18337
183382010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18339
18340 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
18341 integer constants.
18342
183432010-02-06 Colin D Bennet <colin@gibibit.com>
18344
18345 Trigonometry support.
18346
18347 * include/grub/trig.h: New file.
18348 * lib/trig.c: Likewise.
18349 * maintainance/gentrigtables.py: Likewise.
18350 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
18351 (trig_mod_SOURCES): New variable.
18352 (trig_mod_CFLAGS): Likewise.
18353 (trig_mod_LDFLAGS): Likewise.
18354
5562834e
VS
183552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18356
18357 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
18358 disk devices.
18359
4f8528fc
VS
183602010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18361
18362 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
18363 error.
18364
2b4068e9
VS
183652010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
18366
18367 * util/hostdisk.c (open_device): Don't use partition device when reading
18368 before the partition.
18369 (grub_util_biosdisk_read): Don't read from partition and before the
18370 partition in single operation.
18371 (grub_util_biosdisk_write): Don't write to partition and before the
18372 partition in single operation.
18373
399f6e4d
TL
183742010-02-03 Torsten Landschoff <torsten@debian.org>
18375
18376 * kern/disk.c (grub_disk_read): Fix offset computation when reading
18377 last sectors.
18378
996649b0
VS
183792010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
18380
18381 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
18382 CDROM reads.
18383 (grub_biosdisk_write): Refuse to write to CDROM.
18384
3b205d4d
VS
183852010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
18386
18387 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
18388
61e89d9d
VS
183892010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
18390
18391 * font/font.c (find_glyph): Check that bmp_idx is available before
18392 using it.
18393 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
18394 with (font == NULL).
18395
bf7fcba2
CS
183962010-01-28 Christian Schmitt <chris@ilovelinux.de>
18397
18398 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
18399
f45d2663
BC
184002010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
18401
18402 * include/grub/script_sh.h (sourcecode): Add const qualifier.
18403 * util/grub-script-check.c (getline): Fix empty lines case.
18404
ec1444e6
RM
184052010-01-28 Robert Millan <rmh.grub@aybabtu.com>
18406
18407 * Makefile.in (check): Exit with fail status when one of the tests
18408 fails.
18409 * tests/example_functional_test.c (example_test): Fix reversed assert.
18410 * tests/example_unit_test.c (example_test): Likewise.
18411
2e1cb9bb
CW
184122010-01-28 Colin Watson <cjwatson@ubuntu.com>
18413
18414 * util/grub.d/10_linux.in: This script does not use any of the
18415 contents of gettext.sh, only the external command `gettext', so stop
18416 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
18417 the same prefix as GRUB.)
18418 * util/grub.d/10_kfreebsd.in: Likewise.
18419
63533ab0
VS
184202010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18421
18422 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
18423 of the line.
18424
989e1f93
VS
184252010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18426
18427 * kern/disk.c (grub_disk_read): Fix offset computation when reading
18428 last sectors.
18429
e709ebe2
VS
184302010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18431
18432 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
18433 having a 4KiB and not 32KiB buffer size.
18434
27dea7ed
RM
184352010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18436
18437 * util/hostfs.c: Include `<errno.h>'.
18438 (grub_hostfs_read): Handle errors from fseeko() and fread().
18439
67667b9c
RM
184402010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18441
18442 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
18443 loop when using read hooks on files whose size isn't sector-aligned.
18444
c294d9d8
RM
184452010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18446
18447 Remove unused parameter.
18448
18449 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
18450 (grub_iso9660_open): Remove initialization of `data->length'.
18451
af75a9f1
RM
184522010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18453
18454 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
18455 memleak conditions.
18456
254e2ce5 184572010-01-27 Carles Pina i Estany <carles@pina.cat>
18458
18459 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
18460 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
18461
b510928c 184622010-01-26 Carles Pina i Estany <carles@pina.cat>
18463
18464 * util/bin2h.c (usage): Fix warning (space after backslash).
18465
aa2f9dd2 184662010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 18467
18468 * font/font.c: Include `grub/fontformat.h.
18469 Remove font file format constants.
18470 (grub_font_load): Use the new macros.
18471 * include/grub/fontformat.h: New file.
18472 * util/grub-mkfont.c: Include `grub/fontformat.c'.
18473 (write_font_pf2): Use the new macros.
18474
94e7e712
RM
184752010-01-26 Robert Millan <rmh.grub@aybabtu.com>
18476
18477 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
18478 does.
18479
3973a59a
RM
184802010-01-26 Robert Millan <rmh.grub@aybabtu.com>
18481
18482 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
18483
18484 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
18485 (_start): Macroify `0x7F'.
18486
18487 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
18488 (make_install_device): Use "(pxe)" as fallback prefix when booting
18489 via PXE.
18490
42e0cba3
GS
184912010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
18492
18493 * configure.ac: Reset LIBS after check for libgcc symbols.
18494
847effd8
CW
184952010-01-25 Colin Watson <cjwatson@ubuntu.com>
18496
18497 * util/hostdisk.c (open_device): Add trailing newline to debug
18498 message.
18499
ea4a7e35
GS
185002010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
18501
18502 * configure.ac: Check for `limits.h'.
18503 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
18504
67951a53
RM
185052010-01-24 Robert Millan <rmh.grub@aybabtu.com>
18506
18507 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
18508 capitalize error strings.
18509
c273d4ce
ST
185102010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
18511
18512 * util/grub.d/10_hurd.in: Add a recovery mode.
18513
69be5b74
VS
185142010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
18515
18516 * configure.ac: Check for libgcc symbols with -nostdlib.
18517
fc9e5810
BC
185182010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
18519
18520 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
18521
4b358c0a
VS
185222010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18523
18524 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
18525 stack since heap may be unavailable at that point.
18526 (grub_ofconsole_gotoxy): Likewise.
18527
454fcd1c
VS
185282010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18529
18530 * configure.ac: Check for _restgpr_14_x.
18531 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
18532 and _savegpr_* prototypes.
18533
566863ca
RM
185342010-01-22 Robert Millan <rmh.grub@aybabtu.com>
18535
18536 Use generic grub_reboot() for i386-efi.
18537
18538 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
18539 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
18540 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
18541
bf86e59a
VS
185422010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18543
18544 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
18545 presence of "prefix" variable as it breaks when normal.mod is
18546 embedded.
18547
d645e0f8
VS
185482010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18549
18550 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
18551 stack since heap is unavailable at that point.
18552
f9ab2e25
VS
185532010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18554
18555 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
18556 (grub_freebsd_bootinfo): Rewritten.
18557 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
18558
01fc7054
VS
185592010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18560
18561 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
18562
caab4fd6
RM
185632010-01-21 Robert Millan <rmh.grub@aybabtu.com>
18564
18565 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
18566 domain now.
18567
67eb1427
FZ
185682010-01-20 Felix Zielcke <fzielcke@z-51.de>
18569
18570 * util/misc.c (make_system_path_relative_to_its_root): Change the work
18571 around for handling "/" to the correct fix. Fix a memory leak. Use
18572 xstrdup instead of strdup.
18573
a9ed4ff3
VS
185742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18575
18576 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
18577
185782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
18579
18580 Optimise glyph lookup by Basic Multilingual Plane lookup array.
18581
18582 * font/font.c (struct grub_font): New member 'bmp_idx'.
18583 (font_init): Initialise 'bmp_idx'.
18584 (load_font_index): Fill 'bmp_idx'.
18585 (find_glyph): Make inline. Use bmp_idx for BMP characters.
18586
48209f4f
VS
185872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18588
18589 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
18590 unnecessary calls.
18591
9f0a4bb7
VS
185922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18593
18594 Move context handling out of the kernel.
18595
18596 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
18597 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
18598 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
18599 * conf/i386-efi.rmk: Likewise.
18600 * conf/i386-ieee1275.rmk: Likewise.
18601 * conf/i386-pc.rmk: Likewise.
18602 * conf/powerpc-ieee1275.rmk: Likewise.
18603 * conf/sparc64-ieee1275.rmk: Likewise.
18604 * conf/x86_64-efi.rmk: Likewise.
18605 * include/grub/env.h: Include grub/menu.h.
18606 (grub_env_var_type): Removed.
18607 (grub_env_var): Replaced field 'type' with 'global'.
18608 (grub_env_find): New prototype.
18609 (grub_env_context_open): Remove EXPORT_FUNC.
18610 (grub_env_context_close): Likewise.
18611 (grub_env_export): Likewise.
18612 (grub_env_set_data_slot): Removed.
18613 (grub_env_get_data_slot): Likewise.
18614 (grub_env_unset_data_slot): Likewise.
18615 (grub_env_unset_menu): New prototype.
18616 (grub_env_set_menu): Likewise.
18617 (grub_env_get_menu): Likewise.
18618 * include/grub/env_private.h: New file.
18619 * include/grub/normal.h (grub_context_init): New prototype.
18620 (grub_context_fini): Likewise.
18621 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
18622 * normal/context.c (grub_cmd_export): ... to here.
18623 * kern/env.c: Include env_private.h.
18624 (HASHSZ): Moved to include/grub/env_private.h.
18625 (grub_env_context): Likewise.
18626 (grub_env_sorted_var): Likewise.
18627 (current_context): Renamed from this ...
18628 (grub_current_context): ...to this. 'static' removed. All users updated.
18629 (grub_env_find): Removed 'static'.
18630 (grub_env_context_open): Moved to normal/context.c.
18631 (grub_env_context_close): Likewise.
18632 (grub_env_export): Likewise.
18633 (mangle_data_slot_name): Removed.
18634 (grub_env_set_data_slot): Likewise.
18635 (grub_env_get_data_slot): Likewise.
18636 (grub_env_unset_data_slot): Likewise.
18637 * kern/main.c (grub_set_root_dev): Don't export root.
18638 It will be done later.
18639 (grub_main): Don't export prefix.
18640 It will be done later.
18641 * normal/context.c: New file.
18642 * normal/main.c (free_menu): Use grub_env_unset_menu.
18643 (grub_normal_add_menu_entry): Use grub_env_get_menu.
18644 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
18645 (GRUB_MOD_INIT(normal)): Call grub_context_init.
18646 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
18647
8dd35b8c
VS
186482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18649
18650 setpci support.
18651
18652 * commands/setpci.c: New file.
18653 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
18654 (setpci_mod_SOURCES): New variable.
18655 (setpci_mod_CFLAGS): Likewise.
18656 (setpci_mod_LDFLAGS): Likewise.
18657
449193d5
VS
186582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18659
18660 Byte-addressable PCI configuration space.
18661
18662 * bus/pci.c (grub_pci_make_address): Use byte address instead of
18663 dword address.
18664 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
18665 GRUB_PCI_REG_CACHELINE.
18666 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
18667 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
18668 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
18669 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
18670 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
18671 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
18672 grub_pci_make_address.
18673 (lock_rom_area): Likewise.
18674 * commands/lspci.c (grub_lspci_iter): Use macroses
18675 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
18676 of grub_pci_make_address.
18677 * disk/ata.c (grub_ata_pciinit): Likewise.
18678 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
18679 (GRUB_PCI_REG_VENDOR): Likewise.
18680 (GRUB_PCI_REG_DEVICE): Likewise.
18681 (GRUB_PCI_REG_COMMAND): Likewise.
18682 (GRUB_PCI_REG_STATUS): Likewise.
18683 (GRUB_PCI_REG_REVISION): Likewise.
18684 (GRUB_PCI_REG_CLASS): Likewise.
18685 (GRUB_PCI_REG_CACHELINE): Likewise.
18686 (GRUB_PCI_REG_LAT_TIMER): Likewise.
18687 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
18688 (GRUB_PCI_REG_BIST): Likewise.
18689 (GRUB_PCI_REG_ADDRESSES): Likewise.
18690 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18691 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18692 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18693 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18694 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18695 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18696 (GRUB_PCI_REG_CIS_POINTER): Likewise.
18697 (GRUB_PCI_REG_SUBVENDOR): Likewise.
18698 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
18699 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
18700 (GRUB_PCI_REG_CAP_POINTER): Likewise.
18701 (GRUB_PCI_REG_IRQ_LINE): Likewise.
18702 (GRUB_PCI_REG_IRQ_PIN): Likewise.
18703 (GRUB_PCI_REG_MIN_GNT): Likewise.
18704 (GRUB_PCI_REG_MAX_LAT): Likewise.
18705 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
18706 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
18707 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 18708 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
18709 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
18710 space.
18711
96d73208
RM
187122010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18713
18714 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
18715 can be reliably determined to be supported.
18716
d4484482
RM
187172010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18718
18719 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
18720 that VESA is supported.
18721 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
18722 supported.
18723
00308ecf
VS
187242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18725
18726 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
18727
f66924a4
RM
187282010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18729
18730 * util/misc.c (make_system_path_relative_to_its_root): Work around
18731 special-casing of "/", as previous incarnation of this routine did.
18732
cbca0ada
VS
187332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18734
18735 Fix any-emu compilation.
18736
18737 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
18738 * grub_bin2h_SOURCES: New variable.
18739
34a66d99
RM
187402010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18741
18742 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
18743
94fabf58
RM
187442010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18745
18746 * util/grub.d/00_header.in: Fix handling of locale_dir.
18747
02cf98ca
VS
187482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18749
18750 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
18751 as possible unifont location (Gentoo).
18752 Reported by: Alexander Brüning
18753
327dbcd7
VS
187542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18755
18756 Don't try to generate lists for kernel.img.
18757
18758 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
18759 (pkglib_MODULES): Remove kernel.img.
18760 (kernel_img_EXPORTS): Removed.
18761 (kernel_img_RELOCATABLE): New variable.
18762 * conf/x86_64-efi.rmk: Likewise.
18763 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
18764
ca467290
VS
187652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18766
18767 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
18768 grub_xasprintf or grub_snprintf.
18769 (grub_vsprintf): Likewise.
18770 (grub_snprintf): New proto.
18771 (grub_vsnprintf): Likewise.
18772 (grub_xasprintf): Likewise.
18773 (grub_xvasprintf): Likewise.
18774 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
18775 (grub_sprintf): Removed.
18776 (grub_vsnprintf): New function.
18777 (grub_snprintf): Likewise.
18778 (grub_xvasprintf): Likewise.
18779 (grub_xasprintf): Likewise.
18780 (grub_vsprintf): Renamed to ...
18781 (grub_vsnprintf_real): ...this. New argument max_len.
18782
aca655fd
BC
187832010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
18784
18785 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
18786 fix grub-script-check warning.
18787
7ee92c32
VS
187882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18789
18790 * include/grub/font.h (grub_font_load): Fix prototype.
18791
f80927ca
VS
187922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18793
18794 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
18795
119c50ea
VS
187962010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18797
18798 * include/grub/x86_64/at_keyboard.h: New file.
18799
47d5f3c1
VS
188002010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18801
18802 * loader/mips/linux.c: Include missing grub/i18n.h.
18803
55ff5266
RM
188042009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18805
18806 * normal/menu.c (notify_execution_failure): Clarify error message.
18807
c893cc87
RM
188082009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18809
18810 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
18811 return value (and revert all return statements). Update users.
18812
917dd370
CW
188132010-01-20 Dan Merillat <debian@dan.merillat.org>
18814
18815 * kern/device.c (grub_device_iterate): Allocate new part_ent
18816 structure based on sizeof (*p) rather than sizeof (p->next), to
18817 account for structure padding.
18818
18819 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
18820 disk is NULL, which might happen for LVM physical volumes with no
18821 LVM signature.
18822
d4a4ee57
RM
188232009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18824
18825 * loader/mips/linux.c (grub_cmd_initrd)
18826 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
18827
188282009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18829
18830 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
18831 (grub_video_video_init, grub_video_bitmap_init)
18832 (grub_font_manager_init, grub_term_gfxterm_init)
18833 (grub_at_keyboard_init): New extern declarations.
18834 (grub_machine_init): Initialize gfxterm and at_keyboard.
18835
18836 * kern/main.c (grub_main): Revert grub_printf delay kludge.
18837
18838 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
18839 `gfxterm.mod' into core image.
18840
18841 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18842 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18843 (kernel_img_FORMAT): Copy to ...
18844
18845 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18846 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18847 (kernel_img_FORMAT): ... here, and ...
18848
18849 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18850 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18851 (kernel_img_FORMAT): ... here.
18852
18853 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
18854 and input (at_keyboard) terminals in kernel.
18855 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
18856
18857 (pkglib_MODULES): Remove `pci.mod'.
18858 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
18859 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
18860 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
18861 (at_keyboard_mod_LDFLAGS): Remove variables.
18862
188632010-01-11 Felix Zielcke <fzielcke@z-51.de>
18864
18865 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
18866
188672009-12-10 Robert Millan <rmh.grub@aybabtu.com>
18868
18869 * include/grub/mips/libgcc.h: Only export symbols for functions
18870 that libgcc provides.
18871
188722009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
18873
18874 MIPS support.
18875
18876 * bus/bonito.c: New file.
18877 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
18878 GRUB_PCI_NUM_DEVICES.
18879 * term/i386/pc/serial.c: Move to ...
18880 * term/serial.c: ... here. All users updated.
18881 * util/i386/pc/grub-mkimage.c: Move to ...
18882 * util/grub-mkrawimage.c: ... here. All users updated.
18883 * term/i386/pc/at_keyboard.c: Move to ...
18884 * term/at_keyboard.c: ... here. All users updated.
18885 * conf/mips-qemu-mips.rmk: New file.
18886 * conf/mips-yeeloong.rmk: Likewise.
18887 * conf/mips.rmk: Likewise.
18888 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
18889 mipsel-qemu-mips.
18890 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
18891 to port addresses.
18892 (grub_ata_pciinit): Support CS5536.
18893 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
18894 * font/font_cmd.c (loadfont_command): Open file before passing it to
18895 grub_font_load.
18896 (pseudo_file_read): New function.
18897 (pseudo_file_close): Likewise.
18898 (pseudo_fs): New structure.
18899 (load_font_module): New function.
18900 (GRUB_MOD_INIT(font_manager)): Load embedded font.
18901 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
18902 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
18903 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
18904 * include/grub/i386/at_keyboard.h: Split into ...
18905 * include/grub/at_keyboard.h: ... this ...
18906 * include/grub/i386/at_keyboard.h: ... and this.
18907 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
18908 New prototype.
18909 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
18910 updated.
18911 (grub_elf64_size): Likewise.
18912 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
18913 filename.
18914 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
18915 * include/grub/i386/coreboot/serial.h: Rewritten.
18916 * include/grub/i386/ieee1275/serial.h: Include
18917 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
18918 * include/grub/i386/pc/serial.h: Moved from here ...
18919 * include/grub/serial.h: ... to here. All users updated.
18920 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
18921 (GRUB_PCI_NUM_BUS): Likewise.
18922 (GRUB_PCI_NUM_DEVICES): Likewise.
18923 (grub_pci_device_map_range): Add missing volatile keyword.
18924 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
18925 * include/grub/mips/at_keyboard.h: New file.
18926 * include/grub/mips/cache.h: Likewise.
18927 * include/grub/mips/io.h: Likewise.
18928 * include/grub/mips/kernel.h: Likewise.
18929 * include/grub/mips/libgcc.h: Likewise.
18930 * include/grub/mips/pci.h: Likewise.
18931 * include/grub/mips/qemu-mips/boot.h: Likewise.
18932 * include/grub/mips/qemu-mips/kernel.h: Likewise.
18933 * include/grub/mips/qemu-mips/loader.h: Likewise.
18934 * include/grub/mips/qemu-mips/memory.h: Likewise.
18935 * include/grub/mips/qemu-mips/serial.h: Likewise.
18936 * include/grub/mips/qemu-mips/time.h: Likewise.
18937 * include/grub/mips/relocator.h: Likewise.
18938 * include/grub/mips/time.h: Likewise.
18939 * include/grub/mips/types.h: Likewise.
18940 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
18941 * include/grub/mips/yeeloong/boot.h: Likewise.
18942 * include/grub/mips/yeeloong/kernel.h: Likewise.
18943 * include/grub/mips/yeeloong/loader.h: Likewise.
18944 * include/grub/mips/yeeloong/memory.h: Likewise.
18945 * include/grub/mips/yeeloong/pci.h: Likewise.
18946 * include/grub/mips/yeeloong/serial.h: Likewise.
18947 * include/grub/mips/yeeloong/time.h: Likewise.
18948 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
18949 * kern/elf.c (grub_elf32_size): New parameter. All users
18950 updated.
18951 (grub_elf64_size): Likewise.
18952 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
18953 Load modules before saying "Welcome to GRUB!".
18954 Call grub_refresh after saying "Welcome to GRUB!".
18955 * kern/mips/cache.S: New file.
18956 * kern/mips/cache_flush.S: Likewise.
18957 * kern/mips/dl.c: Likewise.
18958 * kern/mips/init.c: Likewise.
18959 * kern/mips/qemu-mips/init.c: Likewise.
18960 * kern/mips/startup.S: Likewise.
18961 * kern/mips/yeeloong/init.c: Likewise.
18962 * kern/term.c (grub_putcode): Handle NULL terminal.
18963 (grub_getcharwidth): Likewise.
18964 (grub_getkey): Likewise.
18965 (grub_checkkey): Likewise.
18966 (grub_getkeystatus): Likewise.
18967 (grub_getxy): Likewise.
18968 (grub_getwh): Likewise.
18969 (grub_gotoxy): Likewise.
18970 (grub_cls): Likewise.
18971 (grub_setcolorstate): Likewise.
18972 (grub_setcolor): Likewise.
18973 (grub_getcolor): Likewise.
18974 (grub_refresh): Likewise.
18975 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
18976 (write_jump): Add hatch nop.
18977 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
18978 * lib/mips/setjmp.S: New file.
18979 * loader/mips/linux.c: Likewise.
18980 * term/i386/pc/at_keyboard.c: Move from here ...
18981 * term/at_keyboard.c: ... to here.
18982 * term/i386/pc/serial.c: Moved from here ...
18983 * term/serial.c: ... to here. All users updated.
18984 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
18985 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
18986 (serial_translate_key_sequence): Avoid deadlock.
18987 (grub_serial_getkey): Handle backspace.
18988 (grub_serial_putchar): Fix newline handling.
18989 * util/i386/pc/grub-mkimage.c: Move from here ...
18990 * util/grub-mkrawimage.c: ... to here. All users updated.
18991 (generate_image): New parameters 'font_path' and 'format'.
18992 Support embedding font.
18993 Use grub_host_to_target* instead of grub_cpu_to_le*.
18994 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
18995 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
18996 (options): New option "--font".
18997 (usage): Likewise.
18998 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
18999 (main): Handle "--font".
19000 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
19001 (grub_virtual_screen_setup): Set bg_color_display.
19002 (redraw_screen_rect): Use bg_color_display instead of incorrect
19003 bg_color.
19004 (grub_gfxterm_cls): Likewise.
19005 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
19006 Support embedding config file.
19007 (add_segments): Likewise.
19008 (options): New option "--config".
19009 (main): Handle "--config".
19010 * video/sm712.c: New file.
19011
25c2b5b3
RM
190122010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19013
19014 Fix parallel builds.
19015
19016 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
19017 font.c depend on ascii.h).
19018
190192010-01-12 Carles Pina i Estany <carles@pina.cat>
19020
19021 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
19022
190232010-01-11 Carles Pina i Estany <carles@pina.cat>
19024
19025 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
19026 By default: disabled.
19027 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
19028 parameter.
19029
190302010-01-10 Carles Pina i Estany <carles@pina.cat>
19031
19032 * font/font.c: Update copyright years.
19033 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
19034
190352010-01-10 Carles Pina i Estany <carles@pina.cat>
19036
19037 * font/font.c: Include `ascii.h'.
19038 (ASCII_BITMAP_SIZE): New macro.
19039 (ascii_font_glyph): Define.
19040 (ascii_glyph_lookup): New function.
19041 (grub_font_get_string_width): Change comment. If glyph not found, use
19042 ascii_glyph_lookup.
19043 (grub_font_get_glyph_with_fallback): If glyph not available returns
19044 ascii_glyph_lookup.
19045 * util/grub-mkfont.c (file_formats): New enum.
19046 (options): Add `ascii-bitmaps' new option.
19047 (usage): Add `asii-bitmaps' new option.
19048 (write_font_ascii_bitmap): New function.
19049 (write_font): Rename to ...
19050 (write_font_p2): ... this. Remove print_glyphs call.
19051 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
19052 used. Call print_glyphs.
19053 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
19054
190552010-01-14 Robert Millan <rmh.grub@aybabtu.com>
19056
19057 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
19058 (grub_bin2h_SOURCES): New variable.
19059 * util/bin2h.c: New file.
19060
915fc1b8
VS
190612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19062
19063 * include/multiboot.h: Resynced with spec.
19064 * include/multiboot2.h: Likewise.
19065 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
19066 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
19067
9444b678
RM
190682010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19069
19070 * include/grub/term.h (grub_term_register_input,
19071 grub_term_register_output): Check return of terminal init()
19072 routines, and abort if errors are raised.
19073
19074 * commands/terminal.c: Update copyright year.
19075
cba98e8d
RM
190762010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19077
19078 * commands/terminal.c (grub_cmd_terminal_input)
19079 (grub_cmd_terminal_output): Check return of terminal init()
19080 routines, and abort if errors are raised.
19081
6f7db5d6
VS
190822010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
19083
19084 * include/grub/i386/bsd.h: Fix include pathes.
19085
262bff8d
VS
190862010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
19087
19088 Add missing *BSD copyright headers.
19089
19090 * include/grub/aout.h: Add BSD licence.
19091 * include/grub/i386/bsd.h: Parts under different licences moved to ...
19092 * include/grub/i386/freebsd_linker.h: ... here,
19093 * include/grub/i386/freebsd_reboot.h: ... here,
19094 * include/grub/i386/netbsd_bootinfo.h: ... here,
19095 * include/grub/i386/netbsd_reboot.h: ... here,
19096 * include/grub/i386/openbsd_bootarg.h: ... here,
19097 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
19098 licence to each file.
19099
b2cab848
RM
191002010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19101
19102 * acinclude.m4: Remove `nop' assembly instruction; it's not
19103 implemented by all architectures.
19104
2cb6be4b
RM
191052010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19106
19107 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
19108 ELILO. This is no longer necessary.
19109
a2eaee15
BC
191102010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
19111
19112 Added new tool, grub-scrit-check to verify grub.cfg syntax.
19113
19114 * util/grub-script-check.c: grub-script-check tool.
19115 * conf/common.rmk: Make rules for grub-script-check.
19116
88d17012
RM
191172010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19118
19119 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
19120 spotting it back in 2008. Shame on me for forgetting he did.
19121
19122 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
19123
8040619d
RM
191242010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19125
19126 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
19127 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
19128 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
19129 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
19130 (GRUB_VIDEO_TYPE_EFI): Rename to ...
19131 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
19132
a0c2a0f6
RM
191332010-01-17 Robert Millan <rmh.grub@aybabtu.com>
19134
19135 * include/grub/test.h: Add license header.
19136 * tests/example_functional_test.c: Likewise.
19137 * tests/example_unit_test.c: Likewise.
19138 * tests/lib/functional_test.c: Likewise.
19139 * tests/lib/test.c: Likewise.
19140 * tests/lib/unit_test.c: Likewise.
19141
b0b13907
VS
191422010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
19143
19144 Use flag-based instead of hook-based video mode selection and "auto"
19145 keyword.
19146
19147 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
19148 (grub_video_set_mode): Changed prototype. All users updated.
19149 (grub_video_check_mode_flag): New inline function.
19150 * video/video.c (parse_modespec): New function.
19151 (grub_video_set_mode): Parse flags and keywords.
19152
ea379330 191532010-01-17 Carles Pina i Estany <carles@pina.cat>
19154
19155 * util/misc.c (grub_util_info): Fix the order of the parameters in a
19156 fprintf call.
19157
e15c215e
FZ
191582010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
19159
19160 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
19161
409ae1c9 191622010-01-16 Carles Pina i Estany <carles@pina.cat>
19163
19164 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
19165 string.
19166 * util/grub-emu.c (usage): Likewise.
19167 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
19168 * util/i386/efi/grub-mkimage.c (usage): Likewise.
19169 * util/i386/pc/grub-mkimage.c (usage): Likewise.
19170 * util/i386/pc/grub-setup.c (usage): Likewise.
19171
70a14d3d 191722010-01-16 Carles Pina i Estany <carles@pina.cat>
19173
19174 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
19175 the message.
19176 (grub_util_info): Likewise.
19177 (grub_util_error): Likewise.
19178 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
19179 and/or new lines in `grub_util_warna', `grub_util_info',
19180 `grub_util_error' calls.
19181 * util/getroot.c: Likewise.
19182 * util/grub-editenv.c: Likewise.
19183 * util/grub-emu.c: Likewise.
19184 * util/grub-fstest.c: Likewise.
19185 * util/grub-mkdevicemap.c: Likewise.
19186 * util/grub-mkfont.c: Likewise.
19187 * util/grub-mkpasswd-pbkdf2.c: Likewise.
19188 * util/grub-mkrelpath.c: Likewise.
19189 * util/grub-pe2elf.c: Likewise.
19190 * util/grub-probe.c: Likewise.
19191 * util/hostdisk.c: Likewise.
19192 * util/i386/efi/grub-mkimage.c: Likewise.
19193 * util/i386/pc/grub-mkimage.c: Likewise.
19194 * util/i386/pc/grub-setup.c: Likewise.
19195 * util/ieee1275/ofpath.c: Likewise.
19196 * util/mkisofs/eltorito.c: Likewise.
19197 * util/mkisofs/rock.c: Likewise.
19198 * util/mkisofs/write.c: Likewise.
19199 * util/raid.c: Likewise.
19200 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
19201 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19202
a0b766fc
VS
192032010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19204
19205 Enable multiboot on non-pc.
19206
19207 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
19208 multiboot.mod and multiboot2.mod to ...
19209 * conf/i386.rmk (pkglib_MODULES): ... here.
19210 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
19211 Moved to ...
19212 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
19213 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
19214 Moved to ...
19215 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
19216 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
19217 Moved to ...
19218 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
19219 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
19220 Moved to ...
19221 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
19222 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
19223 relocator.mod.
19224 (ata_mod_SOURCES): Removed.
19225 (ata_mod_CFLAGS): Likewise.
19226 (ata_mod_LDFLAGS): Likewise.
19227 (relocator_mod_SOURCES): Removed.
19228 (relocator_mod_CFLAGS): Likewise.
19229 (relocator_mod_ASFLAGS): Likewise.
19230 (relocator_mod_LDFLAGS): Likewise.
19231 Include i386.mk.
19232 * include/grub/x86_64/multiboot.h: New file.
19233 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
19234 Terminate EFI.
19235
884ade56
VS
192362010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19237
19238 Video multiboot support.
19239
19240 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
19241 New prototype.
19242 * include/multiboot.h: Resynced with multiboot specification.
19243 * include/multiboot2.h: Likewise.
19244 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
19245 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
19246 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
19247 (HAS_VGA_TEXT): Likewise.
19248 (accepts_video): New variable.
19249 (grub_multiboot_set_accepts_video): New function.
19250 (grub_multiboot_get_mbi_size): Account for video structures.
19251 (set_video_mode): New function.
19252 (retrieve_video_parameters): Likewise.
19253 (grub_multiboot_make_mbi): Fill video fields.
19254
0d90e8a6
VS
192552010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19256
19257 Video driver ids.
19258
19259 * include/grub/video.h (grub_video_driver_id): New type.
19260 (grub_video_adapter): New member 'id'. All users updated.
19261 (grub_video_get_driver_id): New proto.
19262 * video/video.c (grub_video_get_driver_id): New function.
19263
5c71db1b 192642010-01-14 Carles Pina i Estany <carles@pina.cat>
19265
19266 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
19267 `var=val'.
19268
cca15b52 192692010-01-14 Carles Pina i Estany <carles@pina.cat>
19270
19271 * normal/cmdline.c (print_completion): Gettextizze.
19272
c586fbb2 192732001-01-14 Carles Pina i Estany <carles@pina.cat>
19274
19275 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
19276
ba2f6848 192772010-01-14 Carles Pina i Estany <carles@pina.cat>
19278
19279 * gettext/gettext.c (grub_gettext_translate): Push and pop
19280 grub_errno.
19281 (grub_gettext_delete_list): Change comment style.
19282 * kern/err.c (grub_error): Gettextizze.
19283 (grub_fatal): Gettextizze.
19284
0a46429a
RM
192852010-01-14 Robert Millan <rmh.grub@aybabtu.com>
19286
19287 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
19288 (grub_linux16_real_boot): ... this.
19289 * kern/i386/loader.S: Likewise.
19290 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
19291 (grub_linux16_boot): New function. Switches to text mode and calls
19292 grub_linux16_real_boot().
19293
19294 * loader/i386/bsd.c: Include `<grub/video.h>'.
19295 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
19296 text mode before calling grub_unix_real_boot().
19297
19298 * loader/i386/multiboot.c: Include `<grub/video.h>'.
19299 (grub_multiboot_boot): Switch to text mode before calling
19300 grub_relocator32_boot().
19301
19302 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
19303 (grub_chainloader_boot): Switch to text mode before calling
19304 grub_chainloader_real_boot().
19305
d6f93a66
RM
193062010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
193072010-01-05 Colin Watson <cjwatson@ubuntu.com>
19308
19309 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
19310 non-empty value.
19311
193122010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
193132010-01-05 Colin Watson <cjwatson@ubuntu.com>
19314
19315 * util/grub.d/00_header.in: Define a "savedefault" function for use
19316 in menu entries.
19317 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
19318
193192010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
193202010-01-05 Colin Watson <cjwatson@ubuntu.com>
19321
19322 * util/grub-mkconfig_lib.in (save_default_entry): Only set
19323 saved_entry if boot_once is unset.
19324 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
19325 previous saved entry (i.e. grub-reboot).
19326
193272009-12-08 Colin Watson <cjwatson@ubuntu.com>
19328
19329 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
19330
193312009-12-08 Colin Watson <cjwatson@ubuntu.com>
19332
19333 * util/grub.d/00_header.in: Use `set var=val' rather than plain
19334 `var=val'.
19335 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
19336
193372009-12-08 Colin Watson <cjwatson@ubuntu.com>
19338
19339 * util/grub-reboot.in: Fix --version output.
19340 * util/grub-set-default.in: Likewise.
19341
193422009-12-08 Colin Watson <cjwatson@ubuntu.com>
19343
19344 * util/grub.d/00_header.in: Silently ignore zero-sized environment
19345 blocks.
19346
193472009-12-08 Colin Watson <cjwatson@ubuntu.com>
19348
19349 * util/grub.d/00_header.in: Quote the value assigned to `default',
19350 in case it contains spaces.
19351
193522009-12-08 Colin Watson <cjwatson@ubuntu.com>
19353
19354 * util/grub.d/30_os-prober.in: Fix merge error that moved a
19355 `save_default_entry' call from the macosx case to the linux case.
19356
193572009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
193582009-10-25 Colin Watson <cjwatson@ubuntu.com>
19359
19360 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
19361 in `chosen' environment variable.
19362 * normal/menu_text.c (get_entry_number): Check if the variable
19363 matches the title of a menu entry.
19364 (run_menu): Pass menu to get_entry_number.
19365
19366 * util/grub-reboot.in: New file.
19367 * util/grub-set-default.in: New file.
19368 * conf/common.rmk (grub-reboot): New utility.
19369 (grub-set-default): New utility.
19370
19371 * util/grub-mkconfig_lib.in (save_default_entry): New function.
19372 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
19373 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
19374 move it to `saved_entry' for the next boot. Load environment on
19375 initialisation.
19376 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
19377 * util/grub.d/10_hurd.in: Likewise.
19378 * util/grub.d/10_linux.in (linux_entry): Likewise.
19379 * util/grub.d/10_windows.in: Likewise.
19380 * util/grub.d/30_os-prober.in: Likewise.
19381
19382 * util/grub-install.in: Create environment block.
19383 * util/i386/efi/grub-install.in: Likewise.
19384 * util/ieee1275/grub-install.in: Likewise.
19385 * util/sparc64/ieee1275/grub-install.in: Likewise.
19386
0934d184
BC
193872010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
19388
19389 Unit testing framework for GRUB.
19390
19391 * Makefile.in: Test framework build rules for 'make check'.
19392 * conf/tests.rmk: Build rules for individual tests and framework.
19393
19394 * include/grub/test.h: Header file for whitebox tests.
19395 * tests/lib/functional_test.c: Framework support for whitebox
19396 functional tests.
19397 * tests/lib/test.c: Common whitebox testing code for unit and
19398 functional tests.
19399 * tests/lib/unit_test.c: Framework support for whitebox unit
19400 tests.
19401
19402 * tests/util/grub-shell-tester.in: Support utility for grub-script
19403 tests.
19404 * tests/util/grub-shell.in: Utility to execute grub-script
19405 commands in a Qemu instance.
19406
19407 * tests/example_functional_test.c: Example whitebox functional
19408 test.
19409 * tests/example_grub_script_test.in: Example grub-script test.
19410 * tests/example_scripted_test.in: Example scripted test.
19411 * tests/example_unit_test.c: Example whitebox unit test.
19412
9c4ffeeb
VS
194132010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19414
19415 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
19416 Add loader/i386/multiboot_mbi.c.
19417 (multiboot2_mod_SOURCES): Likewise.
19418 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
19419 (multiboot2_mod_SOURCES): Likewise.
19420 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
19421 (grub_multiboot_make_mbi): Likewise.
19422 (grub_multiboot_free_mbi): Likewise.
19423 (grub_multiboot_init_mbi): Likewise.
19424 (grub_multiboot_add_module): Likewise.
19425 (grub_multiboot_set_bootdev): Likewise.
19426 * loader/i386/multiboot.c (mbi): Removed.
19427 (mbi_dest): Likewise.
19428 (alloc_mbi): New variable.
19429 (grub_multiboot_payload_size): Removed. All users updated.
19430 (grub_multiboot_pure_size): New variable.
19431 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
19432 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
19433 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
19434 (grub_fill_multiboot_mmap): Likewise.
19435 (grub_multiboot_get_bootdev): Likewise.
19436 (grub_multiboot): Use multiboot_mbi functions.
19437 * loader/i386/multiboot_mbi.c: New file.
19438
17383dfe
VS
194392010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19440
19441 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
19442 it would result in module crash.
19443
c1f28820
VS
194442010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19445
19446 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
19447 (grub_ofconsole_getwh): Split to ...
19448 (grub_ofconsole_getwh): ... this.
19449 (grub_ofconsole_dimensions): ...and this.
19450 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
19451
58655a16
RM
194522010-01-13 Robert Millan <rmh.grub@aybabtu.com>
19453
19454 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
19455
10891398
VS
194562010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19457
19458 * loader/i386/pc/multiboot2.c: Removed stalled file.
19459
0b8a223c
VS
194602010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19461
19462 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
19463 Reported by: Grégoire Sutre
19464
92ab12b0
RM
194652010-01-11 Robert Millan <rmh.grub@aybabtu.com>
19466
19467 * util/misc.c (canonicalize_file_name): New function.
19468 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
19469 instead of realpath().
19470
a788afb6
CW
194712010-01-11 Colin Watson <cjwatson@ubuntu.com>
19472
19473 * util/grub-install.in (usage): Clarify meaning of --root-directory,
19474 and make it clearer that it's optional. Based on confusion
19475 witnessed on IRC.
19476
ffa8e3d2
VS
194772010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19478
19479 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
19480 in premature implicit newline.
19481
e9060a9d
VS
194822010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19483
19484 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
19485 which resulted in garbled command line at the end of screen.
19486
f0d0c0b7
RM
194872010-01-10 Robert Millan <rmh.grub@aybabtu.com>
19488
19489 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
19490 initialization with similar approach as with other Linux loaders.
19491
0e60bae7
RM
194922010-01-10 Robert Millan <rmh.grub@aybabtu.com>
19493
19494 Fix i386-ieee1275 build.
19495
19496 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
19497 and grub_term_height() for video_{width,height} initialization.
19498
194992010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
19500
19501 Fix grub-emu build.
19502
19503 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
19504
cdb3f378
RM
195052010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
195062010-01-09 Robert Millan <rmh.grub@aybabtu.com>
19507
19508 Support for multiple terminals.
19509
19510 * Makefile.in (pkglib_DATA): terminal.lst.
19511 (terminal.lst): New target.
19512 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
19513 (GRUB_MOD_INIT(handler)): Likewise.
19514 (GRUB_MOD_FINI(handler)): Likewise.
19515 * commands/help.c (grub_cmd_help): Handle multiple terminals.
19516 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
19517 * commands/sleep.c (do_print): Use grub_term_restore_pos.
19518 (grub_cmd_sleep): Use grub_term_save_pos.
19519 * commands/terminal.c: New file.
19520 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
19521 commands/terminal.c and lib/charset.c.
19522 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
19523 (pkglib_MODULES): Add terminal.mod.
19524 (terminal_mod_SOURCES): New variable.
19525 (terminal_mod_CFLAGS): Likewise.
19526 (terminal_mod_LDFLAGS): Likewise.
19527 * genhandlerlist.sh: Don't handle terminals.
19528 * genmk.rb: Generate terminal-*.lst.
19529 * genterminallist.sh: New file.
19530 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
19531 (grub_is_valid_utf8): Likewise.
19532 (grub_utf8_to_ucs4_alloc): Likewise.
19533 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
19534 (grub_menu_register_viewer): Changed argument.
19535 (grub_menu_try_text): New proto.
19536 (grub_gfxmenu_try_hook): New declaration.
19537 * include/grub/normal.h (grub_normal_exit_level): New declaration.
19538 (grub_menu_init_page): Additional argument term.
19539 (grub_normal_init_page): Likewise.
19540 (grub_cmdline_get): Arguments simplified.
19541 (grub_utf8_to_ucs4_alloc): Removed.
19542 (grub_print_ucs4): Additional argument term.
19543 (grub_getstringwidth): Likewise.
19544 (grub_print_message_indented): Likewise.
19545 (grub_menu_text_register_instances): New proto.
19546 (grub_show_menu): Likewise.
19547 (read_terminal_list): Likewise.
19548 (grub_set_more): Likewise.
19549 * include/grub/parser.h: Include handler.h.
19550 * include/grub/reader.h: Rewritten.
19551 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
19552 (GRUB_TERM_WIDTH): Changed to function.
19553 (GRUB_TERM_HEIGHT): Likewise.
19554 (GRUB_TERM_BORDER_WIDTH): Likewise.
19555 (GRUB_TERM_BORDER_HEIGHT): Likewise.
19556 (GRUB_TERM_NUM_ENTRIES): Likewise.
19557 (GRUB_TERM_ENTRY_WIDTH): Likewise.
19558 (GRUB_TERM_CURSOR_X): Likewise.
19559 (grub_term_input_class): Likewise.
19560 (grub_term_output_class): Likewise.
19561 (grub_term_outputs_disabled): New declaration.
19562 (grub_term_inputs_disabled): Likewise.
19563 (grub_term_outputs): Likewise.
19564 (grub_term_inputs): Likewise.
19565 (grub_term_register_input): Rewritten.
19566 (grub_term_register_output): Likewise.
19567 (grub_term_unregister_input): Likewise.
19568 (grub_term_unregister_output): Likewise.
19569 (FOR_ACTIVE_TERM_INPUTS): New macro.
19570 (FOR_DISABLED_TERM_INPUTS): Likewise.
19571 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19572 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19573 * include/grub/terminfo.h: Add oterm argument to all protypes.
19574 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
19575 Use grub_rescue_run.
19576 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
19577 All users updated.
19578 * kern/reader.c: Removed. All users updated.
19579 * kern/rescue_reader.c (grub_rescue_init): Removed.
19580 (grub_rescue_reader): Likewise.
19581 (grub_register_rescue_reader): Likewise.
19582 (grub_rescue_run): New function based on kern/reader.c.
19583 * kern/term.c: Adapted for multiterm.
19584 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
19585 (grub_is_valid_utf8): Likewise.
19586 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
19587 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
19588 right terminal.
19589 * loader/i386/linux.c (grub_linux_boot): Likewise.
19590 * normal/auth.c (grub_username_get): New function.
19591 (grub_auth_check_authentication): Use grub_username_get.
19592 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
19593 * normal/color.c: Adapt for multiterm.
19594 * normal/main.c (read_config_file): Don't use grub_reader_loop.
19595 (grub_normal_init_page): Additional argument term.
19596 (read_lists): Call read_terminal_lists.
19597 (grub_enter_normal_mode): Call grub_cmdline_run.
19598 Handle grub_normal_exit_level.
19599 (grub_cmd_normal): Make reentrant.
19600 (grub_cmd_normal_exit): New function.
19601 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
19602 * normal/menu.c: Adapt for multiterm.
19603 * normal/menu_entry.c: Likewise.
19604 * normal/menu_text.c: Likewise.
19605 * normal/menu_viewer.c: Removed. All users updated.
19606 * normal/term.c: New file.
19607 * util/console.c: Change order of includes to workaround a bug in
19608 ncurses headers.
19609 * term/terminfo.c: New argument oterm on all exported functions.
19610 All users updated.
19611 * util/grub-editenv.c (grub_term_input_class): Removed.
19612 (grub_term_output_class): Likewise.
19613
1a064917
RM
196142010-01-09 Robert Millan <rmh.grub@aybabtu.com>
19615
19616 Make loader output a bit more user-friendly.
19617
19618 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
19619 is being loaded. Likewise for the Hurd.
19620
19621 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
19622 that kernel of FreeBSD ${version} is being loaded.
19623
19624 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
19625 grub_dprintf().
19626 (grub_cmd_initrd): Likewise.
19627 * util/grub.d/10_linux.in (linux_entry): Print message indicating
19628 that Linux ${version} is being loaded. Likewise for initrd.
19629
5ce0a83a 196302010-01-09 Carles Pina i Estany <carles@pina.cat>
19631
19632 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
19633
809bbfeb 196342010-01-08 Carles Pina i Estany <carles@pina.cat>
19635
19636 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
19637 (GRUB_MOD_INIT): Gettextizze.
19638 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
19639 (GRUB_MOD_INIT): Gettextizze.
19640 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
19641 (grub_cmd_linux): Capitalise Linux.
19642 (GRUB_MOD_INIT): Gettextizze.
19643 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
19644 (grub_cmd_linux): Capitalise Linux.
19645 (GRUB_MOD_INIT): Gettextizze.
19646 * loader/i386/linux.c: Include `<grub/i18n.h>'.
19647 (grub_cmd_linux): Capitalise Linux.
19648 (GRUB_MOD_INIT): Gettextizze.
19649 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
19650 (GRUB_MOD_INIT): Gettextizze.
19651 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
19652 (grub_cmd_linux): Capitalise Linux.
19653 (GRUB_MOD_INIT): Gettextizze.
19654 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
19655 (grub_cpu_xnu_init): Gettextizze.
19656 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
19657 (GRUB_MOD_INIT): Gettextizze.
19658 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
19659 (GRUB_MOD_INIT): Gettextizze.
19660 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
19661 (grub_linux_load64): Capitalise Linux.
19662 (GRUB_MOD_INIT): Gettextizze.
19663 * loader/xnu.c: Include `<grub/i18n.h>'.
19664 (GRUB_MOD_INIT): Gettextizze.
19665 * po/POTFILES: Add `loader/efi/appleloader.c',
19666 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
19667 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
19668 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
19669 `loader/i386/xnu.c', `loader/multiboot_loader.c',
19670 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
19671 and `loader/xnu.c'.
19672
b394b2ca
RM
196732010-01-08 Robert Millan <rmh.grub@aybabtu.com>
19674
19675 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
19676
196772010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
19678
19679 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
19680 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
19681 * util/mkisofs/mkisofs.c (main): Readjust --version output.
19682
bc8b32b3
RM
196832010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19684
19685 Reset Multiboot 2 support. New loader implements the draft in
19686 /branches/multiboot2 and shares as much code as possible with the
19687 production Multiboot 1 implementation.
19688
19689 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
19690 * loader/multiboot2.c: Likewise.
19691 * loader/i386/multiboot_helper.S: Likewise.
19692 * include/multiboot2.h: Replace with latest version from the draft
19693 in /branches/multiboot2.
19694
19695 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
19696 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
19697 and `loader/multiboot2.c'.
19698 (pkglib_MODULES): Add `multiboot2.mod'.
19699 (multiboot2_mod_SOURCES): New variable.
19700 (multiboot2_mod_LDFLAGS): Likewise.
19701 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
19702
19703 * conf/i386-pc.rmk: Likewise.
19704
19705 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
19706 (multiboot_mod_SOURCES): Remove variable.
19707 (multiboot_mod_LDFLAGS): Likewise.
19708 (multiboot_mod_CFLAGS): Likewise.
19709
19710 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
19711 `<multiboot2.h>' instead of `<multiboot.h>'.
19712 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
19713 (MULTIBOOT_HEADER_MAGIC): New macros.
19714
19715 * loader/multiboot_loader.c (module_version_status): Remove variable.
19716 (find_multi_boot2_header): Remove function.
19717 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
19718 logic. Always check for the Multiboot version we're compiling for.
19719 (grub_cmd_module_loader): Likewise.
19720 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
19721 command instead of `multiboot'.
19722
5d2c52b8
RM
197232010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19724
19725 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
19726 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
19727 all users.
19728
53108d92
RM
197292010-01-07 Robert Millan <rmh.grub@aybabtu.com>
197302010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19731
19732 Fix breakage introduced with previous commit.
19733
19734 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
19735 commands.
19736 * normal/handler.c (read_handler_list): Revert part of previous commit
19737 affecting this file.
19738 * normal/main.c (read_lists): Move read_handler_list() call back to ...
19739 (grub_normal_execute): ... here.
19740
e2e936b2
RM
197412010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19742
19743 Merge prefix-redefinition-fix branch.
19744
19745 * normal/autofs.c (read_fs_list): Make function capable of being
19746 run multiple times, gracefuly replacing the previous data
19747 structures.
19748 * normal/dyncmd.c (read_command_list): Likewise.
19749 * normal/handler.c (read_handler_list): Likewise.
19750 * normal/main.c (read_lists): New function. Calls all the
19751 list reading functions.
19752 (grub_normal_execute): Use read_lists() instead of calling all
19753 list reading functions explicitly. Register read_lists() as a
19754 variable hook attached to ${prefix}.
19755
607a3701
VS
197562010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19757
19758 Merge crypto branch.
19759
19760 * Makefile.in (pkglib_DATA): Add crypto.lst.
19761 (crypto.lst): New target.
19762 * commands/hashsum.c: New file.
19763 * commands/password.c (check_password): Use grub_crypto_memcmp.
19764 * commands/password_pbkdf2.c: New file.
19765 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
19766 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
19767 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
19768 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
19769 -I$(srcdir)/lib/libgcrypt_wrap.
19770 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
19771 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
19772 password_pbkdf2.mod.
19773 (crypto_mod_SOURCES): New variable.
19774 (crypto_mod_CFLAGS): Likewise.
19775 (crypto_mod_LDFLAGS): Likewise.
19776 (hashsum_mod_SOURCES): New variable.
19777 (hashsum_mod_CFLAGS): Likewise.
19778 (hashsum_mod_LDFLAGS): Likewise.
19779 (pbkdf2_mod_SOURCES): New variable.
19780 (pbkdf2_mod_CFLAGS): Likewise.
19781 (pbkdf2_mod_LDFLAGS): Likewise.
19782 (password_pbkdf2_mod_SOURCES): New variable.
19783 (password_pbkdf2_mod_CFLAGS): Likewise.
19784 (password_pbkdf2_mod_LDFLAGS): Likewise.
19785 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
19786 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
19787 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
19788 Include conf/gcry.rmk.
19789 * include/grub/auth.h: Rewritten.
19790 * include/grub/crypto.h: New file.
19791 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
19792 * include/grub/normal.h (read_crypto_list): New prototype.
19793 * lib/crypto.c: New file.
19794 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
19795 * lib/pbkdf2.c: Likewise.
19796 * normal/auth.c (grub_auth_strcmp): Removed.
19797 (grub_iswordseparator): Likewise.
19798 (grub_auth_strword): Likewise.
19799 (is_authenticated): Use grub_strword.
19800 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
19801 and grub_strword. Pass entered password to authentication callback.
19802 * normal/crypto.c: New file.
19803 * normal/main.c: Call read_crypto_list.
19804 * util/grub-mkpasswd-pbkdf2.c: New file.
19805 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
19806
42841caa
VS
198072010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
19808
19809 Fix descent and ascent calculation.
19810
19811 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
19812 (options): New option "asce".
19813 (usage): Likewise.
19814 (add_char): Ignore invalid glyphs for descent calculation.
19815 Calculate ascent from actual content.
19816 (print_glyphs): Use 'asce'.
19817 (write_font): Likewise. Allow ascent override.
19818 (main): Handle "asce" option.
19819
e7730de7 198202010-01-06 Carles Pina i Estany <carles@pina.cat>
19821
19822 * kern/err.c: Include `<grub/i18n.h>'.
19823 (grub_print_error): Add full stop. Gettextizze.
19824 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
19825 (grub_bsd_load_elf): Capitalise ELF.
19826 (grub_cmd_freebsd_loadenv): Add `s' in error string.
19827 (grub_cmd_freebsd_module): Likewise.
19828 (grub_cmd_freebsd_module_elf): Likewise.
19829 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
19830
40e3a41f 198312010-01-06 Carles Pina i Estany <carles@pina.cat>
19832
19833 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
19834 * commands/search_file.c (HELP_MESSAGE): New macro.
19835 * commands/search_label.c (HELP_MESSAGE): Likewise.
19836 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
19837 * po/POTFILES: Add `commands/search_file.c',
19838 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
19839 `commands/search.c'.
19840
83507e68
RM
198412010-01-05 Robert Millan <rmh.grub@aybabtu.com>
19842
19843 * config.rpath: Update from Gnulib.
19844
465c787b
YB
198452010-01-05 Yves Blusseau <blusseau@zetam.org>
19846
19847 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
19848
6581dd3a
YB
198492010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
19850
19851 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
19852
3bff18c5
CW
198532010-01-05 Colin Watson <cjwatson@ubuntu.com>
19854
19855 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
19856 arguments to fread so that we get a return value in bytes, rather
19857 than something that will normally be rounded down to 0.
19858 Adjust error handling to avoid producing garbage when size_t is not
19859 the same size as long long.
19860
a1368118
CW
198612010-01-05 Colin Watson <cjwatson@ubuntu.com>
19862
19863 * util/mkisofs/write.c (padblock_write): Check return value of
19864 fread.
19865
7c302978
RM
198662010-01-05 Robert Millan <rmh.grub@aybabtu.com>
19867
19868 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
19869 floppy images now.
19870
19871 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
19872
e33ace06
RM
198732010-01-04 Robert Millan <rmh.grub@aybabtu.com>
19874
19875 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
19876 instead of manual alignment.
19877 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
19878 verbose). Avoid attempts to read past end of the device
19879 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
19880 but GRUB_DISK_CACHE_SIZE may exceed that).
19881
4b856776
RM
198822010-01-04 Robert Millan <rmh.grub@aybabtu.com>
19883
19884 * commands/crc.c (grub_cmd_crc): Abort on read errors.
19885 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
19886 it to upper layer.
19887
52c2d97f
VS
198882010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19889
19890 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
19891 New constant.
19892 (grub_efi_piwg_device_path): New structure
19893 (grub_efi_piwg_device_path_t): New type.
19894 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
19895 (devpath_1): Transform to a structure. All users updated.
19896 (devpath_2): Likewise.
19897 (devpath_3): Likewise.
19898 (devpath_4): Likewise.
19899 (devpath_5): Likewise.
19900
98ff6a54
VS
199012010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19902
19903 * loader/efi/appleloader.c: Restored. Update all users.
19904
3a73dcb6
RM
199052010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19906
19907 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
19908
19909 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
19910 (struct boot_blocklist): Move from here ...
19911 * include/grub/i386/pc/boot.h [ASM_FILE]
19912 (struct grub_boot_blocklist): ... to here. Update all users.
19913 (setup): Only initialize `start' member of `first_block'
19914 structure. Add assert() calls to verify the other members.
19915
19916 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
19917 (generate_image): Fix broken blocklist length initialization.
19918 Add assert() call to verify blocklist `segment' field.
19919
ab0eeb0c
RM
199202010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19921
19922 * loader/efi/appleloader.c: Remove. Update all users.
19923
58bc8bd5
RM
199242010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19925
19926 * boot/i386/pc/boot.S: Update copyright year.
19927 * boot/i386/pc/cdboot.S: Likewise.
19928 * boot/i386/pc/diskboot.S: Likewise.
19929 * boot/i386/pc/lnxboot.S: Likewise.
19930 * boot/i386/pc/pxeboot.S: Likewise.
19931 * bus/pci.c: Likewise.
19932 * commands/cmp.c: Likewise.
19933 * commands/help.c: Likewise.
19934 * commands/hexdump.c: Likewise.
19935 * commands/i386/pc/halt.c: Likewise.
19936 * commands/i386/pc/play.c: Likewise.
19937 * commands/i386/pc/vbeinfo.c: Likewise.
19938 * commands/ls.c: Likewise.
19939 * commands/test.c: Likewise.
19940 * disk/dmraid_nvidia.c: Likewise.
19941 * disk/i386/pc/biosdisk.c: Likewise.
19942 * disk/ieee1275/nand.c: Likewise.
19943 * disk/ieee1275/ofdisk.c: Likewise.
19944 * disk/lvm.c: Likewise.
19945 * disk/raid.c: Likewise.
19946 * disk/raid6_recover.c: Likewise.
19947 * disk/scsi.c: Likewise.
19948 * fs/affs.c: Likewise.
19949 * fs/cpio.c: Likewise.
19950 * fs/ext2.c: Likewise.
19951 * fs/hfs.c: Likewise.
19952 * fs/iso9660.c: Likewise.
19953 * fs/ntfs.c: Likewise.
19954 * fs/sfs.c: Likewise.
19955 * fs/udf.c: Likewise.
19956 * fs/ufs.c: Likewise.
19957 * fs/xfs.c: Likewise.
19958 * gencmdlist.sh: Likewise.
19959 * genmk.rb: Likewise.
19960 * include/grub/disk.h: Likewise.
19961 * include/grub/efi/api.h: Likewise.
19962 * include/grub/efi/efi.h: Likewise.
19963 * include/grub/efi/pe32.h: Likewise.
19964 * include/grub/elf.h: Likewise.
19965 * include/grub/fs.h: Likewise.
19966 * include/grub/i386/at_keyboard.h: Likewise.
19967 * include/grub/i386/pc/memory.h: Likewise.
19968 * include/grub/i386/pc/vbe.h: Likewise.
19969 * include/grub/i386/pci.h: Likewise.
19970 * include/grub/i386/tsc.h: Likewise.
19971 * include/grub/ieee1275/ieee1275.h: Likewise.
19972 * include/grub/ntfs.h: Likewise.
19973 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
19974 * include/grub/sparc64/libgcc.h: Likewise.
19975 * include/grub/symbol.h: Likewise.
19976 * include/grub/types.h: Likewise.
19977 * include/multiboot2.h: Likewise.
19978 * io/gzio.c: Likewise.
19979 * kern/device.c: Likewise.
19980 * kern/disk.c: Likewise.
19981 * kern/efi/efi.c: Likewise.
19982 * kern/efi/mm.c: Likewise.
19983 * kern/elf.c: Likewise.
19984 * kern/file.c: Likewise.
19985 * kern/i386/dl.c: Likewise.
19986 * kern/i386/pc/init.c: Likewise.
19987 * kern/i386/pc/startup.S: Likewise.
19988 * kern/ieee1275/ieee1275.c: Likewise.
19989 * kern/ieee1275/init.c: Likewise.
19990 * kern/main.c: Likewise.
19991 * kern/mm.c: Likewise.
19992 * kern/powerpc/dl.c: Likewise.
19993 * kern/sparc64/dl.c: Likewise.
19994 * kern/x86_64/dl.c: Likewise.
19995 * lib/hexdump.c: Likewise.
19996 * loader/efi/appleloader.c: Likewise.
19997 * loader/i386/ieee1275/linux.c: Likewise.
19998 * loader/i386/pc/chainloader.c: Likewise.
19999 * loader/i386/pc/linux.c: Likewise.
20000 * loader/i386/pc/multiboot2.c: Likewise.
20001 * loader/ieee1275/multiboot2.c: Likewise.
20002 * loader/multiboot2.c: Likewise.
20003 * loader/multiboot_loader.c: Likewise.
20004 * loader/powerpc/ieee1275/linux.c: Likewise.
20005 * normal/completion.c: Likewise.
20006 * normal/menu_entry.c: Likewise.
20007 * partmap/apple.c: Likewise.
20008 * util/grub.d/10_hurd.in: Likewise.
20009 * util/hostfs.c: Likewise.
20010 * video/readers/png.c: Likewise.
20011
e2d70b5c
CW
200122010-01-03 Colin Watson <cjwatson@ubuntu.com>
20013
20014 * include/grub/misc.h (GNUC_PREREQ): New macro.
20015 (ATTRIBUTE_ERROR): New macro.
20016 * include/grub/list.h (grub_bad_type_cast_real): Use
20017 ATTRIBUTE_ERROR.
20018
a173283f 200192010-01-03 Carles Pina i Estany <carles@pina.cat>
20020
20021 * normal/menu_text.c (print_message): Change messages.
20022
7fa7ff74 200232010-01-03 Carles Pina i Estany <carles@pina.cat>
20024
20025 * normal/menu_entry.c (store_completion): Gettextizze.
20026
136d24f6 200272010-01-03 Carles Pina i Estany <carles@pina.cat>
20028
20029 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
20030
f936862e 200312010-01-03 Carles Pina i Estany <carles@pina.cat>
20032
20033 * po/POTFILES: Sort correctly.
20034
29c44ad1 200352010-01-03 Carles Pina i Estany <carles@pina.cat>
20036
20037 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
20038 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
20039 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
20040 full stop.
20041 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
20042 summary. Gettextizze the strings.
20043 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
20044 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
20045 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
20046 full stop.
20047 (GRUB_MOD_INIT): Remove command name from summary.
20048 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
20049 summary.
20050 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
20051 * term/i386/pc/serial.c (options): Add full stops.
20052 (GRUB_MOD_INIT): Remove command name from the summary.
20053
77a79592 200542010-01-03 Carles Pina i Estany <carles@pina.cat>
20055
20056 * commands/acpi.c: Gettextizze help strings and/or options. Include
20057 `grub/i18n.h' if needed.
20058 * commands/blocklist.c: Likewise.
20059 * commands/boot.c: Likewise.
20060 * commands/cat.c: Likewise.
20061 * commands/cmp.c: Likewise.
20062 * commands/configfile.c: Likewise.
20063 * commands/crc.c: Likewise.
20064 * commands/date.c: Likewise.
20065 * commands/echo.c: Likewise.
20066 * commands/efi/fixvideo.c: Likewise.
20067 * commands/efi/loadbios.c: Likewise.
20068 * commands/gptsync.c: Likewise.
20069 * commands/halt.c: Likewise.
20070 * commands/handler.c: Likewise.
20071 * commands/hdparm.c: Likewise.
20072 * commands/hexdump.c: Likewise.
20073 * commands/i386/cpuid.c: Likewise.
20074 * commands/i386/pc/drivemap.c: Likewise.
20075 * commands/i386/pc/halt.c: Likewise.
20076 * commands/i386/pc/pxecmd.c: Likewise.
20077 * commands/i386/pc/vbeinfo.c: Likewise.
20078 * commands/i386/pc/vbetest.c: Likewise.
20079 * commands/ieee1275/suspend.c: Likewise.
20080 * commands/keystatus.c: Likewise.
20081 * commands/loadenv.c: Likewise.
20082 * commands/ls.c: Likewise.
20083 * commands/lsmmap.c: Likewise.
20084 * commands/lspci.c: Likewise.
20085 * commands/memrw.c: Likewise.
20086 * commands/minicmd.c: Likewise.
20087 * commands/parttool.c: Likewise.
20088 * commands/password.c: Likewise.
20089 * commands/probe.c: Likewise.
20090 * commands/read.c: Likewise.
20091 * commands/reboot.c: Likewise.
20092 * commands/search.c: Likewise.
20093 * commands/sleep.c: Likewise.
20094 * commands/test.c: Likewise.
20095 * commands/true.c: Likewise.
20096 * commands/usbtest.c: Likewise.
20097 * commands/videotest.c: Likewise.
20098 * commands/xnu_uuid.c: Likewise.
20099 * disk/loopback.c: Likewise.
20100 * hello/hello.c: Likewise.
20101 * loader/i386/bsd.c: Likewise.
20102 * term/i386/pc/serial.c: Likewise.
20103 * po/POTFILES: Add new files.
20104
da8d5c53
CW
201052010-01-02 Colin Watson <cjwatson@ubuntu.com>
20106
20107 * term/i386/pc/at_keyboard.c
20108 (keyboard_controller_wait_untill_ready): Rename to ...
20109 (keyboard_controller_wait_until_ready): ... this. Update all users.
20110
33937904 201112010-01-01 Carles Pina i Estany <carles@pina.cat>
20112
20113 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
20114 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
20115 string using string width.
20116 * normal/menu_text.c (grub_print_message_indented): Use
20117 grub_print_spaces and not print_spaces.
20118 (print_timeout): Likewise.
20119 (print_spaces): Move to...
20120 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
20121
3fd3b8d8
RM
201222010-01-01 Robert Millan <rmh.grub@aybabtu.com>
20123
20124 Import from Gnulib.
20125
20126 * gnulib/getdelim.c: New file.
20127 * gnulib/getline.c: Likewise.
20128
33433555
VS
201292009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
20130
20131 * include/grub/list.h (grub_assert_fail): Removed.
20132 (grub_bad_type_cast_real): New function.
20133 (grub_bad_type_cast): New macro.
20134 (GRUB_AS_LIST): Use grub_bad_type_cast.
20135 (GRUB_AS_LIST_P): Likewise.
e44721e8 20136 (GRUB_AS_NAMED_LIST): Likewise.
33433555 20137 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 20138 (GRUB_AS_PRIO_LIST): Likewise.
33433555 20139 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 20140 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 20141
f5a51306
VS
201422009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
20143
20144 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
20145 Fix syntax error.
20146
90d1e879
RM
201472009-12-29 Robert Millan <rmh.grub@aybabtu.com>
20148
20149 * configure.ac: Check for TARGET_CFLAGS initialization before we
20150 initialize it ourselves (sigh).
20151 Move a few modifications to TARGET_CFLAGS to be unconditional
20152 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
20153 eh_frame)
20154
20155 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
20156 * term/i386/pc/at_keyboard.c
20157 (keyboard_controller_wait_untill_ready): Likewise.
20158 (keyboard_controller_led): Rename `led_status' paramter to avoid
20159 name conflict.
20160
465b5a81 201612009-12-28 Carles Pina i Estany <carles@pina.cat>
20162
20163 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
20164 quotes.
20165
c181849b
VS
201662009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20167
20168 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
20169
9c8739a4
VS
201702009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20171
20172 * normal/menu_text.c (grub_print_message_indented): Prevent
20173 past-the-end-of-array dereference.
20174
3e74249c
VS
201752009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20176
20177 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
20178 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
20179
64fd18ed 201802009-12-27 Carles Pina i Estany <carles@pina.cat>
20181
20182 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
20183 * normal/main.c (grub_normal_read_line): Remove a space from the
20184 default prompt.
20185
714af9b9 201862009-12-27 Carles Pina i Estany <carles@pina.cat>
20187
20188 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
20189 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20190 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
20191 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
20192 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20193 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20194 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
20195
82f3e412 201962009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 20197
20198 * video/readers/jpeg.c (cmd): Declare.
20199 (grub_cmd_jpegtest): Use `grub_command_t' type.
20200 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
20201 Assign to `cmd'.
20202 (GRUB_MOD_FINI): Use `cmd' to unregister.
20203 * video/readers/png.c (cmd): Declare.
20204 (grub_cmd_pngtest): Use `grub_command_t' type.
20205 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
20206 Assign to `cmd'.
20207 (GRUB_MOD_FINI): Use `cmd' to unregister.
20208 * video/readers/tga.c (cmd): Declare.
20209 (grub_cmd_tgatest): Use `grub_command_t' type.
20210 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
20211 Assign to `cmd'.
20212 (GRUB_MOD_FINI): Use `cmd' to unregister.
20213
82f3e412 202142009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 20215
20216 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
20217 stops.
20218 * kern/corecmd.c (grub_register_core_commands): Likewise.
20219 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
20220 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
20221 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
20222 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20223 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
20224 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
20225 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
20226 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
20227 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20228 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20229 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
20230 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20231 * normal/handler.c (insert_handler): Likewise.
20232 * normal/main.c (GRUB_MOD_INIT): Likewise.
20233 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
20234
fdcdbb66 202352009-12-26 Carles Pina i Estany <carles@pina.cat>
20236
20237 * commands/help.c (grub_cmd_help): Print the command name before the
20238 summary.
20239 (GRUB_MOD_INIT): Remove command name from the summary.
20240 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 20241 string as summary.
fdcdbb66 20242 * lib/arg.c (find_long): Print the command name before the summary.
20243 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
20244 summary.
20245 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
20246 * commands/cat.c (GRUB_MOD_INIT): Likewise.
20247 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
20248 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
20249 * commands/crc.c (GRUB_MOD_INIT): Likewise.
20250 * commands/date.c (GRUB_MOD_INIT): Likewise.
20251 * commands/echo.c (GRUB_MOD_INIT): Likewise.
20252 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
20253 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
20254 * commands/handler.c (GRUB_MOD_INIT): Likewise.
20255 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
20256 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
20257 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
20258 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
20259 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
20260 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
20261 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
20262 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
20263 * commands/ls.c (GRUB_MOD_INIT): Likewise.
20264 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
20265 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
20266 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
20267 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
20268 * commands/password.c (GRUB_MOD_INIT): Likewise.
20269 * commands/probe.c (GRUB_MOD_INIT): Likewise.
20270 * commands/read.c (GRUB_MOD_INIT): Likewise.
20271 * commands/search.c (GRUB_MOD_INIT): Likewise.
20272 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
20273 * commands/test.c (GRUB_MOD_INIT): Likewise.
20274 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
20275 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
20276 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
20277 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
20278 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
20279 * lib/arg.c (GRUB_MOD_INIT): Likewise.
20280 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
20281 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
20282 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
20283 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20284 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
20285 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
20286 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
20287 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
20288
9c288be2
VS
202892009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20290
20291 Use search command for preliminar UUID search.
20292
20293 * commands/search.c: Split into ...
20294 * commands/search_wrap.c: ...this
20295 * commands/search.c: ...and this.
20296 * commands/search_file.c: New file.
20297 * commands/search_label.c: New file.
20298 * commands/search_uuid.c: New file.
20299 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
20300 Add commands/search_wrap.c, commands/search_file.c,
20301 commands/search_label.c and commands/search_uuid.c.
20302 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
20303 (search_mod_SOURCES): Set to commands/search_wrap.c.
20304 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
20305 search_label.mod.
20306 (search_fs_file_mod_SOURCES): New variable.
20307 (search_fs_file_mod_CFLAGS): Likewise.
20308 (search_fs_file_mod_LDFLAGS): Likewise.
20309 (search_label_mod_SOURCES): Likewise.
20310 (search_label_mod_CFLAGS): Likewise.
20311 (search_label_mod_LDFLAGS): Likewise.
20312 (search_fs_uuid_mod_SOURCES): New variable.
20313 (search_fs_uuid_mod_CFLAGS): Likewise.
20314 (search_fs_uuid_mod_LDFLAGS): Likewise.
20315 (fs_file_mod_SOURCES): Removed.
20316 (fs_file_mod_CFLAGS): Likewise.
20317 (fs_file_mod_LDFLAGS): Likewise.
20318 (fs_uuid_mod_SOURCES): Removed.
20319 (fs_uuid_mod_CFLAGS): Likewise.
20320 (fs_uuid_mod_LDFLAGS): Likewise.
20321 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
20322 Set to util/grub-install.in.
20323 * disk/fs_file.c: Removed.
20324 * disk/fs_uuid.c: Likewise.
20325 * include/grub/search.h: New file.
20326 * util/grub-install.in: Handle sparc64.
20327 Create and use load.cfg.
20328 * util/sparc64/ieee1275/grub-install.in: Removed.
20329
db943399
VS
203302009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20331
20332 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
20333 Ignore return status if CF is cleared.
20334 (grub_biosdisk_get_diskinfo_standard): Likewise.
20335
3fdae612
RM
203362009-12-25 Robert Millan <rmh.grub@aybabtu.com>
20337
20338 * term/i386/pc/at_keyboard.c
20339 (keyboard_controller_wait_untill_ready): New function.
20340 (grub_keyboard_controller_write, grub_keyboard_controller_read)
20341 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
20342 for keyboard polling, rather than duplicate the same loop. This
20343 saves a few bytes in code size.
20344
7ebaa2b4
VS
203452009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20346
20347 Support for (pxe[:server[:gateway]]) syntax and
20348 use environment variable for PXE.
20349
20350 * commands/i386/pc/pxecmd.c (options): Removed.
20351 (print_ip): Removed.
20352 (grub_cmd_pxe): Removed
20353 (grub_cmd_pxe_unload): New function.
20354 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
20355 (grub_pxe_your_ip): Made static.
20356 (grub_pxe_default_server_ip): Likewise.
20357 (grub_pxe_default_gateway_ip): Likewise.
20358 (grub_pxe_blksize): Likewise.
20359 (parse_ip): New function.
20360 (grub_pxe_open): Support server and gateway specification.
20361 (grub_pxe_close): Free disk->data.
20362 (grub_pxefs_open): Use disk->data.
20363 (grub_pxefs_read): Likewise.
20364 (grub_env_write_readonly): New function.
20365 (set_mac_env): Likewise.
20366 (set_env_limn_ro): Likewise.
20367 (parse_dhcp_vendor): Likewise.
20368 (grub_pxe_detect): Set the environment variables.
20369 (set_ip_env): New function.
20370 (write_ip_env): Likewise.
20371 (grub_env_write_pxe_default_server): Likewise.
20372 (grub_env_write_pxe_default_gateway): Likewise.
20373 (grub_env_write_pxe_blocksize): Likewise.
20374 (GRUB_MOD_INIT(pxe)): Set environment variables.
20375 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
20376 (grub_pxe_mac_addr_t): ... this. All users updated.
20377 (grub_pxe_your_ip): Removed.
20378 (grub_pxe_server_ip): Likewise.
20379 (grub_pxe_gateway_ip): Likewise.
20380 (grub_pxe_blksize): Likewise.
20381
ec5f98ab 203822009-12-25 Carles Pina i Estany <carles@pina.cat>
20383
20384 * commands/help.c: Include `<grub/i18n.h>'.
20385 (grub_cmd_help): Gettextizze.
20386 (GRUB_MOD_INIT): Likewise.
20387 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
20388 (GRUB_MOD_INIT): Gettextizze.
20389 * commands/search.c: Include `<grub/i18n.h>'.
20390 (options): Gettextizze.
20391 (GRUB_MOD_INIT): Gettextizze.
20392 * lib/arg.c: Include `<grub/i18n.h>'.
20393 (help_options): Gettextizze.
20394 (find_long): Likewise.
20395 (grub_arg_show_help): Likewise.
20396 * normal/dyncmd.c: Include `<grub/i18n.h>'.
20397 (read_command_list): Gettextizze.
20398 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 20399 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 20400
22815526
RM
204012009-12-25 Robert Millan <rmh.grub@aybabtu.com>
20402
20403 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
20404 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
20405 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
20406 (led_status): New variable.
20407 (keyboard_controller_led): New function.
20408 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
20409 update led status for caps lock, num lock and scroll lock.
20410
0ad46fd7
FZ
204112009-12-25 Felix Zielcke <fzielcke@z-51.de>
20412
20413 * util/hostdisk.c (open_device): Fix a comment.
20414
d0e158c2
RM
204152009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20416
20417 * util/grub-install.in (host_os): New variable.
20418 * util/i386/efi/grub-install.in (host_os): Likewise.
20419
401c0ad6
RM
204202009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20421
20422 * util/mkisofs/write.c (padblock_write): Abort when given an
20423 excedingly large embed image, instead of silently truncating it.
20424
d14d3370
RM
204252009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20426
20427 * include/multiboot.h: Indentation fixes.
20428
eeed10b4
RM
204292009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20430
20431 * include/multiboot.h (struct multiboot_aout_symbol_table)
20432 (struct multiboot_elf_section_header_table): New structure
20433 declarations (stolen from GRUB Legacy).
20434 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
20435 table information.
20436
20437 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
20438 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
20439 type aliases.
20440
681c70ab
RM
204412009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20442
20443 * include/multiboot.h: Make comments src2texi-friendly.
20444
e4d47d8d
RM
204452009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20446
20447 For consistency with [multiboot]/docs/boot.S.
20448
20449 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
20450 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
20451 (MULTIBOOT_MAGIC2): Rename from this ...
20452 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
20453
a0b70bda
RM
204542009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20455
20456 * include/multiboot.h: Remove `<grub/types.h>'.
20457 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
20458 types. Update all users.
20459
61ba42be 204602009-12-25 Carles Pina i Estany <carles@pina.cat>
20461
20462 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
20463 `couldn't' and `can not' by `cannot'.
20464 * commands/i386/pc/drivemap.c: Likewise.
20465 * disk/ata.c: Likewise.
20466 * disk/ieee1275/nand.c: Likewise.
20467 * fs/affs.c: Likewise.
20468 * fs/fat.c: Likewise.
20469 * fs/hfs.c: Likewise.
20470 * fs/hfsplus.c: Likewise.
20471 * fs/iso9660.c: Likewise.
20472 * fs/jfs.c: Likewise.
20473 * fs/minix.c: Likewise.
20474 * fs/reiserfs.c: Likewise.
20475 * fs/sfs.c: Likewise.
20476 * fs/udf.c: Likewise.
20477 * fs/ufs.c: Likewise.
20478 * fs/xfs.c: Likewise.
20479 * loader/powerpc/ieee1275/linux.c: Likewise.
20480 * loader/sparc64/ieee1275/linux.c: Likewise.
20481 * util/grub-probe.c: Likewise.
20482 * util/misc.c: Likewise.
20483
7fd0baee 204842009-12-24 Carles Pina i Estany <carles@pina.cat>
20485
20486 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
20487 grub_errno calls.
20488 * commands/acpi.c: Likewise.
20489 * commands/blocklist.c: Likewise.
20490 * commands/efi/loadbios.c: Likewise.
20491 * commands/i386/pc/drivemap.c: Likewise.
20492 * commands/loadenv.c: Likewise.
20493 * commands/memrw.c: Likewise.
20494 * commands/password.c: Likewise.
20495 * commands/videotest.c: Likewise.
20496 * disk/ata.c: Likewise.
20497 * disk/ata_pthru.c: Likewise.
20498 * disk/dmraid_nvidia.c: Likewise.
20499 * disk/ieee1275/nand.c: Likewise.
20500 * disk/ieee1275/ofdisk.c: Likewise.
20501 * disk/loopback.c: Likewise.
20502 * disk/lvm.c: Likewise.
20503 * disk/mdraid_linux.c: Likewise.
20504 * disk/raid.c: Likewise.
20505 * disk/raid6_recover.c: Likewise.
20506 * disk/scsi.c: Likewise.
20507 * efiemu/main.c: Likewise.
20508 * efiemu/mm.c: Likewise.
20509 * efiemu/pnvram.c: Likewise.
20510 * efiemu/symbols.c: Likewise.
20511 * font/font.c: Likewise.
20512 * fs/cpio.c: Likewise.
20513 * fs/hfsplus.c: Likewise.
20514 * fs/iso9660.c: Likewise.
20515 * fs/jfs.c: Likewise.
20516 * fs/minix.c: Likewise.
20517 * fs/ntfs.c: Likewise.
20518 * fs/ntfscomp.c: Likewise.
20519 * fs/reiserfs.c: Likewise.
20520 * fs/ufs.c: Likewise.
20521 * fs/xfs.c: Likewise.
20522 * gettext/gettext.c: Likewise.
20523 * include/grub/auth.h: Likewise.
20524 * kern/elf.c: Likewise.
20525 * kern/file.c: Likewise.
20526 * kern/ieee1275/init.c: Likewise.
20527 * kern/ieee1275/mmap.c: Likewise.
20528 * kern/ieee1275/openfw.c: Likewise.
20529 * kern/powerpc/dl.c: Likewise.
20530 * kern/sparc64/dl.c: Likewise.
20531 * lib/arg.c: Likewise.
20532 * loader/i386/bsd.c: Likewise.
20533 * loader/i386/bsdXX.c: Likewise.
20534 * loader/i386/efi/linux.c: Likewise.
20535 * loader/i386/efi/xnu.c: Likewise.
20536 * loader/i386/ieee1275/linux.c: Likewise.
20537 * loader/i386/linux.c: Likewise.
20538 * loader/i386/multiboot.c: Likewise.
20539 * loader/i386/pc/linux.c: Likewise.
20540 * loader/i386/pc/multiboot2.c: Likewise.
20541 * loader/i386/xnu.c: Likewise.
20542 * loader/ieee1275/multiboot2.c: Likewise.
20543 * loader/macho.c: Likewise.
20544 * loader/machoXX.c: Likewise.
20545 * loader/multiboot2.c: Likewise.
20546 * loader/multiboot_loader.c: Likewise.
20547 * loader/powerpc/ieee1275/linux.c: Likewise.
20548 * loader/sparc64/ieee1275/linux.c: Likewise.
20549 * loader/xnu.c: Likewise.
20550 * loader/xnu_resume.c: Likewise.
20551 * mmap/i386/pc/mmap.c: Likewise.
20552 * normal/menu_viewer.c: Likewise.
20553 * partmap/acorn.c: Likewise.
20554 * partmap/amiga.c: Likewise.
20555 * partmap/apple.c: Likewise.
20556 * script/lexer.c: Likewise.
20557 * term/gfxterm.c: Likewise.
20558 * term/i386/pc/serial.c: Likewise.
20559 * term/i386/pc/vga.c: Likewise.
20560 * term/ieee1275/ofconsole.c: Likewise.
20561 * term/terminfo.c: Likewise.
20562 * video/bitmap.c: Likewise.
20563 * video/efi_gop.c: Likewise.
20564 * video/efi_uga.c: Likewise.
20565 * video/fb/video_fb.c: Likewise.
20566 * video/i386/pc/vbe.c: Likewise.
20567 * video/readers/tga.c: Likewise.
20568 * video/video.c: Likewise.
20569
0ad46fd7 205702009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
20571
20572 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
20573 * commands/lspci.c: Likewise.
20574 * commands/probe.c: Likewise.
20575 * commands/xnu_uuid.c: Likewise.
20576 * conf/i386-coreboot.rmk: Likewise.
20577 * conf/i386-efi.rmk: Likewise.
20578 * conf/i386-ieee1275.rmk: Likewise.
20579 * conf/i386-pc.rmk: Likewise.
20580 * conf/powerpc-ieee1275.rmk: Likewise.
20581 * conf/sparc64-ieee1275.rmk: Likewise.
20582 * conf/x86_64-efi.rmk: Likewise.
20583 * fs/i386/pc/pxe.c: Likewise.
20584 * gettext/gettext.c: Likewise.
20585 * include/grub/efi/graphics_output.h: Likewise.
20586 * include/grub/i386/pc/memory.h: Likewise.
20587 * kern/env.c: Likewise.
20588 * kern/i386/qemu/startup.S: Likewise.
20589 * lib/i386/pc/biosnum.c: Likewise.
20590 * lib/i386/relocator.c: Likewise.
20591 * lib/i386/relocator_asm.S: Likewise.
20592 * lib/relocator.c: Likewise.
20593 * loader/i386/bsd.c: Likewise.
20594 * loader/i386/multiboot.c: Likewise.
20595 * loader/i386/pc/chainloader.c: Likewise.
20596 * loader/i386/xnu.c: Likewise.
20597 * loader/xnu.c: Likewise.
20598 * normal/main.c: Likewise.
20599 * normal/menu_text.c: Likewise.
20600 * util/getroot.c: Likewise.
20601 * util/grub-mkconfig_lib.in: Likewise.
20602 * util/grub.d/00_header.in: Likewise.
20603 * util/i386/pc/grub-mkimage.c: Likewise.
20604 * util/mkisofs/eltorito.c: Likewise.
20605 * util/mkisofs/exclude.h: Likewise.
20606 * util/mkisofs/hash.c: Likewise.
20607 * util/mkisofs/iso9660.h: Likewise.
20608 * util/mkisofs/joliet.c: Likewise.
20609 * util/mkisofs/mkisofs.c: Likewise.
20610 * util/mkisofs/mkisofs.h: Likewise.
20611 * util/mkisofs/multi.c: Likewise.
20612 * util/mkisofs/name.c: Likewise.
20613 * util/mkisofs/rock.c: Likewise.
20614 * util/mkisofs/tree.c: Likewise.
20615 * util/mkisofs/write.c: Likewise.
20616 * video/efi_gop.c: Likewise.
20617
009ec743
VS
206182009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
20619
20620 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
20621 size counting.
20622
0ad46fd7 206232009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
20624
20625 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
20626 * genmk.rb (class SCRIPT): Modify the target file instead of source.
20627
d3d30ea0
VS
206282009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20629
20630 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
20631 (GRUB_MOD_INIT(memrw)): Update help line.
20632
a34f5c70
VS
206332009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20634
20635 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
20636 Use grub_extcmd_t. All users updated.
20637 (options): New variable.
20638 (grub_cmd_read): Restructure for readability. Support "-v" option.
20639 (grub_cmd_write): Restructure for readability.
20640
0ad46fd7 206412009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
20642
20643 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
20644
0ad46fd7 206452009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
20646
20647 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
20648 with the actual contents of the correspondending make variable.
20649 * util/grub-mkrescue.in (pkglib_DATA): New variable.
20650 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
20651 specifying `*.lst' and `efiemu??.o'
20652
0ad46fd7 206532009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
20654
20655 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
20656 after function name.
20657 Noticed by Rene Engelhard <rene@debian.org>.
20658
dc77a799
VS
206592009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20660
20661 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
20662 (options): New variable.
20663 (iospace): Likewise.
20664 (grub_lspci_iter): List IO spaces if "-i" was given.
20665 (grub_cmd_lspci): Parse options.
20666 (GRUB_MOD_INIT(lspci)): Use extcmd.
20667 (GRUB_MOD_FINI(lspci)): Likewise.
20668
0ad46fd7 206692009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
20670
20671 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
20672 `function' keyword.
20673 Patch by Tony Mancill <tmancill@debian.org>.
20674
b5d5993b
VS
206752009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20676
20677 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
20678 (grub_uhci_portstatus): Likewise.
20679 (grub_uhci_portstatus): Add necessary delay.
11d18281 20680 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 20681
941903f2 206822009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 20683
941903f2 20684 * commands/acpi.c (options): Fix capitalizations and/or full stops.
20685 (GRUB_MOD_INIT): Likewise.
20686 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 20687 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
20688 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 20689 * commands/efi/loadbios.c (enable_rom_area): Likewise.
20690 (enable_rom_area): Likewise.
20691 (GRUB_MOD_INIT): Likewise.
20692 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
20693 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
20694 * commands/handler.c (GRUB_MOD_INIT): Likewise.
20695 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
20696 * commands/hexdump.c (options): Likewise.
20697 * commands/i386/cpuid.c (options): Likewise.
20698 (GRUB_MOD_INIT): Likewise.
20699 * commands/i386/pc/drivemap.c (options): Likewise.
20700 (GRUB_MOD_INIT): Likewise.
20701 * commands/i386/pc/halt (options): Likewise.
20702 (GRUB_MOD_INIT): Likewise.
20703 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
20704 * commands/i386/pc/pxecmd.c (options): Likewise.
20705 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
20706 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
20707 * commands/keystatus.c (options): Likewise.
20708 (GRUB_MOD_INIT): Likewise.
20709 * commands/loadenv.c (options): Likewise.
20710 * commands/ls.c (options): Likewise.
20711 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
20712 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
20713 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
20714 * commands/parttool.c (helpmsg): Likewise.
20715 * commands/probe.c (options): Likewise.
20716 * commands/read.c (GRUB_MOD_INIT): Likewise.
20717 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
20718 * commands/search.c (options): Likewise.
20719 * commands/sleep.c (options): Likewise.
20720 * commands/test.c (GRUB_MOD_INIT): Likewise.
20721 * commands/true.c (GRUB_MOD_INIT): Likewise.
20722 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
20723 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
20724 * lib/arg.c (help_options): Likewise.
e9bbb4e7 20725 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
20726 `$(XGETTEXT)'.
98a50553 20727 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 20728
0ad46fd7 207292009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 20730
ef3c2c3a 20731 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
20732 instead of specifying them explicit.
20733
7922f68b
RM
207342009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20735
20736 * NEWS: Add grub-probe support for GNU/Hurd.
20737
537ce47f
RM
207382009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20739
20740 * NEWS: gettext was added after 1.97.
20741
9b214e3a
RM
207422009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20743
20744 * util/mkisofs/msdos_partition.h: New file (based on
20745 include/grub/msdos_partition.h).
20746 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
20747 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
20748 (ld_options, main): Recognize --protective-msdos-label.
20749 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
20750 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
20751 (padblock_write): If `use_protective_msdos_label' is set, patch a
20752 protective DOS-style label in the output image.
20753
20754 * util/grub-mkrescue.in: Use --protective-msdos-label.
20755
e9309813
RM
207562009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20757
20758 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
20759 boot.
20760
0ae56929
RM
207612009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20762
20763 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
20764 variables.
20765 (ld_options, main): Recognize `--embedded-boot'.
20766 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
20767 declarations.
20768 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
20769 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
20770 (padblock_write): Likewise. Rewrite to support embedded boot image.
20771
20772 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
20773 for BIOS-based disk boot instead of only ElTorito.
20774
b15937b1
RM
207752009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20776
20777 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
20778 build (not needed for bootstrap).
20779
52cc3ce0
RM
207802009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20781
20782 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
20783 from i386-pc build (not needed for bootstrap).
20784 Rewrite a pair of strings.
20785
36f5ff04
RM
207862009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20787
20788 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
20789
973c6c85 207902009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
20791
20792 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
20793
05d21547
AB
207942009-12-21 Andreas Born <futur.andy@googlemail.com>
20795
20796 * kern/env.c (grub_env_context_open): Mark exported variable for
20797 reexport.
20798
0175d51f
AB
207992009-12-21 Andreas Born <futur.andy@googlemail.com>
20800
20801 * kern/env.c (grub_env_export): Create nonexistent variables before
20802 exporting.
20803
7f39d92f 208042009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 20805
7f39d92f 20806 * include/grub/auth.h: Include `<grub/i18n.h>'.
20807 (GRUB_GET_PASSWORD): Gettextizze string.
20808 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
20809 menu_text.c.
20810 (grub_utf8_to_ucs4_alloc): Fix indentation.
20811 (grub_print_ucs4): Likewise.
20812 (grub_getstringwidth): Likewise.
20813 (print_message_indented): New declaration.
20814 * normal/auth.c: Include `<grub/i18n.h>'.
20815 (grub_auth_check_authentication): Gettexttize string.
20816 * normal/cmdline.c: Include `<grub/i18n.h>'.
20817 (grub_cmdline_get): Gettextizze.
20818 * normal/color.c: Include `<grub/i18n.h>'.
20819 (grub_parse_color_name_pair): Gettexttize strings.
20820 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
20821 string (use `print_message_indented').
20822 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
20823 `include/grub/normal.h'.
20824 (print_message_indented): Renamed to ...
20825 (grub_print_message_indented): ... this. Remove `static' qualifer (now
20826 used in normal/main.c).
20827 (print_message): Use `grub_print_message_indented' instead of
20828 `print_message_indented'.
20829 (print_timeout): Likewise.
20830 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
20831 (grub_normal_print_device_info): Gettexttize strings.
20832 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
20833
3041d898
VS
208342009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20835
20836 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
20837 of arguments. Return number of tokens and not arguments. All users
20838 updated.
20839
de15bf8e
VS
208402009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20841
20842 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
20843 non-MSDOS paritions.
20844
e0a6ca52
VS
208452009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20846
20847 * include/grub/types.h (UNUSED): Removed since it conflicts with
20848 NetBSD headers. All users changed to direct __attribute__ ((unused)).
20849 Reported by Grégoire Sutre.
20850
b99518d1 208512009-12-19 Carles Pina i Estany <carles@pina.cat>
20852
20853 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
20854 (grub_print_ucs4_alloc): Likewise.
20855 (grub_getstringwidth): Likewise.
20856 * normal/main.c (grub_normal_init_page): Gettextize version string.
20857 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
20858 (getstringwidth): Renamed to ...
20859 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
20860 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
20861 (grub_print_ucs4): Remove `static' qualifer (now used in
20862 normal/main.c).
20863 * po/POTFILES: Add normal/main.c.
20864
bfd5e52b 208652009-12-19 Carles Pina i Estany <carles@pina.cat>
20866
20867 * normal/menu_text.c (STANDARD_MARGIN): New macro.
20868 (print_message_indented): Add `margin_left' and `margin_right'
20869 parameters.
20870 (print_message): Update `print_message_indented' calls. Adds '\n' to the
20871 strings.
20872 (print_timeout): Use `print_message_indented' to print the message.
20873 Deletes `second_stage' parameter.
20874 (run_menu): Update `print_timeout' calls.
20875
5a1ad2b9
VS
208762009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20877
20878 Fix console palette on OpenFirmware.
20879
20880 * term/ieee1275/ofconsole.c (MAX): Removed.
20881 (colors): Redone based on VGA palette.
20882 (grub_ofconsole_setcolor): Discard brightness bit since only 8
20883 colors are supported.
20884 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
20885
b045f00a
VS
208862009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20887
20888 Fix potential EfiEmu double prepare.
20889
20890 * efiemu/main.c (prepared): New variable
20891 (grub_efiemu_unload): Set prepare to '0'.
20892 (grub_efiemu_prepare): Return if already prepared. Set prepared.
20893
20894 set_virtual_address_map support.
20895
20896 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
20897 prototype.
20898 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
20899 prototype.
20900 (grub_efiemu_crc32): Likewise.
20901 (grub_efiemu_crc64): Likewise.
20902 (grub_efiemu_set_virtual_address_map): Likewise.
20903 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
20904 New definition.
20905 (grub_autoefi_set_virtual_address_map): Likewise.
20906 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
20907 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
20908 Restructure flow to accomodate it.
20909 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
20910 (grub_efiemu_crc): Recompute CRC32.
20911 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
20912 (efiemu_ptv_relocated): ... this. Made global. All users updated.
20913 * efiemu/symbols.c (relocated_handle): New variable.
20914 (grub_efiemu_free_syms): Free relocated_handle.
20915 (grub_efiemu_alloc_syms): Allocate relocated_handle.
20916 (grub_efiemu_write_sym_markers): New function.
20917 (grub_efiemu_set_virtual_address_map): Likewise.
20918
20919 Newer XNU parameters.
20920
20921 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
20922 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
20923 (grub_xnu_fill_devicetree): New prototype.
20924 (grub_xnu_heap_real_start): New variable.
20925 * loader/xnu.c (get_name_ptr): New function.
20926 (grub_xnu_load_driver): Fill namelen and name.
20927
20928 64-bit xnu support.
20929
20930 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
20931 and 'loader/macho64.c'.
20932 * conf/i386-pc.rmk: Likewise.
20933 * conf/x86_64-efi.rmk: Likewise.
20934 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
20935 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
20936 * include/grub/macho.h (grub_macho_segment64): New structure.
20937 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
20938 (grub_macho_size32): ... to this.
20939 (grub_macho32_get_entry_point): Renamed from ...
20940 (grub_macho_get_entry_point32): ... to this.
20941 (grub_macho_contains_macho64): New prototype.
20942 (grub_macho_size64): Likewise.
20943 (grub_macho_get_entry_point64): Likewise.
20944 (grub_macho32_load): Renamed from ...
20945 (grub_macho_load32): ... to this.
20946 (grub_macho32_filesize): Renamed from ...
20947 (grub_macho_filesize32): ... to this.
20948 (grub_macho32_readfile): Renamed from ...
20949 (grub_macho_readfile32): ... to this.
20950 (grub_macho_filesize64): New prototype.
20951 (grub_macho_readfile64): Likewise.
20952 (grub_macho_parse32): Likewise.
20953 (grub_macho_parse64): Likewise.
20954 * loader/macho.c: Split into ...
20955 * loader/machoXX.c: ... and this. Replace 32 with XX.
20956 * loader/macho32.c: New file.
20957 * loader/macho64.c: Likewise.
20958 * loader/xnu.c (grub_xnu_is_64bit): New variable.
20959 (grub_cmd_xnu_kernel): Make 32-bit only.
20960 (grub_cmd_xnu_kernel64): New function.
20961 (grub_xnu_load_driver): Support Mach-O 64.
20962 (grub_cmd_xnu_mkext): Likewise.
20963 * util/grub.d/30_os-prober.in (osx_entry): New function.
20964 Generate entries for 64-bit boot too.
20965
20966 Eliminate ad-hoc tree format in XNU and EfiEmu.
20967
20968 * efiemu/main.c (grub_efiemu_prepare): Update comment.
20969 * efiemu/pnvram.c: Rewritten to use environment variables.
20970 All users updated.
20971
20972 Inline utf16_to_utf8.
20973
20974 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
20975 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
20976 All users updated.
20977 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
20978
20979 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
20980 * commands/usbtest.c (grub_usb_get_string): ... move here.
20981 (usb_print_str): Fix error handling.
20982 * include/grub/usb.h (grub_usb_get_string): Remove.
20983
20984 UTF-8 to UTF-16 transformation.
20985
20986 * conf/common.rmk (pkglib_MODULES): Add charset.mod
20987 (charset_mod_SOURCES): New variable.
20988 (charset_mod_CFLAGS): Likewise.
20989 (charset_mod_LDFLAGS): Likewise.
20990 * include/grub/utf.h: New file.
20991 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
20992
20993 Support for device properties.
20994
20995 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
20996 (grub_xnu_devprop_device_header): Likewise.
20997 (grub_xnu_devprop_device_descriptor): Likewise.
20998 (grub_xnu_devprop_add_device): New prototype.
20999 (grub_xnu_devprop_remove_device): Likewise.
21000 (grub_xnu_devprop_remove_property): Likewise.
21001 (grub_xnu_devprop_add_property_utf8): Likewise.
21002 (grub_xnu_devprop_add_property_utf16): Likewise.
21003 (grub_cpu_xnu_init): Likewise.
21004 (grub_cpu_xnu_fini): Likewise.
21005 (grub_cpu_xnu_unload): Likewise.
21006 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
21007 (property_descriptor): Likewise.
21008 (devices): New variable.
21009 (grub_xnu_devprop_remove_property): New function.
21010 (grub_xnu_devprop_add_device): Likewise.
21011 (grub_xnu_devprop_remove_device): Likewise.
21012 (grub_xnu_devprop_add_property): Likewise.
21013 (grub_xnu_devprop_add_property_utf8): Likewise.
21014 (grub_xnu_devprop_add_property_utf16): Likewise.
21015 (hextoval): Likewise.
21016 (grub_cpu_xnu_fill_devprop): Likewise.
21017 (grub_cmd_devprop_load): Likewise.
21018 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
21019 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
21020 (cmd_devprop_load): New variable.
21021 (grub_cpu_xnu_init): New function.
21022 (grub_cpu_xnu_fini): Likewise.
21023 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
21024 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
21025 (grub_cmd_xnu_devtree): Likewise.
21026 (hextoval): New function.
21027 (unescape): Likewise.
21028 (grub_xnu_fill_devicetree): Likewise.
21029
21030 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
21031 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
21032
0945f181
VS
210332009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21034
21035 Workaround for broken ATI VBE.
21036
21037 * video/i386/pc/vbe.c (last_set_mode): New variable.
21038 (grub_vbe_set_video_mode): Set 'last_set_mode'.
21039 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
21040 (grub_video_vbe_setup): Don't check for reserved flag.
21041
0ad46fd7 210422009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
21043
21044 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
21045 the `find' command.
21046
c179ebe4
VS
210472009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
21048
21049 UUID support for HFS.
21050
21051 * fs/hfs.c (grub_hfs_uuid): New function.
21052 (grub_hfs_fs): New value .uuid.
21053 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
21054
0ad46fd7 210552009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
21056
21057 Fix a segfault with parsing unknown long options.
21058
21059 * util/grub-mkrelpath.c (options): Zero terminate it.
21060
c4a3e41a
CPE
210612009-12-13 Carles Pina i Estany <carles@pina.cat>
21062
21063 * include/grub/misc.h (grub_puts): New declaration.
21064 (grub_puts_): Likewise.
a22008a6 21065 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
21066 (grub_puts_): Likewise.
21067
2e8a7602
RM
210682009-12-13 Robert Millan <rmh.grub@aybabtu.com>
21069
21070 * util/grub-probe.c (probe): Improve error message.
21071
b50b77b9
RM
210722009-12-13 Robert Millan <rmh.grub@aybabtu.com>
21073
21074 * loader/i386/multiboot_elfxx.c
21075 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
21076 initialization.
21077
210782009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
21079
21080 Relocator framework
21081
21082 * loader/i386/xnu_helper.S: Removed. All users updated.
21083 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
21084 (relocator_mod_SOURCES): New variable.
21085 (relocator_mod_CFLAGS): Likewise.
21086 (relocator_mod_LDFLAGS): Likewise.
21087 (relocator_mod_ASFLAGS): Likewise.
21088 * conf/x86_64.rmk: Likewise.
21089 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
21090 (grub_multiboot_payload_entry_offset): Likewise.
21091 (grub_multiboot_forward_relocator): Likewise.
21092 (grub_multiboot_forward_relocator_end): Likewise.
21093 (grub_multiboot_backward_relocator): Likewise.
21094 (grub_multiboot_backward_relocator_end): Likewise.
21095 (grub_multiboot_payload_eip): New variable.
21096 (grub_multiboot_payload_orig): Likewise.
21097 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
21098 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
21099 * include/grub/i386/memory.h
21100 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
21101 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
21102 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
21103 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
21104 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
21105 * include/grub/i386/relocator.h: New file.
21106 * include/grub/x86_64/relocator.h: Likewise.
21107 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
21108 (XNU_RELOCATOR): New macro.
21109 (grub_xnu_launcher_start): Remove.
21110 (grub_xnu_launcher_end): Likewise.
21111 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
21112 (grub_xnu_heap_real_start): Remove.
21113 (grub_xnu_heap_start): Change to void *. All users updated.
21114 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
21115 * lib/i386/relocator.c: New file.
21116 * lib/i386/relocator_asm.S: Likewise.
21117 * lib/i386/relocator_backward.S: Likewise.
21118 * lib/mips/relocator.c: Likewise.
21119 * lib/mips/relocator_asm.S: Likewise.
21120 * lib/relocator.c: Likewise.
21121 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
21122 (entry): Removed.
21123 (playground): Likewise.
21124 (grub_multiboot_payload_orig): New variable.
21125 (grub_multiboot_payload_dest): Likewise.
21126 (grub_multiboot_payload_size): Likewise.
21127 (grub_multiboot_payload_eip): Likewise.
21128 (grub_multiboot_payload_esp): Likewise.
21129 (grub_multiboot_boot): Use grub_relocator32_boot.
21130 (grub_multiboot_unload): Free relocators.
21131 (grub_multiboot): Setup stack. Use relocators.
21132 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
21133 (grub_multiboot_load_elfXX): Use relocators.
21134 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
21135 (grub_multiboot_payload_size): Likewise.
21136 (grub_multiboot_payload_dest): Likewise.
21137 (grub_multiboot_payload_entry_offset): Likewise.
21138 (grub_multiboot_forward_relocator): Likewise.
21139 (grub_multiboot_backward_relocator): Likewise.
21140 (grub_multiboot_real_boot): Likewise.
21141 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
21142 (grub_xnu_entry_point): Likewise.
21143 (grub_xnu_arg1): Likewise.
21144 (grub_xnu_stack): Likewise.
21145 (grub_xnu_launch): Removed.
21146 (grub_xnu_boot_resume): New function.
21147 (grub_xnu_boot): Use relocators.
21148 * loader/i386/xnu_helper.S: Removed.
21149 * loader/xnu.c (grub_xnu_heap_start): New variable.
21150 (grub_xnu_heap_size): Likewise.
21151 (grub_xnu_heap_malloc): Use relocators.
21152 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
21153
29eb90c6
VS
211542009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
21155
21156 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
21157 anything.
21158
31027430
CPE
211592009-12-13 Carles Pina i Estany <carles@pina.cat>
21160
21161 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
21162 GRUB_ERR_NONE before calling grub_env_set.
21163
dc0c71d9
RM
211642009-12-12 Robert Millan <rmh@aybabtu.com>
21165
21166 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
21167 * genmk.rb (video): New variable.
21168 (CLEANFILES, VIDEOFILES): Add #{video}.
21169 (#{video}): New target rule.
21170 * genvideolist.sh: New file.
21171 * Makefile.in (pkglib_DATA): Add video.lst.
21172 (video.lst): New target rule.
21173 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
21174 `video.lst'.
21175 * util/grub.d/30_os-prober.in: Replace `vbe' with
21176 ${GRUB_VIDEO_BACKEND}.
21177
2a4bfcf0
RM
211782009-12-11 Robert Millan <rmh.grub@aybabtu.com>
21179
21180 * THANKS: Add David Miller.
21181
2a3aa4d5
RM
211822009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
21183
21184 libpciaccess support.
21185
21186 * Makefile.in (LIBPCIACCESS): New variable.
21187 (enable_grub_emu_pci): Likewise.
21188 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
21189 util/pci.c and commands/lspci.c.
21190 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
21191 * configure.ac (grub-emu-pci): New option.
21192 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
21193 (grub_pci_device_unmap_range): Likewise.
21194 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
21195 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
21196 (grub_pci_address_t) [!GRUB_UTIL]: New type.
21197 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
21198 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
21199 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
21200 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
21201 * include/grub/pciutils.h: New file.
21202 * util/pci.c: Likewise.
21203
0ad46fd7 212042009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
21205
21206 * util/misc.c: Don't include <errno.h> twice.
21207
0ad46fd7 212082009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
21209
21210 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
21211 name in an error message.
21212 (grub_biosdisk_rw): Likewise.
21213
2e59983c
VS
212142009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21215
21216 Eliminate NTFS 4Gib barrier.
21217
21218 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
21219 (read_run_data): Likewise.
21220 (grub_ntfs_read_run_list): Likewise.
21221 (grub_ntfs_read_block): Likewise.
21222 (grub_ntfs_iterate_dir): Likewise.
21223 (read_mft): Likewise.
21224 (read_data): Likewise.
21225 Use COM_LOG_LEN.
21226 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
21227 to avoid 64-bit division
21228 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
21229 (grub_ntfs_rlst): Use grub_disk_addr_t.
21230
71ee178a
VS
212312009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21232
21233 Eliminate grub-fstest 4Gib barrier.
21234
21235 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
21236 (read_file): Fix error reporting.
21237
2520d4b8
VS
212382009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21239
21240 Eliminate hexdump 4Gib barrier.
21241
21242 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
21243 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
21244
e1f27065
VS
212452009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21246
21247 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
21248 Fixes amarsh bug.
21249
1a0f7f45
RM
212502009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
21251
21252 Remove miscellaneous files in distclean target.
21253
21254 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
21255
c631d9fb
CW
212562009-12-09 Colin Watson <cjwatson@ubuntu.com>
21257
21258 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
21259 if they're already set. This resolves the conflict between my
21260 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
21261 fixing the --grub-probe option again.
21262 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
21263 change on 2009-10-06, so that we now once again source
21264 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
21265
7c7b6106
RM
212662009-12-08 Robert Millan <rmh.grub@aybabtu.com>
21267
21268 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
21269 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
21270 `util/devicemap.c'.
21271
e3069ec1
CPE
212722009-12-08 Carles Pina i Estany <carles@pina.cat>
21273
21274 * include/grub/misc.h (grub_printf_): New declaration.
21275 * kern/misc.c (grub_printf_): New definition.
21276 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
21277 instead of `grub_printf' and `_'.
21278 * normal/menu_entry.c (store_completion): Likewise.
21279 (run): Likewise.
21280 (grub_menu_entry_run): Likewise.
21281 * normal/menu_text.c (grub_wait_after_message): Likewise.
21282 (notify_booting): Likewise.
21283 (notify_fallback): Likewise.
21284 (notify_execution_failure): Likewise.
21285
d6ceebf1
CW
212862009-12-07 Colin Watson <cjwatson@ubuntu.com>
21287
21288 * configure.ac: Check for vasprintf.
21289 * util/misc.c (asprintf): Move allocation from here ...
21290 (vasprintf): ... to here. New function.
21291 (xasprintf): New function.
21292 * include/grub/util/misc.h (vasprintf, xasprintf): Add
21293 prototypes.
21294 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
21295 * util/grub-mkfont.c (write_font): Likewise.
21296 * util/grub-probe.c (probe): Likewise.
21297 * util/hostdisk.c (make_device_name): Likewise.
21298
de6daa8b
DM
212992009-12-06 David S. Miller <davem@sunset.davemloft.net>
21300
21301 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
21302 anything even prefixed with 'cdrom' as a cdrom.
21303
0ad46fd7 213042009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
21305
21306 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
21307 mount points.
21308
98d3dc02
CPE
213092009-12-05 Carles Pina i Estany <carles@pina.cat>
21310
21311 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
21312 grub_gettext_msg_list.
21313 (grub_gettext_gettranslation_from_position): Return const char *
21314 and not char *.
a2c1332b 21315 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
21316 returns from the list if existing there.
21317 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
21318 (grub_gettext_delete_list): Delete the list.
21319 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
21320 lang environment variable is changed.
21321 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
21322
b283f108
VS
213232009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
21324
21325 Rename kernel.mod to kernel.img.
21326
21327 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
21328 (kernel_mod_EXPORTS): Rename to ...
21329 (kernel_img_EXPORTS): ... this.
21330 (kernel_mod_SOURCES): Rename to ...
21331 (kernel_img_SOURCES): ... this.
21332 (kernel_mod_HEADERS): Rename to ...
21333 (kernel_img_HEADERS): ... this. All users updated.
21334 (kernel_mod_CFLAGS): Rename to ...
21335 (kernel_img_CFLAGS): ... this.
21336 (kernel_mod_ASFLAGS): Rename to ...
21337 (kernel_img_ASFLAGS): ... this.
21338 (kernel_mod_LDFLAGS): Rename to ...
21339 (kernel_img_LDFLAGS): ... this.
21340 * conf/x86_64-efi.rmk: Likewise.
21341 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
21342 (read_kernel_image): ... this. All users updated.
21343 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
21344
69055f8a
CPE
213452009-12-05 Carles Pina i Estany <carles@pina.cat>
21346
21347 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
21348 (print_spaces): New function.
21349 (grub_print_ucs4): New function.
21350 (getstringwidth): New function.
21351 (print_message_indented): New function.
21352 (print_message): Gettexttize strings using print_message_indented.
21353 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
21354 width.
21355 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 21356 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
21357 Gettextize.
21358 * normal/menu_entry.c (store_completion): Cleanup the gettextized
21359 string.
21360 (run): Likewise.
21361 (grub_menu_entry_run): Likewise.
21362 * PO/POTFILES: Add normal/menu_entry.c.
21363
f616f51c
VS
213642009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
21365
21366 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
21367
57bbe3be
CPE
213682009-12-05 Carles Pina i Estany <carles@pina.cat>
21369
21370 * util/grub-install.in: Install gettext .mo files.
21371 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
21372
013d67a1
CPE
213732009-12-05 Carles Pina i Estany <carles@pina.cat>
21374
21375 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
21376 grub_dprintf.
21377
fb954db0
RM
213782009-12-05 Robert Millan <rmh.grub@aybabtu.com>
21379
21380 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
21381 non-firmware-dependant one in realmode.S takes precedence.
21382
6b8474f8
RM
213832009-12-04 Robert Millan <rmh.grub@aybabtu.com>
21384
21385 * commands/halt.c: Replace misc arch-specific headers with
21386 `<grub/misc.h>'.
21387 * commands/reboot.c: Likewise.
21388 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
21389 `<grub/misc.h>'.
21390 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
21391 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
21392 (kernel_img_SOURCES): ... to here.
21393
21394 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
21395 * include/grub/i386/pc/init.h: Likewise.
21396 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
21397 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21398
21399 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
21400
21401 * include/grub/i386/halt.h: Remove.
21402 * include/grub/i386/reboot.h: Likewise.
21403
21404 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
21405
4b2e6ca2
DM
214062009-12-03 David S. Miller <davem@sunset.davemloft.net>
21407
21408 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
21409 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
21410 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
21411 "progname.h"
21412 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
21413 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21414 (usage): Add missing comma in printf.
21415
5239348f
RM
214162009-12-02 Robert Millan <rmh.grub@aybabtu.com>
21417
21418 Use the same reboot approach on i386 coreboot and qemu as we do on
21419 BIOS.
21420
21421 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
21422 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
21423 * kern/i386/reboot.c: Remove.
21424 * include/grub/i386/reboot.h (grub_reboot): Export function.
21425 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
21426 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
21427 0xf000:0xfff0 instead of 0xffff:0x0000.
21428 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
21429 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
21430
ef34cbd4
RM
214312009-11-30 Robert Millan <rmh.grub@aybabtu.com>
21432
21433 Fix $srcdir != $objdir build.
21434
21435 * Makefile.in (po/%.po): Rewrite as ...
21436 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
21437
dc9837ea
ST
214382009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
21439
21440 Fix GNU/Hurd grub-install crash.
21441 * util/grub-probe.c (probe): Try to access `path' only when it is not
21442 NULL.
21443
2f857f98
VS
214442009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21445
21446 Correct module naming.
21447
21448 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
21449 (GRUB_MOD_INIT(efi_uga)): ... to this
21450 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
21451 (GRUB_MOD_FINI(efi_uga)): ... to this
21452 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
21453 (GRUB_MOD_INIT(efi_gop)): ... to this
21454 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
21455 (GRUB_MOD_FINI(efi_gop)): ... to this
21456
c5448046
RM
214572009-11-28 Robert Millan <rmh.grub@aybabtu.com>
21458
21459 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
21460 translatable.
21461 (usage): Translate `arg' strings using gettext().
21462 Thanks to Jordi Mallach for the suggestion.
21463
c85184ad
VS
214642009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21465
21466 GOP support. Based on patch from Bean
21467 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
21468
21469 * video/efi_gop.c: New file.
21470 * include/grub/efi/graphics_output.h: Likewise.
21471 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
21472 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
21473 variables.
21474 * conf/x86_64-efi.rmk: Likewise.
21475
8a4c48d8
VS
214762009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21477
21478 Rename efi_fb to efi_uga.
21479
21480 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
21481 'efi_uga.mod'.
21482 (efi_fb_mod_SOURCES): Rename this ...
21483 (efi_uga_mod_SOURCES): ... to this.
21484 (efi_fb_mod_CFLAGS): Rename this ...
21485 (efi_uga_mod_CFLAGS): ... to this.
21486 (efi_fb_mod_LDFLAGS): Rename this ...
21487 (efi_uga_mod_LDFLAGS): ... to this.
21488 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
21489 'efi_uga.mod'.
21490 (efi_fb_mod_SOURCES): Rename this ...
21491 (efi_uga_mod_SOURCES): ... to this.
21492 (efi_fb_mod_CFLAGS): Rename this ...
21493 (efi_uga_mod_CFLAGS): ... to this.
21494 (efi_fb_mod_LDFLAGS): Rename this ...
21495 (efi_uga_mod_LDFLAGS): ... to this.
21496 * video/efi_fb.c: Move this ...
21497 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
21498
fb6c1a7b
RM
214992009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21500
21501 * po/README: New file. Explain our PO file workflow.
21502
3bc7896c
RM
215032009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21504
21505 * po/ChangeLog: Remove. Move relevant entries back to ...
21506 * ChangeLog: ... here.
21507 * po/ca.po: Remove (now handled by TLP).
21508 * po/id.po: Likewise.
21509 * po/zh_CN.po: Likewise.
21510 * Makefile.in (LINGUAS): Initialize in a way that supports
21511 empty set.
21512
9ed4841d
RM
215132009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21514
21515 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
21516 reliing on po/LINGUAS.
21517 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
21518 (po/%.po): ... this.
21519
0ad46fd7 215202009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
21521
21522 * util/i386/efi/grub-mkimage.c: Include "progname.h".
21523 (main): Use `program_name' instead of nonexistent `progname'.
21524
e30dd392
FZ
215252009-11-26 Felix Zielcke <fzielcke@z-51.de>
21526
21527 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21528 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
21529
7656de4f
RM
215302009-11-26 Robert Millan <rmh.grub@aybabtu.com>
21531
21532 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
21533 commit.
21534 * conf/i386-efi.rmk: Likewise.
21535 * conf/i386-ieee1275.rmk: Likewise.
21536 * conf/powerpc-ieee1275.rmk: Likewise.
21537 * conf/sparc64-ieee1275.rmk: Likewise.
21538 * conf/x86_64-efi.rmk: Likewise.
21539
db77c4d4
FZ
215402009-11-26 Felix Zielcke <fzielcke@z-51.de>
21541
21542 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
21543
a755bb04
FZ
215442009-11-26 Felix Zielcke <fzielcke@z-51.de>
21545
21546 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
21547
8a4c07fd
RM
215482009-11-26 Robert Millan <rmh.grub@aybabtu.com>
21549
21550 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
21551 (grub_mkdevicemap_SOURCES): New variable.
21552 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
21553 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
21554 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
21555 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
21556 (grub_mkdevicemap_SOURCES): Remove.
21557 * conf/i386-efi.rmk: Likewise.
21558 * conf/i386-ieee1275.rmk: Likewise.
21559 * conf/i386-pc.rmk: Likewise.
21560 * conf/powerpc-ieee1275.rmk: Likewise.
21561 * conf/sparc64-ieee1275.rmk: Likewise.
21562 * conf/x86_64-efi.rmk: Likewise.
21563 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
21564 (usage): Fix strings to use `program_name'.
21565 (main): Initialize gettext.
21566 * util/grub-editenv.c: Likewise.
21567 * util/grub-emu.c: Likewise.
21568 * util/grub-fstest.c: Likewise.
21569 * util/grub-mkdevicemap.c: Likewise.
21570 * util/grub-mkfont.c: Likewise.
21571 * util/grub-mkrelpath.c: Likewise.
21572 * util/grub-pe2elf.c: Likewise.
21573 * util/grub-probe.c: Likewise.
21574 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
21575 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
21576 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21577
21578 * util/misc.c: Include `"progname.h"'.
21579 (progname): Remove variable.
21580 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
21581
6f61ed55
FZ
215822009-11-25 Felix Zielcke <fzielcke@z-51.de>
21583
21584 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
21585 printf and print a newline after the menuentry header line.
21586 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21587
f022876b
FZ
215882009-11-25 Felix Zielcke <fzielcke@z-51.de>
21589
21590 autoconf >= 2.60 support $(localedir).
21591
21592 * INSTALL: Note that autoconf 2.60 is required.
21593 * configure.ac (AC_PREREQ): Bump to 2.60.
21594 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
21595 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
21596
6717926e
YB
215972009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
21598
21599 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
21600 aclocal is run.
21601
08806a54
RM
216022009-11-25 Robert Millan <rmh.grub@aybabtu.com>
21603
21604 * normal/main.c (grub_normal_read_line): Fix off-by-one
21605 buffer overflow.
21606
13b33fba
RM
216072009-11-25 Robert Millan <rmh.grub@aybabtu.com>
21608
21609 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
21610 "parser.grub" in grub_command_execute() call.
21611
4a8572e9
CPE
216122009-11-24 Carles Pina i Estany <carles@pina.cat>
21613
21614 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
21615 * conf/i386-efi.rmk: Likewise.
21616 * conf/i386-ieee1275.rmk: Likewise.
21617 * conf/i386-pc.rmk: Likewise.
21618 * conf/powerpc-ieee1275.rmk: Likewise.
21619 * conf/sparc64-ieee1275.rmk: Likewise.
21620 * conf/x86_64-efi.rmk: Likewise.
21621 * gettext/gettex.c: Include <grub/i18n.h>.
21622 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
21623 here ...
21624 * include/grub/i18n.h: ... to here
21625 * include/grub/i18n.h: ... to here.
21626 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 21627 (grub_gettext_dummy): Move above user.
4a8572e9 21628
bee48093
FZ
216292009-11-24 Felix Zielcke <fzielcke@z-51.de>
21630
21631 * util/Makefile.in (install-local): Convert a `for' into a normal
21632 shell expansion.
21633
a031e91c
RM
216342009-11-24 Robert Millan <rmh.grub@aybabtu.com>
21635
21636 * autogen.sh: Add automake call.
21637 * config.guess: Remove.
21638 * config.sub: Likewise.
21639 * install-sh: Likewise.
21640
26bec39d
FZ
216412009-11-24 Felix Zielcke <fzielcke@z-51.de>
21642
21643 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
21644
8e2532fd
FZ
216452009-11-24 Felix Zielcke <fzielcke@z-51.de>
21646
21647 * util/Makefile.in (install-local): Convert a make `$(foreach)'
21648 function to a normal shell `for'.
21649
fefa1b7d
FZ
216502009-11-24 Felix Zielcke <fzielcke@z-51.de>
21651
21652 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21653
4501250b
FZ
216542009-11-24 Felix Zielcke <fzielcke@z-51.de>
21655
21656 * util/grub-mkrelpath.c: New file.
21657 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
21658 (grub_mkrelpath_SOURCES): New variable.
21659 * include/grub/util/misc.h: New function prototype.
21660 * util/misc.c (make_system_path_relative_to_its_root): New function.
21661
21662 * util/grub-mkconfig_lib.in (bindir): New variable.
21663 (grub_mkrelpath): Likewise.
21664 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
21665
21666 * util/probe.c (probe): Make the file path relative to its root.
21667 Change a info message to use the GRUB path. Enable again the
21668 check if we can read the file with GRUB facilities.
21669
21670 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
21671 to its root.
21672
11d9778b
FZ
216732009-11-24 Felix Zielcke <fzielcke@z-51.de>
21674
21675 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
21676 platform.
21677
4465287d
FZ
216782009-11-24 Felix Zielcke <fzielcke@z-51.de>
21679
21680 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
21681 strncmp().
21682
62b47f22
FZ
216832009-11-24 Felix Zielcke <fzielcke@z-51.de>
21684
21685 * util/getroot.c (grub_util_is_dmraid): New function.
21686 (grub_util_get_dev_abstraction): Treat dmraid and multipath
21687 devices as normal ones, not as LVM.
21688
1eafb9b9 216892009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
21690
21691 * conf/common.rmk: Add grub-gettext_lib target and updates
21692 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
21693 LDFLAGS.
21694 * gettext/gettext.c: New file. (Reads mo files).
21695 * include/grub/file.h (grub_file_pread): New prototype.
21696 * include/grub/i18n.h (_): New prototype.
21697 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
21698 prototypes.
21699 * kern/misc.c (grub_gettext_dummy): New function.
21700 * normal/menu_text.c: Include <grub/i18n.h>.
21701 * normal/menu_text.c (print_timeout): Gettexttize string.
21702 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
21703 * po/POTFILES: Add `normal/menu_text.c'.
21704 * po/ca.po: Add new translations.
c3ea6bd4
CPE
21705 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
21706 gettext module and defines locale_dir and lang in grub.cfg.
21707 * NEWS: Add gettext support.
21708
0fdb2568
RM
217092009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21710
21711 * util/hostdisk.c: Include `<grub/i18n.h>'.
21712 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
21713 (make_device_name): Rewrite using asprintf.
21714 (convert_system_partition_to_system_disk): Replace 0 with NULL.
21715 (find_system_device): If a device is not found, generate one just
21716 by reusing the OS path name.
21717 (read_device_map): Make it permissible for device.map not to exist.
21718
f515aa62
RM
217192009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21720
21721 * script/sh/execute.c: Move from here ...
21722 * script/execute.c: ... to here. Update all users.
21723 * script/sh/function.c: Move from here ...
21724 * script/function.c: ... to here. Update all users.
21725 * script/sh/lexer.c: Move from here ...
21726 * script/lexer.c: ... to here. Update all users.
21727 * script/sh/main.c: Move from here ...
21728 * script/main.c: ... to here. Update all users.
21729 * script/sh/parser.y: Move from here ...
21730 * script/parser.y: ... to here. Update all users.
21731 * script/sh/script.c: Move from here ...
21732 * script/script.c: ... to here. Update all users.
21733
f84b481b
RM
217342009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21735
21736 * configure.ac: Detect all `emu' platforms. Define
21737 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
21738 --enable-grub-emu logic. Disable include/grub/machine
21739 symlink on `emu' platforms.
21740
21741 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
21742 * gensymlist.sh.in: Likewise.
21743
21744 * include/grub/i386/coreboot/machine.h: Remove file.
21745 * include/grub/i386/efi/machine.h: Likewise.
21746 * include/grub/i386/ieee1275/machine.h: Likewise.
21747 * include/grub/i386/pc/machine.h: Likewise.
21748 * include/grub/i386/qemu/machine.h: Likewise.
21749 * include/grub/powerpc/ieee1275/machine.h: Likewise.
21750 * include/grub/sparc64/ieee1275/machine.h: Likewise.
21751 * include/grub/x86_64/efi/machine.h: Likewise.
21752
21753 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
21754 * commands/halt.c: Likewise.
21755 * commands/reboot.c: Likewise.
21756 * include/grub/autoefi.h: Likewise.
21757 * include/grub/i386/at_keyboard.h: Likewise.
21758 * include/grub/i386/kernel.h: Likewise.
21759 * include/grub/i386/loader.h: Likewise.
21760 * include/grub/i386/pc/memory.h: Likewise.
21761 * kern/dl.c: Likewise.
21762 * kern/i386/coreboot/init.c: Likewise.
21763 * loader/i386/bsd.c: Likewise.
21764 * loader/i386/linux.c: Likewise.
21765 * loader/multiboot_loader.c: Likewise.
21766 * term/i386/pc/serial.c: Likewise.
21767 * term/usb_keyboard.c: Likewise.
21768
21769 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
21770 `<grub/machine/machine.h>'
21771 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
21772 * util/misc.c: Remove `<grub/machine/machine.h>' and
21773 `<grub/machine/time.h>'.
21774
21775 * Makefile.in (enable_grub_emu): Remove variable.
21776 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
21777
21778 * conf/any-emu.rmk: New file.
21779 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
21780 (grub_emu_init.c): Move from here ...
21781 * conf/any-emu.rmk: ... to here.
21782
21783 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
21784 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
21785 * conf/any-emu.rmk: ... to here.
21786
4efeab03
RM
217872009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21788
21789 * include/grub/parser.h (grub_parser_register): Document need
21790 of `name' parameter.
21791 * normal/main.c (grub_normal_read_line): Simplify prompt string.
21792 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
21793 "sh" to "grub".
21794
ea1dd8bf
RM
217952009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21796
21797 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
21798 `$(XGETTEXT)'.
21799 * include/grub/i18n.h (N_): New macro.
21800 * util/mkisofs/mkisofs.h: Likewise.
21801 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
21802 around N_().
21803 (usage): Use gettext() to translate help strings when printing them.
21804
0c140626
RM
218052009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21806
21807 Based on patch from Bean
21808 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
21809
21810 * video/efi_fb.c: New file.
21811 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
21812 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
21813 variables.
21814 * conf/x86_64-efi.rmk: Likewise.
21815
87d58298
RM
218162009-11-22 Robert Millan <rmh.grub@aybabtu.com>
21817
21818 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
21819 * util/i386/pc/grub-setup.c: Likewise.
21820
994cc3a3
ST
218212009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
21822
21823 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
21824 <hurd/fs.h>
21825 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
21826 file_get_storage_info to implement grub_guess_root_device.
21827
26a61d6a
FZ
218282009-11-21 Felix Zielcke <fzielcke@z-51.de>
21829
21830 * Makefile.in (target): Use make's builtin $(shell) function
21831 instead of calling directly $(SHELL) to create the locale directories,
21832 inside the $(foreach) function.
21833
74ff1dd5
FZ
218342009-11-21 Felix Zielcke <fzielcke@z-51.de>
21835
21836 * util/grub-mkrescue.in: Print an error and usage if output option
21837 has not been given.
21838
0b787d0e
FZ
218392009-11-21 Felix Zielcke <fzielcke@z-51.de>
21840
21841 Patch from Loïc Minier <loic.minier@ubuntu.com>.
21842 * util/grub.d/30_os-prober.in: Cope with Linux entries where
21843 root and /boot are on different devices.
21844
1164b270
RM
218452009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21846
21847 Fix build for srcdir != objdir.
21848
21849 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
21850 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
21851 $(srcdir).
21852 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
21853 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
21854 reference for input.
21855
13774a2f
RM
218562009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21857
21858 * util/grub-mkrescue.in: Use source directory direcly (without copiing
21859 or hardlinking it). Remove -J option, Joliet is not compatible with
21860 multiple source directories.
21861
efda854e
RM
218622009-11-21 Carles Pina i Estany <carles@pina.cat>
218632009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21864
21865 * util/grub-mkrescue.in: Recognize `--override-directory' option.
21866 (process_input_dir): New function. Process an arbitrary input
21867 directory.
21868 Misc adjustments to support both "override mode" and system-wide mode.
21869
6c09890c
FZ
218702009-11-20 Felix Zielcke <fzielcke@z-51.de>
21871
21872 * configure.ac (UNIFONT_BDF): Rename to ...
21873 (FONT_SOURCE): ... this. Update all users.
21874
a797824f
FZ
218752009-11-20 Felix Zielcke <fzielcke@z-51.de>
21876
21877 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
21878 to the list of unifont files to look for.
21879
cd4f42b0
RM
218802009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21881
21882 Patch from Joe Auricchio <jauricchio@gmail.com>
21883 * commands/minicmd.c (grub_mini_cmd_clear): New function.
21884 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
21885 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
21886
393c783d
FZ
218872009-11-19 Felix Zielcke <fzielcke@z-51.de>
21888
21889 * Makefile.in (install-local): Add a missing backslash.
21890
b2f1e327
FZ
218912009-11-19 Felix Zielcke <fzielcke@z-51.de>
21892
21893 * include/grub/x86_64/io.h: New file.
21894
f577f7a0
RM
218952009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21896
21897 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
21898 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
21899 Include `"progname.h"'.
21900 (main): Initialize gettext.
21901 * util/i386/pc/grub-setup.c: Gettexttize.
21902 * util/i386/pc/grub-mkimage.c: Likewise.
21903
21904 * Makefile.in (po/*.po): Redefine as ...
21905 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
21906
3bc7896c
RM
21907 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
21908
c37943b6
RM
219092009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21910
21911 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
21912 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
21913 (program_name): Remove.
21914 (main): Initialize gettext support.
6323f705
RM
21915 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
21916 Include `<libintl.h>'.
21917 (_): New macro.
c37943b6
RM
21918
21919 * util/mkisofs/eltorito.c: Gettexttize.
21920 * util/mkisofs/joliet.c: Likewise.
21921 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
21922 * util/mkisofs/multi.c: Likewise.
21923 * util/mkisofs/rock.c: Likewise.
21924 * util/mkisofs/tree.c: Likewise.
21925 * util/mkisofs/write.c: Likewise.
21926
3bc7896c
RM
21927 * po/POTFILES: Update with new files.
21928
5ce77c6e
RM
219292009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21930
21931 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
21932 * util/mkisofs/iso9660.h: Likewise.
21933 * util/mkisofs/joliet.c: Likewise.
21934 * util/mkisofs/mkisofs.c: Likewise.
21935 * util/mkisofs/mkisofs.h: Likewise.
21936 * util/mkisofs/rock.c: Likewise.
21937 * util/mkisofs/tree.c: Likewise.
21938 * util/mkisofs/write.c: Likewise.
21939
21940 * util/mkisofs/eltorito.c (rcsid): Remove.
21941 * util/mkisofs/hash.c: Likewise.
21942 * util/mkisofs/joliet.c: Likewise.
21943 * util/mkisofs/name.c: Likewise.
21944 * util/mkisofs/rock.c: Likewise.
21945 * util/mkisofs/tree.c: Likewise.
21946 * util/mkisofs/write.c: Likewise.
21947
1dabbc77
RM
219482009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21949
21950 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
21951 instead of static allocation.
21952 * util/mkisofs/match.h: Likewise.
21953
633877cb
RM
219542009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21955
3bc7896c
RM
21956 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
21957 and `util/grub.d/10_linux.in'.
633877cb
RM
21958 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
21959 translatable Shell files.
21960
af1c0c85
RM
219612009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21962
21963 * Makefile.in ($(srcdir)/aclocal.m4): New target.
21964
769ae37b
RM
219652009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21966
21967 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 21968 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
21969 * util/grub.d/10_kfreebsd.in (bindir): New variable.
21970 Add gettext initialization.
21971 (kfreebsd_entry): Make menuentry output translatable.
21972
219732009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21974
21975 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
21976 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
21977 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
21978 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
21979 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 21980 * po/LINGUAS: New file.
769ae37b
RM
21981
219822009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21983
21984 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
21985 other things).
21986 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
21987 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
21988 bindtextdomain() calls for gettext initialization.
21989
219902009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21991
21992 * gnulib/progname.c: New file (imported from Gnulib).
21993 * gnulib/progname.h: Likewise.
21994 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21995 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
21996 (usage): Replace `progname' with `program_name'.
21997 (main): Use set_program_name() for program name initialization.
21998
219992009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22000
22001 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
22002 from here ...
22003 * Makefile.in (CPPFLAGS): ... to here.
22004
220052009-11-16 Robert Millan <rmh.grub@aybabtu.com>
22006
22007 * aclocal.m4: Move from here ...
22008 * acinclude.m4: ... to here.
22009 * autogen.sh: Add call to `aclocal'.
22010 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
22011
220122009-11-16 Robert Millan <rmh.grub@aybabtu.com>
22013
22014 * Makefile.in (CLEANFILES): Add `po/*.mo'.
22015 (LINGUAS): New variable.
22016 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
22017 (install-local): Install MO files.
22018 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
22019 * include/grub/i18n.h: New file.
3bc7896c
RM
22020 * po/POTFILES: New file.
22021 * po/ca.po: New file.
769ae37b
RM
22022 * util/grub.d/10_linux.in (bindir): New variable.
22023 Add gettext initialization.
22024 (linux_entry): Make menuentry output translatable.
22025 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
22026 (usage): Make --help output translatable.
22027 (main): Initialize gettext.
22028
02c0a6ad
RM
220292009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22030
22031 * import_gcry.py: New file (written by Vladimir with minor
22032 adjustments).
22033 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
22034 ciphers.
22035 * INSTALL: Document that Python is required for bootstrap.
22036
220372009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22038
22039 Import ciphers from libgcrypt 1.4.4.
22040
22041 * lib/libgcrypt/cipher/ChangeLog
22042 * lib/libgcrypt/cipher/ac.c
22043 * lib/libgcrypt/cipher/arcfour.c
22044 * lib/libgcrypt/cipher/bithelp.h
22045 * lib/libgcrypt/cipher/blowfish.c
22046 * lib/libgcrypt/cipher/camellia-glue.c
22047 * lib/libgcrypt/cipher/camellia.c
22048 * lib/libgcrypt/cipher/camellia.h
22049 * lib/libgcrypt/cipher/cast5.c
22050 * lib/libgcrypt/cipher/cipher.c
22051 * lib/libgcrypt/cipher/crc.c
22052 * lib/libgcrypt/cipher/des.c
22053 * lib/libgcrypt/cipher/dsa.c
22054 * lib/libgcrypt/cipher/ecc.c
22055 * lib/libgcrypt/cipher/elgamal.c
22056 * lib/libgcrypt/cipher/hash-common.c
22057 * lib/libgcrypt/cipher/hash-common.h
22058 * lib/libgcrypt/cipher/hmac-tests.c
22059 * lib/libgcrypt/cipher/md.c
22060 * lib/libgcrypt/cipher/md4.c
22061 * lib/libgcrypt/cipher/md5.c
22062 * lib/libgcrypt/cipher/primegen.c
22063 * lib/libgcrypt/cipher/pubkey.c
22064 * lib/libgcrypt/cipher/rfc2268.c
22065 * lib/libgcrypt/cipher/rijndael-tables.h
22066 * lib/libgcrypt/cipher/rijndael.c
22067 * lib/libgcrypt/cipher/rmd.h
22068 * lib/libgcrypt/cipher/rmd160.c
22069 * lib/libgcrypt/cipher/rsa.c
22070 * lib/libgcrypt/cipher/seed.c
22071 * lib/libgcrypt/cipher/serpent.c
22072 * lib/libgcrypt/cipher/sha1.c
22073 * lib/libgcrypt/cipher/sha256.c
22074 * lib/libgcrypt/cipher/sha512.c
22075 * lib/libgcrypt/cipher/tiger.c
22076 * lib/libgcrypt/cipher/twofish.c
22077 * lib/libgcrypt/cipher/whirlpool.c
22078
af2f93ac
RM
220792009-11-16 Robert Millan <rmh.grub@aybabtu.com>
22080
22081 Fix build for systems without error().
22082
22083 * gnulib/error.c: New file (imported from Gnulib).
22084 * gnulib/error.h: Likewise.
22085 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
22086 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
22087 (this variable is now used by error()).
22088
73fb3dd5
FZ
220892009-11-16 Felix Zielcke <fzielcke@z-51.de>
22090
814f5e96
FZ
22091 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
22092 instead of relying that char is signed.
73fb3dd5 22093
a691ca33
VS
220942009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
22095
22096 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
22097 blocksize different from specified.
22098 (grub_pxefs_read): Likewise.
22099
2af8f0f4
FZ
221002009-11-16 Felix Zielcke <fzielcke@z-51.de>
22101
22102 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
22103
22104 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
22105 (grub_ata_readwrite): Likewise. Update 2 format strings.
22106 (grub_atapi_read): Likewise.
22107
22108 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
22109 * conf/i386.rmk (pkglib_MODULES): ... to here ...
22110 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
22111 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
22112 (ata_mod_LDFLAGS): Move from here ...
22113 * conf/i386.rmk: ... to here ...
22114 * conf/x86_64-efi.rmk: ... and here.
22115 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
22116 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
22117
83bdecaf
RM
221182009-11-16 Robert Millan <rmh.grub@aybabtu.com>
22119
22120 Relicense multiboot.h, with RMS' blessing.
22121
22122 * include/multiboot.h: Change to X11 license.
22123
fd6fd3d7
RM
221242009-11-15 Robert Millan <rmh.grub@aybabtu.com>
22125
22126 Support --version in grub-mkisofs.
22127
22128 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
22129 (OPTION_VERSION): New macro.
22130 (ld_options): Recognize --version.
22131 (usage): Move `program_name' from here ...
22132 (program_name): ... to here. Add `static' qualifier.
22133 (main): Recognize `OPTION_VERSION'.
22134
16a88c49
FZ
221352009-11-15 Felix Zielcke <fzielcke@z-51.de>
22136
22137 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
22138 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
22139
a4158476
RM
221402009-11-14 Robert Millan <rmh.grub@aybabtu.com>
22141
22142 Fix help2man generation for mkisofs.
22143
22144 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
22145 (usage): Send output to stdout (rather than stderr).
22146
fc2208b0
RM
221472009-11-14 Robert Millan <rmh.grub@aybabtu.com>
22148
22149 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
22150 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
22151 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
22152 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
22153 (bin_SCRIPTS): Add `grub-mkfloppy'.
22154 (grub_mkfloppy_SOURCES): New variable.
22155
22156 * util/grub-mkrescue.in: New file.
22157 * util/i386/pc/grub-mkfloppy.in: New file.
22158
22159 * util/i386/coreboot/grub-mkrescue.in: Remove.
22160 * util/i386/pc/grub-mkrescue.in: Remove.
22161
8d0edf4a
RM
221622009-11-13 Robert Millan <rmh.grub@aybabtu.com>
22163
22164 * include/grub/multiboot.h (struct grub_multiboot_header): Move
22165 from here ...
22166 * include/multiboot.h (struct multiboot_header): ... to here. Update
22167 all users.
22168 * include/grub/multiboot.h (struct grub_multiboot_info): Move
22169 from here ...
22170 * include/multiboot.h (struct multiboot_info): ... to here. Update
22171 all users.
22172 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
22173 from here ...
22174 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
22175 Update all users.
22176 * include/grub/multiboot.h (struct grub_mod_list): Move
22177 from here ...
22178 * include/multiboot.h (struct multiboot_mod_list): ... to here.
22179 Update all users.
22180
a73f5969
RM
221812009-11-13 Robert Millan <rmh.grub@aybabtu.com>
22182
22183 * include/multiboot2.h (multiboot_word): Rename from this ...
22184 (multiboot2_word): ... to this. Update all users.
22185 (multiboot_header): Rename from this ...
22186 (multiboot2_header): ... to this. Update all users.
22187 (multiboot_tag_header): Rename from this ...
22188 (multiboot2_tag_header): ... to this. Update all users.
22189 (multiboot_tag_start): Rename from this ...
22190 (multiboot2_tag_start): ... to this. Update all users.
22191 (multiboot_tag_name): Rename from this ...
22192 (multiboot2_tag_name): ... to this. Update all users.
22193 (multiboot_tag_module): Rename from this ...
22194 (multiboot2_tag_module): ... to this. Update all users.
22195 (multiboot_tag_memory): Rename from this ...
22196 (multiboot2_tag_memory): ... to this. Update all users.
22197 (multiboot_tag_unused): Rename from this ...
22198 (multiboot2_tag_unused): ... to this. Update all users.
22199 (multiboot_tag_end): Rename from this ...
22200 (multiboot2_tag_end): ... to this. Update all users.
22201
1c8927f0
RM
222022009-11-13 Robert Millan <rmh.grub@aybabtu.com>
22203
22204 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
22205 this platform we should support Multiboot1 first.
22206
22207 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
22208 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
22209 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
22210
6e1e0d89
RM
222112009-11-12 Robert Millan <rmh.grub@aybabtu.com>
22212
22213 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
22214 of write calls (converting them to fwrite() if they aren't already).
22215 (get_torito_desc): Likewise.
22216 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
22217
7f2b34d8
RM
222182009-11-12 Robert Millan <rmh.grub@aybabtu.com>
22219
22220 * util/i386/pc/grub-install.in: Move from here ...
22221 * util/grub-install.in: ... to here. Update all users.
22222
c0ef3311
CW
222232009-11-11 Colin Watson <cjwatson@ubuntu.com>
22224
22225 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
22226
e1f240ff
RM
222272009-11-11 Robert Millan <rmh.grub@aybabtu.com>
22228
22229 Support for El Torito without floppy emulation.
22230
22231 * util/mkisofs/eltorito.c: Include `<errno.h>'.
22232 (init_boot_catalog): Improve error handling.
22233 (get_torito_desc): Don't use floppy emulation unless requested by
22234 user. Patch boot information table when requested via
22235 `-boot-info-table'.
22236 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
22237 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
22238 (use_boot_info_table): New variables.
22239 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
22240 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
22241 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
22242 `--eltorito-emul-floppy'.
22243 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
22244 and `OPTION_ELTORITO_EMUL_FLOPPY'.
22245 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
22246 (use_boot_info_table, get_731): New prototypes.
22247 * util/mkisofs/write.c (get_731): New function.
22248
af7d4de5
FZ
222492009-11-11 Felix Zielcke <fzielcke@z-51.de>
22250
22251 Fix the generation of the man page.
22252
22253 * util/pc/i386/grub-install.in: Source
22254 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
22255
2c55dbc0
RM
222562009-11-11 Robert Millan <rmh.grub@aybabtu.com>
22257
22258 Large file support for grub-mkisofs.
22259
22260 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
22261 * util/mkisofs/mkisofs.c (next_extent, last_extent)
22262 (session_start): Upgrade type to `uint64_t'. Update all users.
22263 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
22264 (struct directory_entry): Upgrade type of `starting_block' and
22265 `size' to `uint64_t'. Update all users.
22266 (struct deferred): Remove unused structure.
22267 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
22268 Update all users.
22269 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
22270 file is larger than `UINT32_MAX'.
22271 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
22272 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
22273 return value.
22274 (struct deferred_write): Upgrade type of `extent' and `size' to
22275 `uint64_t'. Update all users.
22276 (last_extent_written): Upgrade type to `uint64_t'. Update all
22277 users.
22278 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
22279 Update all users. Upgrade type of `remain' to `int64_t' and
22280 `use' to `size_t'. Use error() to handle fread() errors.
22281 (write_files): Rely on write_one_file() rather than calling
22282 xfwrite() directly.
22283
6a9cead5
FZ
222842009-11-09 Felix Zielcke <fzielcke@z-51.de>
22285
22286 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
22287
4825d790
RM
222882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22289
22290 * util/mkisofs/fnmatch.c: Remove.
22291 * util/mkisofs/getopt1.c: Likewise.
22292 * util/mkisofs/getopt.c: Likewise.
22293 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
22294 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
22295 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
22296 `gnulib/getopt1.c' and `gnulib/getopt.c'.
22297 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
22298
22299 * configure.ac: Detect `mingw32msvc' host_os.
22300 Check for lstat(), getuid() and getgid().
22301
22302 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
22303 instances of `u_char' with `uint8_t'.
22304
22305 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
22306 [!HAVE_GETUID] (getuid): New function (stub).
22307 [!HAVE_GETGID] (getgid): Likewise.
22308 [!HAVE_LSTAT] (lstat): Likewise.
22309 [!S_IROTH] (S_IROTH): New macro (dummy).
22310 [!S_IRGRP] (S_IRGRP): Likewise.
22311
84b860d8
RM
223122009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22313
22314 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
22315 conditional expression).
22316
66e9b712
RM
223172009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22318
22319 Import from Gnulib.
22320
22321 * gnulib/fnmatch.c: New file.
22322 * gnulib/fnmatch.h: Likewise.
22323 * gnulib/fnmatch_loop.c: Likewise.
22324 * gnulib/getopt.c: Likewise.
22325 * gnulib/getopt.h: Likewise.
22326 * gnulib/getopt1.c: Likewise.
22327 * gnulib/getopt_int.h: Likewise.
22328 * gnulib/gettext.h: Likewise.
22329
34f4a5b0
RM
223302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22331
22332 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
22333 * normal/handler.c (read_handler_list): Likewise.
22334
ac451143
RM
223352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22336
22337 Misc cleanup.
22338
22339 * kern/command.c (grub_register_command_prio): Use
22340 grub_zalloc() instead of explicitly zeroing data.
22341 * kern/list.c: Include `<grub/mm.h>'.
22342 (grub_named_list_find): Replace `0' with `NULL'.
22343 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
22344 (fs_module_list): Change type to `grub_named_list_t'. Update all
22345 users.
22346 * normal/dyncmd.c (read_command_list): Add space between function
22347 call and parenthesis.
22348 * normal/handler.c (read_handler_list): Likewise.
22349
4089b167
RM
223502009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22351
22352 * normal/auth.c (punishment_delay): Moved from here ...
22353 (grub_auth_strcmp): ... to here (inside function).
22354
325f5037
RM
223552009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22356
22357 * include/grub/list.h (struct grub_named_list): Remove `const'
22358 qualifier from `name'.
22359 (struct grub_prio_list): Likewise.
22360
7aea29a3
RM
223612009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22362
22363 * normal/auth.c: Include `<grub/time.h>'.
22364 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
22365
3fd6f044
RM
223662009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22367
22368 * normal/auth.c (punishment_delay): New variable.
22369 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
22370 (grub_auth_check_authentication): Punish failed login attempts with
22371 an incremental (2^N) delay.
22372
a4cd68e4
RM
223732009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22374
22375 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
22376 path with $(srcdir).
22377
7ad12f43
VS
223782009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
22379
22380 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
22381
c1129f03
RM
223822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22383
22384 * util/i386/coreboot/grub-mkrescue.in: New file.
22385 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
22386 variables.
22387
22388 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
22389 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
22390 * configure.ac: Add header and function checks to satisfy grub-mkisofs
22391 requirements.
22392 * util/mkisofs/defaults.h: New file.
22393 * util/mkisofs/eltorito.c: Likewise.
22394 * util/mkisofs/exclude.h: Likewise.
22395 * util/mkisofs/fnmatch.c: Likewise.
22396 * util/mkisofs/getopt.c: Likewise.
22397 * util/mkisofs/getopt1.c: Likewise.
22398 * util/mkisofs/hash.c: Likewise.
22399 * util/mkisofs/include/fctldefs.h: Likewise.
22400 * util/mkisofs/include/mconfig.h: Likewise.
22401 * util/mkisofs/include/prototyp.h: Likewise.
22402 * util/mkisofs/include/statdefs.h: Likewise.
22403 * util/mkisofs/iso9660.h: Likewise.
22404 * util/mkisofs/joliet.c: Likewise.
22405 * util/mkisofs/match.c: Likewise.
22406 * util/mkisofs/match.h: Likewise.
22407 * util/mkisofs/mkisofs.c: Likewise.
22408 * util/mkisofs/mkisofs.h: Likewise.
22409 * util/mkisofs/multi.c: Likewise.
22410 * util/mkisofs/name.c: Likewise.
22411 * util/mkisofs/rock.c: Likewise.
22412 * util/mkisofs/tree.c: Likewise.
22413 * util/mkisofs/write.c: Likewise.
22414
ec8bb77d
VS
224152009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
22416
22417 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
22418 being insecure.
22419
3716b12c
RM
224202009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22421
22422 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
22423 `grub-mkimage' (and use $0 when possible).
22424
b97b7b91
RM
224252009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22426
22427 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
22428 error message for excessively large memory map.
22429
04114812
RM
224302009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22431
22432 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
22433 executable bit.
22434
e4eb2373
RM
224352009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22436
22437 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
22438 message for coreboot users.
22439
c926e1d5 224402009-11-07 Robert Millan <rmh.grub@aybabtu.com>
22441
22442 Fix build with GNU gold.
22443
22444 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
22445 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
22446 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
22447 link addresses.
22448 * aclocal.m4: Likewise.
22449
86e5b1db 224502009-11-04 Felix Zielcke <fzielcke@z-51.de>
22451
22452 * configure.ac (AC_PREREQ): Bump to 2.59d.
22453 * INSTALL: Make it more clear when Autoconf and Ruby are
22454 needed and when to run `./autogen.sh'.
22455
246cd78f 224562009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
22457
22458 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
22459 OSes.
22460
4f9dfb37 224612009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22462
22463 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
22464
b82bd5e1 224652009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22466
22467 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
22468 giving it to GNU Mach.
22469
ff1a9bca 224702009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22471
22472 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
22473 GNU partition number to get internal GRUB partition number.
22474
61697d9c 224752009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22476
22477 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
22478 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
22479
a50569e1 224802009-11-01 Robert Millan <rmh.grub@aybabtu.com>
22481
22482 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
22483 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
22484 case.
22485
5b153867 224862009-11-01 Felix Zielcke <fzielcke@z-51.de>
22487
22488 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
22489
d9e2cd70 224902009-10-30 Robert Millan <rmh.grub@aybabtu.com>
22491
22492 Fix build problem.
22493
22494 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
22495 `-isystem=$(srcdir)/include'.
22496
805111a4 224972009-10-30 Robert Millan <rmh.grub@aybabtu.com>
22498
22499 * util/i386/pc/grub-install.in: Remove hint that device.map should be
22500 checked (grub-install doesn't currently rely on it).
22501
fa6e945f 225022009-10-29 Robert Millan <rmh.grub@aybabtu.com>
22503
22504 Revert SVN r2660.
22505
22506 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
22507 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
22508 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
22509 * conf/i386-ieee1275.rmk: Likewise.
22510 * conf/i386-pc.rmk: Likewise.
22511 * conf/powerpc-ieee1275.rmk: Likewise.
22512 * conf/sparc64-ieee1275.rmk: Likewise.
22513 * conf/x86_64-efi.rmk: Likewise.
22514
cee15086 225152009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22516
22517 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
22518
95b9239e 225192009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22520
22521 * include/grub/misc.h: Stop checking for APPLE_CC.
22522
2ed19dfd 225232009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22524
22525 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
22526 doesn't cause an infinite call loop.
22527
fdcdde19 225282009-10-28 Felix Zielcke <fzielcke@z-51.de>
22529
22530 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
22531 strings.
22532
cefabfe1 225332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22534
22535 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
22536 variable.
22537 * Makefile.in: Likewise.
22538
ed96ab6d 225392009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22540
22541 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
22542
0579b753 225432009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22544
22545 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
22546
478df409 225472009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22548
22549 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
22550
083d1679 225512009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22552
22553 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
22554 from here ...
22555 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
22556
5947ae32 225572009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22558
22559 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
22560 in $(MAKEINFO) invocation. This makes it clear in output that
22561 errors are being ignored.
22562
94180ff6 225632009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22564
22565 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
22566 from here ...
22567 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
22568 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
22569 * conf/i386-ieee1275.rmk: Likewise.
22570 * conf/i386-pc.rmk: Likewise.
22571 * conf/powerpc-ieee1275.rmk: Likewise.
22572 * conf/sparc64-ieee1275.rmk: Likewise.
22573 * conf/x86_64-efi.rmk: Likewise.
22574
9031b03a 225752009-10-26 Colin Watson <cjwatson@ubuntu.com>
22576
22577 * util/grub-editenv.c (main): If only a command is given, use
22578 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
22579 (usage): FILENAME is now optional and has a default.
22580
e4f6809b 225812009-10-26 Colin Watson <cjwatson@ubuntu.com>
22582
22583 Improve grub-mkconfig performance when there are several menu
22584 entries on a single filesystem.
22585
22586 * util/grub.d/10_linux.in (linux_entry): Cache the output of
22587 prepare_grub_to_access_device.
22588 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
22589 * util/grub.d/30_os-prober.in: Likewise.
22590
67937d4d 225912009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22592
22593 * util/grub.d/10_freebsd.in: Remove.
22594 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
22595 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
22596
ee3756cc 225972009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22598
5c35048e 22599 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 22600
4dea1c6f 226012009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22602
22603 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
22604 grub_util_error() call.
22605
042484d7 226062009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22607
22608 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
22609 `reserved_first_sector' member.
22610 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
22611 `reserved_first_sector' to 1.
22612 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
22613 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
22614 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
22615 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
22616 filesystems which begin at first sector.
22617 (options): New option --skip-fs-probe.
22618 (main): Handle --skip-fs-probe and pass it to setup().
22619
d64448a7 226202009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22621
22622 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
22623 (memset): Fix function prototype.
22624
508d42ec 226252009-10-25 Robert Millan <rmh.grub@aybabtu.com>
226262009-10-25 Vasily Averin <vvs@parallels.com>
22627
22628 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
22629 `dirent.direntlen == 0'.
22630
b240e30c 226312009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22632
22633 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
22634 `cpio'.
22635 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
22636
346e7fbe 226372009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22638
22639 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
22640 `__trampoline_setup' and `__ucmpdi2'.
22641 * include/grub/powerpc/libgcc.h: Only export symbols for functions
22642 that libgcc provides.
22643
cdb308b0 226442009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22645
22646 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
22647 * include/grub/sparc64/libgcc.h (memset): Likewise.
22648 * include/grub/misc.h (memset, memcmp): New function prototypes.
22649
fb26abc2 226502009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22651
22652 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
22653 `cpio'.
22654 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
22655
f6693890 226562009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22657
22658 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
22659 * docs/grub.cfg: Compensate for recent change in multiboot
22660 loader (since 2009-08-14 it won't pass filename to payload).
22661 * util/grub.d/10_hurd.in: Likewise.
22662
0933cdc0 226632009-10-21 Felix Zielcke <fzielcke@z-51.de>
22664
22665 * config.guess: Update to latest version from config git
22666 repository.
22667 * config.sub: Likewise.
22668
3b2fe8c2 226692009-10-20 Robert Millan <rmh.grub@aybabtu.com>
22670
22671 Fix build on sparc64.
22672
22673 * configure.ac: Perform checks for libgcc symbols before
22674 adding `-nostdlib' to LDFLAGS.
22675
46695a62 226762009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22677
22678 Let user specify OpenBSD root device.
22679
22680 * loader/i386/bsd.c (openbsd_root): New variable.
22681 (openbsd_opts): New option 'root'.
22682 (OPENBSD_ROOT_ARG): New macro.
22683 (grub_openbsd_boot): Use 'openbsd_root'.
22684 (grub_cmd_openbsd): Fill 'openbsd_root'.
22685
d2b6b7fc 226862009-10-16 Robert Millan <rmh.grub@aybabtu.com>
22687
22688 * NEWS: Misc adjustments.
22689
421bd7ac 226902009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22691
22692 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
22693
f1d29d87 226942009-10-16 Robert Millan <rmh.grub@aybabtu.com>
22695
22696 * configure.ac: Bump version to 1.97.
22697
6f3cd880 226982009-10-16 Colin Watson <cjwatson@ubuntu.com>
22699
22700 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
22701 -mno-3dnow on x86 architectures. Some toolchains enable these
22702 features by default, but they rely on registers that aren't enabled
22703 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
22704
035f7122 227052009-10-15 Robert Millan <rmh.grub@aybabtu.com>
22706
22707 Make entry text a bit more readable.
22708
22709 * util/grub.d/10_linux.in: Add `with' before `Linux'.
22710
44998e58 227112009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22712
22713 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
22714
cd2851b3 227152009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22716
22717 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
22718 operations.
22719
c6f3b249 227202009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22721
22722 * configure.ac: Add missing dollar.
22723
6b5886ba 227242009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22725
22726 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
22727
22728 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
22729 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
22730 exports.
22731 * include/grub/sparc64/libgcc.h: Likewise. Use
22732 preprocessor conditionals.
22733
e9d66f6d 227342009-10-14 Robert Millan <rmh.grub@aybabtu.com>
22735
22736 * conf/common.rmk (grub-dumpbios): Remove rule.
22737 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
22738 * util/grub-dumpbios.in: Remove file.
22739
9155bc17 227402009-10-14 Robert Millan <rmh.grub@aybabtu.com>
22741
22742 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
22743 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
22744
22745 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
22746 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
22747 users.
22748
22749 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
22750 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
22751 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
22752 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
22753 users.
22754
bf7f7a18 227552009-10-12 Robert Millan <rmh.grub@aybabtu.com>
22756
22757 * term/tparm.c: Switch to GPLv3.
22758
86564c26 227592009-10-09 Robert Millan <rmh.grub@aybabtu.com>
22760
22761 * include/grub/i386/cpuid.h: Add header protection.
22762
5c936493 227632009-10-09 Robert Millan <rmh.grub@aybabtu.com>
22764
22765 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
22766
22767 * include/grub/i386/cpuid.h: New file.
22768 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
22769 (has_longmode): Rename to ...
22770 (grub_cpuid_has_longmode): ... this. Update all users. Remove
22771 `static' attribute.
22772 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
22773 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
22774 on a CPU that doesn't implement AMD64 instruction set.
22775
186e7cf2 227762009-10-06 Colin Watson <cjwatson@ubuntu.com>
22777
22778 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
22779 that version.texi is rebuilt on version number changes.
22780
83b65c4a 227812009-10-06 Colin Watson <cjwatson@ubuntu.com>
22782
22783 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
22784 Fixes bug #27602.
22785
d244281c 227862009-10-06 Colin Watson <cjwatson@ubuntu.com>
22787
22788 * util/i386/pc/grub-install.in: Source
22789 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
22790 that the --grub-probe option will work.
22791 * util/sparc64/ieee1275/grub-install.in: Likewise.
22792
da25306d 227932009-10-05 Robert Millan <rmh.grub@aybabtu.com>
22794
22795 * configure.ac: Bump version to 1.97~beta4.
22796
e8ee83c0 227972009-10-03 Robert Millan <rmh.grub@aybabtu.com>
22798
22799 Resync grub-mkdevicemap in x86_64-efi.
22800
22801 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
22802 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
22803 `util/devicemap.c'.
22804
50dcabcf 228052009-10-01 Colin Watson <cjwatson@ubuntu.com>
22806
22807 * util/grub-editenv.c (create_envblk_file): Write new block with a
22808 .new suffix and then rename it into place, to ensure atomic
22809 creation.
22810
0e51c3a7 228112009-09-28 Robert Millan <rmh.grub@aybabtu.com>
22812
22813 Do not automatically install headers.
22814
22815 * Makefile.in (include_DATA): Remove. Update all users.
22816
31299a95 228172009-09-26 Robert Millan <rmh.grub@aybabtu.com>
22818
22819 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
22820 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
22821
22822 * util/osdetect.lua: Remove.
22823 * script/lua/lauxlib.c: Likewise.
22824 * script/lua/ldebug.c: Likewise.
22825 * script/lua/grub_main.c: Likewise.
22826 * script/lua/lauxlib.h: Likewise.
22827 * script/lua/ldebug.h: Likewise.
22828 * script/lua/ltablib.c: Likewise.
22829 * script/lua/liolib.c: Likewise.
22830 * script/lua/lstrlib.c: Likewise.
22831 * script/lua/lualib.h: Likewise.
22832 * script/lua/ldo.c: Likewise.
22833 * script/lua/ldump.c: Likewise.
22834 * script/lua/ldo.h: Likewise.
22835 * script/lua/loslib.c: Likewise.
22836 * script/lua/lundump.c: Likewise.
22837 * script/lua/grub_lib.c: Likewise.
22838 * script/lua/ldblib.c: Likewise.
22839 * script/lua/lundump.h: Likewise.
22840 * script/lua/lmem.c: Likewise.
22841 * script/lua/grub_lib.h: Likewise.
22842 * script/lua/lmathlib.c: Likewise.
22843 * script/lua/lstate.c: Likewise.
22844 * script/lua/ltm.c: Likewise.
22845 * script/lua/lvm.c: Likewise.
22846 * script/lua/lmem.h: Likewise.
22847 * script/lua/lstate.h: Likewise.
22848 * script/lua/ltm.h: Likewise.
22849 * script/lua/ltable.c: Likewise.
22850 * script/lua/lvm.h: Likewise.
22851 * script/lua/llex.c: Likewise.
22852 * script/lua/lgc.c: Likewise.
22853 * script/lua/grub_lua.h: Likewise.
22854 * script/lua/loadlib.c: Likewise.
22855 * script/lua/lfunc.c: Likewise.
22856 * script/lua/lopcodes.c: Likewise.
22857 * script/lua/lparser.c: Likewise.
22858 * script/lua/ltable.h: Likewise.
22859 * script/lua/llex.h: Likewise.
22860 * script/lua/lgc.h: Likewise.
22861 * script/lua/lfunc.h: Likewise.
22862 * script/lua/lbaselib.c: Likewise.
22863 * script/lua/lopcodes.h: Likewise.
22864 * script/lua/lparser.h: Likewise.
22865 * script/lua/lzio.c: Likewise.
22866 * script/lua/linit.c: Likewise.
22867 * script/lua/lobject.c: Likewise.
22868 * script/lua/llimits.h: Likewise.
22869 * script/lua/lstring.c: Likewise.
22870 * script/lua/lzio.h: Likewise.
22871 * script/lua/lapi.c: Likewise.
22872 * script/lua/lcode.c: Likewise.
22873 * script/lua/lua.h: Likewise.
22874 * script/lua/lobject.h: Likewise.
22875 * script/lua/lstring.h: Likewise.
22876 * script/lua/lapi.h: Likewise.
22877 * script/lua/lcode.h: Likewise.
22878 * script/lua/luaconf.h: Likewise.
22879
cb8a2c38 228802009-09-26 Colin Watson <cjwatson@ubuntu.com>
22881
22882 * docs/grub.texi (Command-line and menu entry commands): Document
22883 date and echo commands.
22884
6b9b6276 228852009-09-24 Pavel Roskin <proski@gnu.org>
22886
22887 * include/grub/kernel.h (struct grub_module_header): Remove
22888 `grub_module_header_types'. Make `type' unsigned. Make `size'
22889 32-bit on all platforms.
22890 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
22891 8-bit field. Use grub_host_to_target32() for `size'.
22892 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
22893 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
22894 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
22895
4e5a02a7 228962009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22897
22898 Fix "lost keypress" bug in at_keyboard.
22899
22900 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
22901 Checks for readyness of input buffer (without flushing it).
22902 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
22903 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
22904
c6dcedf6 229052009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22906
22907 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
22908 size check within GRUB_MACHINE_PCBIOS section.
22909
74c958b1 229102009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22911
22912 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
22913 return value.
22914 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
22915 KEYBOARD_ISREADY check.
22916 (grub_at_keyboard_checkkey): Rename to ...
22917 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
22918 Remove gratuitous cast.
22919
ff420223 229202009-09-23 Colin Watson <cjwatson@ubuntu.com>
22921
22922 * configure.ac: Call AC_PROG_MKDIR_P.
22923 * Makefile.in (docs/stamp-vti): Create docs directory. Create
22924 version.texi in $(builddir) rather than $(srcdir).
22925 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
22926 to makeinfo's @include search path.
22927
d96875df 229282009-09-23 Felix Zielcke <fzielcke@z-51.de>
22929
22930 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
22931
9b3f8365 229322009-09-23 Felix Zielcke <fzielcke@z-51.de>
22933
22934 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
22935 for `*.dpkg-new'.
22936
c44c90db 229372009-09-21 Colin Watson <cjwatson@ubuntu.com>
22938
22939 Build info documentation. Some code borrowed from Automake.
22940
22941 * configure.ac: Check for makeinfo.
22942 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
22943 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
22944 docs/version.texi.
22945 (MOSTLYCLEANFILES): Add vti.tmp.
22946 (docs/version.texi, docs/stamp-vti): Update automatically.
22947 (docs/grub.info): Build info documentation. Use --force and ignore
22948 errors for now.
22949 (all-local): Add $(INFOS).
22950 (install-local): Install info files.
22951 (uninstall): Uninstall info files.
22952 * docs/version.texi: Remove from revision control. This file is
22953 automatically generated on build now.
22954 * gendistlist.sh: Add `*.info'.
22955
e0b37bb5 229562009-09-21 Felix Zielcke <fzielcke@z-51.de>
22957
22958 * kern/term.c: Fix indentation.
22959
5a78865b 229602009-09-21 Felix Zielcke <fzielcke@z-51.de>
22961
22962 * util/hostdisk.c: Fix a comment.
22963
dace7e8a 229642009-09-20 Robert Millan <rmh.grub@aybabtu.com>
22965
22966 Fix regression introduced in r2539.
22967
22968 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
22969 to 0xA1.
22970
a83d079b 229712009-09-19 Colin Watson <cjwatson@ubuntu.com>
22972
22973 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 22974 os-prober. Under normal operation, it does not print anything to
22975 stderr; if it does, we need to debug it, and throwing away stderr
22976 makes that excessively difficult.
a83d079b 22977
be94a509 229782009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
22979
22980 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
22981
63f745e8 229822009-09-16 Robert Millan <rmh.grub@aybabtu.com>
22983
22984 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
22985 AC_LANG_PROGRAM from autoconf.
22986 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
22987 prototypes (fixes warning).
22988
22989 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
22990 `--disable-werror' was used.
22991
bbb2a70f 229922009-09-16 Robert Millan <rmh.grub@aybabtu.com>
22993
22994 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
22995 uninitialized `lastaddr'.
22996
77c24f1d 229972009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22998
0f0b8c87 22999 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 23000
07197f23 230012009-09-14 Colin Watson <cjwatson@ubuntu.com>
23002
23003 * commands/test.c (get_fileinfo): Return immediately if
23004 grub_fs_probe fails.
23005
dabf1798 230062009-09-14 José Martínez <xosemp@gmail.com>
23007
23008 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
23009
d52109a7 230102009-09-14 Colin Watson <cjwatson@ubuntu.com>
23011
23012 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
23013 output.
23014
56532179 230152009-09-13 Robert Millan <rmh.grub@aybabtu.com>
23016
23017 * configure.ac: Remove --enable-grub-pe2elf. Only build
23018 grub-pe2elf when needed by the build system itself.
23019 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
23020
8ef070f5 230212009-09-12 Robert Millan <rmh.grub@aybabtu.com>
23022
23023 * configure.ac: Bump version to 1.97~beta3.
23024 * docs/version.texi: Likewise.
23025
61229557 230262009-09-12 Robert Millan <rmh.grub@aybabtu.com>
23027
23028 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
23029 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
23030 from here ...
23031 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
23032 (grub_linux_setup_video): ... to here (with some adjustments).
23033
5c9f8d84 230342009-09-12 Robert Millan <rmh.grub@aybabtu.com>
23035
23036 Fix memory corruption issue (spotted by Colin Watson).
23037
23038 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
23039 causing returned size to be stored in an incorrect memory location.
23040 Fix use of uninitialized value when storing the returned size.
23041
e8f5d6e9 230422009-09-12 Yves Blusseau <blusseau@zetam.org>
23043
23044 Change clean rules to properly remove files
23045
23046 * genmk.rb: add new clean rules
23047 * Makefile.in (clean): add the new targets
23048 (mostlyclean): likewise
23049
cda2a409 230502009-09-11 Colin Watson <cjwatson@ubuntu.com>
23051
23052 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
23053 to grub_uint64_t.
23054 * fs/ntfs.c (init_file): Understand 64-bit sizes for
23055 non-resident files.
23056
86695375 230572009-09-11 Colin Watson <cjwatson@ubuntu.com>
23058
23059 * configure.ac: Don't look for help2man when cross-compiling. Fixes
23060 part of bug #27349.
23061
8aa1541a 230622009-09-10 Felix Zielcke <fzielcke@z-51.de>
23063
23064 * util/grub-mkconfig.in: Make the created config mode 400 and
23065 print a warning if it fails.
23066
48d9bb0a 230672009-09-10 Robert Millan <rmh.grub@aybabtu.com>
23068
23069 * util/grub.d/40_custom.in: Ask user to type custom entries below
23070 comment, rather than below 'exec tail' line.
23071
3b0521be 230722009-09-10 Colin Watson <cjwatson@ubuntu.com>
23073
23074 * util/grub.d/40_custom.in: Make sure that the explanatory text is
23075 visible in grub.cfg.
23076
50051d55 230772009-09-10 Colin Watson <cjwatson@ubuntu.com>
23078
23079 * util/grub.d/40_custom.in: Make it a little clearer how to use this
23080 file.
23081
c0d34387 230822009-09-10 Felix Zielcke <fzielcke@z-51.de>
23083
23084 * docs/grub.cfg: Add an example menu entry for memtest86+.
23085
80a608f3 230862009-09-09 Felix Zielcke <fzielcke@z-51.de>
23087
a2094832 23088 * config.guess: Update to latest version from config git.
80a608f3 23089 * config.sub: Likewise.
23090
99423078 230912009-09-08 Colin Watson <cjwatson@ubuntu.com>
23092
23093 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
23094 unknown-command case. Fixes bug #27320.
23095
44454e4c 230962009-09-08 Felix Zielcke <fzielcke@z-51.de>
23097
23098 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
23099 `help' if the command exists.
23100
e30d87ad 231012009-09-06 Robert Millan <rmh.grub@aybabtu.com>
23102
23103 * INSTALL: Require GCC 4.1.3 or later.
23104
9a86f1ec 231052009-09-06 Yves Blusseau <blusseau@zetam.org>
23106
23107 * Makefile.in (RMKFILES): add i386-qemu.rmk
23108 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
23109 $(srcdir)/stamp-h.in
23110
7f26d466 231112009-09-05 Robert Millan <rmh.grub@aybabtu.com>
23112
23113 * util/grub-probe.c (probe): Comment out buggy codepath, which
23114 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
23115 should be re-enabled after 1.97.
23116
3a613259 231172009-09-05 Felix Zielcke <fzielcke@z-51.de>
23118
23119 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
23120 find searches for.
23121
197f76c7 231222009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
23123
23124 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
23125 unnecessary calls to grub_error.
23126
70ba68ce 231272009-09-04 Colin Watson <cjwatson@ubuntu.com>
23128
23129 * NEWS: Mention `keystatus' and Unicode fonts.
23130
4ff0d7a4 231312009-09-04 Robert Millan <rmh.grub@aybabtu.com>
23132
23133 * configure.ac: Bump version to 1.97~beta2.
23134 * docs/version.texi: Likewise.
23135
77c55a87 231362009-09-03 Colin Watson <cjwatson@ubuntu.com>
23137
23138 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
23139 containing unwind information in some cases where it previously did
23140 not. Use -fno-dwarf2-cfi-asm if available to restore the old
23141 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
23142 discussion.
23143
f79572cd 231442009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
23145
23146 Embedding loadenv module into grub-emu
23147
23148 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
23149 commands/loadenv.c
23150 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
23151 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
23152 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
23153 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
23154 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
23155 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
23156
93a81088 231572009-09-03 Magnus Granberg <zorry@ume.nu>
23158
23159 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
23160 include -fPIE in the default specs.
23161 * configure.ac: Check if pie_possible is yes and add -fno-PIE
23162 to TARGET_CFLAGS.
23163
160034b2 231642009-09-03 Felix Zielcke <fzielcke@z-51.de>
23165
23166 * INSTALL: Note that GNU Bison 2.3 or later is required.
23167
087c07c4 231682009-09-03 Colin Watson <cjwatson@ubuntu.com>
23169
23170 * kern/i386/pc/startup.S: Fix typo.
23171
cbf978c0 231722009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23173
23174 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
23175 according to GCS.
23176
231772009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 23178
23179 * docs/grub.texi (Naming convention): Describe one-based partition
23180 numbering.
23181 (Device syntax): Likewise.
23182 (File name syntax): Likewise.
23183 (Block list syntax): Likewise.
23184 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
23185 menu.lst.
23186 (File name syntax): Likewise.
23187 (Command-line and menu entry commands): Document acpi, blocklist,
23188 crc, export, insmod, keystatus, ls, set, and unset commands.
23189
f3e8cdfd 231902009-09-02 Colin Watson <cjwatson@ubuntu.com>
23191
23192 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
23193 to avoid implying that only one of --shift, --ctrl, or --alt may be
23194 used.
23195
c0bc232b 231962009-09-02 Colin Watson <cjwatson@ubuntu.com>
23197
23198 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
23199 rather than comparing against S_IFREG, which will almost never work.
23200
aa0f752d 232012009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
23202
23203 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
23204 (write_blocklists): Likewise.
23205
ecb3166a 232062009-09-01 Colin Watson <cjwatson@ubuntu.com>
23207
23208 * script/lua/grub_lua.h (fputs): Supply a format string as the first
23209 argument to grub_printf.
23210
c403a125 232112009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 23212
23213 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 23214 non GNU test.
31aba781 23215
b5e7312c 232162009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23217
23218 * kern/file.c (grub_file_read): Spelling fix
23219
fe00f472 232202009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23221
23222 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
23223 loading of headers in some cases.
23224
cc55302e 232252009-08-30 Robert Millan <rmh.grub@aybabtu.com>
23226
23227 * configure.ac: Bump version to 1.97~beta1.
23228 * docs/version.texi: Likewise.
23229
5c90cdd2 232302009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 23231
23232 * include/grub/i386/xnu.h: Add license header.
23233 include grub/err.h explicitly.
23234
c90edae4 232352009-08-29 Robert Millan <rmh.grub@aybabtu.com>
23236
23237 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
23238 to `ufs' in the vfs.root.mountfrom kernel parameter.
23239
d8888b5c 232402009-08-29 Robert Millan <rmh.grub@aybabtu.com>
23241
23242 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
23243
23244 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
23245 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
23246
23247 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
23248 `ARRAY_SIZE' macro.
23249
6f07b921 232502009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23251
23252 * kern/file.c (grub_file_read): Check offset.
23253 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
23254 * fs/jfs.c (grub_jfs_read_file): Likewise.
23255 * fs/ntfs.c (grub_ntfs_read): Likewise.
23256 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
23257 * fs/minix.c (grub_minix_read_file): Correct offset check.
23258 * fs/ufs.c (grub_ufs_read_file): Likewise.
23259
b4f34077 232602009-08-28 Colin Watson <cjwatson@ubuntu.com>
23261
23262 * term/i386/pc/console.c (bios_data_area): Cast
23263 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
23264
e7c69859 232652009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23266
23267 1-bit optimised blitters.
23268
23269 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
23270 prototype.
23271 (grub_video_fbblit_replace_24bit_1bit): Likewise.
23272 (grub_video_fbblit_replace_16bit_1bit): Likewise.
23273 (grub_video_fbblit_replace_8bit_1bit): Likewise.
23274 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
23275 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
23276 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
23277 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
23278 function.
23279 (grub_video_fbblit_replace_24bit_1bit): Likewise.
23280 (grub_video_fbblit_replace_16bit_1bit): Likewise.
23281 (grub_video_fbblit_replace_8bit_1bit): Likewise.
23282 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
23283 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
23284 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
23285 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
23286 when possible.
23287 * video/video.c (grub_video_get_blit_format): Return
23288 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
23289
a57da43f 232902009-08-28 Colin Watson <cjwatson@ubuntu.com>
23291
23292 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
23293 the first argument to grub_printf.
23294
4cbe67e5 232952009-08-28 Colin Watson <cjwatson@ubuntu.com>
232962009-08-28 Robert Millan <rmh.grub@aybabtu.com>
23297
23298 Add `getkeystatus' terminal method. Add a new `keystatus' command
23299 to query it.
23300
23301 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
23302 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
23303 modifier key bitmasks.
23304 (struct grub_term_input): Add `getkeystatus' member.
23305 (grub_getkeystatus): Add prototype.
23306 * kern/term.c (grub_getkeystatus): New function.
23307
23308 * include/grub/i386/pc/memory.h
23309 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
23310 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
23311 Data Area layout.
23312 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
23313 (grub_console_term_input): Set `getkeystatus' member.
23314 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
23315 constants.
23316 (grub_usb_keyboard_getreport): Likewise.
23317 (grub_usb_keyboard_checkkey): Likewise.
23318 (grub_usb_keyboard_getkeystatus): New function.
23319 (grub_usb_keyboard_term): Set `getkeystatus' member.
23320
23321 * commands/keystatus.c: New file.
23322 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
23323 (keystatus_mod_SOURCES): New variable.
23324 (keystatus_mod_CFLAGS): Likewise.
23325 (keystatus_mod_LDFLAGS): Likewise.
23326 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
23327 commands/keystatus.c.
23328 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23329 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23330 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23331 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23332 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23333 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 23334
6e2a9085 233352009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23336
23337 Split befs.mod and afs.mod into *_be.mod and *.mod
23338
23339 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
23340 (grub_fstest_SOURCES): Likewise.
23341 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
23342 (afs_be_mod_SOURCES): New variable.
23343 (afs_be_mod_CFLAGS): Likewise.
23344 (afs_be_mod_LDFLAGS): Likewise.
23345 (befs_be_mod_SOURCES): Likewise.
23346 (befs_be_mod_CFLAGS): Likewise.
23347 (befs_be_mod_LDFLAGS): Likewise.
23348 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
23349 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23350 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23351 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23352 (grub_emu_SOURCES): Likewise.
23353 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23354 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23355 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23356 * fs/afs_be.c: New file.
23357 * fs/befs_be.c: New file.
23358 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
23359 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
23360 (U16): Replaced with ...
23361 (grub_afs_to_cpu16): ...this. All users updated.
23362 (U32): Replaced with ...
23363 (grub_afs_to_cpu32): ...this. All users updated.
23364 (U64): Replaced with ...
23365 (grub_afs_to_cpu64): ...this. All users updated.
23366 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
23367 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 23368 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 23369 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
23370 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
23371 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
23372 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
23373 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
23374 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
23375 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
23376 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
23377
32a71655 233782009-08-26 Bean <bean123ch@gmail.com>
23379
23380 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
23381 64-bit number.
23382 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
23383 (grub_xfs_inode_block): Change return type to grub_uint64_t.
23384 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
23385
552bf6c5 233862009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23387
23388 NetBSD memory map support.
23389
23390 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
23391 (grub_netbsd_btinfo_mmap_header): New structure.
23392 (grub_netbsd_btinfo_mmap_entry): Likewise.
23393 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
23394
1ae2078c 233952009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23396
23397 Enable bsd.mod on coreboot.
23398
23399 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
23400 (bsd_mod_SOURCES): New variable.
23401 (bsd_mod_CFLAGS): Likewise.
23402 (bsd_mod_LDFLAGS): Likewise.
23403 (bsd_mod_ASFLAGS): Likewise.
23404 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
23405 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
23406
beefc598 234072009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23408
23409 Cleanup NetBSD root support.
23410
23411 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
23412 grub_bsd_get_device.
23413 Fix typo.
23414
3b76e68b 234152009-08-25 Felix Zielcke <fzielcke@z-51.de>
23416
23417 * util/grub.d/00_header.in: Move check for the video backend of
23418 gfxterm from here ...
23419 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
23420 a suitable video backend.
23421
aea664ea 234222009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23423
23424 Fix breakage in grub-setup.
23425
23426 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
23427 "msdos_partition_map".
23428
ff747d50 234292009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23430
23431 Fix breakage in normal/auth.c.
23432
23433 * normal/auth.c (grub_iswordseparator): New function.
23434
e7e1f93f 234352009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23436
23437 Authentication support.
23438
23439 * commands/password.c: New file.
23440 * conf/common.rmk (pkglib_MODULES): Add password.mod.
23441 (password_mod_SOURCES): New variable.
23442 (password_mod_CFLAGS): Likewise.
23443 (password_mod_LDFLAGS): Likewise.
23444 (normal_mod_SOURCES): Add normal/auth.c.
23445 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
23446 normal/auth.c.
23447 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23448 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23449 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23450 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23451 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23452 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23453 * include/grub/auth.h: New file.
23454 * include/grub/err.h (grub_err_t): New enum value
23455 GRUB_ERR_ACCESS_DENIED.
23456 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
23457 'users'.
23458 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
23459 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
23460 users updated.
23461 * normal/auth.c: New file.
23462 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
23463 (grub_cmdline_run): Don't allow to go to command line without
23464 authentication.
23465 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
23466 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
23467 menuentry without superuser rights.
23468 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
23469 user isn't a superuser.
23470
70f1161d 234712009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23472
23473 Save space by inlining misc.c functions.
23474
23475 * kern/misc.c (grub_iswordseparator): Made static.
23476 * kern/misc.c (grub_strcat): Moved from here ...
23477 * include/grub/misc.h (grub_strcat): ... here. Inlined.
23478 * kern/misc.c (grub_strncat): Moved from here ...
23479 * include/grub/misc.h (grub_strncat): ... here. Inlined.
23480 * kern/misc.c (grub_strcasecmp): Moved from here ...
23481 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
23482 * kern/misc.c (grub_strncasecmp): Moved from here ...
23483 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
23484 * kern/misc.c (grub_isalpha): Moved from here ...
23485 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
23486 * kern/misc.c (grub_isdigit): Moved from here ...
23487 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
23488 * kern/misc.c (grub_isgraph): Moved from here ...
23489 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
23490 * kern/misc.c (grub_tolower): Moved from here ...
23491 * include/grub/misc.h (grub_tolower): ... here. Inlined.
23492
48e40bff 234932009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23494
23495 * script/sh/function.c (grub_script_function_find): Cut error message
23496 not to flood terminal.
23497 * script/sh/lexer.c (grub_script_yylex): Remove command line length
23498 limit.
23499 * script/sh/script.c (grub_script_arg_add): Duplicate string.
23500
c385bfc3 235012009-08-24 Colin Watson <cjwatson@ubuntu.com>
23502
23503 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
23504 `report' grub_uint8_t *.
23505 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
23506 Use a 50-millisecond timeout rather than just repeating
23507 grub_usb_keyboard_getreport 50 times.
23508 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
23509
2d21e3e8 235102009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23511
23512 Rename *_partition_map to part_*
23513
23514 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
23515 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
23516 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
23517 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
23518 All users updated.
23519 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
23520 All users updated.
23521 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
23522 * util/grub-probe.c (probe_partmap): Don't transform partition name
23523 to get module name.
23524
dd103c4e 235252009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23526
23527 Fix OpenBSD and NetBSD support.
23528
23529 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
23530 memory address conflict.
23531 (OPENBSD_MMAP_ACPI): New definition.
23532 (OPENBSD_MMAP_NVS): Likewise.
23533 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
23534 and OPENBSD_MMAP_NVS.
23535 Add memory map terminator
23536 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 23537 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 23538
16c84d74 235392009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23540
23541 Let user specify NetBSD root device.
23542
23543 * loader/i386/bsd.c (netbsd_root): New variable.
23544 (netbsd_opts): New option 'root'.
23545 (NETBSD_ROOT_ARG): New macro.
23546 (grub_netbsd_boot): Use 'netbsd_root'.
23547 (grub_bsd_unload): Free 'netbsd_root'.
23548 (grub_cmd_netbsd): Fill 'netbsd_root'.
23549
adb29902 235502009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23551
23552 Support for 64-bit NetBSD.
23553
23554 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
23555 point when booting non-FreeBSD.
23556
f5ae9f74 235572009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23558
23559 Support --no-smp and --no-acpi for NetBSD.
23560
23561 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
23562 (NETBSD_AB_NOACPI): Likewise.
23563 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
23564 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
23565
de74f136 235662009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23567
23568 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
23569 errors.
23570 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
23571 errors. Call grub_error when needed.
23572
e9a925da 235732009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23574
23575 * commands/search.c (search_fs): Try searching without autoload first.
23576 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
23577 filesystem module explicitly for faster booting.
23578
5174302b 235792009-08-23 Colin Watson <cjwatson@ubuntu.com>
23580
23581 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
23582
c8c80635 235832009-08-23 Colin Watson <cjwatson@ubuntu.com>
23584
23585 * util/grub.d/30_os-prober.in: Disable os-prober if
23586 `GRUB_DISABLE_OS_PROBER' was set to true.
23587
71acf5e5 235882009-08-23 Robert Millan <rmh.grub@aybabtu.com>
23589
23590 * partmap/pc.c: Rename to ...
23591 * partmap/msdos.c: ... this. Update all users.
23592 (grub_pc_partition_map): Rename to ...
23593 (grub_msdos_partition_map): ... this. Update all users.
23594
23595 * parttool/pcpart.c: Rename to ...
23596 * parttool/msdospart.c: ... this. Update all users.
23597
23598 * include/grub/pc_partition.h: Rename to ...
23599 * include/grub/msdos_partition.h: ... this. Update all users.
23600 (grub_pc_partition_bsd_entry): Rename to ...
23601 (grub_msdos_partition_bsd_entry): ... this. Update all users.
23602 (grub_pc_partition_disk_label): Rename to ...
23603 (grub_msdos_partition_disk_label): ... this. Update all users.
23604 (grub_pc_partition_entry): Rename to ...
23605 (grub_msdos_partition_entry): ... this. Update all users.
23606 (grub_pc_partition_mbr): Rename to ...
23607 (grub_msdos_partition_mbr): ... this. Update all users.
23608 (grub_pc_partition): Rename to ...
23609 (grub_msdos_partition): ... this. Update all users.
23610 (grub_pc_partition_is_empty): Rename to ...
23611 (grub_msdos_partition_is_empty): ... this. Update all users.
23612 (grub_pc_partition_is_extended): Rename to ...
23613 (grub_msdos_partition_is_extended): ... this. Update all users.
23614 (grub_pc_partition_is_bsd): Rename to ...
23615 (grub_msdos_partition_is_bsd): ... this. Update all users.
23616
23617 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
23618 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
23619 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
23620 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
23621 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
23622 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
23623 (gpt_mod_LDFLAGS): Rename to ...
23624 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
23625 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
23626 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
23627 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
23628 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
23629 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
23630 (part_gpt_mod_LDFLAGS): ... this.
23631 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
23632 `pcpart.mod' to `msdospart.mod'.
23633 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
23634 to ...
23635 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
23636 (msdospart_mod_LDFLAGS): ... this.
23637
c11fded5 236382009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23639
23640 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
23641 (openbsd_opts): Likewise.
23642 (netbsd_opts): Likewise.
23643 (freebsd_flags): Added 0 terminator.
23644 (openbsd_flags): Likewise.
23645 (netbsd_flags): Likewise.
23646 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
23647 (grub_cmd_freebsd): Transformed into extended command.
23648 (grub_cmd_openbsd): Likewise.
23649 (grub_cmd_netbsd): Likewise.
23650 (cmd_freebsd): Changed type to grub_extcmd_t.
23651 (cmd_openbsd): Likewise.
23652 (cmd_netbsd): Likewise.
23653 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
23654 grub_cmd_openbsd as extended commands.
23655 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
23656 cmd_netbsd and cmd_openbsd
23657
11d1c769 236582009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23659
23660 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
23661
7a9094e5 236622009-08-21 Pavel Roskin <proski@gnu.org>
23663
5496c37e 23664 * Makefile.in (install-local): When checking if a file is in the
23665 build directory, use "test -e" to detect symlinks.
23666
7a9094e5 23667 * Makefile.in (install-local): Remove all files in
23668 $(DESTDIR)$(pkglibdir) before installing new files there.
23669
e53cea11 236702009-08-18 Felix Zielcke <fzielcke@z-51.de>
23671
23672 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
23673 grub-mkelfimage.
23674
9aced544 236752009-08-18 Felix Zielcke <fzielcke@z-51.de>
23676
23677 * util/grub-mkconfig.in: Don't use gfxterm by default if not
23678 explicitly specified by the user.
23679
b7da6bab 236802009-08-18 Pavel Roskin <proski@gnu.org>
23681
23682 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
23683 grub_uint8_t pointer for data.
23684 * include/grub/fbutil.h (struct grub_video_fbblit_info):
23685 Likewise.
23686 * video/fb/fbutil.c: Remove unnecessary casts.
23687
19f1b335 236882009-08-17 Michal Suchanek <hramrach@centrum.cz>
23689
23690 VBE cleanup.
23691
23692 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
23693 (grub_vbe_set_video_mode): Save active mode info
23694 only after setting the mode.
23695 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
23696 second argument.
23697
2f467aa9 236982009-08-17 Michal Suchanek <hramrach@centrum.cz>
23699
23700 Rename variables for clarity.
23701
23702 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
23703 (active_vbe_mode_info): ... this. All users updated.
23704 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
23705 All users updated.
23706 (initial_mode): Rename to ...
23707 (initial_vbe_mode): ... this. All users updated.
23708 (mode_in_use): Rename to ..
23709 (vbe_mode_in_use): ... this. All users updated.
23710 (mode_list): Rename to ..
23711 (vbe_mode_list): ... this. All users updated.
23712 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
23713 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
23714 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
23715 'mode_list_size' to 'vbe_mode_list_size'.
23716 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
23717 'best_mode_info' to 'best_vbe_mode_info' and
23718 'best_mode' to 'best_vbe_mode'
23719
6025fcd7 237202009-08-17 Michal Suchanek <hramrach@centrum.cz>
23721
23722 Remove duplicate grub_video_fb_get_video_ptr.
23723
23724 * include/grub/fbutil.h (get_data_ptr): Rename to ...
23725 (grub_video_fb_get_video_ptr): ... this.
23726 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
23727 * video/fb/fbutil.c: Add comment about addressing.
23728 (get_data_ptr): Rename to ...
23729 (grub_video_fb_get_video_ptr): ... this. All users updated.
23730 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
23731
cc8c6faf 237322009-08-17 Robert Millan <rmh.grub@aybabtu.com>
23733
23734 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
23735 grub_dprintf() that was just added.
23736
08aa61f0 237372009-08-17 Robert Millan <rmh.grub@aybabtu.com>
23738
23739 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
23740 (DEFAULT_VIDEO_MODE): Remove macros.
23741 (grub_linux_boot): Remove assumption that Linux has FB support,
23742 and use "text" as default video mode.
23743
7cef4f75 237442009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
23745
23746 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
23747 grub_dprintf.
23748 * fs/fat.c (grub_fat_read_data): Likewise.
23749
e1f39873 237502009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23751
23752 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
23753 payload.
23754 (grub_module): Likewise.
23755
c166d79e 237562009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23757
23758 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
23759 mbi->cmdline but free playground.
23760
c60cee8e 237612009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23762
23763 Handle group offset on UFS1.
23764
23765 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
23766 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
23767
c0d8b5d4 237682009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23769
23770 Split ufs.mod into ufs1.mod and ufs2.mod.
23771
23772 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
23773 (grub_fstest_SOURCES): Likewise.
23774 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
23775 (ufs_mod_SOURCES): Remove.
23776 (ufs_mod_CFLAGS): Likewise.
23777 (ufs_mod_LDFLAGS): Likewise.
23778 (ufs1_mod_SOURCES): New variable.
23779 (ufs1_mod_CFLAGS): Likewise.
23780 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 23781 (ufs2_mod_SOURCES): New variable.
23782 (ufs2_mod_CFLAGS): Likewise.
23783 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 23784 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
23785 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
23786 Likewise.
23787 (grub_emu_SOURCES): Likewise.
23788 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23789 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23790 (grub_setup_SOURCES): Likewise.
23791 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23792 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
23793 (grub_setup_SOURCES): Likewise.
23794 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
23795 Likewise.
23796 * fs/ufs2.c: New file.
23797 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
23798
d3539132 237992009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23800
23801 Framebuffer split.
23802
23803 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
23804 subsystem at the end.
23805 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
23806 (video_fb_mod_SOURCES): New variable.
23807 (video_fb_mod_CFLAGS): Likewise.
23808 (video_fb_mod_LDFLAGS): Likewise.
23809 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
23810 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
23811 * video/i386/pc/vbeblit.c: Moved from here ...
23812 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
23813 * video/i386/pc/vbefill.c: Moved from here ...
23814 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
23815 * video/i386/pc/vbeutil.c: Moved from here ...
23816 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
23817 * include/grub/i386/pc/vbeblit.h: Moved from here ...
23818 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
23819 * include/grub/i386/pc/vbefill.h: Moved from here ...
23820 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
23821 * include/grub/i386/pc/vbeutil.h: Moved from here ...
23822 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
23823 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
23824 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
23825 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
23826 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
23827 (grub_video_adapter): Added 'get_info_and_fini'.
23828 (grub_video_get_info_and_fini): New prototype.
23829 (grub_video_set_mode): make modestring const char *.
23830 * loader/i386/linux.c (grub_linux_setup_video): Use
23831 grub_video_get_info_and_fini.
23832 (grub_linux_boot): Move modesetting just before booting.
23833 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
23834 grub_video_get_info_and_fini.
23835 * video/i386/pc/vbe.c: Moved framebuffer part ...
23836 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
23837 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
23838 grub_video_fbstd_colors and grub_video_fb_set_palette.
23839 (grub_video_vbe_init): Clear 'framebuffer' variable and use
23840 grub_video_fb_init.
23841 (grub_video_vbe_fini): Use grub_video_fb_fini.
23842 (grub_video_vbe_setup): Use framebuffer.render_target instead of
23843 render_target and use grub_video_fb_set_active_render_target and
23844 grub_video_fb_set_palette.
23845 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
23846 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
23847 (grub_video_vbe_adapter): Use framebuffer.
23848 * video/video.c (grub_video_get_info_and_fini): New function.
23849 (grub_video_set_mode): Make modestring const char *.
23850 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
23851 values are already initialised.
23852
d404ee56 238532009-08-14 Pavel Roskin <proski@gnu.org>
23854
23855 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
23856 ABS and APPLE_CC.
23857 * boot/i386/pc/diskboot.S: Likewise.
23858 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
23859 sectors allow compilation on MacOSX.
23860 * conf/i386-pc.rmk: Enable unconditional compilation of
23861 lnxboot.img.
23862
9a10df16 238632009-08-13 Colin Watson <cjwatson@ubuntu.com>
23864
23865 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
23866 * util/grub.d/00_header.in: Enter interruptible sleep if
23867 GRUB_HIDDEN_TIMEOUT is set.
23868
be3c9ca7 238692009-08-13 Yves Blusseau <blusseau@zetam.org>
23870
23871 * include/grub/symbol.h: Add the LOCAL macro.
23872 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
23873 starting with "L_".
23874
1f9e557e 238752009-08-13 Pavel Roskin <proski@gnu.org>
23876
9ca62843 23877 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
23878 any modern compilers we support.
23879
1f9e557e 23880 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
23881 Use local labels starting with "L_" so that Apple assembler
23882 knows they are local.
23883
81623db6 238842009-08-10 Robert Millan <rmh.grub@aybabtu.com>
23885
23886 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
23887 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
23888 (bsd_kernel_types): ... this enum.
23889
23890 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
23891 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
23892 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
23893
23894 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
23895 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
23896 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
23897 messages.
23898
f5d35e7a 238992009-08-08 Robert Millan <rmh.grub@aybabtu.com>
23900
23901 * util/grub-dumpdevtree: Moved from here ...
23902 * util/i386/efi/grub-dumpdevtree: ... to here.
23903 (hexify): New function. Converts a string to its hex version.
23904 Generate hex versions of "efi" and "device-properties" by calling
23905 hexify() on the ASCII strings rather than by hardcoding numbers.
23906
d1e1d527 239072009-08-08 Robert Millan <rmh.grub@aybabtu.com>
23908
23909 * fs/jfs.c: Update copyright year.
23910
1ebbe064 239112009-08-08 Felix Zielcke <fzielcke@z-51.de>
23912
23913 * util/grub.d/00_header.in: Fix a comment.
23914 * util/grub.d/10_linux.in: Likewise.
23915 * util/grub.d/10_windows.in: Likewise.
23916 * util/grub.d/10_hurd.in: Likewise.
23917
a78c8d24 239182009-08-08 Felix Zielcke <fzielcke@z-51.de>
23919
23920 * util/grub-mkconfig.in: Allow the user to specify the used font
23921 with GRUB_FONT.
23922
29a6b9e8 239232009-08-08 Pavel Roskin <proski@gnu.org>
23924
b5f16cc4 23925 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
23926 available, xfs.mod needs it now.
23927
2f5cb827 23928 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
23929 the "g" modifier in sed when the intention is to strip something
23930 once. This fixes comparison of kernels with multiple dashes.
23931
29a6b9e8 23932 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
23933 on it. Add missing space before closing bracket. Fix
23934 misleading formatting.
23935
892a3d98 239362009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23937
23938 * docs/grub.texi: Major overhaul. Remove all sections that are
23939 specific to GRUB Legacy, or mostly composed of Legacy-specific
23940 information.
23941
ed94253f 239422009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23943
23944 * docs/version.texi: New file. Provides version information for
23945 grub.texi.
23946
126d6628 239472009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23948
23949 * docs/grub.texi: Update CVS information to SVN.
23950 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
23951
998b5aa9 239522009-08-07 Felix Zielcke <fzielcke@z-51.de>
23953
23954 * util/grub-mkconfig.in: Remove a wrong `fi'.
23955
818e094a 239562009-08-07 Felix Zielcke <fzielcke@z-51.de>
23957
23958 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
23959 (grub_jfs_uuid): New function.
23960 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
23961
b969c52f 239622009-08-07 Felix Zielcke <fzielcke@z-51.de>
23963
23964 * util/grub-mkconfig_lib.in (font_path): Move the functionality
23965 of it to ...
23966 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
23967 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
23968
7a4894cc 239692009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23970
23971 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
23972 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
23973 Update all users.
23974
23975 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
23976 not just "vmlinu[zx]".
23977 Moved from here ...
23978 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
23979 all users.
23980
23981 * util/grub.d/10_linux.in (find_latest): Moved from here ...
23982 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
23983 all users.
23984
4e2171f8 239852009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23986
23987 * util/grub.d/10_freebsd.in: Use an absolute device path for
23988 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
23989
6dcfcb32 239902009-08-06 Felix Zielcke <fzielcke@z-51.de>
23991
23992 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
23993 handling of multiple abstraction modules.
23994
f56a8756 239952009-08-04 Robert Millan <rmh.grub@aybabtu.com>
23996
23997 Fix a bug resulting in black screen when loading Linux using a
23998 packed video mode.
23999
24000 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
24001 function.
24002
24003 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
24004 (grub_vbe_bios_getset_dac_palette_width): New function.
24005 (grub_vbe_bios_get_dac_palette_width)
24006 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
24007 grub_vbe_bios_getset_dac_palette_width()).
24008
24009 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
24010 check for return status.
24011 (grub_vbe_get_video_mode_info): When getting information for a packed
24012 mode (<= 8 bpp), obtain DAC palette width using
24013 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
24014 {red,green,blue}_mark_size.
24015
222671b2 240162009-08-04 Felix Zielcke <fzielcke@z-51.de>
24017
ecb1a6d9 24018 * commands/search.c (options): Fix help output to match actual code.
222671b2 24019
f84114f5 240202009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
24021
24022 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
24023 of homegrown code.
24024
bd288a20 240252009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 24026
24027 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
24028 on XFS or ReiserFS.
24029
8aab5e25 240302009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24031
24032 Support Apple partition map with sector size different from 512 bytes.
24033
24034 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
24035 (apple_partition_map_iterate): Respect 'aheader.blocksize'
24036 and 'apart.partmap_size'.
24037
6ad6258a 240382009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
240392009-08-01 Robert Millan <rmh.grub@aybabtu.com>
24040
24041 Fix cpuid command.
24042
24043 * commands/i386/cpuid.c (options): New variable.
24044 (grub_cmd_cpuid): Return real error.
24045 (GRUB_MOD_INIT(cpuid)): Declare options.
24046
67459bc6 240472009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
24048
24049 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
24050 valid.
24051
fbc6ab54 240522009-07-31 Bean <bean123ch@gmail.com>
24053
24054 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
24055 log2_inode.
24056 (grub_fshelp_node): Move inode field to the end.
24057 (grub_xfs_data): Remove inode field.
24058 (grub_xfs_inode_block): Calculate inode size using sblock.
24059 (grub_xfs_inode_offset): Likewise.
24060 (grub_xfs_read_inode): Calculate inode size using sblock.
24061 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
24062 (grub_xfs_iterate_dir): Calculate inode size using sblock.
24063 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
24064 to match inode size.
24065 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
24066 not accessible when data is null.
24067 (grub_xfs_open): Likewise.
24068
f45d6cfc 240692009-07-31 Bean <bean123ch@gmail.com>
24070
24071 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
24072 Don't change pv->disk if it's already set.
24073
24074 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
24075 (grub_raid_register): ... here.
24076 (grub_raid_rescan): Removed.
24077
24078 * include/grub/raid.h (grub_raid_rescan): Removed.
24079
24080 * util/grub-fstest.c: Remove include file <grub/raid.h>.
24081 (fstest): Replace grub_raid_rescan with module fini function followed
24082 by init function.
24083
24084 * util/grub-probe.c: Add include file <grub/raid.h>.
24085 (probe_raid_level): New function.
24086 (probe): Detect abstraction by walking the disk device, support two
24087 level of abstraction (LVM on RAID) when detecting partition map.
24088
24443b5a 240892009-07-31 Pavel Roskin <proski@gnu.org>
24090
24091 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
24092 to grub_zalloc(), it was erroneous.
24093 Reported by Bean <bean123ch@gmail.com>
24094
a275d9e7 240952009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
24096
24097 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 24098 embedding zone, not only the first one.
a275d9e7 24099
56c5a47f 241002009-07-29 Joe Auricchio <jauricchio@gmail.com>
24101
24102 * term/gfxterm.c (clear_char): New function.
24103 (grub_virtual_screen_setup): Use clear_char.
24104 (scroll_up): Likewise.
24105 (grub_virtual_screen_cls): Likewise.
24106
67bb323a 241072009-07-29 Felix Zielcke <fzielcke@z-51.de>
24108
24109 * util/deviceiter.c (get_acceleraid_disk_name): New static
24110 function.
24111 (grub_util_iterate_devices): Handle Accelraid devices.
24112 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
24113
388a7c75 241142009-07-28 Robert Millan <rmh.grub@aybabtu.com>
24115
24116 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
24117 separator for the suggested gfxpayload string (';' collides with the
24118 parser and needs escaping).
24119
3bb7abcf 241202009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
24121
24122 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
24123 Clear direction flag before jumping to OS.
24124 (grub_multiboot2_real_boot): Likewise.
24125
2ddd36d7 241262009-07-28 Felix Zielcke <fzielcke@z-51.de>
24127
24128 * util/i386/pc/grub-install: Fix parsing of --disk-module
24129 option.
24130
c521b62b 241312009-07-28 Felix Zielcke <fzielcke@z-51.de>
24132
24133 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
24134 when embedding.
24135
880e0a0c 241362009-07-26 Felix Zielcke <fzielcke@z-51.de>
24137
24138 * util/grub-mkconfig.in (package_version): New variable.
24139 Use it do display the version.
24140
2366e356 241412009-07-25 Felix Zielcke <fzielcke@z-51.de>
24142
24143 * kern/file.c (grub_file_open): Revert to previous check with
24144 grub_errno.
24145
7ad8c80e 241462009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
24147
24148 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
24149 from help line. It's out of sync with code.
24150
72b9658b 241512009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
24152
24153 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
24154 entries on failed boot.
24155
77435277 241562009-07-25 Felix Zielcke <fzielcke@z-51.de>
24157
24158 * kern/file.c (grub_file_open): Fix an error check.
24159
fcaa8b21 241602009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
24161
35d16c74 24162 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
24163 partition map couldn't be identified.
fcaa8b21 24164
48904cd1 241652009-07-23 Pavel Roskin <proski@gnu.org>
24166
ef3c317f 24167 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
24168 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
24169 case of little endian words becomes just an optimization.
24170 Respect const modifier.
ad8ea1f4 24171 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 24172
48904cd1 24173 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
24174 to avoid loss of upper bits if align is unsigned and shorter
24175 than addr.
24176
260c9a89 241772009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
24178
24179 UUID support for UFS
24180
24181 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
24182 (grub_ufs_uuid): New function.
24183 (grub_ufs_fs): add .uuid
24184
f76ce889 241852009-07-21 Pavel Roskin <proski@gnu.org>
24186
24187 * kern/dl.c (grub_dl_check_header): Make static.
24188
6a6cbcaf 241892009-07-21 Felix Zielcke <fzielcke@z-51.de>
24190
24191 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
24192 add drivemap for Vista. It breaks Windows 7.
24193
cffcddb2 241942009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
24195
24196 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
24197 128 bytes
24198
1ef44b80 241992009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24200
24201 Add BFS support
24202
24203 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
24204 (grub_fstest_SOURCES): Likewise.
24205 (pkglib_MODULES): Add befs.mod.
24206 (befs_mod_SOURCES): New variable.
24207 (befs_mod_CFLAGS): Likewise.
24208 (befs_mod_LDFLAGS): Likewise.
24209 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24210 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24211 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24212 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24213 (grub_setup_SOURCES): Likewise.
24214 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24215 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24216 (grub_setup_SOURCES): Likewise.
24217 * fs/befs.c: New file.
24218 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
24219 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
24220 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
24221 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
24222 (B_KEY_INDEX_ALIGN): New declaration.
24223 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
24224 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
24225 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
24226 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
24227 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
24228 (grub_afs_mount) [MODE_BFS]: Likewise.
24229 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
24230 (grub_afs_fs): Use GRUB_AFS_FSNAME
24231 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
24232 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
24233 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
24234 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
24235
4f253044 242362009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
24237
24238 * util/getroot.c (find_root_device): Add support for MacOSX.
24239 * util/hostdisk.c: Likewise.
24240
57a55913 242412009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24242
24243 * font/font.c (find_glyph): Check whether a font is present to avoid
24244 segmentation fault.
75421ca9 24245
242462009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 24247
24248 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
24249
e98cd0c2 242502009-07-20 Pavel Roskin <proski@gnu.org>
24251
24252 * configure.ac: Trim excessively wordy excuses.
24253
1d2d169a 242542009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24255
24256 Add symlink, mtime and label support to AtheFS.
24257
24258 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
24259 (grub_afs_iterate_dir): Handle symlinks.
24260 (grub_afs_open): Use grub_afs_read_symlink.
24261 (grub_afs_dir): Likewise.
24262 Pass mtime.
24263 (grub_afs_label): New function.
24264 (grub_afs_fs): Add grub_afs_label.
24265 (grub_afs_read_symlink): New function.
24266
186f3189 242672009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24268
24269 Fix AtheFS support.
24270
24271 * fs/afs.c: Fix comments style.
24272 (grub_afs_blockrun): Declare as packed.
24273 (grub_afs_datastream): Likewise.
24274 (grub_afs_bnode): Likewise.
24275 (grub_afs_btree): Likewise.
24276 (grub_afs_sblock): Likewise.
24277 Declare `name' as char.
24278 (grub_afs_inode): Declare as packed.
24279 Change void *vnode to grub_uint32_t unused.
24280 (grub_afs_iterate_dir): Check that key_size is positive.
24281 (grub_afs_mount): Don't read superblock twice.
75421ca9 24282 (grub_afs_dir): Don't free node in case of error,
186f3189 24283 grub_fshelp_find_file already handles this.
24284 (grub_afs_open): Likewise.
24285
5680109e 242862009-07-19 Pavel Roskin <proski@gnu.org>
24287
24288 * Makefile.in: Remove LIBLZO and enable_lzo.
24289 * conf/i386-pc.rmk: Remove lzo support.
24290 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
24291 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
24292 support.
24293 * kern/i386/pc/lzo1x.S: Remove.
24294 * kern/i386/pc/startup.S: Remove lzo support.
24295 * util/i386/pc/grub-mkimage.c: Likewise.
24296
ac70fa32 242972009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
24298
24299 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
24300 * fs/xfs.c (grub_xfs_dir): Likewise.
24301 * fs/afs.c (grub_afs_dir): Likewise.
24302 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
24303 (grub_iso9660_open): Likewise.
24304 * fs/jfs.c (grub_jfs_open): Likewise.
24305 * fs/ext2.c (grub_ext2_dir): Likewise.
24306 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
24307 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 24308
eab58da2 243092009-07-16 Pavel Roskin <proski@gnu.org>
24310
d2838156 24311 * configure.ac: Never add "-c" to CFLAGS.
24312
55c70904 24313 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
24314
43e6200c 24315 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
24316 grub_cv_cc_efiemu should be used.
24317
ce7a733d 24318 * configure.ac: Typo fixes.
24319
eab58da2 24320 * kern/mm.c (grub_zalloc): New function.
24321 (grub_debug_zalloc): Likewise.
24322 * include/grub/mm.h: Declare grub_zalloc() and
24323 grub_debug_zalloc().
24324 * util/misc.c (grub_zalloc): New function.
24325 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
24326 instead of grub_malloc(), remove unneeded initializations.
24327 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
24328 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
24329 * commands/parttool.c (grub_cmd_parttool): Likewise.
24330 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
24331 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
24332 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
24333 * disk/usbms.c (grub_usbms_finddevs): Likewise.
24334 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
24335 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
24336 (grub_cmd_efiemu_pnvram): Likewise.
24337 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
24338 * fs/iso9660.c (grub_iso9660_mount): Likewise.
24339 (grub_iso9660_iterate_dir): Likewise.
24340 * fs/jfs.c (grub_jfs_opendir): Likewise.
24341 * fs/ntfs.c (list_file): Likewise.
24342 (grub_ntfs_mount): Likewise.
24343 * kern/disk.c (grub_disk_open): Likewise.
24344 * kern/dl.c (grub_dl_load_core): Likewise.
24345 * kern/elf.c (grub_elf_file): Likewise.
24346 * kern/env.c (grub_env_context_open): Likewise.
24347 (grub_env_set): Likewise.
24348 (grub_env_set_data_slot): Likewise.
24349 * kern/file.c (grub_file_open): Likewise.
24350 * kern/fs.c (grub_fs_blocklist_open): Likewise.
24351 * loader/i386/multiboot.c (grub_module): Likewise.
24352 * loader/xnu.c (grub_xnu_create_key): Likewise.
24353 (grub_xnu_create_value): Likewise.
24354 * normal/main.c (grub_normal_add_menu_entry): Likewise.
24355 (read_config_file): Likewise.
24356 * normal/menu_entry.c (make_screen): Likewise.
24357 * partmap/sun.c (sun_partition_map_iterate): Likewise.
24358 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
24359 * script/sh/script.c (grub_script_parse): Likewise.
24360 * video/bitmap.c (grub_video_bitmap_create): Likewise.
24361 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
24362 * video/readers/png.c (grub_png_output_byte): Likewise.
24363 (grub_video_reader_png): Likewise.
24364
830afef7 243652009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 24366
24367 Enable all targets that can be built by default
24368
830afef7 24369 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 24370 grub-mkfont and grub-fstest if they can be built
24371
ee293aee 243722009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24373
24374 Fix hang and segmentation fault in grub-emu-usb
24375
24376 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
24377 * util/usb.c (grub_libusb_devices): likewise
24378 (grub_libusb_init): rename to ...
24379 (GRUB_MOD_INIT (libusb)):...this
24380 (grub_libusb_fini): rename to ..
24381 (GRUB_MOD_FINI (libusb)):...this
24382 * disk/usbms.c (grub_usbms_transfer): fix retry logic
24383 * include/grub/disk.h (grub_raid_init): removed, it's useless
24384 (grub_raid_fini): likewise
24385 (grub_lvm_init): likewise
24386 (grub_lvm_fini): likewise
24387 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
24388 by grub_init_all
24389
94414221 243902009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24391
24392 Fix libusb
24393
24394 * Makefile.in (LIBUSB): new macro
24395 * genmk.rb (Utility/print_tail): new method
24396 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
24397 (top level): call util.print_tail at the end.
24398
59ade63d 243992009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24400
24401 Make FreeBSD accept zpool.cache
24402
24403 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
24404 type is /boot/zfs/zpool.cache
24405
a58da8c7 244062009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24407
24408 Fix 64-bit efiemu
24409
24410 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
24411 correct wrong typedef
24412 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
24413
20591577 244142009-07-15 Pavel Roskin <proski@gnu.org>
24415
560ca572 24416 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
24417 * kern/disk.c (struct grub_disk_cache): Likewise.
24418
e8e8e4fd 24419 * commands/probe.c (options): Typo fix.
24420
fde24e10 24421 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
24422 Increase to 0x5a to accommodate FAT32. Adjust other offsets
24423 accordingly.
24424 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
24425
379c54c1 24426 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
24427 the end of "Error" to make the message more readable.
24428
7bd8f5bf 24429 * boot/i386/pc/boot.S (kernel_segment): Remove.
24430 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
24431 for destination.
24432
40b132c5 24433 * boot/i386/pc/boot.S (boot_version): Remove.
24434 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
24435 Remove.
24436
20591577 24437 * include/grub/i386/pc/boot.h: Sort all offsets.
24438 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
24439 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
24440 * boot/i386/pc/boot.S: Assert location of every offset listed in
24441 include/grub/i386/pc/boot.h.
24442
2df32b2c 244432009-07-13 Pavel Roskin <proski@gnu.org>
24444
44b5d879 24445 * include/grub/i386/coreboot/machine.h: Rename
24446 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
24447 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
24448 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
24449
17dc3751 24450 * kern/dl.c: Force native word size to suppress warnings when
24451 compiling grub-emu.
24452
2df32b2c 24453 * kern/device.c (grub_device_iterate): Change struct part_ent to
24454 hold the name, not a pointer to it. Use one grub_malloc() per
24455 partition, not two. Free partition_name if grub_malloc() fails.
24456 Set ents to NULL only before grub_partition_iterate() is called.
24457
75c59f59 244582009-07-11 Bean <bean123ch@gmail.com>
24459
24460 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
24461 childname.
24462
0ae1bf88 244632009-07-10 Bean <bean123ch@gmail.com>
244642009-07-10 Robert Millan <rmh.grub@aybabtu.com>
24465
24466 * kern/ieee1275/openfw.c (grub_children_iterate)
24467 (grub_devalias_iterate): Fix size evaluation for property or path
24468 strings, which was broken since r2132.
24469
8279cade 244702009-07-07 Pavel Roskin <proski@gnu.org>
24471
7d8a52d3 24472 * commands/search.c (search_file): Merge into ...
24473 (search_fs): ... this. Accept search type as argument.
24474 (grub_cmd_search): Pass search type to search_fs().
24475
25f9a05a 24476 * include/grub/util/console.h: New file.
24477 * util/console.c: Use it instead of grub/machine/console.h.
24478 * util/grub-emu.c: Likewise.
24479
8279cade 24480 * lib/arg.c (find_long_option): Remove.
24481 (find_long): Add `len' argument, make `s' const char *.
24482 (grub_arg_parse): Parse long options in place, not in a
24483 temporary buffer.
24484
4a11b60f 244852009-07-06 Pavel Roskin <proski@gnu.org>
24486
99f68041 24487 * commands/search.c (search_fs): Fix potential NULL pointer
24488 dereference.
24489
4a11b60f 24490 * commands/search.c (search_fs): Replace QUID macro with quid_fn
24491 function pointer.
24492
e110f4de 244932009-07-06 Daniel Mierswa <impulze@impulze.org>
24494
24495 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
24496 comparison.
24497
46eeb6a2 244982009-07-05 Pavel Roskin <proski@gnu.org>
24499
bab74958 24500 * include/grub/i386/linux.h (struct linux_kernel_params):
24501 Restore padding3, it's still needed.
24502
46eeb6a2 24503 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
24504 FreeBSD.
24505 * util/osdetect.lua: Likewise.
24506
b4a1dc79 245072009-07-05 Bean <bean123ch@gmail.com>
24508
24509 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
24510
24511 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
24512 (grub_lua_getenv): Likewise.
24513 (grub_lua_setenv): Likewise.
24514 (save_errno): New function.
24515 (push_result): Likewise.
24516 (grub_lua_enum_device): Likewise.
24517 (grub_lua_enum_file): Likewise.
24518 (grub_lua_file_open): Likewise.
24519 (grub_lua_file_close): Likewise.
24520 (grub_lua_file_seek): Likewise.
24521 (grub_lua_file_read): Likewise.
24522 (grub_lua_file_getline): Likewise.
24523 (grub_lua_file_getsize): Likewise.
24524 (grub_lua_file_getpos): Likewise.
24525 (grub_lua_file_eof): Likewise.
24526 (grub_lua_file_exist): Likewise.
24527 (grub_lua_add_menu): Likewise.
24528
24529 * script/lua/grub_lua.h (isupper): New inline function.
24530 (islower): Likewise.
24531 (ispunct): Likewise.
24532 (isxdigit): Likewise.
24533 (strcspn): Change to normal function.
24534 (strpbkr): New function declaration.
24535 (memchr): Likewise.
24536
24537 * script/lua/grub_main.c (scan_str): New function.
24538 (strcspn): Likewise.
24539 (strpbrk): Likewise.
24540 (memchr): Likewise.
24541
24542 * script/lua/linit.c (lualibs): Enable the string library.
24543
24544 * util/osdetect.lua: New file.
24545
2da92295 245462009-07-04 Robert Millan <rmh.grub@aybabtu.com>
24547
24548 * include/grub/i386/linux.h (struct linux_kernel_params): Add
24549 `capabilities' member.
24550
b2582ec9 245512009-07-02 Pavel Roskin <proski@gnu.org>
24552
24553 * genparttoollist.sh: Add missing newline at the end.
24554
32622956 245552009-07-01 Pavel Roskin <proski@gnu.org>
24556
87a7339e 24557 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
24558
d23af54e 24559 * util/hostdisk.c (open_device): Remove `const' from
24560 `sysctl_size', as sysctlbyname() can change it (in this case it
24561 doesn't actually happen).
24562
c94b18a9 24563 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
24564 using signed long int constants.
24565
c6cd3ef0 24566 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
24567 constant to avoid a warning on FreeBSD.
24568
0df63420 24569 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
24570 where it's needed.
24571
999577f1 24572 * Makefile.in: Install include/grub/machine symlink.
24573
6f41557f 24574 * Makefile.in: When installing symlinks, use "cp -fR", which
24575 works on FreeBSD and MacOSX.
24576 From Yves Blusseau <cl7m42e02@sneakemail.com>
24577
c8d22988 24578 * kern/dl.c (grub_dl_resolve_symbol): Make static.
24579 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
24580
1b96e952 24581 * util/misc.c: Move grub_reboot() and grub_halt() ...
24582 * util/grub-emu.c: ... here. Make main_env static.
24583 * include/grub/util/misc.h: Remove main_env.
24584
2ef0084d 24585 * kern/mm.c: Use correct format to print size_t.
24586
32622956 24587 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
24588 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
24589 * kern/powerpc/dl.c: Likewise.
24590 * kern/sparc64/dl.c: Likewise.
24591 * kern/x86_64/dl.c: Likewise.
24592
3f7f0cd0 245932009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24594
24595 Fix grub-emu build on sparc64-ieee1275.
24596
75421ca9 24597 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 24598 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
24599
211d06b5 246002009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24601
24602 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
24603 (grub_reboot, grub_halt): New functions.
24604
24605 * util/i386/pc/misc.c: Delete. Update all users.
24606 * util/sparc64/ieee1275/misc.c: Likewise.
24607 * util/powerpc/ieee1275/misc.c: Likewise.
24608
aaf53e3c 246092009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24610
24611 * conf/i386.rmk (setjmp_mod_SOURCES)
24612 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
24613 * conf/common.rmk (setjmp_mod_SOURCES)
24614 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
24615 to use $(target_cpu).
24616 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
24617 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
24618 * conf/powerpc-ieee1275.rmk: Likewise.
24619 * conf/sparc64-ieee1275.rmk: Likewise.
24620
24621 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
24622 $(target_cpu) for kern/$(target_cpu)/dl.c.
24623 * conf/i386-efi.rmk: Likewise.
24624 * conf/i386-ieee1275.rmk: Likewise.
24625 * conf/x86_64-efi.rmk: Likewise.
24626 * conf/i386-coreboot.rmk: Likewise.
24627 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
24628 $(target_cpu) for kern/$(target_cpu)/dl.c and for
24629 kern/$(target_cpu)/cache.S.
24630 * conf/sparc64-ieee1275.rmk: Likewise.
24631
a337130b 246322009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24633
24634 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
24635 type to `grub_uint8_t', and adjust `padding9' accordingly.
24636
c6fe4d53 246372009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24638
b09db61d 24639 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
24640
c6fe4d53 24641 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
24642 assembly in final jump, using register constraints.
24643
b09db61d 24644 (grub_linux_boot): For text mode, initialize `have_vga' using
24645 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
24646
24647 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
24648 right before the final jump.
24649
24650 Set `video_mode' to 0x3.
24651
24652 Document initialization of `video_page', `video_mode' and
24653 `video_ega_bx'.
24654
28333ad0 246552009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24656
24657 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
24658 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 24659 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 24660
02164e1b 246612009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24662
24663 Fix build on Debian / sparc.
24664
24665 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
24666
18b6c557 246672009-06-28 Pavel Roskin <proski@gnu.org>
24668
85f2aab6 24669 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
24670 fix a warning.
24671
18b6c557 24672 * util/grub.d/10_linux.in: Match SUSE style initrd names.
24673
ad760f81 246742009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24675
24676 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
24677 `err'.
24678
87a4623b 246792009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24680
24681 Revert r2338.
24682
24683 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
24684 file can't be opened. grub_file_open() is already supposed to set
75421ca9 24685 grub_errno / grub_errmsg appropriately.
87a4623b 24686 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24687
8231fb77 246882009-06-27 Pavel Roskin <proski@gnu.org>
246892009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24690
24691 * include/grub/dl.h: Include grub/elf.h.
24692 (struct grub_dl): Add symtab field.
24693 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
24694 GRUB_MODULES_MACHINE_READONLY.
24695 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
24696 of the header for read-only modules.
24697 (grub_dl_unload): Free mod->symtab for read-only modules.
24698 * kern/i386/dl.c: Use mod->symtab.
24699 * kern/powerpc/dl.c: Likewise.
24700 * kern/sparc64/dl.c: Likewise.
24701 * kern/x86_64/dl.c: Likewise.
24702
24703 * conf/i386-qemu.rmk: New file.
24704 * kern/i386/qemu/startup.S: Likewise.
24705 * kern/i386/qemu/mmap.c: Likewise.
24706 * boot/i386/qemu/boot.S: Likewise.
24707 * include/grub/i386/qemu/time.h: Likewise.
24708 * include/grub/i386/qemu/serial.h: Likewise.
24709 * include/grub/i386/qemu/kernel.h: Likewise.
24710 * include/grub/i386/qemu/console.h: Likewise.
24711 * include/grub/i386/qemu/boot.h: Likewise.
24712 * include/grub/i386/qemu/init.h: Likewise.
24713 * include/grub/i386/qemu/machine.h: Likewise.
24714 * include/grub/i386/qemu/loader.h: Likewise.
24715 * include/grub/i386/qemu/memory.h: Likewise.
24716
24717 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
24718 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
24719 [qemu] (pkglib_IMAGES): Add `boot.img'.
24720 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
24721 [qemu] (boot_img_FORMAT): New variables.
24722 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
24723 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
24724 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
24725 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24726 [qemu] (kernel_img_FORMAT): New variables.
24727
24728 * configure.ac: Recognise `i386-qemu'.
24729
24730 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
24731 (for no compression).
24732 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
24733 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
24734 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
24735 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
24736 ifdefs).
24737
97fe384e 247382009-06-27 Pavel Roskin <proski@gnu.org>
24739
24740 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
24741 read.
24742 * efiemu/prepare32.c: Likewise.
24743 * efiemu/prepare64.c: Likewise.
24744
c402ab17 247452009-06-26 Pavel Roskin <proski@gnu.org>
24746
24747 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
24748 * include/grub/elf.h: Define symbols without "32" or "64" based
24749 on GRUB_TARGET_WORDSIZE.
24750 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
24751 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
24752 ELF definitions.
24753 * efiemu/loadcore64.c: Likewise.
24754 * loader/i386/bsd32.c: Likewise.
24755 * loader/i386/bsd64.c: Likewise.
24756 * kern/dl.c: Remove own ELF definitions.
24757 * util/i386/efi/grub-mkimage.c: Likewise.
24758
9bbdfd4d 247592009-06-23 Robert Millan <rmh.grub@aybabtu.com>
24760
24761 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
24762 segment 0x0 unconditionally, because the reference generated by
24763 GAS is an absolute address.
24764
a42ce6e9 247652009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24766
24767 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
24768 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
24769
c952cf92 247702009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24771
24772 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
24773 indexes. Check for -f explicitly.
cc3752ad 24774 (search_file): Improve error message.
24775 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 24776
132a0a59 247772009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24778
24779 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
24780 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
24781
387a140c 247822009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24783
24784 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
24785 * conf/i386-ieee1275.rmk: Likewise.
24786 * conf/i386-coreboot.rmk: Likewise.
24787
24788 * kern/i386/pc/startup.S (grub_stop): Remove function.
24789 * kern/i386/ieee1275/startup.S: Likewise.
24790 * kern/i386/coreboot/startup.S: Likewise.
24791 * kern/i386/misc.S (grub_stop): New function.
24792
41da9665 247932009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24794
24795 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
24796 * kern/i386/realmode.S (real_to_prot): ... to here.
24797
bf337234 247982009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24799
24800 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
24801 with `kernel.img'.
24802 (kernel_elf_SOURCES): Rename to ...
24803 (kernel_img_SOURCES): ... this.
24804 (kernel_elf_HEADERS): Rename to ...
24805 (kernel_img_HEADERS): ... this. Update all users.
24806 (kernel_elf_ASFLAGS): Rename to ...
24807 (kernel_img_ASFLAGS): ... this.
24808 (kernel_elf_CFLAGS): Rename to ...
24809 (kernel_img_CFLAGS): ... this.
24810 (kernel_elf_LDFLAGS): Rename to ...
24811 (kernel_img_LDFLAGS): ... this.
24812 * conf/i386-coreboot.rmk: Likewise.
24813 * conf/powerpc-ieee1275.rmk: Likewise.
24814
24815 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
24816 with "kernel.img".
24817
f52196ff 248182009-06-21 Pavel Roskin <proski@gnu.org>
24819
c3cee413 24820 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
24821 to match nested functions.
24822 * loader/sparc64/ieee1275/linux.c: Likewise.
24823
f52196ff 24824 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
24825
58750afc 248262009-06-21 Robert Millan <rmh.grub@aybabtu.com>
24827
24828 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
24829 all i386 platforms.
24830
15355c7d 248312009-06-21 Robert Millan <rmh.grub@aybabtu.com>
24832
24833 Fix asm file handling on ELF, and remove workarounds.
24834
24835 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 24836 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 24837 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
24838 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
24839
3f3ec72b 248402009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
24841
24842 Load BSD ELF modules
24843
24844 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
24845 and loader/i386/bsd64.c
24846 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
24847 (FREEBSD_MODTYPE_ELF_MODULE): New definition
24848 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
24849 (grub_freebsd_load_elfmodule32): New declaration
24850 (grub_freebsd_load_elfmoduleobj64): Likewise
24851 (grub_freebsd_load_elf_meta32): Likewise
24852 (grub_freebsd_load_elf_meta64): Likewise
24853 (grub_freebsd_add_meta): Likewise
24854 (grub_freebsd_add_meta_module): Likewise
24855 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
24856 (grub_freebsd_add_meta_module): Likewise and move module-specific
24857 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
24858 (grub_cmd_freebsd): Add elf-kernel specific parts
24859 based on grub_freebsd_add_meta_module
24860 (grub_cmd_freebsd_module): Add type parsing moved from
24861 grub_freebsd_add_meta_module
24862 (grub_cmd_freebsd_module_elf): New function
24863 (cmd_freebsd_module_elf): New variable
24864 (GRUB_MOD_INIT): Register freebsd_module_elf
24865 * loader/i386/bsd32.c: New file
24866 * loader/i386/bsd64.c: Likewise
24867 * loader/i386/bsdXX.c: Likewise
24868 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
24869 (grub_elf64_load): Likewise
24870 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
24871 All users updated
24872 (grub_elf64_load_hook_t): Likewise
24873
0db15301 248742009-06-21 Colin Watson <cjwatson@ubuntu.com>
24875
24876 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
24877 variable.
24878 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
24879 don't write a menu entry for recovery mode.
24880
546796c1 248812009-06-20 Robert Millan <rmh.grub@aybabtu.com>
24882
24883 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
24884 after it's no longer needed.
24885
cd7310d5 248862009-06-20 Robert Millan <rmh.grub@aybabtu.com>
24887
24888 * include/grub/i386/loader.h (grub_linux_prot_size)
24889 (grub_linux_tmp_addr, grub_linux_real_addr)
24890 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
24891 GRUB_MACHINE_PCBIOS.
24892 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
24893 common grub_util_info() call to ...
24894 (generate_image): ... here.
24895 Fix use of uninitialized memory, comparison of signed with
24896 unsigned integers and memory leak.
24897 Remove bogus module address message.
24898
ab32d3b5 248992009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24900
24901 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
24902 grub_raid_register
24903 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
24904
024ef597 249052009-06-19 Pavel Roskin <proski@gnu.org>
24906
24907 * configure.ac: Remove stray AC_MSG_CHECKING.
24908
3ac72b51 249092009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
24910
24911 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 24912
e14cd814 249132009-06-18 Pavel Roskin <proski@gnu.org>
24914
24915 * conf/common.rmk: Add fs_file.mod.
24916 * disk/fs_file.c: New file.
24917 * include/grub/disk.h (enum grub_disk_dev_id): Add
24918 GRUB_DISK_DEVICE_FILE_ID.
24919
26586d98 249202009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24921
24922 Fix build with Apple's toolchain. Part 2
24923
24924 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
24925 a fake start
24926
26de2bcd 249272009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24928
24929 Fix build with Apple's toolchain. Part 1
24930
24931 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
24932 for long calls
24933 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 24934 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 24935 Apple's toolchain
24936
09b3490b 249372009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24938
24939 Fix warnings
24940
24941 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
24942 (decomp_block): initialize ch
24943 use grub_memcpy instead of memcpy
24944
c22a006a 249452009-06-17 Pavel Roskin <proski@gnu.org>
24946
d3638678 24947 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
24948 version, use declarations needed to use vga_text as the startup
24949 console.
24950
c22a006a 24951 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
24952 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
24953 the kernel.
24954 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
24955 and grub_at_keyboard_fini(), it's done on module load and
24956 unload.
24957
05b129e0 249582009-06-17 Felix Zielcke <fzielcke@z-51.de>
24959
24960 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
24961 file can't be found.
24962 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24963
cf24ed9e 249642009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
24965
24966 Fix newline handling
24967
24968 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 24969 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 24970 (grub_script_yylex): don't segfault on unterminated script
24971 newline terminates command and variable
24972
74aa8e4b 249732009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
24974
24975 avoid double grub_adjust_range call. Bug reported by David Simner
24976
24977 * kern/disk.c (grub_disk_write): change to raw disk access before
24978 calling disk_read
24979
1bd265f3 249802009-06-17 Colin Watson <cjwatson@ubuntu.com>
24981
24982 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
24983 spaces, for the benefit of help2man.
24984 * util/i386/efi/grub-mkimage.c (usage): Likewise.
24985
a2d08c06 249862009-06-16 Pavel Roskin <proski@gnu.org>
24987
24988 * kern/i386/halt.c: Include grub/machine/init.h.
24989 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
24990
b97bcb19 249912009-06-16 Felix Zielcke <fzielcke@z-51.de>
24992
24993 * util/grub.d/30_os-prober.in: Use ${root} in the generated
24994 drivemap menuentry.
24995
0644f96c 249962009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
24997
24998 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
24999 `echo' command.
25000
3ef17a2e 250012009-06-16 Pavel Roskin <proski@gnu.org>
25002
25003 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
25004 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
25005 save %dx, we only need %dl and we never change it.
25006 * boot/i386/pc/cdboot.S: Don't set the root drive.
25007 * boot/i386/pc/pxeboot.S: Likewise.
25008 * include/grub/i386/pc/boot.h: Remove
25009 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
25010 GRUB_BOOT_MACHINE_DRIVE_CHECK.
25011 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
25012 * kern/i386/pc/init.c (make_install_device): Remove references
25013 to grub_root_drive.
25014 * kern/i386/pc/startup.S: Likewise.
25015 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
25016
693fe637 250172009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
25018
25019 xnu_uuid command
25020
25021 * commands/xnu_uuid.c: new file
25022 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
25023 (xnu_uuid_mod_SOURCES): new variable
25024 (xnu_uuid_mod_CFLAGS): likewise
25025 (xnu_uuid_mod_LDFLAGS): likewise
25026 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
25027 * conf/i386-ieee1275.rmk: likewise
25028 * conf/i386-pc.rmk: likewise
25029 * conf/powerpc-ieee1275.rmk: likewise
25030 * conf/sparc64-ieee1275.rmk: likewise
25031 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
25032
c9da87d0 250332009-06-16 Pavel Roskin <proski@gnu.org>
25034
25035 * configure.ac: Avoid '==' in test command, it's not portable.
25036
9c6f4596 250372009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
25038
25039 Probe command
25040
25041 * commands/probe.c: new file
25042 * conf/common.rmk (pkglib_MODULES): add probe.mod
25043 (probe_mod_SOURCES): new variable
25044 (probe_mod_CFLAGS): likewise
25045 (probe_mod_LDFLAGS): likewise
25046 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
25047 * conf/i386-ieee1275.rmk: likewise
25048 * conf/i386-pc.rmk: likewise
25049 * conf/powerpc-ieee1275.rmk: likewise
25050 * conf/sparc64-ieee1275.rmk: likewise
25051
70b7f9fd 250522009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
25053
25054 Fix handling of string like \"hello\" and "a
25055 b"
25056
25057 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
25058 (grub_script_yylex): fix parsing of quoting, escaping and newline
25059
71c79a6b 250602009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
25061
dd74360c 25062 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 25063 handling
dd74360c 25064
0644f96c 250652009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 25066
25067 * util/grub-mkconfig.in: Fix parsing of --output option.
25068
e40893c3 250692009-06-12 Pavel Roskin <proski@gnu.org>
25070
25071 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
25072 genmk.rb don't need to be generated or installed.
25073
3a1acfe2 250742009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25075
25076 * commands/i386/pc/drivemap_int13h.S: add more comments
25077
3a4575d4 250782009-06-11 Pavel Roskin <proski@gnu.org>
25079
0658e928 25080 * Makefile.in (uninstall): Uninstall manuals.
25081
ca0388f0 25082 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
25083 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
25084 and update-grub_lib in two places.
25085 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
25086
e3b27c39 25087 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
25088 a compiler warning.
25089
3a4575d4 25090 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
25091 `entry_lo' to fix variable shadowing.
25092
af1f4f55 250932009-06-11 Christian Franke <franke@computer.org>
25094
25095 * kern/misc.c (__enable_execute_stack): Add missing return type
25096 to prevent gcc warning.
25097
5225e649 250982009-06-11 Felix Zielcke <fzielcke@z-51.de>
25099
25100 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
25101
7d83bd47 251022009-06-11 Pavel Roskin <proski@gnu.org>
25103
c1cb63ba 25104 * Makefile.in: Don't rely on any scripts being executable.
25105 Always use $(SHELL) to run shell scripts.
25106
7d83bd47 25107 * configure.ac: Always define ___main if using -nostdlib. This
25108 fixes tests on Cygwin.
25109
948f48e7 251102009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
25111
25112 UDF fix
25113
7d83bd47 25114 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 25115 is in bytes and not in blocks
7d83bd47 25116
8ada9bc1 251172009-06-11 Pavel Roskin <proski@gnu.org>
25118
25119 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
25120 warning.
25121
25ad2323 251222009-06-11 Felix Zielcke <fzielcke@z-51.de>
25123
25124 * util/grub.d/30_os-prober.in: Fix a comment. Source
25125 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
25126 to set the root device. Place drivemap command in the generated
25127 chain entry.
25128
e65acb0c 251292009-06-11 Pavel Roskin <proski@gnu.org>
25130
25131 * configure.ac: Remove host_m32. Issues with 64-bit utilities
25132 have long been resolved.
25133
f285fe2d 251342009-06-11 Colin Watson <cjwatson@ubuntu.com>
25135
bd47b0b5 25136 * util/grub.d/10_linux.in: Capitalise "Linux".
25137
f285fe2d 25138 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
25139
a0c62e4e 251402009-06-11 Pavel Roskin <proski@gnu.org>
25141
b6783cb2 25142 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
25143 fix a gcc warning and ensure that the function won't ever exit.
25144
dde032e8 25145 * kern/i386/ieee1275/init.c: Add missing prototype for
25146 grub_stop_floppy().
25147
22cd079d 25148 * loader/ieee1275/multiboot2.c [__i386__]: Include
25149 grub/cpu/multiboot.h.
25150
a0c62e4e 25151 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
25152 casts to short - they are not portable and cause warnings. Fix
25153 use of uninitialized values in input_buf. Use ARRAY_SIZE.
25154
63963d17 251552009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
25156
25157 Drivemap fixes
25158
25159 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
25160 new function
25161 (grub_get_root_biosnumber_saved): new variable
25162 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
25163 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 25164 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 25165 %dx after the call if necessary
25166 * conf/common.rmk (pkglib_MODULES): remove boot.mod
25167 (boot_mod_SOURCES): remove
25168 (boot_mod_CFLAGS): remove
25169 (boot_mod_LDFLAGS): remove
25170 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
25171 (boot_mod_SOURCES): new variable
25172 (boot_mod_CFLAGS): likewise
25173 (boot_mod_LDFLAGS): likewise
25174 * conf/i386-efi.rmk: likewise
25175 * conf/i386-ieee1275.rmk: likewise
25176 * conf/i386-pc.rmk: likewise
25177 * conf/powerpc-ieee1275.rmk: likewise
25178 * conf/sparc64-ieee1275.rmk: likewise
25179 * conf/x86_64-efi.rmk: likewise
25180 * include/grub/i386/pc/biosnum.h: new file
25181 * lib/i386/pc/biosnum.c: likewise
25182 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
25183 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
25184 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 25185
33abf7ae 251862009-06-10 Pavel Roskin <proski@gnu.org>
25187
5ac35b35 25188 * io/gzio.c (test_header): Don't reuse one buffer for all data.
25189 Use separate variables. Read only the file size at the end, but
25190 not the checksum that we don't use.
25191
5c5215d5 25192 * kern/file.c (grub_file_read): Use void pointer for the buffer.
25193 Adjust all callers.
25194
27d5fef7 25195 * kern/ieee1275/openfw.c: Remove libc includes.
25196 * kern/ieee1275/cmain.c: Likewise.
25197 * include/grub/ieee1275/ieee1275.h: Likewise.
25198
33abf7ae 25199 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
25200 compiler warnings.
25201
19d50c2b 252022009-06-10 Felix Zielcke <fzielcke@z-51.de>
25203
25204 * Makefile.in: Remove all trailing whitespace.
25205 * conf/i386-pc.rmk: Likewise.
25206 * conf/powerpc-ieee1275.rmk: Likewise.
25207 * conf/sparc64-ieee1275.rmk: Likewise.
25208 * docs/grub.texi: Likewise.
25209 * docs/texinfo.tex: Likewise.
25210 * disk/fs_uuid.c: Likewise.
25211 * disk/lvm.c: Likewise.
25212 * disk/scsi.c: Likewise.
25213 * disk/ata.c: Likewise.
25214 * disk/ieee1275/ofdisk.c: Likewise.
25215 * disk/i386/pc/biosdisk.c: Likewise.
25216 * disk/host.c: Likewise.
25217 * disk/raid.c: Likewise.
25218 * disk/efi/efidisk.c: Likewise.
25219 * disk/usbms.c: Likewise.
25220 * disk/memdisk.c: Likewise.
25221 * disk/loopback.c: Likewise.
25222 * kern/powerpc/dl.c: Likewise.
25223 * kern/device.c: Likewise.
25224 * kern/dl.c: Likewise.
25225 * kern/sparc64/dl.c: Likewise.
25226 * kern/ieee1275/ieee1275.c: Likewise.
25227 * kern/term.c: Likewise.
25228 * kern/fs.c: Likewise.
25229 * kern/i386/dl.c: Likewise.
25230 * kern/i386/pc/startup.S: Likewise.
25231 * kern/i386/pc/init.c: Likewise.
25232 * kern/i386/pc/mmap.c: Likewise.
25233 * kern/i386/pc/lzo1x.S: Likewise.
25234 * kern/i386/ieee1275/init.c: Likewise.
25235 * kern/i386/realmode.S: Likewise.
25236 * kern/i386/tsc.c: Likewise.
25237 * kern/partition.c: Likewise.
25238 * kern/corecmd.c: Likewise.
25239 * kern/file.c: Likewise.
25240 * kern/efi/efi.c: Likewise.
25241 * kern/efi/init.c: Likewise.
25242 * kern/efi/mm.c: Likewise.
25243 * kern/main.c: Likewise.
25244 * kern/err.c: Likewise.
25245 * kern/env.c: Likewise.
25246 * kern/disk.c: Likewise.
25247 * kern/generic/millisleep.c: Likewise.
25248 * kern/generic/rtc_get_time_ms.c: Likewise.
25249 * kern/misc.c: Likewise.
25250 * kern/parser.c: Likewise.
25251 * genmk.rb: Likewise.
25252 * configure.ac: Likewise.
25253 * boot/i386/pc/diskboot.S: Likewise.
25254 * boot/i386/pc/pxeboot.S: Likewise.
25255 * boot/i386/pc/boot.S: Likewise.
25256 * boot/i386/pc/lnxboot.S: Likewise.
25257 * boot/i386/pc/cdboot.S: Likewise.
25258 * parttool/pcpart.c: Likewise.
25259 * video/readers/tga.c: Likewise.
25260 * video/video.c: Likewise.
25261 * video/bitmap.c: Likewise.
25262 * lib/envblk.c: Likewise.
25263 * lib/i386/setjmp.S: Likewise.
25264 * fs/xfs.c: Likewise.
25265 * fs/afs.c: Likewise.
25266 * fs/fat.c: Likewise.
25267 * fs/ntfs.c: Likewise.
25268 * fs/udf.c: Likewise.
25269 * fs/affs.c: Likewise.
25270 * fs/iso9660.c: Likewise.
25271 * fs/hfs.c: Likewise.
25272 * fs/fshelp.c: Likewise.
25273 * fs/ext2.c: Likewise.
25274 * fs/jfs.c: Likewise.
25275 * fs/reiserfs.c: Likewise.
25276 * fs/hfsplus.c: Likewise.
25277 * fs/minix.c: Likewise.
25278 * fs/cpio.c: Likewise.
25279 * fs/sfs.c: Likewise.
25280 * fs/ufs.c: Likewise.
25281 * efiemu/prepare.c: Likewise.
25282 * efiemu/loadcore_common.c: Likewise.
25283 * efiemu/runtime/efiemu.sh: Likewise.
25284 * efiemu/runtime/efiemu.S: Likewise.
25285 * efiemu/runtime/efiemu.c: Likewise.
25286 * efiemu/pnvram.c: Likewise.
25287 * efiemu/main.c: Likewise.
25288 * efiemu/i386/pc/cfgtables.c: Likewise.
25289 * efiemu/i386/loadcore64.c: Likewise.
25290 * efiemu/i386/loadcore32.c: Likewise.
25291 * efiemu/loadcore.c: Likewise.
25292 * efiemu/symbols.c: Likewise.
25293 * efiemu/mm.c: Likewise.
25294 * include/grub/autoefi.h: Likewise.
25295 * include/grub/datetime.h: Likewise.
25296 * include/grub/term.h: Likewise.
25297 * include/grub/hfs.h: Likewise.
25298 * include/grub/lvm.h: Likewise.
25299 * include/grub/i386/tsc.h: Likewise.
25300 * include/grub/i386/linux.h: Likewise.
25301 * include/grub/i386/xnu.h: Likewise.
25302 * include/grub/i386/efiemu.h: Likewise.
25303 * include/grub/i386/pc/biosdisk.h: Likewise.
25304 * include/grub/i386/pc/memory.h: Likewise.
25305 * include/grub/i386/pc/vbe.h: Likewise.
25306 * include/grub/parttool.h: Likewise.
25307 * include/grub/video.h: Likewise.
25308 * include/grub/memory.h: Likewise.
25309 * include/grub/fs.h: Likewise.
25310 * include/grub/partition.h: Likewise.
25311 * include/grub/xnu.h: Likewise.
25312 * include/grub/efi/api.h: Likewise.
25313 * include/grub/efi/pe32.h: Likewise.
25314 * include/grub/efi/memory.h: Likewise.
25315 * include/grub/multiboot.h: Likewise.
25316 * include/grub/usbdesc.h: Likewise.
25317 * include/grub/multiboot2.h: Likewise.
25318 * include/grub/acpi.h: Likewise.
25319 * include/grub/efiemu/efiemu.h: Likewise.
25320 * include/grub/disk.h: Likewise.
25321 * include/grub/ieee1275/ieee1275.h: Likewise.
25322 * include/grub/net.h: Likewise.
25323 * include/grub/machoload.h: Likewise.
25324 * include/grub/macho.h: Likewise.
25325 * include/multiboot.h: Likewise.
25326 * genmoddep.awk: Likewise.
25327 * normal/main.c: Likewise.
25328 * normal/menu_entry.c: Likewise.
25329 * normal/menu_viewer.c: Likewise.
25330 * normal/completion.c: Likewise.
25331 * normal/cmdline.c: Likewise.
25332 * normal/misc.c: Likewise.
25333 * normal/datetime.c: Likewise.
25334 * bus/usb/usbtrans.c: Likewise.
25335 * bus/usb/ohci.c: Likewise.
25336 * bus/usb/uhci.c: Likewise.
25337 * bus/usb/usb.c: Likewise.
25338 * mmap/efi/mmap.c: Likewise.
25339 * mmap/i386/pc/mmap_helper.S: Likewise.
25340 * mmap/i386/pc/mmap.c: Likewise.
25341 * mmap/i386/mmap.c: Likewise.
25342 * mmap/i386/uppermem.c: Likewise.
25343 * mmap/mmap.c: Likewise.
25344 * commands/acpi.c: Likewise.
25345 * commands/echo.c: Likewise.
25346 * commands/blocklist.c: Likewise.
25347 * commands/loadenv.c: Likewise.
25348 * commands/usbtest.c: Likewise.
25349 * commands/boot.c: Likewise.
25350 * commands/parttool.c: Likewise.
25351 * commands/search.c: Likewise.
25352 * commands/cat.c: Likewise.
25353 * commands/i386/pc/play.c: Likewise.
25354 * commands/i386/pc/drivemap.c: Likewise.
25355 * commands/i386/pc/vbeinfo.c: Likewise.
25356 * commands/i386/pc/acpi.c: Likewise.
25357 * commands/i386/pc/vbetest.c: Likewise.
25358 * commands/ls.c: Likewise.
25359 * commands/cmp.c: Likewise.
25360 * commands/test.c: Likewise.
25361 * commands/efi/acpi.c: Likewise.
25362 * commands/gptsync.c: Likewise.
25363 * commands/help.c: Likewise.
25364 * partmap/amiga.c: Likewise.
25365 * partmap/apple.c: Likewise.
25366 * partmap/acorn.c: Likewise.
25367 * partmap/pc.c: Likewise.
25368 * partmap/sun.c: Likewise.
25369 * partmap/gpt.c: Likewise.
25370 * script/sh/lexer.c: Likewise.
25371 * script/sh/function.c: Likewise.
25372 * font/font.c: Likewise.
25373 * font/font_cmd.c: Likewise.
25374 * loader/powerpc/ieee1275/linux.c: Likewise.
25375 * loader/efi/chainloader.c: Likewise.
25376 * loader/multiboot_loader.c: Likewise.
25377 * loader/macho.c: Likewise.
25378 * loader/i386/multiboot.c: Likewise.
25379 * loader/i386/linux.c: Likewise.
25380 * loader/i386/pc/linux.c: Likewise.
25381 * loader/i386/pc/multiboot2.c: Likewise.
25382 * loader/i386/pc/chainloader.c: Likewise.
25383 * loader/i386/pc/xnu.c: Likewise.
25384 * loader/i386/bsd_trampoline.S: Likewise.
25385 * loader/i386/efi/linux.c: Likewise.
25386 * loader/i386/multiboot_elfxx.c: Likewise.
25387 * loader/i386/bsd_helper.S: Likewise.
25388 * loader/i386/bsd.c: Likewise.
25389 * loader/i386/linux_trampoline.S: Likewise.
25390 * loader/i386/xnu_helper.S: Likewise.
25391 * loader/i386/xnu.c: Likewise.
25392 * loader/i386/bsd_pagetable.c: Likewise.
25393 * loader/i386/multiboot_helper.S: Likewise.
25394 * loader/xnu.c: Likewise.
25395 * loader/xnu_resume.c: Likewise.
25396 * io/gzio.c: Likewise.
25397 * term/efi/console.c: Likewise.
25398 * term/terminfo.c: Likewise.
25399 * term/ieee1275/ofconsole.c: Likewise.
25400 * term/i386/pc/serial.c: Likewise.
25401 * term/i386/pc/vesafb.c: Likewise.
25402 * term/i386/pc/vga.c: Likewise.
25403 * term/usb_keyboard.c: Likewise.
25404 * term/gfxterm.c: Likewise.
25405 * aclocal.m4: Likewise.
25406 * util/lvm.c: Likewise.
25407 * util/grub.d/30_os-prober.in: Likewise.
25408 * util/grub.d/10_hurd.in: Likewise.
25409 * util/console.c: Likewise.
25410 * util/grub-macho2img.c: Likewise.
25411 * util/grub-probe.c: Likewise.
25412 * util/hostfs.c: Likewise.
25413 * util/i386/pc/grub-mkimage.c: Likewise.
25414 * util/i386/pc/grub-setup.c: Likewise.
25415 * util/i386/efi/grub-mkimage.c: Likewise.
25416 * util/grub-mkconfig.in: Likewise.
25417 * util/raid.c: Likewise.
25418 * util/resolve.c: Likewise.
25419 * util/grub-mkdevicemap.c: Likewise.
25420 * util/grub-emu.c: Likewise.
25421 * util/getroot.c: Likewise.
25422 * util/hostdisk.c: Likewise.
25423 * util/usb.c: Likewise.
25424 * util/grub-editenv.c: Likewise.
25425 * util/misc.c: Likewise.
25426
d2d49665 254272009-06-10 Felix Zielcke <fzielcke@z-51.de>
25428
25429 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
25430 `genparttoollist.sh'.
25431 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
25432 Add `*.sh' to the list find searches for and change `mdate.sh'
25433 to `mdate-sh'.
25434
fe052e37 254352009-06-10 Pavel Roskin <proski@gnu.org>
25436
2763ac18 25437 * include/grub/multiboot2.h: Provide compatibility defines for
25438 multiboot2.h.
25439 * include/multiboot2.h: Include stdint.h only if needed, using
25440 angle brackets.
25441 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
25442 grub/multiboot2.h.
25443 * loader/ieee1275/multiboot2.c: Likewise.
25444 * loader/multiboot2.c: Likewise.
25445 * loader/multiboot_loader.c: Likewise.
25446
437e6adc 25447 * configure.ac: Use -nostdlib when probing for the target. It
25448 should not be required to have libc for the target.
25449
06a6836c 25450 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
25451 they fail without libc headers for the target.
25452 * include/grub/powerpc/libgcc.h: Use weak attribute for all
25453 exports.
25454 * include/grub/sparc64/libgcc.h: Likewise. Don't use
25455 preprocessor conditionals.
25456
fe052e37 25457 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
25458 build system doesn't need to be aware of the tar.c internals.
25459
afd22553 254602009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 25461
afd22553 25462 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 25463
6b787c4f 254642009-06-09 Robert Millan <rmh.grub@aybabtu.com>
25465
25466 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
25467 disk limit to 26 for IDE, Virtio, Xen and SCSI.
25468
254692009-06-09 Felix Zielcke <fzielcke@z-51.de>
25470
25471 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 25472 aren't available if ata.mod gets used.
6b787c4f 25473
473d1e45 254742009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 25475
473d1e45 25476 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 25477 initialising controller.
473d1e45 25478 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 25479
255a27d4 254802009-06-08 Felix Zielcke <fzielcke@z-51.de>
25481
25482 * util/i386/pc/grub-install.in: Add a parameter --disk-module
25483 to choose between ata and biosdisk module on i386-pc.
25484
473d1e45 254852009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 25486
d55842d8 25487 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
25488 Subclass and Programming Interface fields in terms of the 3 byte
25489 Class Code register.
25490 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
25491
fa5db0b1 25492 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
25493 interface is OHCI. Add grub_dprintf for symmetry with
25494 bus/usb/uhci.c.
25495 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
25496 interface is UHCI. Add interf variable for programming
25497 interface. Print interface with class/subclass.
25498
c0947beb 25499 * bus/usb/ohci.c: Set interf with correct field.
25500
69da8877 25501 * bus/usb/uhci.c: Remove unneeded doubled lines.
25502 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
25503 Remove whitespace inside comment.
25504
9e172e30 255052009-06-08 Robert Millan <rmh.grub@aybabtu.com>
25506
25507 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
25508 as fallback an equivalent option without depth.
25509
de65ee2b 255102009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
25511
25512 Not fail if unable to retrieve C/H/S on LBA disks
25513
473d1e45 25514 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 25515 if unable to retrieve C/H/S on LBA disks
25516
b57ea2c9 255172009-06-08 Pavel Roskin <proski@gnu.org>
25518
25519 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
25520 about aliasing.
25521
af361263 255222009-06-08 Felix Zielcke <fzielcke@z-51.de>
25523
25524 * Makefile.in (uninstall): Remove all $lib_DATA files.
25525
4c9ec6b3 255262009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
25527
25528 Bugfix: install on partitionless device
25529
25530 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
25531 is a whole disk
25532
e76fc924 255332009-06-08 Felix Zielcke <fzielcke@z-51.de>
25534
25535 * Makefile.in (uninstall): Remove all $include_DATA files.
25536
ba5a0d05 255372009-06-08 Felix Zielcke <fzielcke@z-51.de>
25538
25539 * commands/true.c: New file. Implement the true and false commands.
25540 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
25541 (true_mod_SOURCES): New variable.
25542 (true_mod_CFLAGS): Likewise.
25543 (true_mod_LDFLAGS): Likewise.
25544
c8048e32 255452009-06-05 Colin D Bennett <colin@gibibit.com>
25546
25547 Optimized font character lookup using binary search instead of linear
25548 search. Fonts now are required to have the character index ordered by
25549 code point.
25550
25551 * font/font.c (load_font_index): Verify that fonts have ordered
25552 character indices.
25553 (find_glyph): Use binary search instead of linear search to find a
25554 character in a font.
25555
408305be 255562009-06-05 Michael Scherer <misc@mandriva.org>
25557
25558 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
25559 uses case sensitive btree.
25560 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
25561 only for case insensitive filesystems.
25562
8ee1e0d9 255632009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
25564
25565 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
25566 * conf/common.rmk (search_mod_CFLAGS): likewise
25567
a9966eb1 255682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25569
473d1e45 25570 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 25571 compensate a compiler bug
25572
9e7100fb 255732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25574
473d1e45 25575 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 25576 instead of '\b'
473d1e45 25577
ede21d71 255782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25579
25580 Definitions for creating asm symbols with Apple's CC
25581
25582 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
25583 [APPLE_CC] (VARIABLE): likewise
25584
9dbf7653 255852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25586
25587 Disable lnxboot.img when compiled
25588 with Apple's CC
25589
25590 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
25591 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
25592 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
25593 [! APPLE_CC] (CODE_LENG): skip
25594 [! APPLE_CC] (setup_sects): likewise
25595 [! APPLE_CC]: skip filling
473d1e45 25596
e93cdc3d 255972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25598
25599 Address in trampolines based on 32-bit registers when compiled
25600 with Apple's CC
25601
473d1e45 25602 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 25603 for addresses
25604 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
25605
6c688477 256062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25607
25608 Avoid aliases when compiling with Apple's CC for PCBIOS machine
25609
25610 * kern/misc.c [APPLE_CC] (memcpy): new function
25611 [APPLE_CC] (memmove): likewise
25612 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 25613 (memcpy): define alias conditionally on !APPLE_CC
6c688477 25614 (memset): likewise
25615 (abort): likewise
25616 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
25617 APPLE_CC are defined
25618 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
25619 (grub_assert_fail): make prototype conditional
25620
e37ffc5c 256212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25622
25623 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
25624
473d1e45 25625 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
25626 grub-macho2img
e37ffc5c 25627 (CLEANFILES): add grub-macho2img
25628 (grub_macho2img_SOURCES): new variable
25629 * kern/i386/pc/startup.S (bss_start): new variable
25630 (bss_end): likewise
25631 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
25632 * util/grub-macho2img.c: new file
25633
cf00df31 256342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25635
25636 Use objconv when compiling with Apple's CC
25637
25638 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
25639 (efiemu64.o): likewise
25640 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
25641 when compiling with Apple's CC
25642 (efiemu64_s.o): likewise
25643 * configure.ac: check for objconv when compiling with Apple's CC
25644 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 25645
d119a20c 256462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25647
25648 Define segment as well as section when compiling with
25649 Apple's CC
25650
25651 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
25652 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
25653 (efiemu_convert_pointer): likewise
25654 (efiemu_set_virtual_address_map): likewise
25655 (efiemu_convert_pointer): likewise
25656 (efiemu_getcrc32): likewise
25657 (init_crc32_table): likewise
25658 (reflect): likewise
25659 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
25660 (GRUB_MOD_DEP): likewise
473d1e45 25661
c8600122 256622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25663
25664 Allow a compilation without -mcmodel=large
25665
25666 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
25667 when compiled without -mcmodel=large
473d1e45 25668 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 25669 without -mcmodel=large
473d1e45 25670 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 25671 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 25672
e8df1d4e 256732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25674
25675 Remove nested functions in efiemu core
25676
25677 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 25678
cc6c3ac1 256792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25680
25681 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
25682
25683 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
25684 temporary storage
473d1e45 25685 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
25686 using Apple's CC
cc6c3ac1 25687 (grub_cpu_is_tsc_supported): likewise
25688 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 25689
3e325901 256902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25691
25692 Absolute addressing through constant with Apple's cc
25693
25694 * kern/i386/pc/startup.S: Define necessary constants
25695 and address through it when using ABS with Apple's CC
25696 * boot/i386/pc/diskboot.S: likewise
25697 * boot/i386/pc/boot.S: likewise
25698 * boot/i386/pc/lnxboot.S: likewise
25699 * boot/i386/pc/cdboot.S: likewise
25700 * mmap/i386/pc/mmap_helper.S: likewise
25701 * commands/i386/pc/drivemap_int13h.S: likewise
25702
2b167a72 257032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25704
25705 Check if compiler is apple cc
25706
25707 * Makefile.in (ASFLAGS): new variable
25708 (TARGET_ASFLAGS): likewise
25709 (TARGET_MODULE_FORMAT): likewise
25710 (TARGET_APPLE_CC): likewise
25711 (OBJCONV): likewise
25712 (TARGET_IMG_CFLAGS): likewise
25713 (TARGET_CPPFLAGS): add includedir
25714 * configure.ac: call grub_apple_cc and grub_apple_target_cc
25715 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
25716 Check for linker script only if compiler isn't Apple's CC
25717 (TARGET_MODULE_FORMAT): set
25718 (TARGET_APPLE_CC): likewise
25719 (TARGET_ASFLAGS): likewise
25720 (ASFLAGS): likewise
25721 Check for objcopy only if compiler isn't Apple's CC
25722 Check for BSS symbol only if compiler isn't Apple's CC
25723 * genmk.rb: adapt nm options if we use Apple's utils
25724 * aclocal.m4 (grub_apple_cc): new test
25725 (grub_apple_target_cc): likewise
473d1e45 25726
fb14123e 257272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25728
25729 Simplify sed expressions and improve awk
25730
25731 * Makefile.in (install-local): simplify sed expression
25732 * gencmdlist.sh: likewise
25733 * genmoddep.awk: avoid adding module as a dependency of itself
25734
5b889789 257352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25736
25737 Add missing start symbols
25738
25739 * boot/i386/pc/boot.S: add start
fb14123e 25740 * boot/i386/pc/pxeboot.S: likewise
473d1e45 25741
fd2bf2e3 257422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25743
25744 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 25745
25746 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 25747 (relocate_addresses): consider both r_addend and value at offset
25748 (make_mods_section): zerofill modinfo and header
25749 (convert_elf): write prefix here
473d1e45 25750
5389763d 257512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25752
25753 Use .asciz instead of .string
25754
25755 * i386/pc/diskboot.S: use .asciz instead of .string
25756 * i386/pc/boot.S: likewise
25757 * include/grub/dl.h (GRUB_MOD_DEP): likewise
25758 (GRUB_MOD_NAME): likewise
473d1e45 25759
3eb5ed4e 257602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25761
25762 gfxpayload support
25763
25764 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
25765 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
25766 (grub_video_setup): remove
25767 (grub_video_set_mode): new prototype
25768 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
25769 (vid_mode): remove
25770 (linux_vesafb_res): compile only on PCBIOS
25771 (grub_linux_boot): support gfxpayload
25772 * loader/i386/pc/xnu.c (video_hook): new function
25773 (grub_xnu_set_video): support gfxpayload
25774 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
25775 (DEFAULT_VIDEO_HEIGHT): likewise
25776 (DEFAULT_VIDEO_FLAGS): likewise
25777 (DEFAULT_VIDEO_MODE): new definition
25778 (video_hook): new function
25779 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 25780 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 25781 loading xnu
25782 * video/video.c (grub_video_setup): removed
473d1e45 25783 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 25784 grub_video_setup
25785
4b0e1143 257862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25787
25788 Avoid calling biosdisk in drivemap
25789
25790 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
25791 (revparse_biosdisk): likewise
25792 (list_mappings): derive name from id directly
25793 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 25794
fda6cb98 257952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25796
25797 Script fixes
25798
25799 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
25800 (grub_lexer_param): add tokenonhold
25801 (grub_script_create_cmdline): remove cmdline. All callers updated
25802 (grub_script_function_create): make functionname
25803 grub_script_arg. All callers updated
25804 (grub_script_execute_argument_to_string): new prototype
25805 * kern/parser.c (state_transitions): reorder
25806 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 25807 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 25808 make global
25809 (grub_script_execute_cmdline): use new format
25810 * script/sh/function.c (grub_script_function_create): make functionname
25811 grub_script_arg. All callers updated
473d1e45 25812 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 25813 (grub_script_yylex): remove
25814 (grub_script_yylex2): renamed to ...
25815 (grub_script_yylex): ...renamed
25816 parse the expressions like a${b}c
25817 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
25818 (GRUB_PARSER_TOKEN_VAR): remove
25819 (GRUB_PARSER_TOKEN_NAME): likewise
25820 ("if"): declare as typeless
25821 ("while"): likewise
25822 ("function"): likewise
25823 ("else"): likewise
25824 ("then"): likewise
25825 ("fi"): likewise
25826 (text): remove
25827 (argument): likewise
25828 (script): accept empty scripts and make exit on error
25829 (arguments): use GRUB_PARSER_TOKEN_ARG
25830 (function): likewise
25831 (command): move error handling to script
25832 (menuentry): move grub_script_lexer_ref before
473d1e45 25833 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 25834 argument. All callers updated
25835
f4448a07 258362009-06-04 Robert Millan <rmh.grub@aybabtu.com>
25837
25838 Prevent GRUB from probing floppies during boot.
25839
25840 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
25841 * commands/search.c (options): Add --no-floppy.
25842 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
25843 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
25844 --no-floppy when searching for UUIDs.
25845
2bf5885a 258462009-06-04 Robert Millan <rmh.grub@aybabtu.com>
25847
25848 Simplify the code duplication in commands/search.c.
25849
25850 * commands/search.c (search_label, search_fs_uuid): Merge into ...
25851 (search_fs): ... this. Update all users.
25852
f6fd460a 258532009-06-03 Felix Zielcke <fzielcke@z-51.de>
25854
25855 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
25856
cbb3c83e 258572009-05-28 Pavel Roskin <proski@gnu.org>
25858
57788cfd 25859 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
25860 Remove the original symlink explicitly.
25861
cbb3c83e 25862 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
25863 just one slash. That's how grub_fshelp_find_file() does it.
25864
cd0d5e30 258652009-05-26 Pavel Roskin <proski@gnu.org>
25866
f0f8bbe2 25867 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
25868 to `str'.
25869
cd0d5e30 25870 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
25871 possibly unused.
25872
8c2cab51 258732009-05-25 Christian Franke <franke@computer.org>
25874
25875 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
25876 register.
25877 (grub_atapi_identify): Add wait after drive select.
25878 (grub_ata_identify): Do more strict status register check before
25879 calling grub_atapi_identify (). Suppress error message if status
25880 register is 0x00 after command failure. Add status register
25881 check after PIO read to avoid bogus identify due to stuck DRQ.
25882 Thanks to Pavel Roskin for testing.
25883 (grub_device_initialize): Remove unsafe status register check.
25884 Thanks to 'phcoder' for problem report and patch.
25885 Prevent sign extension in debug message.
25886
230c0ad6 258872009-05-23 Colin D Bennett <colin@gibibit.com>
25888
25889 Cleaned up `include/grub/normal.h'. Grouped prototypes by
25890 definition file, and functions defined in `normal/menu.c' have had
25891 their prototypes moved to `include/grub/menu.h' for consistency.
25892
25893 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
25894 from normal.h.
25895 (grub_menu_get_entry): Likewise.
25896 (grub_menu_get_timeout): Likewise.
25897 (grub_menu_set_timeout): Likewise.
25898 (grub_menu_execute_entry): Likewise.
25899 (grub_menu_execute_with_fallback): Likewise.
25900 (grub_menu_entry_run): Likewise.
25901
25902 * include/grub/normal.h: Re-ordered and grouped function
25903 prototypes by file that the function is defined in.
25904 (grub_menu_execute_callback): Removed; moved to menu.h.
25905 (grub_menu_get_entry): Likewise.
25906 (grub_menu_get_timeout): Likewise.
25907 (grub_menu_set_timeout): Likewise.
25908 (grub_menu_execute_entry): Likewise.
25909 (grub_menu_execute_with_fallback): Likewise.
25910 (grub_menu_entry_run): Likewise.
25911 (grub_menu_addentry): Renamed from this ...
25912 (grub_normal_add_menu_entry): ... to this.
25913
25914 * normal/main.c (grub_menu_addentry): Renamed from this ...
25915 (grub_normal_add_menu_entry): ... to this.
25916
25917 * script/sh/execute.c (grub_script_execute_menuentry): Update
25918 reference to renamed grub_menu_addentry function.
25919
861f03a5 259202009-05-23 Felix Zielcke <fzielcke@z-51.de>
25921
25922 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
25923
96b1619a 259242009-05-22 Pavel Roskin <proski@gnu.org>
25925
bf6a5fb2 25926 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
25927 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
25928 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
25929 compiling for the i386 targets, but not for the utilities.
25930
96b1619a 25931 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
25932 to grub_uint8_t.
25933 (grub_root_drive): Likewise.
25934 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
25935 remove alignment.
25936 (grub_root_drive): Change size to byte.
25937 (grub_start_addr): Remove.
25938 (grub_end_addr): Likewise.
25939 (grub_apm_bios_info): Likewise.
25940
b729776b 259412009-05-21 Felix Zielcke <fzielcke@z-51.de>
25942
25943 * normal/i386: Remove.
25944 * normal/powerpc: Likewise.
25945 * normal/sparc64: Likewise.
25946 * normal/x86_64: Likewise.
25947
0a15ce80 259482009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
25949
25950 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 25951 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 25952 * loader/i386/xnu_helper.S: Likewise
d6da58e6 25953
33db9015 259542009-05-18 Colin D Bennett <colin@gibibit.com>
25955
d6da58e6 25956 Display error messages when parsing a Lua statement fails.
25957 Previously, executing a syntactically invalid statement like
25958 ")foo" or "bar;" would silently fail.
33db9015 25959
25960 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 25961 (grub_lua_parse_line): Improved reporting of Lua parser and
25962 execution errors.
33db9015 25963
46422c89 259642009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25965
25966 Remove -Werror which causes build to fail on some systems
25967
25968 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
25969 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
25970 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 25971
22f53a96 259722009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25973
25974 trampoline for linux on 64-bit platform
25975
18f547ad 25976 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
25977 loader/i386/efi/linux_trampoline.S
25978 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 25979 declaration
d6da58e6 25980 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
25981 here
22f53a96 25982 * loader/i386/linux_trampoline.S: moved here
d6da58e6 25983 * loader/i386/efi/linux.c (allocate_pages): reserve space for
25984 trampoline
22f53a96 25985 (jumpvector): removed
25986 (grub_linux_trampoline_start): new declaration
25987 (grub_linux_trampoline_end): likewise
25988 (grub_linux_boot): use trampoline when on 64-bit platform
25989 * loader/i386/linux.c: likewise
25990
cb5a0f40 259912009-05-16 Pavel Roskin <proski@gnu.org>
25992
25993 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
25994 const to avoid a warning.
25995 (grub_lua_setenv): Likewise.
25996 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
25997 lmsg to fix a warning.
25998
334f2c28 259992009-05-16 Felix Zielcke <fzielcke@z-51.de>
26000
26001 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 26002 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
26003 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
26004 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
26005 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
26006 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
26007 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
26008 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 26009
59e5d3ec 260102009-05-16 Felix Zielcke <fzielcke@z-51.de>
26011
26012 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
26013
9d87a1ba 260142009-05-16 Bean <bean123ch@gmail.com>
26015
26016 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
26017 (lua_mod_SOURCES): New variable.
26018 (lua_mod_CFLAGS): Likewise.
26019 (lua_mod_LDFLAGS): Likewise.
26020
26021 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
26022 (setjmp_mod_SOURCES): New variable.
26023 (setjmp_mod_CFLAGS): Likewise.
26024 (setjmp_LDFLAGS): Likewise.
26025
26026 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
26027 (setjmp_mod_SOURCES): New variable.
26028 (setjmp_mod_CFLAGS): Likewise.
26029 (setjmp_LDFLAGS): Likewise.
26030
26031 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
26032 (setjmp_mod_SOURCES): New variable.
26033 (setjmp_mod_CFLAGS): Likewise.
26034 (setjmp_LDFLAGS): Likewise.
26035
26036 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
26037 (setjmp_mod_SOURCES): New variable.
26038 (setjmp_mod_CFLAGS): Likewise.
26039 (setjmp_LDFLAGS): Likewise.
26040
26041 * normal/i386/setjmp.S: Moved from here ...
26042 * lib/i386/setjmp.S: ... Moved here
26043 * normal/x86_64/setjmp.S: Moved from here ...
26044 * lib/x86_64/setjmp.S: ... Moved here
26045 * normal/powerpc/setjmp.S: Moved from here ...
26046 * lib/powerpc/setjmp.S: ... Moved here
26047 * normal/sparc64/setjmp.S: Moved from here ...
26048 * lib/sparc64/setjmp.S: ... Moved here
26049
26050 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
26051 returns_twice in mingw.
26052
26053 * script/lua/grub_lib.c: New file.
26054 * script/lua/grub_lib.h: Likewise.
26055 * script/lua/grub_lua.h: Likewise.
26056 * script/lua/grub_main.c: Likewise.
26057 * script/lua/lapi.c: Likewise.
26058 * script/lua/lapi.h: Likewise.
26059 * script/lua/lauxlib.c: Likewise.
26060 * script/lua/lauxlib.h: Likewise.
26061 * script/lua/lbaselib.c: Likewise.
26062 * script/lua/lcode.c: Likewise.
26063 * script/lua/lcode.h: Likewise.
26064 * script/lua/ldblib.c: Likewise.
26065 * script/lua/ldebug.c: Likewise.
26066 * script/lua/ldebug.h: Likewise.
26067 * script/lua/ldo.c: Likewise.
26068 * script/lua/ldo.h: Likewise.
26069 * script/lua/ldump.c: Likewise.
26070 * script/lua/lfunc.c: Likewise.
26071 * script/lua/lfunc.h: Likewise.
26072 * script/lua/lgc.c: Likewise.
26073 * script/lua/lgc.h: Likewise.
26074 * script/lua/linit.c: Likewise.
26075 * script/lua/liolib.c: Likewise.
26076 * script/lua/llex.c: Likewise.
26077 * script/lua/llex.h: Likewise.
26078 * script/lua/llimits.h: Likewise.
26079 * script/lua/lmathlib.c: Likewise.
26080 * script/lua/lmem.c: Likewise.
26081 * script/lua/lmem.h: Likewise.
26082 * script/lua/loadlib.c: Likewise.
26083 * script/lua/lobject.c: Likewise.
26084 * script/lua/lobject.h: Likewise.
26085 * script/lua/lopcodes.c: Likewise.
26086 * script/lua/lopcodes.h: Likewise.
26087 * script/lua/loslib.c: Likewise.
26088 * script/lua/lparser.c: Likewise.
26089 * script/lua/lparser.h: Likewise.
26090 * script/lua/lstate.c: Likewise.
26091 * script/lua/lstate.h: Likewise.
26092 * script/lua/lstring.c: Likewise.
26093 * script/lua/lstring.h: Likewise.
26094 * script/lua/lstrlib.c: Likewise.
26095 * script/lua/ltable.c: Likewise.
26096 * script/lua/ltable.h: Likewise.
26097 * script/lua/ltablib.c: Likewise.
26098 * script/lua/ltm.c: Likewise.
26099 * script/lua/ltm.h: Likewise.
26100 * script/lua/lua.h: Likewise.
26101 * script/lua/luaconf.h: Likewise.
26102 * script/lua/lualib.h: Likewise.
26103 * script/lua/lundump.c: Likewise.
26104 * script/lua/lundump.h: Likewise.
26105 * script/lua/lvm.c: Likewise.
26106 * script/lua/lvm.h: Likewise.
26107 * script/lua/lzio.c: Likewise.
26108 * script/lua/lzio.h: Likewise.
26109
5e898c9d 261102009-05-16 Bean <bean123ch@gmail.com>
26111
26112 * include/grub/kernel.h (grub_module_header_types): Add type
26113 OBJ_TYPE_CONFIG.
26114
26115 * kern/main.c (grub_load_config): New function.
26116 (grub_main): Call grub_load_config to read boot config.
26117
26118 * grub-mkimage (generate_image): New parameter config_path.
26119 (options): New option --config.
26120 (main): Parse --config option, and pass it to generate_image.
26121
cf353a47 261222009-05-14 Christian Franke <franke@computer.org>
26123
26124 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
26125 This fixes build on Cygwin.
26126
3834887f 261272009-05-14 Pavel Roskin <proski@gnu.org>
26128
26129 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
26130 jump. This saves two bytes, so the typical case of 2 swapped
26131 drives would fit 32 bytes.
26132
8090fc01 261332009-05-13 Pavel Roskin <proski@gnu.org>
26134
ac963883 26135 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
26136 grub_uint32_t to avoid a warning.
26137
8090fc01 26138 * loader/i386/linux.c (allocate_pages): When assigning
26139 real_mode_mem, cast through grub_size_t to fix a warning. The
26140 code already makes sure that the value would fit a pointer.
26141 (grub_linux_setup_video): Cast render_target->data to
26142 grub_size_t to fix a warning.
26143
18f547ad 261442009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 26145
26146 * commands/i386/pc/drivemap.c: New file - implement drivemap
26147 command.
26148 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
26149 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
26150
6f6a8b28 261512009-05-13 Pavel Roskin <proski@gnu.org>
26152
26153 * util/i386/pc/grub-setup.c (setup): Remove unused variable
26154 embedding_area_exists.
26155
15fbf4c4 261562009-05-13 Robert Millan <rmh.grub@aybabtu.com>
26157
26158 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
26159 it easier to understand / work with.
59978c8a 26160 Improve warning messages for cases where there's no embedding area,
26161 or when it is too small (or core.img too large).
15fbf4c4 26162
238e871f 261632009-05-13 Pavel Roskin <proski@gnu.org>
26164
0ab3a9a4 26165 * loader/i386/pc/multiboot2.c: Add necessary includes for
26166 grub_multiboot2_real_boot().
26167
a2c8c5f8 26168 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
26169 PX record is always little-endian. We only need the lower 2
26170 bytes of the mode.
26171
faec96af 26172 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
26173 facilitate code reuse.
26174 (grub_cpio_mount): Use "struct head", not a char buffer. This
26175 fixes a warning reported by gcc 4.4.
26176
238e871f 26177 * kernel/disk.c (grub_disk_read): Use void pointer for the
26178 buffer.
26179 (grub_disk_write): Use const void pointer for the buffer.
26180 Adjust all callers. Remove unnecessary casts.
26181
901d2f0c 261822009-05-10 Robert Millan <rmh.grub@aybabtu.com>
26183
26184 * util/i386/pc/grub-install.in: Update copyright year.
26185
18f547ad 261862009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 26187
26188 gptsync
26189
26190 * commands/gptsync.c: new file
26191 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
26192 (gptsync_mod_SOURCES): new variable
26193 (gptsync_mod_CFLAGS): likewise
26194 (gptsync_mod_LDFLAGS): likewise
18f547ad 26195 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 26196 new definition
26197 (GRUB_PC_PARTITION_TYPE_HFS): likewise
26198 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
26199 * conf/i386-ieee1275.rmk: likewise
26200 * conf/i386-pc.rmk: likewise
26201 * conf/powerpc-ieee1275.rmk: likewise
26202
b4ba690a 262032009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
26204
26205 Fixed grub-emu
26206
26207 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
26208 (grub_dl_ref): likewise
26209
317e1a44 262102009-05-08 Robert Millan <rmh.grub@aybabtu.com>
26211
26212 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
26213 split in two functions (one for msdos and one for gpt).
26214
041b8094 262152009-05-08 Pavel Roskin <proski@gnu.org>
26216
752473c2 26217 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
26218 not modified.
26219
041b8094 26220 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
26221 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
26222 Initialize them with -1. Add sanity check for bad1. Eliminate
26223 nerr variable.
26224
172800ce 262252009-05-08 David S. Miller <davem@davemloft.net>
26226
26227 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
26228
29aa5e81 262292009-05-06 Robert Millan <rmh.grub@aybabtu.com>
26230
26231 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 26232 existence.
29aa5e81 26233
96613b62 262342009-05-05 Felix Zielcke <fzielcke@z-51.de>
26235
26236 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 26237 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 26238
eef73c8a 262392009-05-05 David S. Miller <davem@davemloft.net>
26240
26241 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
26242
119494b5 262432009-05-05 Pavel Roskin <proski@gnu.org>
26244
26245 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
26246 of grub_dl_ref() and grub_dl_unref().
26247 * commands/parttool.c: Remove preprocessor conditionals around
26248 grub_dl_ref() and grub_dl_unref().
26249 * fs/affs.c: Likewise.
26250 * fs/afs.c: Likewise.
26251 * fs/cpio.c: Likewise.
26252 * fs/ext2.c: Likewise.
26253 * fs/fat.c: Likewise.
26254 * fs/hfs.c: Likewise.
26255 * fs/hfsplus.c: Likewise.
26256 * fs/iso9660.c: Likewise.
26257 * fs/jfs.c: Likewise.
26258 * fs/minix.c: Likewise.
26259 * fs/ntfs.c: Likewise.
26260 * fs/reiserfs.c: Likewise.
26261 * fs/sfs.c: Likewise.
26262 * fs/udf.c: Likewise.
26263 * fs/ufs.c: Likewise.
26264 * fs/xfs.c: Likewise.
26265 * include/grub/dl.h: Likewise.
26266 * loader/xnu.c: Likewise.
26267
de5fd76e 262682009-05-04 Pavel Roskin <proski@gnu.org>
26269
26270 * commands/acpi.c: Remove unused variable my_mod.
26271 * partmap/amiga.c: Likewise.
26272 * partmap/apple.c: Likewise.
26273 * partmap/gpt.c: Likewise.
26274 * partmap/pc.c: Likewise.
26275 * partmap/sun.c: Likewise.
26276 * term/gfxterm.c: Likewise.
26277 * term/i386/pc/vesafb.c: Likewise.
26278 * term/i386/pc/vga.c: Likewise.
26279
983598ad 262802009-05-04 David S. Miller <davem@davemloft.net>
26281
26282 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
26283 pointer args to grub_ieee1275_get_property().
26284
8aadec43 26285 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
26286
9554b15e 26287 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
26288 devices, and do not traverse down under controller nodes.
26289
67e23c90 26290 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
26291 (grub_ofdisk_open): Use it to un-escape "," characters.
26292 * kern/disk.c (find_part_sep): New.
26293 (grub_disk_open): Use it to find the first non-escaped ','
26294 character in the disk name.
26295 * util/ieee1275/devicemap.c (escape_of_path): New.
26296 (grub_util_emit_devicemap_entry): Use it.
26297 * util/sparc64/ieee1275/grub-install.in: Update script to
26298 strip partition specifiers properly by not triggering on
26299 '\' escaped ',' characters.
26300
74bfdd2f 263012009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26302
26303 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
26304 to 0x300.
26305 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
26306 resolutions.
26307 (linux_vesafb_modes): Add a lot of additional modes to the list (based
26308 on documentation from Wikipedia).
26309
4241d2b1 263102009-05-04 Pavel Roskin <proski@gnu.org>
26311
26312 * disk/ata.c: Spelling fixes.
26313 * disk/raid.c: Likewise.
26314 * disk/usbms.c: Likewise.
26315 * disk/dmraid_nvidia.c: Likewise.
26316 * kern/ieee1275/openfw.c: Likewise.
26317 * kern/ieee1275/init.c: Likewise.
26318 * kern/ieee1275/cmain.c: Likewise.
26319 * boot/i386/pc/cdboot.S: Likewise.
26320 * video/readers/png.c: Likewise.
26321 * video/i386/pc/vbe.c: Likewise.
26322 * fs/udf.c: Likewise.
26323 * fs/hfs.c: Likewise.
26324 * fs/reiserfs.c: Likewise.
26325 * efiemu/runtime/efiemu.c: Likewise.
26326 * efiemu/main.c: Likewise.
26327 * efiemu/mm.c: Likewise.
26328 * include/grub/elf.h: Likewise.
26329 * include/grub/xnu.h: Likewise.
26330 * include/grub/usbdesc.h: Likewise.
26331 * include/grub/usb.h: Likewise.
26332 * include/grub/script_sh.h: Likewise.
26333 * include/grub/lib/LzmaEnc.h: Likewise.
26334 * include/grub/efiemu/efiemu.h: Likewise.
26335 * include/grub/command.h: Likewise.
26336 * normal/menu.c: Likewise.
26337 * normal/main.c: Likewise.
26338 * normal/datetime.c: Likewise.
26339 * bus/usb/uhci.c: Likewise.
26340 * mmap/i386/uppermem.c: Likewise.
26341 * mmap/mmap.c: Likewise.
26342 * commands/acpi.c: Likewise.
26343 * commands/test.c: Likewise.
26344 * partmap/apple.c: Likewise.
26345 * font/font.c: Likewise.
26346 * loader/sparc64/ieee1275/linux.c: Likewise.
26347 * loader/macho.c: Likewise.
26348 * loader/i386/bsd_trampoline.S: Likewise.
26349 * loader/i386/bsd.c: Likewise.
26350 * loader/xnu.c: Likewise.
26351 * term/i386/pc/vesafb.c: Likewise.
26352 * term/usb_keyboard.c: Likewise.
26353 * util/resolve.c: Likewise.
26354 * util/getroot.c: Likewise.
26355
0cfc0083 263562009-05-04 Felix Zielcke <fzielcke@z-51.de>
26357
26358 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
26359
7c1d00cd 263602009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26361
26362 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
26363 build error.
26364
b01f0548 263652009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26366
26367 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
26368 parameter only available on BIOS.
26369
ecc3eb22 263702009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26371
26372 Removed wrong semicolon in declaration
26373
26374 * grub/misc.h (grub_dprintf): remove semicolon
26375
112972a9 263762009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26377
26378 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
26379 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
26380 is done by grub_cmd_linux() now).
26381 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
26382 restore video to text mode.
26383 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
26384 indicates lack of "vga=" parameter. "vga=0" is mapped to
26385 `GRUB_LINUX_VID_MODE_NORMAL'.
26386
afd5c115 263872009-05-04 Felix Zielcke <fzielcke@z-51.de>
26388
26389 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
26390 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
26391 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 26392 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 26393 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
26394 `grub_script.tab.c'.
26395
26396 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26397 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26398 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26399 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26400 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26401
faa517ce 26402 * Makefile.in: Remove duplicated 2008 in Copyright line.
26403
ae0c0bdc 264042009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26405
473d1e45 26406 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 26407 unconditionally.
26408 * include/grub/util/misc.h (grub_util_warn): New declaration.
26409
26410 * util/i386/pc/grub-install.in: Understand --force and pass it down
26411 to grub-setup.
26412
26413 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
26414 down to setup().
26415 (setup): Improve error messages and add warnings when requested to
26416 install in odd layouts. Refuse to install using blocklists unless
26417 --force was set.
26418
18f547ad 264192009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 26420
26421 * disk/raid.c (grub_raid_scan_device): Improve debug message.
26422
6d260daa 264232009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26424
26425 Updated copyright year
26426
26427 * fs/hfsplus.c: updated copyright year
18f547ad 26428
69f853f8 264292009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26430
26431 HFS+ UUID
26432
18f547ad 26433 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 26434 in the space previously used by unused3
26435 (grub_hfsplus_uuid): new function
26436 (grub_hfsplus_fs): added uuid field
26437
4c402e73 264382009-05-03 Pavel Roskin <proski@gnu.org>
26439
26440 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
26441 suppress warnings. It's no longer needed.
26442 * disk/host.c: Likewise.
26443 * disk/ata_pthru.c: Likewise.
26444 * disk/loopback.c: Likewise.
26445 * hook/datehook.c: Likewise.
26446 * parttool/pcpart.c: Likewise.
26447 * fs/i386/pc/pxe.c: Likewise.
26448 * fs/ntfscomp.c: Likewise.
26449 * efiemu/main.c: Likewise.
26450 * mmap/mmap.c: Likewise.
26451 * commands/crc.c: Likewise.
26452 * commands/hexdump.c: Likewise.
26453 * commands/hdparm.c: Likewise.
26454 * commands/acpi.c: Likewise.
26455 * commands/echo.c: Likewise.
26456 * commands/minicmd.c: Likewise.
26457 * commands/blocklist.c: Likewise.
26458 * commands/memrw.c: Likewise.
26459 * commands/loadenv.c: Likewise.
26460 * commands/usbtest.c: Likewise.
26461 * commands/lsmmap.c: Likewise.
26462 * commands/boot.c: Likewise.
26463 * commands/parttool.c: Likewise.
26464 * commands/configfile.c: Likewise.
26465 * commands/search.c: Likewise.
26466 * commands/ieee1275/suspend.c: Likewise.
26467 * commands/cat.c: Likewise.
26468 * commands/i386/pc/pxecmd.c: Likewise.
26469 * commands/i386/pc/play.c: Likewise.
26470 * commands/i386/pc/halt.c: Likewise.
26471 * commands/i386/pc/vbeinfo.c: Likewise.
26472 * commands/i386/pc/vbetest.c: Likewise.
26473 * commands/lspci.c: Likewise.
26474 * commands/date.c: Likewise.
26475 * commands/handler.c: Likewise.
26476 * commands/ls.c: Likewise.
26477 * commands/test.c: Likewise.
26478 * commands/cmp.c: Likewise.
26479 * commands/efi/loadbios.c: Likewise.
26480 * commands/efi/fixvideo.c: Likewise.
26481 * commands/halt.c: Likewise.
26482 * commands/help.c: Likewise.
26483 * commands/reboot.c: Likewise.
26484 * hello/hello.c: Likewise.
26485 * script/sh/main.c: Likewise.
26486 * loader/xnu.c: Likewise.
26487 * term/terminfo.c: Likewise.
26488 * term/i386/pc/serial.c: Likewise.
26489 * term/usb_keyboard.c: Likewise.
26490
515b5079 264912009-05-03 David S. Miller <davem@davemloft.net>
26492
26493 * normal/menu.c: Include grub/parser.h
26494
dfc31a22 264952009-05-03 Pavel Roskin <proski@gnu.org>
26496
2fee74f1 26497 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
26498 not char*.
26499 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
26500 Suggested by Javier Martín <lordhabbit@gmail.com>
26501
dfc31a22 26502 * util/i386/pc/grub-mkrescue.in: Allow for the case when
26503 efiemu??.o doesn't exist.
26504 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
26505 copying.
26506
18f547ad 265072009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 26508
26509 FreeBSD 64-bit support
26510
18f547ad 26511 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 26512 and loader/i386/bsd_trampoline.S
26513 (bsd_mod_ASFLAGS): new variable
26514 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
26515 (FREEBSD_MODTYPE_KERNEL64): likewise
26516 (grub_bsd64_trampoline_start): likewise
26517 (grub_bsd64_trampoline_end): likewise
26518 (grub_bsd64_trampoline_selfjump): likewise
26519 (grub_bsd64_trampoline_gdt): likewise
26520 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
26521 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
26522 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
26523 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 26524 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 26525 of "attrib" member
26526 * loader/i386/bsd_pagetable.c: new file
26527 * loader/i386/bsd_trampoline.S: likewise
26528 * loader/i386/bsd.c (ALIGN_QWORD): new macro
26529 (ALIGN_VAR): likewise
26530 (entry_hi): new variable
26531 (kern_end_mdofs): likewise
26532 (is_64bit): likewise
26533 (grub_freebsd_add_meta): use ALIGN_VAR
26534 (grub_e820_mmap): new declaration
26535 (grub_freebsd_add_mmap): new function
26536 (grub_freebsd_add_meta_module): support 64 bit kernels
26537 (grub_freebsd_list_modules): use ALIGN_VAR
26538 (gdt_descriptor): new declaration
26539 (grub_freebsd_boot): support 64 bit kernels
26540 (grub_bsd_elf64_hook): new function
26541 (grub_bsd_load_elf): support elf64
26542
038c5720 265432009-05-03 Bean <bean123ch@gmail.com>
26544
26545 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
26546 after we get the result of if statement.
26547
fc45fb58 265482009-05-03 Bean <bean123ch@gmail.com>
26549
26550 * Makefile.in (enable_efiemu): New variable.
26551
26552 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
26553 set.
26554 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
26555 path.
26556 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
26557 path, add -mno-red-zone option.
26558 (efiemu64_s.o): Likewise.
26559 (efiemu64.o): Use macro $^ for source file.
26560
26561 * configure.ac (--enable-efiemu): New option.
26562
bbee0f2b 265632009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26564
26565 xnu support
26566
26567 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
26568 (pkglib_MODULES): add xnu.mod
26569 (xnu_mod_SOURCES): new variable
26570 (xnu_mod_CFLAGS): likewise
26571 (xnu_mod_LDFLAGS): likewise
26572 (xnu_mod_ASFLAGS): likewise
26573 * conf/i386-pc.rmk: likewise
26574 * conf/x86_64-efi.rmk: likewise
7dd4a573 26575 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 26576 new declaration
26577 * include/grub/i386/macho.h: new file
26578 * include/grub/i386/xnu.h: likewise
26579 * include/grub/macho.h: likewise
26580 * include/grub/machoload.h: likewise
26581 * include/grub/x86_64/macho.h: likewise
26582 * include/grub/x86_64/xnu.h: likewise
26583 * include/grub/xnu.h: likewise
26584 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
26585 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
26586 * loader/i386/efi/xnu.c: new file
26587 * loader/i386/pc/xnu.c: likewise
26588 * loader/i386/xnu.c: likewise
26589 * loader/i386/xnu_helper.S: likewise
26590 * loader/macho.c: likewise
26591 * loader/xnu.c: likewise
26592 * loader/xnu_resume.c: likewise
26593 * util/grub-dumpdevtree: likewise
26594 * include/grub/i386/pit.h: include grub/err.h
26595 (grub_pit_wait): export
26596 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 26597
5caf964d 265982009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26599
26600 Efiemu
7dd4a573 26601
5caf964d 26602 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 26603 _linux_efi, linux_efi.
26604 new files in grub-emu
5caf964d 26605 new targets efiemu32.o and efiemu64.o
26606 * loader/linux_normal_efiemu.c: likewise
26607 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 26608 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 26609 files to copy
26610 * include/grub/autoefi.h: new file
7dd4a573 26611 * include/grub/i386/efiemu.h: likewise
5caf964d 26612 * include/grub/i386/pc/efiemu.h: likewise
26613 * include/grub/efi/api.h: add LL suffix when necessary
26614 new definitions relating to tables
26615 * include/grub/efiemu/efiemu.h: new file
26616 * include/grub/efiemu/runtime.h: likewise
26617 * efiemu/prepare.c: likewise
26618 * efiemu/loadcore_common.c: likewise
26619 * efiemu/loadcore64.c: likewise
26620 * efiemu/runtime/efiemu.sh: likewise
26621 * efiemu/runtime/efiemu.S: likewise
26622 * efiemu/runtime/efiemu.c: likewise
26623 * efiemu/runtime/config.h: likewise
26624 * efiemu/prepare32.c: likewise
26625 * efiemu/main.c: likewise
26626 * efiemu/modules/pnvram.c: likewise
26627 * efiemu/modules/i386: likewise
26628 * efiemu/modules/i386/pc: likewise
26629 * efiemu/modules/acpi.c: likewise
26630 * efiemu/i386/pc/cfgtables.c: likewise
26631 * efiemu/i386/loadcore64.c: likewise
26632 * efiemu/i386/loadcore32.c: likewise
26633 * efiemu/prepare64.c: likewise
26634 * efiemu/loadcore.c: likewise
26635 * efiemu/symbols.c: likewise
26636 * efiemu/mm.c: likewise
26637 * efiemu/loadcore32.c: likewise
7dd4a573 26638
266392009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 26640
26641 ACPI spoofing
26642
26643 * commands/acpi.c: new file
26644 * commands/i386/pc/acpi.c: likewise
26645 * commands/efi/acpi.c: likewise
26646 * include/grub/acpi.h: likewise
26647 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
26648 (acpi_mod_SOURCES): new variable
26649 (acpi_mod_CFLAGS): likewise
26650 (acpi_mod_LDFLAGS): likewise
26651 * conf/i386-efi.rmk: likewise
26652 * conf/x86_64-efi.rmk: likewise
26653
7dd4a573 266542009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 26655
26656 Missing part from mmap patch
26657
26658 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
26659 (grub_mmap_unregister)
26660 (grub_mmap_free_and_unregister): use grub_mmap_register
26661
7dd4a573 266622009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 26663
26664 Mmap services
26665
26666 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
26667 * loader/i386/linux.c (find_mmap_size): likewise
26668 (allocate_pages): likewise
26669 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
26670 (grub_fill_multiboot_mmap): likewise
26671 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
26672 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
26673 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
26674 (OPENBSD_MMAP_RESERVED): likewise
26675 * include/grub/i386/pc/memory.h: include grub/memory.h
26676 (grub_lower_mem): removed
26677 (grub_upper_mem): likewise
26678 (GRUB_MACHINE_MEMORY_ACPI): new definition
26679 (GRUB_MACHINE_MEMORY_NVS): likewise
26680 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
26681 (GRUB_MACHINE_MEMORY_HOLE): likewise
26682 (grub_machine_mmap_register): likewise
26683 (grub_machine_mmap_unregister): likewise
26684 (grub_machine_get_upper): likewise
26685 (grub_machine_get_lower): likewise
26686 (grub_machine_get_post64): likewise
26687 * include/grub/i386/efi/memory.h: new file
26688 * include/grub/x86_64/efi/memory.h: likewise
26689 * include/grub/efi/memory.h: likewise
26690 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
26691 (mmap_mod_SOURCES): new variable
26692 (mmap_mod_LDFLAGS): likewise
26693 (mmap_mod_ASFLAGS): likewise
26694 * conf/i386-coreboot.rmk: likewise
26695 * conf/i386-ieee1275.rmk: likewise
26696 * conf/i386-efi.rmk: likewise
26697 * conf/x86_64-efi.rmk: likewise
26698 * include/grub/types.h (UINT_TO_PTR): new macro
26699 (PTR_TO_UINT32): likewise
26700 (PTR_TO_UINT64): likewise
26701 * include/grub/memory.h: new file
26702 * mmap/i386/pc/mmap.c: likewise
26703 * mmap/i386/pc/mmap_helper.S: likewise
26704 * mmap/i386/uppermem.c: likewise
26705 * mmap/mmap.c: likewise
26706 * mmap/efi/mmap.c: likewise
7dd4a573 26707 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 26708 grub_upper_mem
26709 * kern/i386/pc/init.c (grub_lower_mem): removed variable
26710 (grub_upper_mem): likewise
26711 (grub_machine_init): don't use grub_upper_mem,
26712 make grub_lower_mem local
26713 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
26714 grub_mmap_iterate and grub_mmap_get_upper
26715 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
26716
d558e6b5 267172009-05-02 Bean <bean123ch@gmail.com>
26718
26719 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
26720 script/sh/parser.y.
26721 (pkglib_MODULES): Add normal.mod and sh.mod.
26722 (normal_SOURCES): New variable.
26723 (normal_mod_CFLAGS): Likewise.
26724 (normal_mod_LDFLAGS): Likewise.
26725 (sh_mod_SOURCES): Likewise.
26726 (sh_mod_CFLAGS): Likewise.
26727 (sh_mod_LDFLAGS): Likewise.
26728
26729 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
26730 script/sh/lexer.c_DEPENDENCIES.
26731 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
26732 kern/rescue_reader.c and kern/rescue_parser.c.
26733 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
26734 (grub_emu_SOURCES): Change source files.
26735 (pkglib_MODULES): Remove normal.mod.
26736 (normal_SOURCES): Removed.
26737 (normal_mod_CFLAGS): Likewise.
26738 (normal_mod_LDFLAGS): Likewise.
26739 * conf/i386-coreboot.rmk: Likewise.
26740 * conf/i386-efi.rmk: Likewise.
26741 * conf/i386-ieee1276.rmk: Likewise.
26742 * conf/powerpc-ieee1275.rmk: Likewise.
26743 * conf/sparc64-ieee1275.rmk: Likewise.
26744 * conf/x86_64-efi.rmk: Likewise.
26745
26746 * include/grub/command.h (grub_command_execute): New inline function.
26747
26748 * include/grub/menu.h (grub_menu_entry): Removed commands field.
26749
26750 * include/grub/normal.h: Remove <grub/setjmp.h>.
26751 (grub_fs_module_list): Moved to normal/autofs.c.
26752 (grub_exit_env): Removed.
26753 (grub_command_execute): Likewise.
26754 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
26755 parameter script.
26756 (read_command_list): New function declaration.
26757 (read_fs_list): Likewise.
26758
26759 * include/parser.h: Include <grub/reader.h>.
26760 (grub_parser_split_cmdline): Change type of getline parameter.
26761 (grub_parser): New structure.
26762 (grub_parser_class): New variable.
26763 (grub_parser_execute): New function declaration.
26764 (grub_register_rescue_parser): Likewise.
26765 (grub_parser_register): New inline function.
26766 (grub_parser_unregister): Likewise.
26767 (grub_parser_get_current): Likewise.
26768 (grub_parser_set_current): Likewise.
26769
26770 * include/grub/reader.h: New file.
26771 * kern/reader.c: Likewise.
26772 * kern/rescue_parser.c: Likewise.
26773 * kern/rescue_reader.c: Likewise.
26774 * normal/autofs.c: Likewise.
26775 * normal/dyncmd.c: Likewise.
26776
26777 * include/grub/rescue.h: Removed.
26778 * normal/command.h: Likewise.
26779
26780 * include/grub/script.h: Moved to ...
26781 * include/grub/script_sh.h: ... Moved here.
26782 * normal/execute.c: Moved to ...
26783 * script/sh/execute.c: ... Moved here.
26784 * normal/function.c: Moved to ...
26785 * script/sh/function.c: ... Moved here.
26786 * normal/lexer.c: Moved to ...
26787 * script/sh/lexer.c: ... Moved here.
26788 * normal/parser.y: Moved to ...
26789 * script/sh/parser.y: ... Moved here.
26790 * normal/script.c: Moved to ...
26791 * script/sh/script.c: ... Moved here.
26792
26793 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
26794 <grub/reader.h>.
26795 (grub_exit_env): Removed.
26796 (fs_module_list): Moved to normal/autofs.c.
26797 (grub_file_getline): Don't handle comment here.
26798 (free_menu): Skip removed field entry->commands.
26799 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
26800 script parameter.
26801 (read_config_file): Removed nested parameter, change getline function.
26802 (grub_enter_normal_mode): Removed.
26803 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
26804 (read_command_list): Likewise.
26805 (autoload_fs_module): Moved to normal/autofs.c.
26806 (read_fs_list): Likewise.
26807 (reader_nested): New variable.
26808 (grub_normal_execute): Run parser.sh to switch to sh parser.
26809 (grub_cmd_rescue): Removed.
26810 (cmd_normal): Removed.
26811 (grub_cmd_normal): Unregister itself at the beginning. Don't register
26812 rescue command.
26813 (grub_cmdline_run): New function.
26814 (grub_normal_reader_init): Likewise.
26815 (grub_normal_read_line): Likewise.
26816 (grub_env_write_pager): Likewise.
26817 (cmdline): New variable.
26818 (grub_normal_reader): Likewise.
26819 (GRUB_MOD_INIT): Register normal reader and set as current, register
26820 pager hook, register normal command with grub_register_command_prio,
26821 so that it won't show up in command.lst.
26822 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
26823 grub_fs_autoload_hook.
26824
26825 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
26826 (grub_menu_execute_entry): Replace grub_script_execute with
26827 grub_parser_execute, change parameter to grub_command_execute.
26828
26829 * normal/menu_text.c: Remove <grub/script.h>.
26830
26831 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
26832 and <grub/parser.h>.
26833 (run): Change editor_getline to use new parser interface. Change
26834 parameter to grub_command_execute.
26835
26836 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
26837 <grub/reader.h> and <grub/parser.h>.
26838 (grub_load_normal_mode): Execute normal command.
26839 (grub_main): Call grub_register_core_commands,
26840 grub_register_rescue_parser and grub_register_rescue_reader, use
26841 grub_reader_loop to enter input loop.
26842
7dd4a573 26843 * kern/parser.c (grub_parser_split_cmdline): Change type of
26844 getline parameter.
d558e6b5 26845 (grub_parser_class): New variable.
26846 (grub_parser_execute): New function.
26847
26848 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
26849 * loader/multiboot2.c: Likewise.
26850 * loader/sparc64/ieee1275/linux.c: Likewise.
26851
26852 * util/grub-emu.c (read_command_list): New dummy function.
26853
18db813d 268542009-05-02 Robert Millan <rmh.grub@aybabtu.com>
26855
26856 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
26857 count to 16 for CCISS and IDA.
26858
6c67de15 268592009-05-02 Robert Millan <rmh.grub@aybabtu.com>
26860
26861 * normal/menu_text.c (grub_wait_after_message): Print a newline
26862 after waiting for user input.
26863
26864 * loader/i386/linux.c: Include `<grub/normal.h>'.
26865 (grub_cmd_linux): Improve the error message about `ask' mode, by
26866 waiting for user input so it's not missed (we can do this, since
26867 user requested interaction).
26868
d9dc87b0 268692009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26870
26871 Added missing lst to grub-mkrescue
26872
26873 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
26874 and ${input_dir}/parttool.lst
26875
ac8a2baa 268762009-04-30 David S. Miller <davem@davemloft.net>
26877
ad22a610 26878 * util/hostdisk.c (device_is_wholedisk): New function.
26879 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
26880 zero only if device_is_wholedisk() returns true.
26881
6966215d 26882 * util/hostdisk.c (convert_system_partition_to_system_disk):
26883 Handle virtual disk devices named /dev/vdiskX as found on sparc
26884 and powerpc.
26885
ac8a2baa 26886 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
26887 lettered partition specifier is found, convert to numbered.
26888
979b4fb4 268892009-04-29 David S. Miller <davem@davemloft.net>
26890
e2bf39b2 26891 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
26892 * include/grub/sparc64/ieee1275/memory.h: Likewise.
26893
3c64e104 26894 * normal/command.c: Add missing newline at end of file.
26895
979b4fb4 26896 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
26897 warnings.
26898 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
26899 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
26900 grub_ofdisk_read): Likewise, and deal similarly with the fact that
26901 ihandles have a 32-bit type but need to be stored in a "void *".
26902
136d9f82 269032009-04-28 Pavel Roskin <proski@gnu.org>
26904
9459c306 26905 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
26906 not disk. Adjust all dependencies.
2e08a26a 26907 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 26908 grub_disk_close().
26909
136d9f82 26910 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
26911 parent's partition, don't copy it by reference, as it gets freed
26912 on close.
26913
7dd4a573 269142009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 26915
26916 Preboot hooks support
26917
26918 * commands/boot.c (struct grub_preboot_t): new declaration
26919 (preboots_head): new variable
26920 (preboots_tail): likewise
26921 (grub_loader_register_preboot_hook): new function
26922 (grub_loader_unregister_preboot_hook): likewise
26923 (grub_loader_set): launch preboot hooks
26924 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
26925 (grub_loader_register_preboot_hook): new declaration
26926 (grub_loader_unregister_preboot_hook): likewise
26927
5af922b5 269282009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26929
26930 Warning fix
26931
7dd4a573 26932 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 26933 calling grub_dprintf
26934
a5562c30 269352009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
26936
26937 Bug and warning fixes
26938
7dd4a573 26939 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 26940 declaration
26941 * commands/test.c (test_parse): fixed bug with file tests and corrected
26942 declaration of find_file
26943
4006f85c 269442009-04-26 Pavel Roskin <proski@gnu.org>
26945
26946 * Makefile.in: Don't install empty manual pages if help2man is
26947 missing. Use help2man option for output, not shell redirection.
26948
5c77c3de 269492009-04-26 David S. Miller <davem@davemloft.net>
26950
26951 * util/grub-mkdevicemap.c (make_device_map): Add missing
26952 NESTED_FUNC_ATTR to process_device().
26953
033b10a8 269542009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
26955
26956 Test command
26957
26958 * commands/test.c: rewritten to use bash-like test
26959
e4343593 269602009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
26961
26962 Parttool autoloading and improvements
26963
7dd4a573 26964 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 26965 (parttool.lst): new target
26966 * genmk.rb: generate parttool-*
26967 (CLEANFILES): add #{parttool}
26968 (PARTTOOLFILES): new variable
26969 * genparttoollist.sh: new file
7dd4a573 26970 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 26971 (grub_pcpart_type): likewise
26972 * commands/parttool.c (helpmsg): new variable
26973 (grub_cmd_parttool): output help if not enough arguments are supplied
26974 autoload modules
26975 (GRUB_MOD_INIT(parttool)): use helpmsg
26976
0d312500 269772009-04-24 David S. Miller <davem@davemloft.net>
26978
7dd4a573 26979 Avoiding opening same device multiple times in device iterator.
0d312500 26980
26981 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 26982 and use it to build a list of partitions in iterate_disk() and
0d312500 26983 iterate_partition().
26984
ac20caff 26985 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
26986 on disk->data.
26987
0dcf7495 26988 * disk/ieee1275/nand.c (grub_nand_iterate): Return
26989 grub_devalias_iterate() result instead of unconditional 0.
26990 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
26991 Also, capture hook return value, either directly or via
26992 grub_children_iterate(), and propagate to caller.
26993 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
26994 grub_children_iterate): Return value is now 'int' instead of
26995 'grub_err_t'.
26996 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
26997 like a proper iterator, stopping when hooks return non-zero.
26998 (grub_devalias_iterate): Likewise.
26999
c8c08833 270002009-04-23 David S. Miller <davem@davemloft.net>
27001
27002 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
27003
f01005a8 270042009-04-22 David S. Miller <davem@davemloft.net>
27005
27006 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
27007 is larger than address_cells, use that value for address_cells too.
27008
4e8269da 27009 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
27010 IEEE1275_MAX_PATH_LEN): Define.
27011 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
27012 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
27013 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
27014 'devtype'. Explicitly NULL terminate devalias expansion.
27015
a1447506 27016 * util/sparc64/ieee1275/misc.c: New file.
27017 * util/sparc64/ieee1275/grub-setup.c: New file.
27018 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
27019 * util/sparc64/ieee1275/grub-mkimage.c: New file.
27020 * util/sparc64/ieee1275/grub-install.in: New file.
27021 * util/ieee1275/ofpath.c: New file.
27022 * util/ieee1275/devicemap.c: New file.
27023 * util/devicemap.c: New file.
27024 * util/deviceiter.c: New file.
27025 * kern/sparc64/ieee1275/init.c: New file.
27026 * include/grub/util/ofpath.h: New file.
27027 * include/grub/util/deviceiter.h: New file.
27028 * util/grub-mkdevicemap.c: Include deviceiter.h.
27029 Implement using grub_util_emit_devicemap_entry and
27030 grub_util_iterate_devices.
27031 * conf/i386-corebook.rmk: Build util/deviceiter.c and
27032 util/devicemap.c into grub-mkdevicemap
27033 * conf/i386-efi.rmk: Likewise.
27034 * conf/i386-ieee1275.rmk: Likewise.
27035 * conf/i386-pc.rmk: Likewise.
27036 * conf/powerpc-ieee1275.rmk: Likewise.
27037 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
27038 images and installation utilities. Build kernel as image
27039 instead of as elf binary. Use common rules as much as possible.
27040
7dd4a573 270412009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 27042
27043 Correct GPT definition
27044
7dd4a573 27045 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 27046 of "attrib" member
27047
c6c5219f 270482009-04-19 Felix Zielcke <fzielcke@z-51.de>
27049
27050 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
27051
0552ff9f 270522009-04-19 David S. Miller <davem@davemloft.net>
27053
27054 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
27055 (grub_rescue_cmd_linux): Rename to...
27056 (grub_cmd_linux): and fix prototype.
27057 (grub_rescue_cmd_initrd): Rename to...
27058 (grub_cmd_initrd): and fix prototype.
27059 (cmd_linux, cmd_initrd): New.
27060 (GRUB_MOD_INIT(linux)): Use grub_register_command().
27061 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
27062
d1a282fc 270632009-04-17 Pavel Roskin <proski@gnu.org>
27064
07c5039f 27065 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
27066 format.
27067 (grub_ohci_transfer): Likewise.
27068
b012002d 27069 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
27070
1bc09c35 27071 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
27072 return without a value. Fix inconsistent indentation.
27073
e0ff9126 27074 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
27075 match struct grub_fs.
27076
d1a282fc 27077 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
27078 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
27079 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
27080 * commands/lspci.c (grub_lspci_iter): Likewise.
27081
a96df3f2 270822009-04-16 Bean <bean123ch@gmail.com>
27083
27084 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
27085 value.
27086
41bb0fe9 270872009-04-15 Pavel Roskin <proski@gnu.org>
27088
27089 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
27090 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
27091 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
27092 definitions.
27093
596c6970 270942009-04-15 Felix Zielcke <fzielcke@z-51.de>
27095
27096 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 27097 that no multiple data or metadata areas are supported and `Unknown
596c6970 27098 metadata header'.
27099
7dd4a573 271002009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 27101
27102 Move loader out of the kernel
27103
27104 * kern/loader.c: moved to ...
27105 * commands/boot.c: ... moved here
27106 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
27107 * commands/boot.c (grub_cmd_boot): moved here. All users updated
27108 * include/grub/kernel.h (grub_machine_fini): export
27109 * include/grub/loader.h (grub_loader_is_loaded): update declaration
27110 (grub_loader_set): likewise
27111 (grub_loader_unset): likewise
27112 (grub_loader_boot): likewise
27113 * conf/common.rmk: new module boot.mod
27114 (pkglib_MODULES): add boot.mod
27115 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
27116 (grub_emu_SOURCES): likewise
27117 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
27118 (grub_emu_SOURCES): likewise
27119 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
27120 (grub_emu_SOURCES): likewise
27121 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
27122 (grub_emu_SOURCES): likewise
27123 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
27124 (grub_emu_SOURCES): likewise
7dd4a573 27125 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
27126 (grub_emu_SOURCES): likewise
0d5d5653 27127 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 27128 (grub_emu_SOURCES): likewise
0d5d5653 27129
7dd4a573 271302009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 27131
27132 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 27133
5999d619 27134 * kern/misc.c (grub_itoa): Removed function
27135 (grub_ltoa): likewise
27136 (grub_vsprintf): use grub_lltoa
27137
7dd4a573 271382009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 27139
27140 Restore grub-emu
27141
27142 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
27143 * conf/i386-coreboot.rmk: likewise
27144 * conf/i386-ieee1275.rmk: likewise
27145 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 27146
20318222 271472009-04-15 Felix Zielcke <fzielcke@z-51.de>
27148
27149 * INSTALL: Add that `./autogen.sh' needs to be run before
27150 `./configure.'.
27151
d05f0df3 271522009-04-14 Bean <bean123ch@gmail.com>
27153
27154 * Makefile.in (pkglib_DATA): Add handler.lst.
27155 (handler.lst): New rule.
27156
27157 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
27158 * conf/i386-coreboot.rmk: Likewise.
27159 * conf/i386-ieee1275.rmk: Likewise.
27160 * conf/i386-efi.rmk: Likewise.
27161 * conf/x86_64-efi.rmk: Likewise.
27162 * conf/powerpc-ieee1275.rmk: Likewise.
27163 * conf/sparc64-ieee1275.rmk: Likewise.
27164
27165 * genhandlerlist.sh: New file.
27166
27167 * genmk.rb: Add rules to generate handler.lst.
27168
27169 * include/grub/normal.h (grub_file_getline): New function definition.
27170 (read_handler_list): Likewise.
27171 (free_handler_list): Likewise.
27172
27173 * include/grub/term.h (grub_term_register_input): Add name parameter
27174 for auto generation of handler.lst.
27175 (grub_term_register_output): Likewise.
27176
27177 * normal/handler.c: New file.
27178
27179 * normal/main.c (get_line): Renamed to grub_file_getline.
27180 (read_config_file): Use the newly renamed grub_file_getline.
27181 (read_command_list): Likewise.
27182 (read_fs_list): Likewise.
27183 (grub_normal_execute): Call read_handler_list to parse handler.lst.
27184 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
27185
27186 * term/efi/console.c (grub_console_init): Add name parameter for auto
27187 generation of handler.lst.
27188 * term/gfxterm.c: Likewise.
27189 * term/i386/pc/at_keyboard.c: Likewise.
27190 * term/i386/pc/console.c: Likewise.
27191 * term/i386/pc/serial.c: Likewise.
27192 * term/i386/pc/vesafb.c: Likewise.
27193 * term/i386/pc/vga.c: Likewise.
27194 * term/i386/pc/vga_text.c: Likewise.
27195 * term/ieee1275/ofconsole.c: Likewise.
27196 * term/usb_keyboard.c: Likewise.
27197
33c846be 271982009-04-14 Bean <bean123ch@gmail.com>
27199
27200 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
27201 properly with null character.
27202
4484e01e 272032009-04-14 Felix Zielcke <fzielcke@z-51.de>
27204
27205 * configure: Remove.
27206 * config.h.in: Likewise.
f93d668e 27207 * stamp-h.in: Likewise.
4484e01e 27208 * DISTLIST: Likewise.
27209 * conf/common.mk: Likewise.
27210 * conf/i386-coreboot.mk: Likewise.
27211 * conf/i386-efi.mk: Likewise.
27212 * conf/i386-ieee1275.mk: Likewise.
27213 * conf/i386.mk: Likewise.
27214 * conf/i386-pc.mk: Likewise.
27215 * conf/powerpc-ieee1275.mk: Likewise.
27216 * conf/sparc64-ieee1275.mk: Likewise.
27217 * conf/x86_64-efi.mk: Likewise.
27218
27219 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
27220 develop on GRUB.
27221
7dd4a573 272222009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 27223 David S. Miller <davem@davemloft.net>
27224
27225 * util/hostdisk.c (make_device_name): Fix buffer length
27226 calculations.
27227
e25b5a8c 272282009-04-14 Felix Zielcke <fzielcke@z-51.de>
27229
27230 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
27231 <sys/param.h> and <sys/sysctl.h>.
27232 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
27233 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
27234 opening the device and reset them afterwards.
27235
1f1f580c 272362009-04-13 Pavel Roskin <proski@gnu.org>
27237
27238 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
27239 Reported by John Stanley <jpsinthemix@verizon.net>
27240
7ebc2d6b 272412009-04-13 Robert Millan <rmh@aybabtu.com>
27242
27243 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 27244 that name for menuentries when appropriate.
7ebc2d6b 27245
d8ba3667 272462009-04-13 Felix Zielcke <fzielcke@z-51.de>
27247
27248 * util/grub.d/10_freebsd.in: Add a missing `fi'.
27249
cba416eb 272502009-04-13 Robert Millan <rmh@aybabtu.com>
27251
27252 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
27253 to Linux, simply abort telling the user it's no longer supported.
27254
a547a745 272552009-04-13 Felix Zielcke <fzielcke@z-51.de>
27256
27257 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 27258 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 27259 `freebsd_loadenv' only when devices.hints exist.
27260
232a769c 272612009-04-13 Pavel Roskin <proski@gnu.org>
27262
27263 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
27264
c3012039 272652009-04-13 Felix Zielcke <fzielcke@z-51.de>
27266
27267 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
27268 partition number.
27269 (grub_drive): Likewise.
27270
234022fe 272712009-04-13 David S. Miller <davem@davemloft.net>
27272
27273 * kern/sparc64/ieee1275/ieee1275.c: New file.
27274 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
27275 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
27276 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
27277 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
27278 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
27279 grub_ieee1275_alloc_physmem): Declare new exported functions.
27280
d8e1836c 27281 * include/grub/sparc64/ieee1275/loader.h: New file.
27282 * include/grub/sparc64/ieee1275/memory.h: Likewise.
27283 * include/grub/sparc64/kernel.h: Likewise.
27284 * loader/sparc64/ieee1275/linux.c: Likewise.
27285
96bd81ec 27286 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
27287 (grub_fstest_SOURCES): Likewise.
27288
6a4737e5 27289 * util/hostdisk.c (make_device_name): Do not make any assumptions
27290 about the length of drive names.
27291
1d7a72fd 27292 * kern/dl.c (grub_dl_load_file): Close file immediately when
27293 we are done using it.
27294
56bc2471 272952009-04-12 David S. Miller <davem@davemloft.net>
27296
27297 * kern/misc.c (grub_ltoa): Fix cast when handling negative
27298 values. Noticed by Pavel Roskin.
27299
df38d0bb 27300 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
27301 target compiler.
7dd4a573 27302
e382e93a 27303 * genmk.rb: Add more flexible image type specification, also
27304 pass --strip-unneeded to objcopy.
27305 * conf/i386-pc.rmk: Use *_FORMAT.
27306 * conf/i386-pc.mk: Rebuilt.
27307
f5dbbca9 27308 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
27309 (OFDISK_HASH_SZ): Define.
27310 (ofdisk_hash): New hash table.
27311 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
27312 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
27313 instead of device phandle which is not unique.
27314
91c88b12 27315 * kern/sparc64/ieee1275/init.c: Delete, replace with...
27316 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
27317 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
27318 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
27319 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
27320 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
27321 GRUB_KERNEL_MACHINE_DATA_END): Define.
27322 (grub_kernel_image_size, grub_total_module_size): Declare.
27323
5b5d4aa5 273242009-04-12 Pavel Roskin <proski@gnu.org>
27325
7dd4a573 27326 * configure.ac: Change the logic when we check for target tools.
27327 Do it when the target is specified and it's different from the
27328 specified value of the host.
5b5d4aa5 27329
c91e1793 273302009-04-11 Felix Zielcke <fzielcke@z-51.de>
27331
27332 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
27333 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
27334 GNU/kFreeBSD. Check if a device is a character device. Use
27335 DIOCGMEDIASIZE to get the size.
27336 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
27337 support for GNU/kFreeBSD.
27338 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
27339 is a character device instead of a block device. Add support for
27340 FreeBSD device names.
27341
27342 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
27343 is a character device instead of a block device.
27344
27345 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
27346 is a character device instead of a block device.
27347
b1ac8644 273482009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
27349
27350 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
27351 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
27352 FreeBSD. Check if a device is a character device. Use
27353 DIOCGMEDIASIZE to get the size.
27354 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
27355 support for FreeBSD.
27356 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
27357 is a character device instead of a block device. Add support for
27358 FreeBSD device names.
27359
27360 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
27361 a character device instead of a block device.
27362 (grub_util_check_char_device): New function.
27363
27364 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
27365 a character device instead of a block device.
27366
27367 * include/grub/util/getroot.h (grub_util_check_char_device): New
27368 prototype.
27369
a3f7515a 273702009-04-11 David S. Miller <davem@davemloft.net>
27371
27372 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
27373 static libgcc.
27374 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
27375 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
27376 function, if present.
27377 (__bswapdi2): Likewise.
27378
0d44993d 27379 * include/grub/sparc64/ieee1275/boot.h: New file.
27380 * boot/sparc64/ieee1275/boot.S: Likewise.
27381 * boot/sparc64/ieee1275/diskboot.S: Likewise.
27382
ed3d2bc2 27383 * kern/misc.c (grub_ltoa): New function.
27384 (grub_vsprintf): Use it to format 'long' integers.
27385
d3bfb59c 273862009-04-10 David S. Miller <davem@davemloft.net>
27387
27388 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
27389 slots are of type grub_ieee1275_cell_t.
27390 (grub_nand_read): Likewise.
27391 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
27392 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
27393 macros are used to compare values in arg/ret block of the call.
27394 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
27395 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
27396 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
27397 grub_ieee1275_instance_to_path, grub_ieee1275_write,
27398 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
27399 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
27400 grub_ieee1275_close, grub_ieee1275_set_property,
27401 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
27402 grub_ieee1275_cell_t.
27403 * kern/ieee1275/openfw.c (grub_map): Likewise.
27404 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
27405 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
27406
450e2238 27407 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
27408 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
27409 (grub_devalias_iterate): Likewise.
27410
7dd4a573 274112009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 27412
27413 UFS improvements
27414
27415 * fs/ufs.c (INODE_NBLOCKS): new definition
27416 (struct grub_ufs_dirent): added fields for non-BSD dirents
27417 (grub_ufs_get_file_block): fixed double indirect handling
27418 (grub_ufs_lookup_symlink): use more robust way to determine whether
27419 symlink is inline
27420 (grub_ufs_find_file): support for non-BSD dirents
27421 (grub_ufs_dir): support for non-BSD dirents
27422
e7e6862a 274232009-04-10 Bean <bean123ch@gnail.com>
27424
27425 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
27426 attribute, otherwise the size would be wrong for i386 platform.
27427
27428 * include/grub/pci.h (grub_pci_read_word): New inline function.
27429 (grub_pci_read_byte): Likewise.
27430 (grub_pci_write): Likewise.
27431 (grub_pci_write_word): Likewise.
27432 (grub_pci_write_byte): Likewise.
27433
27434 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
27435
27436 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
27437 (find_framebuf): Scan pci to locate the frame buffer address.
27438
27439 * commands/efi/fixvideo.c: New file.
27440
27441 * commands/efi/loadbios.c: Likewise.
27442
27443 * commands/memrw.c: Likewise.
27444
27445 * util/grub-dumpbios.in: Likewise.
27446
27447 * conf/common.rmk (grub-dumpbios): New utility.
27448 (pkglib_MODULES): New module memrw.mod.
27449 (memrw_mod_SOURCE): New macro.
27450 (memrw_mod_CFLAGS): Likewise.
27451 (memrw_mod_LDFLAGS): Likewise.
27452
7dd4a573 27453 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 27454 fixvideo.mod.
27455 (loadbios_mod_SOURCE): New macro.
27456 (loadbios_mod_CFLAGS): Likewise.
27457 (loadbios_mod_LDFLAGS): Likewise.
27458 (fixvideo_mod_SOURCE): Likewise.
27459 (fixvideo_mod_CFLAGS): Likewise.
27460 (fixvideo_mod_LDFLAGS): Likewise.
27461
7dd4a573 27462 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 27463 fixvideo.mod.
27464 (loadbios_mod_SOURCE): New macro.
27465 (loadbios_mod_CFLAGS): Likewise.
27466 (loadbios_mod_LDFLAGS): Likewise.
27467 (fixvideo_mod_SOURCE): Likewise.
27468 (fixvideo_mod_CFLAGS): Likewise.
27469 (fixvideo_mod_LDFLAGS): Likewise.
27470
af63ada2 274712009-04-08 Felix Zielcke <fzielcke@z-51.de>
27472
27473 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
27474
c2cdde70 274752009-04-07 David S. Miller <davem@davemloft.net>
27476
27477 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
27478 support for R_SPARC_OLO10 relocations. Fix compile warning for
27479 R_SPARC_WDISP30 case.
ea3f72cf 27480 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 27481
761319cf 274822009-04-06 Pavel Roskin <proski@gnu.org>
27483
1007d1f5 27484 * include/grub/misc.h (ARRAY_SIZE): New macro.
27485 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
27486 New macro.
27487 * loader/i386/linux.c (allocate_pages): Use free_pages().
27488 (grub_linux_unload): Don't use free_pages().
27489 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
27490 wrong index. Treat all other modes as text modes.
27491 (grub_cmd_linux): Initialize vid_mode unconditionally to
27492 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
27493
761319cf 27494 * commands/help.c (print_command_help): Use cmd->prio, not
27495 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
27496
ea761d40 274972009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 27498
ea761d40 27499 Parttool
27500
27501 * parttool/pcpart.c: new file
27502 * commands/parttool.c: likewise
27503 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
27504 (parttool_mod_SOURCES): new variable
27505 (parttool_mod_CFLAGS): likewise
27506 (parttool_mod_LDFLAGS): likewise
27507 (pcpart_mod_SOURCES): likewise
27508 (pcpart_mod_CFLAGS): likewise
27509 (pcpart_mod_LDFLAGS): likewise
7dd4a573 27510 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 27511 and parttool/pcpart.c
27512 * conf/i386-efi.rmk: likewise
27513 * conf/i386-ieee1275.rmk: likewise
27514 * conf/i386-pc.rmk: likewise
27515 * conf/powerpc-ieee1275.rmk: likewise
27516 * conf/sparc64-ieee1275.rmk: likewise
27517 * conf/x86_64-ieee1275.rmk: likewise
27518
05aaebfb 275192009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27520
27521 Support for mtime and further expandability of dir command
27522
27523 * include/grub/lib/datetime.h: moved to ...
7dd4a573 27524 * include/grub/datetime.h: ... moved here and added
05aaebfb 27525 declaration of grub_unixtime2datetime. All users updated
7dd4a573 27526 * include/grub/fs.h: new syntax for dir and mtime functions in
27527 struct grub_fs
05aaebfb 27528 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
27529 and GRUB_FSHELP_FLAGS_MASK
27530 * commands/ls.c (grub_ls_list_files): Write mtime in long format
27531 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
27532 (grub_ext2_mtime): new function
27533 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
27534 (grub_hfsplus_mtime): new function
27535 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
27536 (GRUB_UFS_ATTR_FILE): likewise
27537 (GRUB_UFS_ATTR_LNK): likewise
27538 (struct grub_ufs_sblock): new fields mtime
27539 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
27540 all users updated
27541 (grub_ufs_dir): mtime support
27542 (grub_ufs_mtime): new function
27543 * fs/affs.c (grub_affs_dir): use new dir syntax
27544 * fs/afs.c (grub_afs_dir): likewise
27545 * fs/cpio.c (grub_cpio_dir): likewise
27546 * fs/fat.c (grub_fat_find_dir): likewise
27547 * fs/hfs.c (grub_hfs_dir): likewise
27548 * fs/iso9660.c (grub_iso9660_dir): likewise
27549 * fs/jfs.c (grub_jfs_dir): likewise
27550 * fs/minix.c (grub_minix_dir): likewise
27551 * fs/ntfs.c (grub_ntfs_dir): likewise
27552 * fs/reiserfs.c (grub_reiserfs_dir): likewise
27553 * fs/sfs.c (grub_sfs_dir): likewise
27554 * fs/xfs.c (grub_xfs_dir): likewise
27555 * util/hostfs.c (grub_hostfs_dir): likewise
27556 * lib/datetime.c: moved to ...
27557 * normal/datetime.c: ... moved here
27558 (grub_unixtime2datetime): new function
27559 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 27560 * normal/completion.c (iterate_dir): use new dir syntax
27561 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 27562 last modification time of a volume
7dd4a573 27563 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 27564 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 27565 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 27566 (normal_mod_SOURCES): likewise
27567 (datetime_mod_SOURCES): Removed lib/datetime.c
27568 * conf/i386-efi.rmk: likewise
7dd4a573 27569 * conf/i386-ieee1275.rmk: likewise
05aaebfb 27570 * conf/i386-pc.rmk: likewise
27571 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 27572 * conf/sparc64-ieee1275.rmk: likewise
27573 * conf/x86_64-efi.rmk: likewise
05aaebfb 27574
8a7e1a14 275752009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27576
27577 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 27578
27579 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 27580 on grub_fat_find_dir
27581 (grub_fat_find_dir): use grub_fat_iterate_dir
27582 (grub_fat_label): likewise
27583
04186a9c 275842009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27585
7dd4a573 27586 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 27587 and command.h
27588 remove extraneous kernel_elf_HEADERS
27589
da4c0bb6 275902009-04-04 Bean <bean123ch@gnail.com>
27591
27592 * include/grub/util/misc.h: Add dummy function fsync for mingw.
27593
27594 * util/misc.c: Likewise.
27595
54ad9555 275962009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27597
27598 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
27599 instead of grub_printf.
27600
7a6bf9f2 276012009-04-03 Robert Millan <rmh@aybabtu.com>
27602
27603 * loader/i386/linux.c (grub_linux_setup_video): Fill
27604 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
27605 values from `mode info' structure instead of hardcoded
27606 values.
27607
3fcc2083 276082009-04-01 Pavel Roskin <proski@gnu.org>
27609
27610 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
27611 unused now.
27612 * genmk.rb: Likewise.
27613 * configure.ac: Likewise.
27614
5ec9740b 276152009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
27616
27617 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
27618 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
27619
5270cec8 276202009-04-01 David S. Miller <davem@davemloft.net>
27621
27622 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 27623 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 27624 (grub_setjmp): Mark with 'returns_twice' attribute.
27625 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
27626 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
27627 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
27628
9c3dd854 276292009-04-01 Robert Millan <rmh@aybabtu.com>
27630
27631 Reapply fix from 2008-07-28 which was accidentally reverted; also
27632 perform the same fix to a similar check in same function.
27633
27634 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
27635 with the same number are found, just use issue a warning with
27636 grub_dprintf(), as this error has been reported to be non-fatal.
27637
0d818b7e 276382009-03-31 Pavel Roskin <proski@gnu.org>
27639
27640 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
27641 for cross-compilation.
27642
95646d92 276432009-03-30 Robert Millan <rmh@aybabtu.com>
27644
27645 Fix i386-ieee1275 build.
27646
27647 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
27648 Remove declaration.
27649
6a003ed1 276502009-03-30 Pavel Roskin <proski@gnu.org>
27651
27652 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
27653 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
27654 zero-terminated, rely only on the strlen value. Fix comparison
27655 of strings differing in length.
27656
92f33540 276572009-03-30 Robert Millan <rmh@aybabtu.com>
27658
27659 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
27660 checking for abi version. Improve error messages on BIOS to notify
27661 user about `linux16' command.
27662
a8c48fd5 276632009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
27664
f968172e 27665 Leak fixes
a8c48fd5 27666
f968172e 27667 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
27668 in case of collision
27669 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 27670
9c323f09 276712009-03-29 Robert Millan <rmh@aybabtu.com>
27672
27673 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
27674 set `vid_mode' accordingly.
27675 (grub_linux_boot): Process `vid_mode' and set video mode.
27676
ae68f423 276772009-03-29 Robert Millan <rmh@aybabtu.com>
27678
27679 * util/grub.d/10_linux.in (linux_entry): New function.
27680 Factorize generation of Linux boot entries.
27681
5709cfc4 276822009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
27683
27684 Make the format of Environment Block plain text. The boot loader
27685 part is not tested well yet.
7dd4a573 27686
5709cfc4 27687 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
27688 (buffer): Removed.
27689 (envblk): Likewise.
27690 (usage): Remove "info" and "clear". Add "unset". Update the
27691 description of "set", as this does not delete variables any
27692 longer.
27693 (create_envblk_file): Complete rewrite.
27694 (open_envblk_file): Likewise.
27695 (cmd_info): Removed.
27696 (cmd_list): Likewise.
27697 (cmd_set): Likewise.
27698 (cmd_clear): Likewise.
27699 (list_variables): New function.
27700 (write_envblk): Likewise.
27701 (set_variables): Likewise.
27702 (unset_variables): Likewise.
27703 (main): Complete rewrite.
27704
27705 * commands/loadenv.c (buffer): Removed.
27706 (envblk): Likewise.
27707 (open_envblk_file): New function.
27708 (read_envblk_file): Complete rewrite.
27709 (grub_cmd_load_env): Likewise.
27710 (grub_cmd_list_env): Likewise.
27711 (struct blocklist): New struct.
27712 (free_blocklists): New function.
27713 (check_blocklists): Likewise.
27714 (write_blocklists): Likewise.
27715 (grub_cmd_save_env): Complete rewrite.
27716
27717 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
27718 a plain text signature.
27719 (GRUB_ENVBLK_MAXLEN): Removed.
27720 (struct grub_envblk): Complete rewrite.
27721 (grub_envblk_find): Removed.
27722 (grub_envblk_insert): Likewise.
27723 (grub_envblk_open): New prototype.
27724 (grub_envblk_set): Likewise.
27725 (grub_envblk_delete): Put const to VALUE.
27726 (grub_envblk_iterate): Put const to NAME and VALUE.
27727 (grub_envblk_close): New prototype.
27728 (grub_envblk_buffer): New inline function.
27729 (grub_envblk_size): Likewise.
27730
27731 * lib/envblk.c: Include grub/mm.h.
27732 (grub_env_find): Removed.
27733 (grub_envblk_open): New function.
27734 (grub_envblk_close): Likewise.
27735 (escaped_value_len): Likewise.
27736 (find_next_line): Likewise.
27737 (grub_envblk_insert): Removed.
27738 (grub_envblk_set): New function.
27739 (grub_envblk_delete): Complete rewrite.
27740 (grub_envblk_iterate): Likewise.
27741
a9368fd3 277422009-03-28 Robert Millan <rmh@aybabtu.com>
27743
27744 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
27745 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
27746 variables. Use 16-bit loader.
27747 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
27748 loader.
27749 * kern/i386/loader.S (grub_linux_boot): Rename to ...
27750 (grub_linux16_boot): ... this. Update all users.
27751 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
27752 (grub_linux_boot): ... this. Update all users.
27753
27754 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
27755 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
27756 commands to `linux16' and `initrd16'.
27757 (GRUB_MOD_FINI(linux)): Rename to ...
27758 (GRUB_MOD_FINI(linux16)): ... this.
27759
e4dd5a7e 277602009-03-24 Pavel Roskin <proski@gnu.org>
27761
27762 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
27763 not just for compilation.
27764
c04d6e05 277652009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
27766
27767 Move multiboot helper out of kernel
27768
27769 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
27770 `loader/i386/multiboot_helper.S'.
27771 * conf/i386-coreboot.rmk: Likewise
27772 * conf/i386-ieee1275.rmk: Likewise
27773
27774 * kern/i386/loader.S: Move multiboot helpers from here...
27775 * loader/i386/multiboot_helper.S: ...moved here
27776 * include/grub/i386/loader.h: Move declarations of multiboot
27777 helpers from here...
27778 * include/grub/i386/multiboot.h: ...moved here
27779 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
27780
42a5b3fc 277812009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27782
27783 * kern/env.c (grub_env_context_open): Added an argument to specify
27784 whether a new context inherits exported variables from current
27785 one. This is useful when making a sandbox to interpret a config
27786 file.
27787 All callers updated.
27788
27789 * include/grub/env.h (grub_env_context_open): Updated the prototype.
27790
b28bbc4e 277912009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27792
27793 * kern/env.c (grub_env_context_close): Fix memory leaks.
27794
f04f02e4 277952009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27796
27797 * normal/main.c (grub_normal_execute): Added an argument
27798 BATCH to specify if an interactive interface should be provided
27799 after reading a config file.
27800 All callers updated.
27801 (read_command_list): Prevent being executed twice.
27802 (read_fs_list): Likewise.
27803
42a5b3fc 27804 * include/grub/normal.h (grub_normal_execute): Updated the
27805 prototype.
f04f02e4 27806
41473ac2 278072009-03-22 Pavel Roskin <proski@gno.org>
27808
fbc00b0c 27809 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
27810 _start.
27811 * kern/i386/pc/startup.S: Likewise.
27812 * kern/i386/efi/startup.S: Likewise.
27813 * kern/i386/ieee1275/startup.S: Likewise.
27814 * kern/i386/coreboot/startup.S: Likewise.
27815 * kern/x86_64/efi/startup.S: Likewise.
27816
41473ac2 27817 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
27818 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
27819 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
27820
2274cc8f 278212009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
27822
27823 Bugfixes in multiboot for bugs uncovered by solaris kernel.
27824
27825 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
27826 limit detection.
27827 Use vaddr of correct segment for entry_point.
27828
b1b797cb 278292009-03-21 Bean <bean123ch@gmail.com>
27830
27831 * commands/blocklist.c: Add include file <grub/command.h>, remove
27832 <grub/normal.h> and <grub/arg.h>.
27833 (grub_cmd_blocklist): Use the new command interface.
27834 (GRUB_MOD_INIT): Likewise.
27835 (GRUB_MOD_FINI): Likewise.
27836 * commands/boot.c: Likewise.
27837 * commands/cat.c: Likewise.
27838 * commands/cmp.c: Likewise.
27839 * commands/configfile.c: Likewise.
27840 * commands/crc.c: Likewise.
27841 * commands/echo.c: Likewise.
27842 * commands/halt.c: Likewise.
27843 * commands/handler.c: Likewise.
27844 * commands/hdparm.c: Likewise.
27845 * commands/help.c: Likewise.
27846 * commands/hexdump.c: Likewise.
27847 * commands/loadenv.c: Likewise.
27848 * commands/ls.c: Likewise.
27849 * commands/lsmmap.c: Likewise.
27850 * commands/lspci.c: Likewise.
27851 * commands/loadenv.c: Likewise.
27852 * commands/read.c: Likewise.
27853 * commands/reboot.c: Likewise.
27854 * commands/search.c: Likewise.
27855 * commands/sleep.c: Likewise.
27856 * commands/test.c: Likewise.
27857 * commands/usbtest.c: Likewise.
27858 * commands/videotest.c: Likewise.
27859 * commands/i386/cpuid.c: Likewise.
27860 * commands/i386/pc/halt.c: Likewise.
27861 * commands/i386/pc/play.c: Likewise.
27862 * commands/i386/pc/pxecmd.c: Likewise.
27863 * commands/i386/pc/vbeinfo.c: Likewise.
27864 * commands/i386/pc/vbetest.c: Likewise.
27865 * commands/ieee1275/suspend.c: Likewise.
27866 * disk/loopback.c: Likewise.
27867 * font/font_cmd.c: Likewise.
27868 * hello/hello.c: Likewise.
27869 * loader/efi/appleloader.c: Likewise.
27870 * loader/efi/chainloader.c: Likewise.
27871 * loader/i386/bsd.c: Likewise.
27872 * loader/i386/efi/linux.c: Likewise.
27873 * loader/i386/ieee1275/linux.c: Likewise.
27874 * loader/i386/linux.c: Likewise.
27875 * loader/i386/pc/chainloader.c: Likewise.
27876 * loader/i386/pc/linux.c: Likewise.
27877 * loader/powerpc/ieee1275/linux.c: Likewise.
27878 * loader/multiboot_loader.c: Likewise.
27879 * term/gfxterm.c: Likewise.
27880 * term/i386/pc/serial.c: Likewise.
27881 * term/terminfo.c: Likewise.
27882
27883 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
27884 * term/i386/pc/vga.c: Likewise.
27885 * video/readers/jpeg.c: Likewise.
27886 * video/readers/png.c: Likewise.
27887 * video/readers/tga.c: Likewise.
27888
27889 * util/grub-fstest (cmd_loopback): Removed.
27890 (cmd_blocklist): Likewise.
27891 (cmd_ls): Likewise.
27892 (grub_register_command): Likewise.
27893 (grub_unregister_command): Likewise.
27894 (execute_command): Use grub_command_find to locate command and execute
27895 it.
27896
27897 * include/grub/efi/chainloader.h: Removed.
27898 * loader/efi/chainloader_normal.c: Likewise.
27899 * loader/i386/bsd_normal.c: Likewise.
27900 * loader/i386/pc/chainloader_normal.c: Likewise.
27901 * loader/i386/pc/multiboot_normal.c: Likewise.
27902 * loader/linux_normal.c: Likewise.
27903 * loader/multiboot_loader_normal.c: Likewise.
27904 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27905
27906 * gencmdlist.sh: Scan new registration command grub_register_extcmd
27907 and grub_register_command_p1.
27908
27909 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
27910 kern/command.c, lib/arg.c and commands/extcmd.c.
27911 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
27912 (minicmd_mod_SOURCES): New variable.
27913 (minicmd_mod_CFLAGS): Likewise.
27914 (minicmd_mod_LDFLAGS): Likewise.
27915 (extcmd_mod_SOURCES): Likewise.
27916 (extcmd_mod_CFLAGS): Likewise.
27917 (extcmd_mod_LDFLAGS): Likewise.
27918 (boot_mod_SOURCES): Removed.
27919 (boot_mod_CFLAGS): Likewise.
27920 (boot_mod_LDFLAGS): Likewise.
27921
27922 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
27923 kern/corecmd.c.
27924 (kernel_img_HEADERS): Add command.h.
27925 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
27926 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
27927 and lib/arg.c.
27928 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
27929 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
27930 remove the corresponding normal mode command.
27931 (normal_mod_SOURCES): Remove normal/arg.c.
27932 * conf/i386-coreboot.rmk: Likewise.
27933 * conf/i386-efi.rmk: Likewise.
27934 * conf/i386-ieee1275.rmk: Likewise.
27935 * conf/powerpc-ieee1275.rmk: Likewise.
27936 * conf/x86_64-efi.rmk: Likewise.
27937
27938 * include/grub/arg.h: Move from here ...
27939 * include/grub/lib/arg.h: ... to here.
27940
27941 * normal/arg.c: Move from here ...
27942 * lib/arg.c: ... to here.
27943
27944 * commands/extcmd.c: New file.
27945 * commands/minicmd.c: Likewise.
27946 * include/grub/command.h: Likewise.
27947 * include/grub/extcmd.h: Likewise.
27948 * kern/command.c: Likewise.
27949 * kern/corecmd.c: Likewise.
27950
27951 * kern/list.c (grub_list_iterate): Return int instead of void.
27952 (grub_list_insert): New function.
27953 (grub_prio_list_insert): Likewise.
27954
27955 * kern/rescue.c (grub_rescue_command): Removed.
27956 (grub_rescue_command_list): Likewise.
27957 (grub_rescue_register_command): Likewise.
27958 (grub_rescue_unregister_command): Likewise.
27959 (grub_rescue_cmd_boot): Move to minicmd.c
27960 (grub_rescue_cmd_help): Likewise.
27961 (grub_rescue_cmd_info): Likewise.
27962 (grub_rescue_cmd_boot): Likewise.
27963 (grub_rescue_cmd_testload): Likewise.
27964 (grub_rescue_cmd_dump): Likewise.
27965 (grub_rescue_cmd_rmmod): Likewise.
27966 (grub_rescue_cmd_lsmod): Likewise.
27967 (grub_rescue_cmd_exit): Likewise.
27968 (grub_rescue_print_devices): Moved to corecmd.c.
27969 (grub_rescue_print_files): Likewise.
27970 (grub_rescue_cmd_ls): Likewise.
27971 (grub_rescue_cmd_insmod): Likewise.
27972 (grub_rescue_cmd_set): Likewise.
27973 (grub_rescue_cmd_unset): Likewise.
7d074e3c 27974 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 27975 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 27976 commands, remove grub_rescue_register_command calls.
b1b797cb 27977
7d074e3c 27978 * normal/command.c (grub_register_command): Removed.
b1b797cb 27979 (grub_unregister_command): Likewise.
27980 (grub_command_find): Likewise.
27981 (grub_iterate_commands): Likewise.
27982 (rescue_command): Likewise.
27983 (export_command): Moved to corecmd.c.
27984 (set_command): Removed.
27985 (unset_command): Likewise.
27986 (insmod_command): Likewise.
27987 (rmmod_command): Likewise.
27988 (lsmod_command): Likewise.
27989 (grub_command_init): Likewise.
27990
27991 * normal/completion.c (iterate_command): Use cmd->prio to check for
27992 active command.
27993 (complete_arguments): Use grub_extcmd_t structure to find options.
27994 (grub_normal_do_completion): Change function grub_iterate_commands to
27995 grub_command_iterate.
27996
27997 * normal/execute.c (grub_script_execute_cmd): No need to parse
27998 argument here.
27999
28000 * normal/main.c (grub_dyncmd_dispatcher): New function.
28001 (read_command_list): Register unload commands as dyncmd.
28002 (grub_cmd_normal): Use new command interface, register rescue,
28003 unregister normal at entry, register normal, unregister rescue at exit.
28004
28005 * include/grub/list.h (grub_list_test_t): New type.
28006 (grub_list_iterate): Return int instead of void.
28007 (grub_list_insert): New function.
28008 (GRUB_AS_NAMED_LIST_P): New macro.
28009 (GRUB_AS_PRIO_LIST): Likewise.
28010 (GRUB_AS_PRIO_LIST_P): Likewise.
28011 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
28012 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
28013 (grub_prio_list): New structure.
28014 (grub_prio_list_insert): New function.
28015 (grub_prio_list_remove): New inline function.
28016
28017 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
28018 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
28019 (GRUB_COMMAND_FLAG_MENU): Likewise.
28020 (GRUB_COMMAND_FLAG_BOTH): Likewise.
28021 (GRUB_COMMAND_FLAG_TITLE): Likewise.
28022 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
28023 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
28024 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
28025 (grub_command): Likewise.
28026 (grub_register_command): Likewise.
28027 (grub_command_find): Likewise.
28028 (grub_iterate_commands): Likewise.
28029 (grub_command_init): Likewise.
28030 (grub_arg_parse): Likewise.
28031 (grub_arg_show_help): Likewise.
28032
28033 * include/grub/rescue.h (grub_rescue_register_command): Removed.
28034 (grub_rescue_unregister_command): Likewise.
28035
28036 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
28037 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
28038 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
28039
28040 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
28041 grub_rescue_cmd_initrd.
28042 * include/grub/i386/loader.h: Likewise.
28043 * include/grub/x86_64/loader.h: Likewise.
28044
28045 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
28046
1f4147aa 280472009-03-21 Bean <bean123ch@gmail.com>
28048
28049 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
28050 instead of stat in mingw environment.
28051
28052 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
28053
28054 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
28055
28056 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
28057 AC_CONFIG_LINKS.
28058
2156d5ba 280592009-03-21 Bean <bean123ch@gmail.com>
28060
28061 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
28062 out of range error.
28063
177b82ca 280642009-03-18 Michel Dänzer <michel@daenzer.net>
28065
28066 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
28067 checking inode flags for EXT4_EXTENTS_FLAG.
28068
14aad807 280692009-03-18 Robert Millan <rmh@aybabtu.com>
28070
28071 * loader/i386/linux.c: Include `<grub/video.h>' and
28072 `<grub/i386/pc/vbe.h>'..
28073 (grub_linux_setup_video): New function. Loosely based on the EFI one.
28074 (grub_linux32_boot): Attempt to configure video settings with
28075 grub_linux_setup_video().
28076 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
28077 to avoid grub_console_fini() which would step out of graphical mode
28078 unconditionally.
28079
8cf83a27 280802009-03-14 Robert Millan <rmh@aybabtu.com>
28081
28082 Fix build on powerpc.
28083 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
28084
40164e75 280852009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
28086
28087 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
28088 background image command.
28089
c58bc32a 280902009-03-12 Colin D Bennett <colin@gibibit.com>
28091
28092 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
28093 (grub_gfxterm_putchar): Extract pairs of identical calls to
28094 draw_cursor out of conditional blocks.
28095
5415144a 280962009-03-11 Pavel Roskin <proski@gnu.org>
28097
28098 * fs/hfs.c (grub_hfs_strncasecmp): New function.
28099 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
28100
6394042e 281012009-03-11 Robert Millan <rmh@aybabtu.com>
28102
28103 * loader/i386/multiboot_elfxx.c
28104 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
28105
b7b50e5f 281062009-03-11 Felix Zielcke <fzielcke@z-51.de>
28107
28108 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
28109 `kern/handler.c'.
28110
1ca7fc96 281112009-03-11 Robert Millan <rmh@aybabtu.com>
28112
28113 * loader/i386/multiboot.c (code_size): New variable.
28114 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 28115 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 28116 4-byte alignment to MBI and others by increasing
7d074e3c 28117 `boot_loader_name_length' appropriately.
1ca7fc96 28118
28119 * loader/i386/multiboot_elfxx.c
28120 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
28121
a83ea1d2 281222009-03-09 Felix Zielcke <fzielcke@z-51.de>
28123
28124 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
28125 `fs/ext2.c'.
28126
aa9f3bff 281272009-03-08 Robert Millan <rmh@aybabtu.com>
28128
28129 Make loader/i386/linux.c usable on i386-pc again.
28130
28131 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
28132 memory to heap.
28133 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
28134 `#error' stanza.
28135
d8b3b60e 281362009-03-07 Bean <bean123ch@gmail.com>
28137
28138 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
28139 allocation.
28140
b362c9e9 281412009-03-06 Robert Millan <rmh@aybabtu.com>
28142
28143 Fix display issue on terminals with screen size other than 80x25
28144 (e.g. gfxterm with resolution higher than 640x480).
28145
28146 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 28147 position relative to the center of the terminal instead of relying
b362c9e9 28148 on a hardcoded offset.
28149
9304eef1 281502009-03-04 Robert Millan <rmh@aybabtu.com>
28151
28152 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
28153 installed.
28154
28155 * Makefile.in (host_kernel): New variable.
28156 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
28157 scripts instead of just the windows one.
28158 * configure.ac: Initialize and AC_SUBST `host_kernel'.
28159
eabc95fb 281602009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 28161
28162 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
28163 `kern/handler.c'.
28164 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28165 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28166 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28167 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28168 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28169 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28170
ceb1223c 281712009-03-04 Felix Zielcke <fzielcke@z-51.de>
28172
28173 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
28174 or if there's no space for the disk label and print the partition number on a
28175 invalid magic.
28176
4910684a 281772009-03-04 Felix Zielcke <fzielcke@z-51.de>
28178
28179 * util/misc.c: Include <time.h>.
28180 (grub_millisleep): New function.
28181
7e9ca17a 281822009-03-04 Bean <bean123ch@gmail.com>
28183
28184 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
28185 another option -mno-red-zone.
28186
28187 * commands/handler.c: Change module description.
28188
28189 * kern/handler.c: Add missing space at the end of description line.
28190
28191 * kern/list.c: Likewise.
28192
f501677c 281932009-03-03 Robert Millan <rmh@aybabtu.com>
28194
28195 Move more components to the relocation area, and fix mbi pointer
28196 handling to use the destination rather than the origin (thanks to
28197 Vladimir Serbinenko for spotting).
28198
28199 * loader/i386/multiboot.c (mbi_dest): New variable.
28200 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
28201 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
28202 relocation area.
28203
9902d047 282042009-03-01 Bean <bean123ch@gmail.com>
28205
50fb7002 28206 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 28207 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
28208 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
28209 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
28210
28211 * loader/i386/efi/linux.c (acpi_guid): New variable.
28212 (acpi_guid): Likewise.
28213 (EBDA_SEG_ADDR): New constant.
28214 (LOW_MEM_ADDR): Likewise.
28215 (FAKE_EBDA_SEG): Likewise.
28216 (fake_bios_data): New function.
28217 (grub_linux_boot): Call fake_bios_data.
28218
71b9f361 282192009-03-01 Bean <bean123ch@gmail.com>
28220
28221 * commands/terminal.c: Removed.
28222
28223 * commands/handler.c: New file.
28224
28225 * include/grub/list.h: Likewise.
28226
28227 * include/grub/handler.h: Likewise.
28228
28229 * kern/list.c: Likewise.
28230
28231 * kern/handler.c: Likewise.
28232
28233 * kern/term.h: Include header file <grub/handler.h>.
28234 (grub_term_input): Move next field to the beginning.
28235 (grub_term_output): Likewise.
28236 (grub_term_input_class): New variable.
28237 (grub_term_output_class): Likewise.
28238 (grub_term_register_input): Changed to inline function.
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_get_current_input): Likewise.
28245 (grub_term_get_current_output): Likewise.
28246 (grub_term_iterate_input): Removed.
28247 (grub_term_iterate_output): Likewise.
28248
28249 * kern/term.c (grub_term_list_input): Removed.
28250 (grub_term_list_output): Likewise.
28251 (grub_term_input_class): New variable.
28252 (grub_term_output_class): Likewise.
50fb7002 28253 (grub_cur_term_input): Change variable as macro.
71b9f361 28254 (grub_cur_term_output): Likewise.
28255 (grub_term_register_input): Removed.
28256 (grub_term_register_output): Likewise.
28257 (grub_term_unregister_input): Likewise.
28258 (grub_term_unregister_output): Likewise.
28259 (grub_term_set_current_input): Likewise.
28260 (grub_term_set_current_output): Likewise.
28261 (grub_term_iterate_input): Likewise.
28262 (grub_term_iterate_output): Likewise.
28263 (grub_term_get_current_input): Likewise.
28264 (grub_term_get_current_output): Likewise.
28265
28266 * util/grub-editenv.c: Include header file <grub/handler.h>.
28267 (grub_term_get_current_input): Removed.
28268 (grub_term_get_current_output): Likewise.
28269 (grub_term_input_class): New variable.
50fb7002 28270 (grub_term_output_class): Likewise.
71b9f361 28271
28272 * util/grub-fstest.c (grub_term_get_current_input): Removed.
28273 (grub_term_get_current_output): Likewise.
28274 (grub_term_input_class): New variable.
50fb7002 28275 (grub_term_output_class): Likewise.
71b9f361 28276
28277 * util/grub-probe.c (grub_term_get_current_input): Removed.
28278 (grub_term_get_current_output): Likewise.
28279 (grub_term_input_class): New variable.
50fb7002 28280 (grub_term_output_class): Likewise.
71b9f361 28281
28282 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
28283 (grub_term_get_current_output): Likewise.
28284 (grub_term_input_class): New variable.
50fb7002 28285 (grub_term_output_class): Likewise.
71b9f361 28286
28287 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
28288 (terminal_mod_SOURCES): Likewise.
28289 (terminal_mod_CFLAGS): Likewise.
28290 (terminal_mod_LDFLAGS): Likewise.
28291
28292 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
28293 handler.c.
28294 (kernel_img_SOURCES): Add list.c and handler.c.
28295 (kernel_img_HEADERS): Add list.h and handler.h.
28296
28297 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
28298 handler.c.
28299 (kernel_mod_SOURCES): Add list.c and handler.c.
28300 (kernel_mod_HEADERS): Add list.h and handler.h.
28301
28302 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
28303 handler.c.
28304 (kernel_elf_SOURCES): Add list.c and handler.c.
28305 (kernel_elf_HEADERS): Add list.h and handler.h.
28306
28307 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
28308 handler.c.
28309 (kernel_elf_SOURCES): Add list.c and handler.c.
28310 (kernel_elf_HEADERS): Add list.h and handler.h.
28311
28312 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
28313 handler.c.
28314 (kernel_mod_SOURCES): Add list.c and handler.c.
28315 (kernel_mod_HEADERS): Add list.h and handler.h.
28316
28317 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
28318 handler.c.
28319 (kernel_elf_SOURCES): Add list.c and handler.c.
28320 (kernel_elf_HEADERS): Add list.h and handler.h.
28321
8a31787f 283222009-02-27 Robert Millan <rmh@aybabtu.com>
28323
28324 Factorize elf32 / elf64 code in Multiboot loader. This will
28325 prevent it from getting out of sync again.
28326
28327 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
28328 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
28329 grub_multiboot_load_elf64): Move from here ...
28330 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
28331 grub_multiboot_load_elf): ... to here (new file).
28332
51cd3dfc 283332009-02-27 Robert Millan <rmh@aybabtu.com>
28334
28335 * util/grub.d/10_linux.in: Rename "single-user mode" to
28336 "recovery mode".
28337
6e8c9c3a 283382009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
28339
28340 Don't leak in SCSI code.
28341 * disk/scsi.c (grub_scsi_close): free `scsi'.
28342
4b6bf4f9 283432009-02-27 Robert Millan <rmh@aybabtu.com>
28344
28345 * loader/i386/pc/multiboot.c: Move from here ...
28346 * loader/i386/multiboot.c: ... to here. Update all users.
28347
b9413424 283482009-02-27 Robert Millan <rmh@aybabtu.com>
28349
28350 Patch from Alexandre Bique <bique.alexandre@gmail.com>
28351 * util/i386/pc/grub-setup.c (setup): Fix directory path.
28352
50fb7002 283532009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 28354
28355 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
28356 b-tree.
28357
8cc50345 283582009-02-27 Robert Millan <rmh@aybabtu.com>
28359
28360 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
28361 `0x' qualifier as 0 when base is specified as parameter).
28362
6e09b8b7 283632009-02-24 Bean <bean123ch@gmail.com>
28364
28365 * configure.ac: Check for -mcmodel=large in x86_64 target.
28366
28367 * include/grub/efi/api.h (efi_call_10): New macro.
28368 (efi_wrap_10): New function.
28369
28370 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
28371 (GRUB_PE32_REL_BASED_HIGH): Likewise.
28372 (GRUB_PE32_REL_BASED_LOW): Likewise.
28373 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
28374 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
28375 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
28376 (GRUB_PE32_REL_BASED_SECTION): Likewise.
28377 (GRUB_PE32_REL_BASED_REL): Likewise.
28378 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
28379 (GRUB_PE32_REL_BASED_DIR64): Likewise.
28380 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
28381
28382 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
28383 issue.
28384
28385 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
28386 (efi_wrap_10): New function.
28387
28388 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
28389
28390 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
28391 MB/MBP model (NV chipset).
28392 (devdata_devs): Add devpath_5 to the list.
28393
28394 * load/i386/efi/linux.c (video_base): Remove variable.
28395 (RGB_MASK): New macro.
28396 (RGB_MAGIC): Likewise.
28397 (LINE_MIN): Likewise.
28398 (LINE_MAX): Likewise.
28399 (FBTEST_STEP): Likewise.
28400 (FBTEST_COUNT): Likewise.
28401 (fb_list): New variable.
28402 (grub_find_video_card): Remove function.
28403 (find_framebuf): New function.
28404 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
28405 line length.
28406
28407 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
28408 problem for x86_64.
28409
74b21bee 284102009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
28411
28412 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
28413
28414 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
28415 coding tool name.
28416
a455f472 284172009-02-22 Robert Millan <rmh@aybabtu.com>
28418
28419 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
28420 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
28421 in our relocation, instead of using it directly from heap. Also
28422 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
28423
6374daf3 284242009-02-21 Robert Millan <rmh@aybabtu.com>
28425
28426 Implement USB keyboard support (based on patch by Marco Gerards)
28427
28428 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
28429 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
28430 (usb_keyboard_mod_LDFLAGS): New variables.
28431
28432 * term/usb_keyboard.c: New file.
28433
8fa4ea70 284342009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28435
28436 Corrected wrong declaration
28437
28438 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
28439
353976ac 284402009-02-14 Christian Franke <franke@computer.org>
28441
28442 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
28443 (grub_lspci_iter): Print class code and programming interface byte.
28444
6aa1169b 284452009-02-14 Christian Franke <franke@computer.org>
28446
28447 * gendistlist.sh: Ignore `.svn' directories.
28448
265372ca 284492009-02-14 Felix Zielcke <fzielcke@z-51.de>
28450
28451 * fs/fat.c: Add 2009 to Copyright line.
28452
9ff516f3 284532009-02-14 Christian Franke <franke@computer.org>
28454
28455 * commands/hdparm.c: New file. Provides `hdparm' command
28456 which sends ATA commands via grub_disk_ata_pass_through ().
28457
28458 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
28459
28460 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
28461 and <grub/cpu/io.h> to include/grub/ata.h.
28462 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
28463 (GRUB_CDROM_SECTOR_SIZE): Remove.
28464 (GRUB_ATA_*): Move to include/grub/ata.h.
28465 (GRUB_ATAPI_*): Likewise.
28466 (enum grub_ata_commands): Likewise.
28467 (enum grub_ata_timeout_milliseconds): Likewise.
28468 (struct grub_ata_device): Likewise.
28469 (grub_ata_regset): Likewise.
28470 (grub_ata_regget): Likewise.
28471 (grub_ata_regset2): Likewise.
28472 (grub_ata_regget2): Likewise.
28473 (grub_ata_check_ready): Likewise.
28474 (grub_ata_wait_not_busy): Remove static, exported in
28475 include/grub/ata.h.
28476 (grub_ata_wait_drq): Likewise.
28477 (grub_ata_pio_read): Likewise.
28478
28479 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
28480 function for hdparm.mod.
28481
28482 * include/grub/ata.h: New file, contains declarations from
28483 disk/ata.c.
28484 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
28485
28486 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
28487 (grub_disk_ata_pass_through): New exported variable.
28488
28489 * kern/disk.c (grub_disk_ata_pass_through): New variable.
28490
772e23da 284912009-02-13 Colin D Bennett <colin@gibibit.com>
28492
28493 Support multiple fallback entries, and provide an API to support
28494 executing default+fallback menu entries. Renamed the `terminal' menu
28495 viewer to `text'.
28496
28497 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
28498 variable declaration.
28499 (grub_menu_execute_callback): New structure declaration.
28500 (grub_menu_execute_callback_t): New typedef.
28501 (grub_menu_execute_with_fallback): New function declaration.
28502 (grub_menu_get_entry): Likewise.
28503 (grub_menu_get_timeout): Likewise.
28504 (grub_menu_set_timeout): Likewise.
28505
28506 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
28507
28508 * normal/menu.c (grub_wait_after_message): Moved to
28509 `normal/menu_text.c'.
28510 (draw_border): Likewise.
28511 (print_message): Likewise.
28512 (print_entry): Likewise.
28513 (print_entries): Likewise.
28514 (grub_menu_init_page): Likewise.
28515 (get_entry_number): Likewise.
28516 (print_timeout): Likewise.
28517 (run_menu): Likewise.
28518 (grub_menu_execute_entry): Likewise.
28519 (show_text_menu): Likewise.
28520 (get_and_remove_first_entry_number): New function.
28521 (grub_menu_execute_with_fallback): Likewise.
28522 (get_entry): Renamed to ...
28523 (grub_menu_get_entry): .. this and made it global.
28524 (get_timeout): Renamed to ...
28525 (grub_menu_get_timeout): ... this and made it global.
28526 (set_timeout): Renamed to ...
28527 (grub_menu_set_timeout): ... this and made it global.
28528 (grub_normal_terminal_menu_viewer): Renamed to ...
28529 (grub_normal_text_menu_viewer): ... this.
28530
28531 * normal/menu_text.c: New file. Extracted text-menu-specific code
28532 from normal/menu.c.
28533
28534 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
28535 (normal_mod_SOURCES): Likewise.
28536
28537 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28538 (normal_mod_SOURCES): Likewise.
28539
28540 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28541 (normal_mod_SOURCES): Likewise.
28542
28543 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
28544 (normal_mod_SOURCES): Likewise.
28545
28546 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28547 (normal_mod_SOURCES): Likewise.
28548
28549 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28550 (normal_mod_SOURCES): Likewise.
28551
28552 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28553 (normal_mod_SOURCES): Likewise.
28554
16ac430e 285552009-02-11 Robert Millan <rmh@aybabtu.com>
28556
28557 * util/grub.d/00_header.in: Update old reference to `font' command.
28558
06ff20fc 285592009-02-10 Felix Zielcke <fzielcke@z-51.de>
28560
28561 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
28562
28563 Based on patch from Javier Martín.
28564
96da9407 285652009-02-09 Felix Zielcke <fzielcke@z-51.de>
28566
28567 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 28568 to avoid false positives with FAT.
96da9407 28569 (grub_fstest_SOURCES): Likewise.
28570 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28571 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28572 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28573 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28574 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28575 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28576
6dca6fe4 285772009-02-09 Felix Zielcke <fzielcke@z-51.de>
28578
06ff20fc 28579 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 28580 bpb.version_specific.fat12_or_fat16.fstype and
28581 bpb.version_specific.fat32.fstype.
28582
2550c62f 285832009-02-08 Robert Millan <rmh@aybabtu.com>
28584
be110b30 28585 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 28586
56978920 285872009-02-08 Robert Millan <rmh@aybabtu.com>
28588
28589 * Makefile.in (host_os, host_cpu): New variables.
28590 (target_os): Remove. Update all users.
28591
d64399b5 285922009-02-08 Marco Gerards <marco@gnu.org>
28593
28594 * Makefile.in (enable_grub_emu_usb): New variable.
28595 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
28596 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
28597 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
28598 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
28599 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
28600 `usbtest.mod' and `usbms.mod'.
28601 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
28602 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
28603 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
28604 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
28605 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
28606 variables.
28607
28608 * disk/usbms.c: New file.
28609
28610 * include/grub/usb.h: Likewise.
28611
28612 * include/grub/usbtrans.h: Likewise.
28613
28614 * include/grub/usbdesc.h: Likewise.
28615
28616 * bus/usb/usbtrans.c: Likewise.
28617
28618 * bus/usb/ohci.c: Likewise.
28619
28620 * bus/usb/uhci.c: Likewise.
28621
28622 * bus/usb/usbhub.c: Likewise.
28623
28624 * bus/usb/usb.c: Likewise.
28625
28626 * commands/usbtest.c: Likewise.
28627
28628 * util/usb.c: Likewise.
50fb7002 28629
d64399b5 28630 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
28631
28632 * configure.ac: Test for libusb presence.
50fb7002 28633
d64399b5 28634 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
28635
2b40d6bb 286362009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
28637
28638 * kern/mm.c: Add more comments.
28639
73a4ce81 286402009-02-08 Robert Millan <rmh@aybabtu.com>
28641
28642 Patch from Javier Martín.
28643 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
28644 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
28645
f821ce59 286462009-02-08 Robert Millan <rmh@aybabtu.com>
28647
28648 * fs/cpio.c: Split tar functionality to ...
28649 * fs/tar.c: ... here (new file). Update all users.
28650
aebfc4b0 286512009-02-07 Robert Millan <rmh@aybabtu.com>
28652
28653 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
28654 backward-incompatible features.
28655
28656 Based on patch from Javier Martín, with some adjustments.
28657
50fb7002 286582009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 28659
28660 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
28661
0bb5115e 286622009-02-07 Robert Millan <rmh@aybabtu.com>
28663
28664 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
28665 position of `disk/lvm.c' to ensure grub_init_all() always picks it
28666 after the RAID stuff.
28667
38a0f8e7 286682009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
28669
50fb7002 28670 Fixes problem when running vbetest command as reported by
38a0f8e7 28671 Vladimir Serbinenko <phcoder@gmail.com>.
28672
28673 * (grub_vbe_set_video_mode): Fixed problem with text modes.
28674
3143cc1c 286752009-02-04 Felix Zielcke <fzielcke@z-51.de>
28676
28677 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
28678 /dev/md/NpN style mdraid devices.
28679
9cba6fce 286802009-02-03 Felix Zielcke <fzielcke@z-51.de>
28681
28682 * util/unifont2pff.rb: Remove.
28683
e507a2c1 286842009-02-03 Felix Zielcke <fzielcke@z-51.de>
28685
28686 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
28687 `#'.
28688
d2c2b4cd 286892009-02-03 Felix Zielcke <fzielcke@z-51.de>
28690
28691 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
28692 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28693 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28694 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28695 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28696 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28697 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28698
b4315fb0 286992009-02-02 Christian Franke <franke@computer.org>
28700
28701 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
28702
de3aa260 287032009-02-01 Felix Zielcke <fzielcke@z-51.de>
28704
7c3ff286 28705 * INSTALL: Note that we now require at least autoconf 2.59 and
28706 that LZO is optional.
de3aa260 28707
825a182b 287082009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
28709
28710 Base on patch on bug #24154 created by Tomas Tintera
28711 <trosos@seznam.cz>.
28712
28713 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
28714
a69ef770 287152009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
28716
7c3ff286 28717 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 28718 <bero@arklinux.org>.
28719
28720 * normal/parser.y (script_init): Add missing semicolon.
28721
6fa42fa6 287222009-01-31 Colin D Bennett <colin@gibibit.com>
28723
7c3ff286 28724 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 28725 (free_menu_entry_classes): Added.
28726 (grub_normal_menu_addentry): Added class property handling.
28727 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
28728 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
28729
28730 * normal/menu_viewer.c: New file.
28731
28732 * normal/menu.c (run_menu_entry): Renamed to ...
28733 (grub_menu_execute_entry): ... this and made it as global.
28734 (grub_menu_run): Renamed to ...
28735 (show_text_menu): ... this and made it local.
28736 (show_text_menu): Adapt to new function names.
28737 (grub_normal_terminal_menu_viewer): New global variable.
28738
28739 * include/grub/menu.h: New file.
28740
28741 * include/grub/menu_viewer.h: New file.
28742
28743 * include/grub/normal.h: Added include to grub/menu.h.
28744 (grub_menu_entry): Moved to include/grub/menu.h.
28745 (grub_menu_entry_t): Likewise.
28746 (grub_menu): Likewise.
28747 (grub_menu_t): Likewise.
28748 (grub_normal_terminal_menu_viewer): Added.
28749 (grub_menu_execute_entry): Likewise.
28750 (grub_menu_run): Removed.
28751
28752 * DISTLIST: Added include/grub/menu.h.
28753 Added include/grub/menu_viewer.h.
28754 Added normal/menu_viewer.c.
28755
287562009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
28757
28758 * normal/execute.c (grub_script_execute_menuentry): Changed to use
28759 arglist for menutitle arguments.
28760
28761 * normal/main.c (grub_normal_menu_addentry): Likewise.
28762
28763 * normal/parser.y (menuentry): Likewise.
28764
28765 * normal/script.c (grub_script_create_cmdmenu): Likewise.
28766
28767 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
28768 (grub_script_create_cmdmenu): Likewise.
28769
28770 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
28771
28772 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
28773 changes.
28774
28775 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
28776
28777 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
28778
28779 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
28780
28781 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28782
28783 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28784
28785 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28786
56192c23 287872009-01-30 Christian Franke <franke@computer.org>
28788
28789 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
28790 in option help text.
28791
d72521b3 287922009-01-27 Pavel Roskin <proski@gnu.org>
28793
28794 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
28795
994b5e84 287962009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
28797
28798 * commands/lsmmap.c: Add include to grub/machine/memory.h.
28799
28800 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
28801
28802 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
28803 unregister function.
28804
6a7eab2c 288052009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
28806
28807 * disk/scsi.c (grub_scsi_read): Fix sign problem.
28808
28809 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
28810
28811 * util/grub-mkfont.c (usage): Fix typo.
28812
28813 * util/elf/grub-mkimage.c (load_modules): Fix warning.
28814
1806b56e 288152009-01-26 Daniel Mierswa <impulze@impulze.org>
28816
3fb18f09 28817 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
28818
336e1fb9 28819 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
28820
1806b56e 28821 * kern/misc.c (grub_strcasecmp): New function.
28822 (grub_strcasecmp): Use grub_size_t instead of int for length.
28823 Fix return value.
28824 * include/grub/misc.h: Update function prototypes.
28825
580b2a0f 288262009-01-26 Robert Millan <rmh@aybabtu.com>
28827
28828 * configure.ac: Fix cross-compilation check.
ef257b36 28829
d31c24f1 288302009-01-22 Christian Franke <franke@computer.org>
28831
28832 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
28833 (precision) digit string. Allow `.format2' without `format1' (width).
28834 Limit input chars for `%s' output to `format2' if specified. This is
28835 compatible with standard printf ().
28836
3138b44c 288372009-01-22 Christian Franke <franke@computer.org>
28838
28839 * disk/ata.c (grub_ata_wait_status): Replace by ...
28840 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
28841 other status bits may be invalid while BSY is asserted.
28842 (grub_ata_check_ready): New function.
28843 (grub_ata_cmd): Removed.
28844 (grub_ata_wait_drq): New function.
28845 (grub_ata_strncpy): Remove inline.
28846 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
28847 and error check now done by grub_ata_wait_drq ().
28848 (grub_ata_pio_write): Likewise.
28849 (grub_atapi_identify): Set DEV before check for !BSY. Use
28850 grub_ata_wait_drq () to wait for data.
28851 (grub_ata_device_initialize): Add status register check to
28852 detect missing SATA slave devices. Add debug messages.
28853 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
28854 (grub_atapi_packet): Set DEV before check for !BSY. Replace
28855 transfer loop by grub_ata_pio_write ().
28856 (grub_ata_identify): Set DEV before check for !BSY. Use
28857 grub_ata_wait_drq () to wait for data.
ef257b36 28858 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 28859 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
28860 read/write in one loop. Fix invalid command on write. Fix incomplete
28861 command on (size % batch) == 0. Add missing error check after write of
28862 last block. Add debug messages.
28863 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
28864
59a64ef6 288652009-01-19 Christian Franke <franke@computer.org>
28866
28867 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
28868 (GRUB_ATAPI_IREASON_*): Likewise.
28869 (grub_ata_pio_write): Fix timeout error return.
28870 (grub_atapi_identify): Add grub_ata_wait () after cmd.
28871 (grub_atapi_wait_drq): New function.
28872 (grub_atapi_packet): New parameter `size'.
28873 Use grub_atapi_wait_drq () and direct write instead of
28874 grub_ata_pio_write ().
28875 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
28876 reads the number of bytes requested by the device for each DRQ
28877 assertion.
28878 (grub_atapi_write): Remove old implementation, return not
28879 implemented instead.
28880
1cfe20b3 288812009-01-19 Christian Franke <franke@computer.org>
28882
28883 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
28884 of 512 to calculate data size.
28885 (grub_scsi_read12): Likewise.
28886 (grub_scsi_write10): Likewise.
28887 (grub_scsi_write12): Likewise.
28888 (grub_scsi_read): Adjust size according to blocksize.
28889 Add checks for invalid blocksize and unaligned transfer.
28890
bee5fe5d 288912009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
28892
28893 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
28894
ef257b36 28895 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 28896 width glyphs.
28897
3e643f8c 288982009-01-19 Robert Millan <rmh@aybabtu.com>
28899
28900 * config.guess: Update to latest version from config git.
28901 * config.sub: Likewise.
28902
4fa80998 289032009-01-17 Felix Zielcke <fzielcke@z-51.de>
28904
28905 * Makefile.in: Change font compilation to use new grub-mkfont instead
28906 of java version.
28907
28908 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
28909 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
28910 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28911 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28912 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
28913 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
28914 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
28915 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
28916 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
28917
7086085b 289182009-01-16 Christian Franke <franke@computer.org>
28919
28920 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
28921 (enum grub_ata_timeout_milliseconds): New enum.
28922 (grub_ata_wait_status): Add parameter milliseconds.
28923 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
28924 recovery from timed-out commands.
28925 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
28926 return grub_errno instead of REG_ERROR.
28927 (grub_ata_pio_write): Add parameter milliseconds.
28928 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
28929 Pass milliseconds to grub_ata_wait_status () and
28930 grub_ata_pio_read ().
28931 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
28932 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
28933 grub_ata_wait_status (). Fix IDENTIFY timeout check.
28934 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
28935 It is not suitable for device detection, because DEV bit is ignored,
28936 the command may run too long, and not all devices set the signature
28937 properly.
28938 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
28939 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
28940 Fix device selection, DEV bit must be set first to address the registers
28941 of the correct device.
28942 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
28943 grub_ata_pio_read/write ().
28944 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
28945 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
28946
4a412913 289472009-01-13 Carles Pina i Estany <carles@pina.cat>
28948
28949 * util/grub-editenv.c (main): Use fseeko(), not fseek().
28950
7795c55e 289512009-01-13 Bean <bean123ch@gmail.com>
d913988c 28952
28953 * util/grub-mkfont.c (write_font): forget to remove some debug code.
28954
7795c55e 289552009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 28956
28957 * Makefile.in: (enable_grub_mkfont): New variable.
28958 (freetype_cflags): Likewise.
28959 (freetype_libs): Likewise.
28960
28961 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
28962 (grub_mkfont_SOURCES): New variable.
28963 (grub_mkfont_CFLAGS): Likewise.
28964 (grub_mkfont_LDFLAGS): Likewise.
28965
28966 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
28967 library if `--enable-grub-mkfont' is requested.
28968 (enable_grub_mkfont): New variable.
28969 (freetype_cflags): Likewise.
28970 (freetype_libs): Likewise.
28971
28972 * util/grub-mkfont.c: New file.
28973
093af1fe 289742009-01-12 Christian Franke <franke@computer.org>
28975
28976 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
28977 mode check. Fix setting of compat_use[].
28978
f36cc108 289792009-01-10 Robert Millan <rmh@aybabtu.com>
28980
28981 Update a few copyright years which we forgot to do in 2008 (only for
28982 files whose changes made in 2008 were copyright-significant)
28983
28984 * Makefile.in: Add 2008 to Copyright line.
28985 * disk/ieee1275/ofdisk.c: Likewise.
28986 * disk/efi/efidisk.c: Likewise.
28987 * kern/dl.c: Likewise.
28988 * kern/sparc64/ieee1275/init.c: Likewise.
28989 * kern/mm.c: Likewise.
28990 * kern/efi/mm.c: Likewise.
28991 * boot/i386/pc/boot.S: Likewise.
28992 * genfslist.sh: Likewise.
28993 * fs/iso9660.c: Likewise.
28994 * fs/hfs.c: Likewise.
28995 * fs/jfs.c: Likewise.
28996 * fs/minix.c: Likewise.
28997 * fs/ufs.c: Likewise.
28998 * gensymlist.sh.in: Likewise.
28999 * genkernsyms.sh.in: Likewise.
29000 * include/grub/misc.h: Likewise.
29001 * include/grub/types.h: Likewise.
29002 * include/grub/symbol.h: Likewise.
29003 * include/grub/elf.h: Likewise.
29004 * include/grub/kernel.h: Likewise.
29005 * include/grub/disk.h: Likewise.
29006 * include/grub/dl.h: Likewise.
29007 * include/grub/i386/linux.h: Likewise.
29008 * include/grub/i386/pc/biosdisk.h: Likewise.
29009 * include/grub/efi/api.h: Likewise.
29010 * include/grub/efi/pe32.h: Likewise.
29011 * include/grub/util/misc.h: Likewise.
29012 * normal/execute.c: Likewise.
29013 * normal/arg.c: Likewise.
29014 * normal/completion.c: Likewise.
29015 * normal/lexer.c: Likewise.
29016 * normal/parser.y: Likewise.
29017 * normal/misc.c: Likewise.
29018 * commands/i386/pc/vbeinfo.c: Likewise.
29019 * commands/hexdump.c: Likewise.
29020 * commands/terminal.c: Likewise.
29021 * commands/ls.c: Likewise.
29022 * commands/help.c: Likewise.
29023 * partmap/pc.c: Likewise.
29024 * loader/efi/chainloader.c: Likewise.
29025 * loader/multiboot_loader.c: Likewise.
29026 * loader/i386/pc/multiboot2.c: Likewise.
29027 * term/efi/console.c: Likewise.
29028 * term/i386/pc/serial.c: Likewise.
29029 * util/lvm.c: Likewise.
29030 * util/console.c: Likewise.
29031 * util/i386/efi/grub-mkimage.c: Likewise.
29032 * util/raid.c: Likewise.
29033
7f02114b 290342009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
29035
29036 * commands/videotest.c: Removed include to grub/machine/memory.h.
29037
29038 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
29039 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
29040 (video_mod_SOURCES): Removed.
29041 (video_mod_CFLAGS): Likewise.
29042 (video_mod_LDFLAGS): Likewise.
29043 (gfxterm_mod_SOURCES): Likewise.
29044 (gfxterm_mod_CFLAGS): Likewise.
29045 (gfxterm_mod_LDFLAGS): Likewise.
29046 (videotest_mod_SOURCES): Likewise.
29047 (videotest_mod_CFLAGS): Likewise.
29048 (videotest_mod_LDFLAGS): Likewise.
29049 (bitmap_mod_SOURCES): Likewise.
29050 (bitmap_mod_CFLAGS): Likewise.
29051 (bitmap_mod_LDFLAGS): Likewise.
29052 (tga_mod_SOURCES): Likewise.
29053 (tga_mod_CFLAGS): Likewise.
29054 (tga_mod_LDFLAGS): Likewise.
29055 (jpeg_mod_SOURCES): Likewise.
29056 (jpeg_mod_CFLAGS): Likewise.
29057 (jpeg_mod_LDFLAGS): Likewise.
29058 (png_mod_SOURCES): Likewise.
29059 (png_mod_CFLAGS): Likewise.
29060 (png_mod_LDFLAGS): Likewise.
29061
29062 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
29063 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
29064 (video_mod_SOURCES): Added.
29065 (video_mod_CFLAGS): Likewise.
29066 (video_mod_LDFLAGS): Likewise.
29067 (videotest_mod_SOURCES): Likewise.
29068 (videotest_mod_CFLAGS): Likewise.
29069 (videotest_mod_LDFLAGS): Likewise.
29070 (bitmap_mod_SOURCES): Likewise.
29071 (bitmap_mod_CFLAGS): Likewise.
29072 (bitmap_mod_LDFLAGS): Likewise.
29073 (tga_mod_SOURCES): Likewise.
29074 (tga_mod_CFLAGS): Likewise.
29075 (tga_mod_LDFLAGS): Likewise.
29076 (jpeg_mod_SOURCES): Likewise.
29077 (jpeg_mod_CFLAGS): Likewise.
29078 (jpeg_mod_LDFLAGS): Likewise.
29079 (png_mod_SOURCES): Likewise.
29080 (png_mod_CFLAGS): Likewise.
29081 (png_mod_LDFLAGS): Likewise.
29082 (gfxterm_mod_SOURCES): Likewise.
29083 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 29084 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 29085
29086 * term/gfxterm.c: Removed include to grub/machine/memory.h,
29087 grub/machine/console.h.
29088
644fff97 290892009-01-04 Jerone Young <jerone@gmail.com>
29090
29091 Make on screen instructions clearer
29092
29093 Based on patch created by Jidanni <jidanni@jidanni.org>
29094
29095 * normal/menu.c: print clearer instructions on the screen
29096
1e901a75 290972009-01-02 Colin D Bennett <colin@gibibit.com>
29098
29099 New font engine.
34c44600 29100
1e901a75 29101 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
29102 build system and fixed gfxterm.c to work with different sized fonts.
29103
29104 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 29105
1e901a75 29106 * configure: Re-generated.
34c44600 29107
1e901a75 29108 * DISTLIST: Removed font/manager.c.
29109 Added font/font.c.
29110 Added font/font_cmd.c.
34c44600 29111
1e901a75 29112 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
29113 compilation.
34c44600 29114
1e901a75 29115 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 29116
29117 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 29118
29119 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 29120
1e901a75 29121 * normal/menu.c: Likewise.
34c44600 29122
1e901a75 29123 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
29124 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 29125
1e901a75 29126 * include/grub/font.h: Replaced with new file.
34c44600 29127
1e901a75 29128 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
29129 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
29130 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
29131 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
29132 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 29133 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 29134 fg_red, fg_green, fg_blue, fg_alpha.
29135 (grub_video_adapter): Removed blit_glyph.
34c44600 29136 (grub_video_blit_glyph): Removed.
29137
1e901a75 29138 * font/manager.c: Removed file.
34c44600 29139
29140 * font/font.c: New file.
29141
1e901a75 29142 * font/font_cmd.c: Likewise.
34c44600 29143
1e901a75 29144 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 29145
1e901a75 29146 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
29147 (grub_video_vbe_map_rgba): Likewise.
29148 (grub_video_vbe_unmap_color_int): Likewise.
29149 (grub_video_vbe_blit_glyph): Removed.
29150 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 29151
1e901a75 29152 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
29153 (get_pixel): Likewise.
34c44600 29154 (set_pixel): Likewise.
29155
1e901a75 29156 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 29157
1e901a75 29158 * term/gfxterm.c: Adapted to new font engine.
34c44600 29159
1e901a75 29160 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 29161
1e901a75 29162 * term/i386/pc/vga.c: Likewise.
34c44600 29163
1e901a75 29164 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 29165
1e901a75 29166 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 29167
1e901a75 29168 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 29169
1e901a75 29170 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 29171
1e901a75 29172 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 29173
1e901a75 29174 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 29175
1e901a75 29176 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 29177
1e901a75 29178 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 29179
1e901a75 29180 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
29181
29182 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 29183
1e901a75 29184 * util/grub-mkconfig_lib.in: Changed font extension.
29185
278922e8 291862008-12-28 Felix Zielcke <fzielcke@z-51.de>
29187
29188 * util/getroot.c (grub_util_get_grub_dev): Add support for
29189 /dev/md/dNNpNN style partitionable mdraid devices.
29190
3ced05cf 291912008-12-12 Alex Smith <alex@alex-smith.me.uk>
29192
29193 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
29194 at a time limit of the PXE TFTP API correctly.
29195 (grub_pxefs_close): Likewise.
29196
7fd0ee30 291972008-11-29 Robert Millan <rmh@aybabtu.com>
29198
34c44600 29199 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 29200 grub_ata_device_initialize() calls.
29201
34c44600 292022008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 29203
29204 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
29205 iteration failed.
29206 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
29207
89313780 292082008-11-28 Robert Millan <rmh@aybabtu.com>
29209
29210 Fix build on powerpc-ieee1275. Based on patch created by
29211 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
29212 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
29213 `kern/ieee1275/mmap.c'.
29214 * include/grub/powerpc/ieee1275/memory.h: New file.
29215
15257703 29216 Provide grub-install on coreboot.
29217 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
29218 (grub_install_SOURCES): New variable.
29219 * util/i386/pc/grub-install.in: Add a few condition checks to make it
29220 usable on coreboot.
29221
9fc5388a 292222008-11-25 Felix Zielcke <fzielcke@z-51.de>
29223
29224 * util/grub-fstest.c (grub_term_get_current_input): Change return type
29225 to `grub_term_input_t'.
29226 (grub_term_get_current_output): Change return type to
29227 `grub_term_output_t'.
29228
bc3a2f31 292292008-11-22 Robert Millan <rmh@aybabtu.com>
29230
34c44600 29231 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 29232 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
29233 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
29234 grub_vga_text_cls().
29235
80fc88f2 29236 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 29237 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 29238
cbf36fd3 29239 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
29240 to 0x200000 (avoids trouble with some OFW implementations, and matches
29241 with the one in Yaboot).
29242 Reported by Manoel Abranches
29243
73e8e268 292442008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 29245
29246 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
29247 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
29248
73e8e268 29249 * util/grub-mkconfig_lib.in (grub_warn): New function.
29250 (convert_system_path_to_grub_path): Use grub_warn() when issuing
29251 warnings, to obtain consistent formatting.
29252 * util/grub.d/00_header.in: Likewise.
29253 * util/update-grub_lib.in: Likewise.
29254
e94045a1 29255 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 29256 Move comment text to `#error' stanza.
e94045a1 29257
79d29fd7 29258 Harmonize ieee1275's grub_available_iterate() with the generic
29259 grub_machine_mmap_iterate() interface (fixes a recently-introduced
29260 build problem on i386-ieee1275):
29261 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
29262 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
29263 parameter `type'. Update all users of this function.
29264 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
29265 `kern/ieee1275/mmap.c'.
29266 * kern/ieee1275/init.c
29267 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
29268 with ...
29269 (grub_machine_mmap_iterate): ... this.
29270 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
29271 return type to `grub_err_t'. Update all implementations of this
29272 function prototype.
29273 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
29274 Likewise.
29275
60d6b16e 29276 Add `lsmmap' command (lists firmware-provided memory map):
29277 * commands/lsmmap.c: New file.
29278 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
29279 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
29280 variables.
29281 * conf/powerpc-ieee1275.rmk: Likewise.
29282 * conf/i386-coreboot.rmk: Likewise.
29283 * conf/i386-ieee1275.rmk: Likewise.
29284
ebaaf49b 292852008-11-19 Robert Millan <rmh@aybabtu.com>
29286
29287 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 29288 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
29289 constraints to initrd allocation (based on code from
29290 loader/i386/pc/linux.c). Without them, initrd was allocated too high
29291 for Linux to find it.
ebaaf49b 29292
dfab719f 292932008-11-14 Robert Millan <rmh@aybabtu.com>
29294
29295 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
29296 order to cope with duplicate slashes.
29297
10fc3eb9 292982008-11-14 Robert Millan <rmh@aybabtu.com>
29299
29300 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
29301 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
29302 don't want to mess with lower memory, because it is used in the Linux
29303 loader.
29304
29305 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 29306 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 29307 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
29308 is in our heap (probably as a result of it being corrupted during
2f2a3442 29309 decompression). Add #error instance with comment to explain why this
29310 loader isn't currently usable on PC/BIOS.
10fc3eb9 29311
e2e07847 293122008-11-14 Robert Millan <rmh@aybabtu.com>
29313
29314 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 29315 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 29316
fe8e8d69 293172008-11-12 Robert Millan <rmh@aybabtu.com>
29318
29319 Make loader/i386/linux.c buildable on i386-pc (although disabled).
29320
29321 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
29322 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
29323 from here ...
29324 * include/grub/i386/pc/memory.h: ... to here.
29325
976b07d0 293262008-11-12 Robert Millan <rmh@aybabtu.com>
29327
29328 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
29329 split).
29330
29331 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
29332 (grub_console_cur_color, grub_console_real_putchar)
29333 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
29334 (grub_console_setcolorstate, grub_console_setcolor)
29335 (grub_console_getcolor): Move from here ...
29336 * include/grub/i386/vga_common.h: ... to here (new file).
29337
29338 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
29339 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
29340 `<grub/i386/io.h>'.
29341 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
29342 `<grub/i386/vga_common.h>'.
29343
76679cd3 293442008-11-12 Robert Millan <rmh@aybabtu.com>
29345
29346 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
29347 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
29348 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
29349 variables.
29350 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
29351 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
29352
29353 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
29354 grub_console_init() with call to grub_vga_text_init().
29355 (grub_machine_fini): Replace call to
29356 grub_console_fini() with call to grub_vga_text_fini() and
29357 grub_at_keyboard_fini().
29358
29359 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
29360 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
29361 (grub_console_setcolorstate, grub_console_setcolor)
29362 (grub_console_getcolor): New function prototypes.
29363
29364 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
29365 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
29366 (grub_vga_text_setcursor): Static-ize.
29367 (grub_vga_text_term): New structure.
29368 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
29369
29370 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
29371 (grub_console_cur_color, grub_console_standard_color)
29372 (grub_console_normal_color, grub_console_highlight_color)
29373 (map_char, grub_console_putchar, grub_console_getcharwidth)
29374 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
29375 (grub_console_getcolor): Move from here ...
29376 * term/i386/vga_common.c: ... to here (same function names).
29377
95b841d3 293782008-11-12 Robert Millan <rmh@aybabtu.com>
29379
29380 Use newly-added Multiboot support in coreboot.
29381
29382 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
29383 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
29384
29385 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
29386 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
29387 (codestart): Store the MBI in `startup_multiboot_info' when we're
29388 being loaded using Multiboot.
29389
29390 * kern/i386/coreboot/init.c (grub_machine_init): Move
29391 grub_at_keyboard_init() call to beginning of function (useful for
29392 debugging). Call grub_machine_mmap_init() before attempting to use
29393 grub_machine_mmap_iterate().
29394 (grub_lower_mem, grub_upper_mem): Move from here ...
29395 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
29396 here (new file).
29397
29398 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
29399 function prototype.
29400
761ca975 294012008-11-12 Robert Millan <rmh@aybabtu.com>
29402
29403 Fix a regression introduced by the at_keyboard.mod split. Because
29404 some terminals are default on some platforms and non-default on
29405 others, the first terminal being registered determines which is
29406 going to be default.
29407
29408 * kern/term.c (grub_term_register_input): If this is the first
29409 terminal being registered, set it as the current one.
29410 (grub_term_register_output): Likewise.
29411
29412 * term/efi/console.c (grub_console_init): Do not call
29413 grub_term_set_current_output() or grub_term_set_current_input().
29414 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
29415 * term/i386/pc/console.c (grub_console_init): Likewise.
29416 (grub_console_fini): Do not call grub_term_set_current_input()
29417 (but leave grub_term_set_current_output() to restore text mode).
29418
6c529df7 294192008-11-10 Robert Millan <rmh@aybabtu.com>
29420
29421 * util/grub.d/00_header.in: Add backward compatibility check for
29422 versions of terminal.mod that don't understand `terminal_input' or
29423 `terminal_output'.
29424
132e4113 294252008-11-09 Robert Millan <rmh@aybabtu.com>
29426
29427 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
29428 `terminal_input' / `terminal_output', not `terminal'.
29429
ac293d50 294302008-11-08 Robert Millan <rmh@aybabtu.com>
29431
29432 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 29433 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 29434
0025933a 294352008-11-08 Robert Millan <rmh@aybabtu.com>
29436
29437 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 29438 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 29439 members. Update all users.
29440 * util/console.c (grub_ncurses_term): Split in ...
29441 (grub_ncurses_term_input): ... this, and ...
29442 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 29443 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 29444
37c86336 294452008-11-08 Robert Millan <rmh@aybabtu.com>
29446
29447 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
29448 (PKGDATA): Add $(pkgdata_SRCDIR).
29449 (pkglib_BUILDDIR): New variable.
29450 (pkgdata_SRCDIR): New variable.
29451 (build_env.mk): New target.
29452 (include_DATA): New variable.
29453 (install-local): Install $(include_DATA) files in $(includedir).
29454
b6c15a2d 294552008-11-07 Pavel Roskin <proski@gnu.org>
29456
d99d46f1 29457 * gendistlist.sh: Use C locale for sorting to ensure consistent
29458 output on all systems.
29459
b6c15a2d 29460 * util/grub.d/00_header.in: Remove incorrect space before
29461 "serial".
29462
c32ee8c9 294632008-11-07 Robert Millan <rmh@aybabtu.com>
29464
29465 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
29466 per specification.
29467 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
29468 * loader/multiboot_loader.c (find_multi_boot2_header): New function
29469 (based on find_multi_boot1_header).
29470 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
29471 using find_multi_boot2_header(), and abort if neither Multiboot or
29472 Multiboot headers were found.
29473
651c29b7 294742008-11-07 Robert Millan <rmh@aybabtu.com>
29475
29476 Modularize at_keyboard.mod:
29477
29478 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
29479 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29480 (at_keyboard_mod_LDFLAGS): New variables.
29481
29482 Actual terminal split:
29483
29484 * include/grub/term.h (struct grub_term): Split in ...
29485 (struct grub_term_input): ... this, and ...
29486 (struct grub_term_output): ... this. Update all users.
29487 (grub_term_set_current): Split in ...
29488 (grub_term_set_current_input): ... this, and ...
29489 (grub_term_set_current_output): ... this.
29490 (grub_term_get_current): Split in ...
29491 (grub_term_get_current_input): ... this, and ...
29492 (grub_term_get_current_output): ... this.
29493 (grub_term_register): Split in ...
29494 (grub_term_register_input): ... this, and ...
29495 (grub_term_register_output): ... this.
29496 (grub_term_unregister): Split in ...
29497 (grub_term_unregister_input): ... this, and ...
29498 (grub_term_unregister_output): ... this.
29499 (grub_term_iterate): Split in ...
29500 (grub_term_iterate_input): ... this, and ...
29501 (grub_term_iterate_output): ... this.
29502
29503 * kern/term.c (grub_term_list): Split in ...
29504 (grub_term_list_input): ... this, and ...
29505 (grub_term_list_output): ... this. Update all users.
29506 (grub_cur_term): Split in ...
29507 (grub_cur_term_input): ... this, and ...
29508 (grub_cur_term_output): ... this. Update all users.
29509 (grub_term_set_current): Split in ...
29510 (grub_term_set_current_input): ... this, and ...
29511 (grub_term_set_current_output): ... this.
29512 (grub_term_get_current): Split in ...
29513 (grub_term_get_current_input): ... this, and ...
29514 (grub_term_get_current_output): ... this.
29515 (grub_term_register): Split in ...
29516 (grub_term_register_input): ... this, and ...
29517 (grub_term_register_output): ... this.
29518 (grub_term_unregister): Split in ...
29519 (grub_term_unregister_input): ... this, and ...
29520 (grub_term_unregister_output): ... this.
29521 (grub_term_iterate): Split in ...
29522 (grub_term_iterate_input): ... this, and ...
29523 (grub_term_iterate_output): ... this.
29524
29525 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
29526 a check for input and one for output (and only attempt to get keys
29527 from user when input works).
29528
29529 * util/grub-probe.c (grub_term_get_current): Split in ...
29530 (grub_term_get_current_input): ... this, and ...
29531 (grub_term_get_current_output): ... this.
29532 * util/grub-fstest.c: Likewise.
29533 * util/i386/pc/grub-setup.c: Likewise.
29534 * util/grub-editenv.c: Likewise.
29535
29536 Portability adjustments:
29537
29538 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
29539 `term/i386/pc/at_keyboard.c'.
29540 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
29541 grub_keyboard_controller_init() (now handled by terminal .init).
29542 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
29543 grub_at_keyboard_init().
29544 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
29545 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
29546 at_keyboard.mod via input terminal interface).
29547 * include/grub/i386/coreboot/console.h: Convert into a stub for
29548 `<grub/i386/pc/console.h>'.
29549
29550 Migrate full terminals to new API:
29551
29552 * term/efi/console.c (grub_console_term): Split into ...
29553 (grub_console_term_input): ... this, and ...
29554 (grub_console_term_output): ... this. Update all users.
29555 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
29556 (grub_ofconsole_init): Split into ...
29557 (grub_ofconsole_init_input): ... this, and ...
29558 (grub_ofconsole_init_output): ... this.
29559 (grub_ofconsole_term): Split into ...
29560 (grub_ofconsole_term_input): ... this, and ...
29561 (grub_ofconsole_term_output): ... this. Update all users.
29562 * term/i386/pc/serial.c (grub_serial_term): Split into ...
29563 (grub_serial_term_input): ... this, and ...
29564 (grub_serial_term_output): ... this. Update all users.
29565 * term/i386/pc/console.c (grub_console_term): Split into ...
29566 (grub_console_term_input): ... this, and ...
29567 (grub_console_term_output): ... this. Update all users.
29568 (grub_console_term_input): Only enable it on PC/BIOS platform.
29569 (grub_console_init): Remove grub_keyboard_controller_init() call.
29570
29571 Migrate input terminals to new API:
29572
29573 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
29574 `i386' and `i386/pc' to enable build on x86_64 (this driver is
29575 i386-specific anyway).
29576 (grub_console_checkkey): Rename to ...
29577 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
29578 users.
29579 (grub_keyboard_controller_orig): New variable.
29580 (grub_console_getkey): Rename to ...
29581 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
29582 users.
29583 (grub_keyboard_controller_init): Static-ize. Save original
29584 controller value so that it can be restored ...
29585 (grub_keyboard_controller_fini): ... here (new function).
29586 (grub_at_keyboard_term): New structure.
29587 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
29588 functions.
29589
29590 Migrate output terminals to new API:
29591
29592 * term/i386/pc/vga.c (grub_vga_term): Change type to
29593 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
29594 members. Update all users.
29595 * term/gfxterm.c (grub_video_term): Change type to
29596 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
29597 members. Update all users.
29598 * include/grub/i386/pc/console.h (grub_console_checkkey)
29599 (grub_console_getkey): Do not export (no longer needed by gfxterm,
29600 etc).
29601
29602 Migrate `terminal' command and userland tools to new API:
29603
29604 * commands/terminal.c (grub_cmd_terminal): Split into ...
29605 (grub_cmd_terminal_input): ... this, and ...
29606 (grub_cmd_terminal_output): ... this.
29607 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
29608 `terminal_input' and `terminal_output'.
29609 * util/grub.d/00_header.in: Adjust `terminal' calls to new
29610 `terminal_input' / `terminal_output' API.
29611 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
29612 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
29613 provided ${GRUB_TERMINAL}, convert it).
29614
96e5d876 296152008-11-04 Robert Millan <rmh@aybabtu.com>
29616
29617 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
29618 for FreeBSD.
29619 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
29620
556f3775 296212008-11-03 Bean <bean123ch@gmail.com>
29622
29623 * kern/elf.c (grub_elf32_load): Revert to previous code.
29624 (grub_elf64_load): Likewise.
29625
29626 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
29627
926b9823 296282008-11-01 Robert Millan <rmh@aybabtu.com>
29629
29630 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
29631 (TARGET_CPPFLAGS): Likewise.
29632 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
29633
1432e958 296342008-11-01 Carles Pina i Estany <carles@pina.cat>
29635
29636 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
29637
dba3f844 296382008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 29639
29640 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
29641 addition of objects until the code is not going to be able to fail.
29642
dba3f844 296432008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 29644
29645 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
29646 (add a missing NULL check, and correct them by moving the pointer
29647 operations after the actual check).
29648
7ab28c21 296492008-10-29 Robert Millan <rmh@aybabtu.com>
29650
29651 * util/i386/pc/grub-install.in: Handle empty string as output from
29652 make_system_path_relative_to_its_root().
29653
1b7748eb 296542008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
29655
29656 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
29657 circular metadata worst case scenario. If the metadata is circular
29658 then copy the wrap in place.
29659 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
29660 project lib/format_text/layout.h
29661 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
29662
c9618ab2 296632008-10-03 Felix Zielcke <fzielcke@z-51.de>
29664
7a36edca 29665 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 29666
bf981c62 296672008-10-03 Felix Zielcke <fzielcke@z-51.de>
29668
29669 * util/update-grub_lib.in: Mention filename in warning message.
29670
6d994591 296712008-09-29 Felix Zielcke <fzielcke@z-51.de>
29672
29673 * NEWS: Update for rename of update-grub to grub-mkconfig.
29674
18ade780 296752008-09-29 Felix Zielcke <fzielcke@z-51.de>
29676
29677 * util/update-grub_lib.in: Copy to ...
29678 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 29679 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 29680 * util/update-grub.in: Rename to ...
29681 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
29682 option. Add `--output' option to allow users to specify the generated
29683 configuration file. Default to stdout.
29684 (update_grub_dir): Rename to ...
29685 (grub_mkconfig_dir): ... this.
29686 (grub_cfg): Default to an empty string.
29687 * conf/common.rmk (update-grub): Rename to ...
29688 (grub-mkconfig): ... this.
29689 (update-grub_lib): Copy to ...
29690 (grub-mkconfig_lib): ... this.
29691 (update-grub_SCRIPTS): Copy to ...
29692 (grub-mkconfig_SCRIPTS): ... this. Update all users.
29693 (update-grub_DATA): Rename to ...
29694 (grub-mkconfig_DATA): ... this.
29695
556ce6ac 296962008-09-28 Robert Millan <rmh@aybabtu.com>
29697
29698 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
29699 to `modified'. Add the real `created' field.
29700 (grub_iso9660_uuid): Use `modified' rather than `created' for
29701 constructing the UUID.
29702
297032008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 29704
29705 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
29706 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
29707
92274e85 297082008-09-28 Bean <bean123ch@gmail.com>
29709
29710 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
29711 Thanks to Christian Franke for finding this bug.
29712
add6f17a 297132008-09-25 Robert Millan <rmh@aybabtu.com>
29714
29715 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
29716 instances of grub_util_get_disk_name() (see previous commit).
29717
d2a367b8 297182008-09-25 Robert Millan <rmh@aybabtu.com>
29719
29720 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
29721 `util/i386/get_disk_name.c'.
29722 * conf/i386-efi.rmk: Likewise.
29723 * conf/x86_64-efi.rmk: Likewise.
29724 * conf/i386-coreboot.rmk: Likewise.
29725 * conf/i386-ieee1275.rmk: Likewise.
29726 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
29727 `util/ieee1275/get_disk_name.c'.
29728 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
29729 * util/ieee1275/get_disk_name.c: Remove file.
29730 * util/i386/get_disk_name.c: Remove file.
29731 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
29732 "hd%d" for device.map entries, rather than using
29733 grub_util_get_disk_name().
29734
81a06771 297352008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 29736
29737 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
29738 warning.
29739 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
29740
5a004279 297412008-09-24 Carles Pina i Estany <carles@pina.cat>
29742
29743 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
29744 Changed to 0x5100.
29745 (GRUB_TERM_PPAGE): Changed to 0x4900.
29746
397093d3 297472008-09-24 Robert Millan <rmh@aybabtu.com>
29748
29749 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
29750 macros (they were i386-pc specific).
29751 * include/grub/sparc64/ieee1275/console.h: Likewise.
29752 * include/grub/efi/console.h: Likewise.
29753
a91b6c7c 297542008-09-22 Bean <bean123ch@gmail.com>
29755
29756 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
29757 resident and in attribute list.
29758
29759 * include/grub/ntfs.h (BMP_LEN): Removed.
29760
c40fd116 297612008-09-22 Bean <bean123ch@gmail.com>
29762
81a06771 29763 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 29764 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
29765
29766 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
29767 error occurs, as grub_disk_open will call grub_disk_close, which will
29768 call p->close (scsi).
29769
81a06771 297702008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 29771
29772 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
29773 (AC_PREREQ): Bumped to 2.59.
29774 (AC_TRY_COMPILE): Replace obsolete macro with ...
29775 (AC_COMPILE_IFELSE): ... this.
29776 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
29777 (AC_LINK_IFELSE): ... this.
29778
5dc43410 297792008-09-21 Felix Zielcke <fzielcke@z-51.de>
29780
29781 * autogen.sh: Add a call to `gendistlist.sh'.
29782
9035dce4 297832008-09-19 Christian Franke <franke@computer.org>
29784
29785 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
29786 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
29787 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
29788 Export __enable_execute_stack() to modules.
29789 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
29790 New function.
29791
7fd75377 297922008-09-09 Felix Zielcke <fzielcke@z-51.de>
29793
040030b3 29794 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
29795 Sort the list.
29796
297972008-09-09 Felix Zielcke <fzielcke@z-51.de>
29798
29799 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 29800 #include <grub/util/hostdisk.h>.
29801
89d5ffcf 298022008-09-08 Robert Millan <rmh@aybabtu.com>
29803
29804 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
29805 segments when their filesz is zero (grub_file_read() interprets
81a06771 29806 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 29807 Use `lowest_segment' rather than 0 for calculating the current
29808 segment load address.
29809
40da438f 298102008-09-08 Robert Millan <rmh@aybabtu.com>
29811
29812 * util/hostdisk.c (open_device): Replace a grub_util_info() call
29813 with grub_dprintf("hostdisk", ...), as it was so verbose that it
29814 clobbered useful information.
29815
ddbf5556 298162008-09-08 Robert Millan <rmh@aybabtu.com>
29817
29818 * include/grub/util/biosdisk.h: Move to ...
29819 * include/grub/util/hostdisk.h: ... here. Update all users.
29820 * util/biosdisk.c: Move to ...
29821 * util/hostdisk.c: ... here. Update all users.
29822
783d0f48 298232008-09-07 Robert Millan <rmh@aybabtu.com>
29824
29825 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
29826 variables.
29827 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
29828 and length can be stored directly in the `mbi->mmap_addr' and
29829 `mbi->mmap_length' struct fields.
29830
548e2ea5 298312008-09-07 Robert Millan <rmh@aybabtu.com>
29832
29833 * conf/i386.rmk: New file. Provides declaration for building
29834 `cpuid.mod'.
29835 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
29836 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
29837 variables.
29838 Include `conf/i386.mk'.
29839 * conf/i386-efi.rmk: Likewise.
29840 * conf/x86_64-efi.rmk: Likewise.
29841 * conf/i386-coreboot.rmk: Likewise.
29842 * conf/i386-ieee1275.rmk: Likewise.
29843
0ea85a37 298442008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
29845
29846 Based on patch created by Colin D Bennett <colin@gibibit.com>.
29847 Adds optimization support for BGR based modes.
29848
29849 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
29850 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
29851 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29852 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29853 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29854 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29855 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29856 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29857 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29858 (grub_video_i386_vbeblit_index_index): Likewise.
29859 (grub_video_i386_vbeblit_replace_directN): Added.
29860 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
29861 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
29862 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
29863 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
29864 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
29865 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 29866 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 29867 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
29868 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
29869 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
29870 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
29871 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
29872 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
29873
29874 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
29875 (grub_video_i386_vbefill_R8G8B8): Likewise.
29876 (grub_video_i386_vbefill_index): Likewise.
29877 (grub_video_i386_vbefill_direct32): Added.
29878 (grub_video_i386_vbefill_direct24): Likewise.
29879 (grub_video_i386_vbefill_direct16): Likewise.
29880 (grub_video_i386_vbefill_direct8): Likewise.
29881
81a06771 29882 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 29883 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
29884 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
29885 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
29886 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
29887 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 29888
0ea85a37 29889 * video/video.c (grub_video_get_blit_format): Updated to use new
29890 blit formats. Added handling for 16 bit color modes.
81a06771 29891
29892 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 29893 fillers.
29894 (common_blitter): Updated to use new blitters.
29895
29896 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
29897 Removed.
29898 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
29899 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29900 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29901 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29902 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29903 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29904 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29905 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29906 (grub_video_i386_vbeblit_index_index): Likewise.
29907 (grub_video_i386_vbeblit_replace_directN): Added.
29908 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
29909 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
29910 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
29911 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
29912 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
29913 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
29914 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
29915 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
29916 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
29917 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
29918 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
29919 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
29920 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 29921
0ea85a37 29922 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
29923 (grub_video_i386_vbefill_R8G8B8): Likewise.
29924 (grub_video_i386_vbefill_index): Likewise.
29925 (grub_video_i386_vbefill_direct32): Added.
29926 (grub_video_i386_vbefill_direct24): Likewise.
29927 (grub_video_i386_vbefill_direct16): Likewise.
29928 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 29929
0ea85a37 29930 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
29931 types.
81a06771 29932
0ea85a37 29933 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
29934 types.
81a06771 29935
0ea85a37 29936 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
29937 blitter types.
81a06771 29938
0ea85a37 29939 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
29940 types.
29941
e8a83df6 299422008-09-06 Felix Zielcke <fzielcke@z-51.de>
29943
29944 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
29945 RAID level 1.
29946
6bcd8ee5 299472008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 29948
6bcd8ee5 29949 * fs/iso9660.c (grub_iso9660_date): New structure.
29950 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
29951 (grub_iso9660_uuid): New function.
c375ae58 29952
59261157 299532008-09-05 Bean <bean123ch@gmail.com>
29954
29955 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
29956
29957 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
29958 insensitive bit for names in Win32 and Win32 & DOS namespace.
29959
29960 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
29961
29962 * include/grub/types.h (LONG_MAX): Likewise.
29963
58b6645a 299642008-09-04 Felix Zielcke <fzielcke@z-51.de>
29965
4ee55921 29966 * util/getroot.c: Include <config.h>.
29967 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
29968 add support for /dev/md/N devices and handle LVM double dash escaping.
29969
299702008-09-04 Felix Zielcke <fzielcke@z-51.de>
29971
29972 * config.guess: Update to latest version from config git.
29973 * config.sub: Likewise.
58b6645a 29974
9124f65d 299752008-09-03 Robert Millan <rmh@aybabtu.com>
29976
29977 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
29978 `disk->total_sectors'.
29979
81a06771 299802008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 29981
29982 * include/grub/normal.h: Fixed incorrect comment for
29983 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
29984
81a06771 299852008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 29986
29987 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
29988 values with defines.
29989
29990 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
29991 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
29992 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
29993 (GRUB_VBE_MODEATTR_COLOR): Likewise.
29994 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
29995 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
29996 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
29997 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
29998 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
29999 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
30000 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
30001 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
30002 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
30003 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
30004 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
30005 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
30006 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
30007 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
30008 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
30009
93d5cbf8 300102008-08-31 Robert Millan <rmh@aybabtu.com>
30011
30012 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
30013 declaration.
30014 (grub_multiboot): Fix a few warnings.
30015
21751d50 300162008-08-31 Robert Millan <rmh@aybabtu.com>
30017
30018 * loader/i386/pc/multiboot.c: Update comment not to say that
30019 boot_device support is unimplemented.
30020
e27a75c5 300212008-08-31 Robert Millan <rmh@aybabtu.com>
30022
30023 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
30024 or memory map support are unimplemented.
30025
81a06771 300262008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 30027
30028 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
30029
81a06771 300302008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 30031
30032 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
30033 total video memory in 'vbeinfo' output; show color format details for
30034 each video mode.
30035
7c5d8d95 300362008-08-30 Pavel Roskin <proski@gnu.org>
30037
30038 * util/genmoddep.c: Remove for real this time.
30039 * DISTLIST: Remove util/genmoddep.c.
30040
4cebd25a 300412008-08-30 Robert Millan <rmh@aybabtu.com>
30042
30043 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
30044 as required by Multiboot spec (it was already 4-byte aligned, but
30045 only by chance).
30046
b497a269 300472008-08-29 Pavel Roskin <proski@gnu.org>
30048
e3925185 30049 * kern/powerpc/ieee1275/crt0.S: Rename to ...
30050 * kern/powerpc/ieee1275/startup.S: ... this.
30051 * conf/powerpc-ieee1275.rmk: Adjust for the above.
30052 * DISTLIST: Likewise.
30053
b497a269 30054 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
30055 grub/cpu/kernel.h. Add start label for consistency with other
30056 platforms. Add grub_prefix immediately after start. Add jump
30057 to the code after grub_prefix.
30058 * include/grub/powerpc/kernel.h: Provide valid values for
30059 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
30060
6e5a42fe 300612008-08-29 Bean <bean123ch@gmail.com>
30062
30063 * configure.ac: Change host_os to cygwin for mingw.
30064 (asprintf): New check for function.
30065
30066 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
30067 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
30068
30069 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 30070 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 30071 sync, sleep and grub_util_get_disk_size for mingw.
30072
30073 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
30074 to get size in mingw.
30075 (open_device): Use flag O_BINARY if it's defined.
30076 (find_root_device): Add dummy code for mingw.
30077
30078 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
30079 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
30080 (get_scsi_disk_name): Return 0 for mingw.
30081
30082 * util/hostfs.c: #include <grub/util/misc.h>.
30083 (grub_hostfs_open): Use "rb" flag to open file, use
30084 grub_util_get_disk_size to get disk size for mingw.
30085
30086 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
30087 (asprintf): New function if HAVE_ASPRINTF is not set.
30088 (sync): New function for mingw.
30089 (sleep): Likewise.
30090 (grub_util_get_disk_size): Likewise.
30091
ab3f2673 300922008-08-28 Pavel Roskin <proski@gnu.org>
30093
30094 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30095 kern/time.c.
30096
1c282483 300972008-08-28 Robert Millan <rmh@aybabtu.com>
30098
30099 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
30100
678e849c 301012008-08-28 Robert Millan <rmh@aybabtu.com>
30102
30103 Change find_grub_drive() syntax so it doesn't prevent it from
30104 detecting NULL names as errors.
30105
30106 * util/biosdisk.c (find_grub_drive): Move free slot search code
30107 from here ...
30108 (find_free_slot): ... to here.
30109 (read_device_map): Use find_free_slot() to search for free slots.
30110
965c75ca 301112008-08-27 Marco Gerards <marco@gnu.org>
30112
30113 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
30114 (scsi_mod_SOURCES): New variable.
30115 (scsi_mod_CFLAGS): Likewise
30116 (scsi_mod_LDFLAGS): Likewise.
30117
30118 * disk/scsi.c: New file.
30119
30120 * include/grub/scsi.h: Likewise.
30121
30122 * include/grub/scsicmd.h: Likewise.
30123
30124 * disk/ata.c: Include <grub/scsi.h>.
30125 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
30126 instead.
30127 (grub_ata_iterate): Skip ATAPI devices.
30128 (grub_ata_open): Only handle ATAPI devices.
30129 (struct grub_atapi_read): Removed.
30130 (grub_atapi_readsector): Likewise.
30131 (grub_ata_read): No longer handle ATAPI devices.
30132 (grub_ata_write): Likewise.
30133 (grub_atapi_iterate): New function.
30134 (grub_atapi_read): Likewise.
30135 (grub_atapi_write): Likewise.
30136 (grub_atapi_open): Likewise.
30137 (grub_atapi_close): Likewise.
30138 (grub_atapi_dev): New variable.
30139 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
30140 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
30141
30142 * include/grub/disk.h (enum grub_disk_dev_id): Add
30143 `GRUB_DISK_DEVICE_SCSI_ID'.
30144
c07ae501 301452008-08-26 Robert Millan <rmh@aybabtu.com>
30146
30147 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
30148 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
30149 descriptive.
30150
5ed20adc 301512008-08-23 Bean <bean123ch@gmail.com>
30152
30153 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
30154 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
30155 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
30156 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
30157 dm_nv.mod.
30158 (raid5rec_mod_SOURCES): New macro.
30159 (raid5rec_mod_CFLAGS): Likewise.
30160 (raid5rec_mod_LDFLAGS): Likewise.
30161 (raid6rec_mod_SOURCES): Likewise.
30162 (raid6rec_mod_CFLAGS): Likewise.
30163 (raid6rec_mod_LDFLAGS): Likewise.
30164 (mdraid_mod_SOURCES): Likewise.
30165 (mdraid_mod_CFLAGS): Likewise.
30166 (mdraid_mod_LDFLAGS): Likewise.
30167 (dm_nv_mod_SOURCES): Likewise.
30168 (dm_nv_mod_CFLAGS): Likewise.
30169 (dm_nv_mod_LDFLAGS): Likewise.
30170
30171 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
30172 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
30173 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
30174
30175 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
30176 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
30177
30178 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30179
30180 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30181
30182 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30183
30184 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30185
30186 * disk/raid5_recover.c: New file.
30187
30188 * disk/raid6_recover.c: Likewise.
30189
30190 * disk/mdraid_linux.c: Likewise.
30191
30192 * disk/dmraid_nvidia.c: Likewise.
30193
30194 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
30195 ULONG_MAX.
30196
30197 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
30198 calculate the size of raid device.
30199 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
30200 different layout of raid5.
30201 (grub_raid_scan_device): Remove code specific to mdraid.
30202 (grub_raid_list): New variable.
30203 (free_array): New function.
30204 (grub_raid_register): Likewise.
30205 (grub_raid_unregister): Likewise.
30206 (grub_raid_rescan): Likewise.
30207 (GRUB_MOD_INIT): Don't iterate device here.
30208 (GRUB_MOD_FINI): Use free_array to release resource.
30209
30210 * include/grub/raid.h: Remove macro and structure specific to mdraid.
30211 (grub_raid5_recover_func_t): New function variable type.
30212 (grub_raid6_recover_func_t): Likewise.
30213 (grub_raid5_recover_func): New variable.
30214 (grub_raid6_recover_func): Likewise.
30215 (grub_raid_register): New function.
30216 (grub_raid_unregister): Likewise.
30217 (grub_raid_rescan): Likewise.
30218 (grub_raid_block_xor): Likewise.
30219
30220 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
30221 (CMD_CRC): New macro.
30222 (part): Removed.
30223 (read_file): Handle device as well as file.
30224 (cmd_crc): New function.
30225 (fstest): Handle multiple disks.
30226 (options): Remove part, raw and long, add root and diskcount.
30227 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 30228 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 30229 add handling for the new options, support multiple disks.
30230
30231 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
30232
29c18915 302332008-08-23 Bean <bean123ch@gmail.com>
30234
30235 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
30236
30237 * genfslist.sh: Ignore kernel.mod.
30238
30239 * genpartmaplist.sh: Likewise.
30240
8415f261 302412008-08-23 Robert Millan <rmh@aybabtu.com>
30242
30243 * util/getroot.c (find_root_device): Skip anything that starts with
30244 a dot, not just directories. This avoids things like /dev/.tmp.md0.
30245
d5a7dc5b 302462008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 30247
d5a7dc5b 30248 * util/update-grub.in (GRUB_GFXMODE): Export variable.
30249 * util/grub.d/00_header.in: Allow the administrator to change default
30250 gfxmode via ${GRUB_GFXMODE}.
30251
380cfbb4 302522008-08-21 Felix Zielcke <fzielcke@z-51.de>
30253
30254 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
30255
c9baafe7 302562008-08-21 Robert Millan <rmh@aybabtu.com>
30257
30258 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
30259 loader.
30260 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
30261 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
30262
e290bef2 302632008-08-20 Carles Pina i Estany <carles@pina.cat>
30264
30265 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
30266 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
30267
f9dbfc96 302682008-08-19 Robert Millan <rmh@aybabtu.com>
30269
30270 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
30271 (struct grub_virtual_screen): Remove `cursor_color'.
30272 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
30273 initialization.
30274 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
30275
dd6bd6ab 302762008-08-18 Robert Millan <rmh@aybabtu.com>
30277
30278 Unify (identical) linux_normal.c files.
30279 * loader/i386/efi/linux_normal.c: Move from here ...
30280 * loader/linux_normal.c: ... to here. Update all users.
30281 * loader/i386/pc/linux_normal.c: Delete. Update all users.
30282 * loader/i386/ieee1275/linux_normal.c: Likewise.
30283
7f42f83e 302842008-08-18 Robert Millan <rmh@aybabtu.com>
30285
30286 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
30287 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
30288 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
30289 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
30290 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
30291 New macros.
30292 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
30293 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
30294 (GRUB_LINUX_CL_END_OFFSET): ... to here.
30295 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
30296 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
30297 (GRUB_EFI_CL_END_OFFSET): Rename to ...
30298 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
30299 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
30300 Initialize `params->video_cursor_x' and `params->video_cursor_y'
30301 portably using grub_getxy().
30302 Replace `-EFI' with `-bzImage' in boot message.
30303
38487ddb 303042008-08-17 Robert Millan <rmh@aybabtu.com>
30305
30306 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
30307
deceb3ec 303082008-08-17 Robert Millan <rmh@aybabtu.com>
30309
30310 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
30311
30312 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
30313 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
30314 (grub_machine_mmap_iterate): New function declaration.
30315 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
30316 structure.
30317 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
30318 macros.
30319
30320 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
30321 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
30322 Move e820 parsing from here ...
30323 * kern/i386/pc/mmap.c: New file.
30324 (grub_machine_mmap_iterate): ... to here.
30325
30326 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
30327 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
30328 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
30329 (grub_available_iterate): Redeclare to return `void', and redeclare
30330 its hook to use grub_uint64_t as addr and size parameters, and rename
30331 to ...
30332 (grub_machine_mmap_iterate): ... this. Update all users.
30333
30334 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
30335 to make it more readable. Rename to ...
30336 (grub_machine_mmap_iterate): ... this.
30337
30338 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
30339 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
30340 (grub_multiboot): Allocate an extra region after the payload, and fill
30341 it with a Multiboot memory map. Adjust a.out loader to calculate size
30342 with the extra space.
30343 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
30344 with the extra space.
30345
f8aa0f43 303462008-08-17 Carles Pina i Estany <carles@pina.cat>
30347
9807deb9 30348 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 30349
605f5bb6 303502008-08-17 Felix Zielcke <fzielcke@z-51.de>
30351
30352 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
30353 mdate-sh to the list `find' searches for.
30354 * DISTLIST: Regenerated.
30355
210db6c6 303562008-08-16 Felix Zielcke <fzielcke@z-51.de>
30357
30358 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
30359 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 30360 genmoddep.awk, gensymlist.sh.in.
30361 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 30362 * DISTLIST: Regenerated.
48cdbfd4 30363 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 30364
1082b929 303652008-08-16 Robert Millan <rmh@aybabtu.com>
30366
30367 * disk/raid.c (grub_raid_init): Handle/report errors set by
30368 grub_device_iterate().
30369 * disk/lvm.c (grub_lvm_init): Likewise.
30370
42ce5170 303712008-08-15 Bean <bean123ch@gmail.com>
30372
30373 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30374 and datehook.mod.
30375 (datetime_mod_SOURCES): New macro.
30376 (datetime_mod_CFLAGS): Likewise.
30377 (datetime_mod_LDFLAGS): Likewise.
30378 (date_mod_SOURCES): Likewise.
30379 (date_mod_CFLAGS): Likewise.
30380 (date_mod_LDFLAGS): Likewise.
30381 (datehook_mod_SOURCES): Likewise.
30382 (datehook_mod_CFLAGS): Likewise.
30383 (datehook_mod_LDFLAGS): Likewise.
30384
30385 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30386 and datehook.mod.
30387 (datetime_mod_SOURCES): New macro.
30388 (datetime_mod_CFLAGS): Likewise.
30389 (datetime_mod_LDFLAGS): Likewise.
30390 (date_mod_SOURCES): Likewise.
30391 (date_mod_CFLAGS): Likewise.
30392 (date_mod_LDFLAGS): Likewise.
30393 (datehook_mod_SOURCES): Likewise.
30394 (datehook_mod_CFLAGS): Likewise.
30395 (datehook_mod_LDFLAGS): Likewise.
30396
30397 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30398 and datehook.mod.
30399 (datetime_mod_SOURCES): New macro.
30400 (datetime_mod_CFLAGS): Likewise.
30401 (datetime_mod_LDFLAGS): Likewise.
30402 (date_mod_SOURCES): Likewise.
30403 (date_mod_CFLAGS): Likewise.
30404 (date_mod_LDFLAGS): Likewise.
30405 (datehook_mod_SOURCES): Likewise.
30406 (datehook_mod_CFLAGS): Likewise.
30407 (datehook_mod_LDFLAGS): Likewise.
30408
30409 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30410 and datehook.mod.
30411 (datetime_mod_SOURCES): New macro.
30412 (datetime_mod_CFLAGS): Likewise.
30413 (datetime_mod_LDFLAGS): Likewise.
30414 (date_mod_SOURCES): Likewise.
30415 (date_mod_CFLAGS): Likewise.
30416 (date_mod_LDFLAGS): Likewise.
30417 (datehook_mod_SOURCES): Likewise.
30418 (datehook_mod_CFLAGS): Likewise.
30419 (datehook_mod_LDFLAGS): Likewise.
30420
30421 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30422 and datehook.mod.
30423 (datetime_mod_SOURCES): New macro.
30424 (datetime_mod_CFLAGS): Likewise.
30425 (datetime_mod_LDFLAGS): Likewise.
30426 (date_mod_SOURCES): Likewise.
30427 (date_mod_CFLAGS): Likewise.
30428 (date_mod_LDFLAGS): Likewise.
30429 (datehook_mod_SOURCES): Likewise.
30430 (datehook_mod_CFLAGS): Likewise.
30431 (datehook_mod_LDFLAGS): Likewise.
30432
30433 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
30434
30435 * commands/date.c: New file.
30436
30437 * hook/datehook.c: Likewise.
30438
30439 * include/grub/lib/datetime.h: Likewise.
30440
30441 * include/grub/i386/cmos.h: Likewise.
30442
30443 * lib/datetime.c: Likewise.
30444
30445 * lib/i386/datetime.c: Likewise.
30446
30447 * lib/efi/datetime.c: Likewise.
30448
0e9242da 304492008-08-14 Robert Millan <rmh@aybabtu.com>
30450
30451 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
30452 (grub_mkelfimage_SOURCES): New variable.
30453 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
30454
30455 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
30456 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
30457 * conf/powerpc-ieee1275.rmk: Likewise.
30458 * conf/i386-ieee1275.rmk: Likewise.
30459
30460 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
30461 * kern/i386/coreboot/init.c: Likewise.
30462
30463 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
30464 with `<grub/cpu/kernel.h>'.
30465 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
30466 to ...
30467 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
30468 * kern/i386/coreboot/startup.S: Likewise.
30469
30470 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
30471 (GRUB_MOD_GAP): Remove.
30472 * include/grub/powerpc/kernel.h: New file.
30473 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
30474 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
30475 * include/grub/i386/kernel.h: New file.
30476 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
30477 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
30478 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
30479
30480 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
30481 `grub-mkelfimage'.
30482 Use --directory when invoking grub_mkimage.
30483
30484 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
30485 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
30486 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
30487 and GRUB_KERNEL_CPU_PREFIX.
30488
b86408f8 304892008-08-14 Felix Zielcke <fzielcke@z-51.de>
30490
d5e619ca 30491 * include/grub/err.h (grub_err_printf): New function prototype.
30492 * util/misc.c (grub_err_printf): New function.
30493 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
30494 grub_printf.
30495 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 30496
7161f0e0 304972008-08-13 Robert Millan <rmh@aybabtu.com>
30498
30499 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
30500
a1967522 305012008-08-13 Robert Millan <rmh@aybabtu.com>
30502
30503 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
30504 boot entry.
30505
371458b5 305062008-08-12 Robert Millan <rmh@aybabtu.com>
30507
30508 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
30509 of the relocation code from here ...
30510 (grub_multiboot): ... to here.
30511 (forward_relocator, backward_relocator): Move from here ...
30512 * kern/i386/loader.S (grub_multiboot_forward_relocator)
30513 (grub_multiboot_backward_relocator): ... to here.
30514 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
30515 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
30516 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
30517 (grub_multiboot_forward_relocator_end)
30518 (grub_multiboot_backward_relocator)
30519 (grub_multiboot_backward_relocator_end): New variables.
30520
05f9452b 305212008-08-12 Bean <bean123ch@gmail.com>
30522
30523 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
30524
20024ab0 305252008-08-11 Robert Millan <rmh@aybabtu.com>
30526
30527 * kern/i386/linuxbios/startup.S: Move from here ...
30528 * kern/i386/coreboot/startup.S: ... to here.
30529
30530 * kern/i386/linuxbios/init.c: Move from here ...
30531 * kern/i386/coreboot/init.c: ... to here.
30532
30533 * kern/i386/linuxbios/table.c: Move from here ...
30534 * kern/i386/coreboot/mmap.c: ... to here.
30535
30536 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
30537
e352e9cd 305382008-08-11 Robert Millan <rmh@aybabtu.com>
30539
30540 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
30541 errors. Leave it to the upper layer to handle them.
30542
2d05bc6a 305432008-08-09 Christian Franke <franke@computer.org>
30544
30545 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
30546 * conf/common.rmk: Install `grub-pe2elf' only if requested.
30547 Install `grub.d/10_windows' only on Cygwin.
30548 * configure.ac: Add subst of `target_os'.
30549 Check `target_os' also before setting TARGET_OBJ2ELF.
30550 Add `--enable-grub-pe2elf'.
30551
042bd419 305522008-08-08 Robert Millan <rmh@aybabtu.com>
30553
30554 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
30555 (grub_last_time): Change type to grub_uint64_t.
30556 (grub_disk_open): Migrate code from to using grub_get_time_ms().
30557 (grub_disk_close): Likewise.
30558
30559 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
30560 (run_menu): Migrate code from to using grub_get_time_ms().
30561
30562 * util/misc.c (grub_get_time_ms): New function.
30563
7f280db5 305642008-08-08 Marco Gerards <marco@gnu.org>
30565
30566 * disk/ata.c (grub_ata_regget): Change return type to
30567 `grub_uint8_t'.
30568 (grub_ata_regget2): Likewise.
30569 (grub_ata_wait_status): New function.
30570 (grub_ata_wait_busy): Removed function, updated all users to use
30571 `grub_ata_wait_status'.
30572 (grub_ata_wait_drq): Likewise.
30573 (grub_ata_cmd): New function.
30574 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
30575 error handling.
30576 (grub_ata_pio_write): Add error handling.
30577 (grub_atapi_identify): Likewise.
30578 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
30579 handling.
30580 (grub_ata_identify): Use `grub_ata_cmd' and improve error
30581 handling. Actually use the detected registers. Reorder the
30582 detection logic such that it is easier to read.
30583 (grub_ata_pciinit): Do not assign the same ID to each controller.
30584 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
30585 handling.
30586 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
30587
30588 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
30589
1fbc5e66 305902008-08-08 Marco Gerards <marco@gnu.org>
30591
30592 * NEWS: Update.
30593
819ce6c0 305942008-08-07 Bean <bean123ch@gmail.com>
30595
30596 * include/grub/x86_64/pci.h: New file.
30597
5c41d44d 305982008-08-07 Christian Franke <franke@computer.org>
30599
30600 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
30601 (TIMER2_GATE): Likewise.
30602 (grub_pit_wait): Add enable/disable of the timer2 gate
30603 bit of port 0x61. This fixes a possible infinite loop.
30604
5ebc275d 306052008-08-07 Bean <bean123ch@gmail.com>
30606
30607 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
30608 kern/i386/tsc.c and kern/i386/pit.c.
30609
30610 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
30611 x86_64 platform.
30612
30613 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
30614 <grub/i386/tsc.h>.
30615
30616 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
30617
e383b3d0 306182008-08-07 Bean <bean123ch@gmail.com>
30619
30620 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
30621
30622 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
30623
30624 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
30625 multiple inclusion. Add #include <grub/types.h>.
30626
1cbb58ac 306272008-08-06 Christian Franke <franke@computer.org>
30628
30629 * conf/common.rmk: Build and install `10_windows'.
30630 * util/grub.d/10_windows.in: New script.
30631
337f5a1e 306322008-08-06 Pavel Roskin <proski@gnu.org>
30633
30634 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
30635
057bc4ac 306362008-08-06 Robert Millan <rmh@aybabtu.com>
30637
30638 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
30639 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
30640
2b99f123 306412008-08-06 Bean <bean123ch@gmail.com>
30642
30643 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
30644 (grub_pxefs_fs_int): Remove dummy definition.
30645 (grub_pxefs_open): Use data->block_size to store the current block
30646 size setting.
30647 (grub_pxefs_read): Use block size stored in data->block_size. As the
30648 value of grub_pxe_blksize can be changed after the file is opened.
30649
9f0234cb 306502008-08-06 Bean <bean123ch@gmail.com>
30651
30652 * fs/i386/pc/pxe.c (curr_file): new variable.
30653 (grub_pxefs_open): Simply the handling of pxe file system. Don't
30654 require the dummy internal file system anymore.
30655 (grub_pxefs_read): Removed.
30656 (grub_pxefs_close): Likewise.
30657 (grub_pxefs_fs_int): Likewise.
30658 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
30659 connection when we switch file.
30660 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
30661
a55d42e0 306622008-08-06 Robert Millan <rmh@aybabtu.com>
30663
30664 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
30665 `halt.mod'.
30666 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
30667 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
30668
30669 * kern/i386/halt.c: New file.
30670 * kern/i386/reboot.c: Likewise.
30671 * include/grub/i386/reboot.h: Likewise.
30672 * include/grub/i386/halt.h: Likewise.
30673
30674 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
30675 Include `<grub/cpu/halt.h>'.
30676 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
30677 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
30678
30679 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
30680 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
30681 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
30682 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
30683 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
30684 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
30685 from here ...
30686 * include/grub/i386/at_keyboard.h: ... to here.
30687
24371d26 306882008-08-05 Robert Millan <rmh@aybabtu.com>
30689
30690 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
30691 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
30692 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
30693 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
30694 `kern/generic/millisleep.c'.
30695
30696 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
30697 instead of grub_get_rtc().
30698 (grub_tsc_init): Initialize `tsc_boot_time'.
30699
30700 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
30701 (grub_machine_init): Use grub_tsc_init() rather than
30702 installing an RTC-based handler via grub_install_get_time_ms().
30703
30704 * kern/i386/pit.c: New file.
30705 * include/grub/i386/pit.h: Likewise.
30706
9e7007b3 307072008-08-05 Bean <bean123ch@gmail.com>
30708
30709 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
30710
30711 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
30712 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
30713 (pxe_mod_SOURCES): New macro.
30714 (pxe_mod_CFLAGS): Likewise.
30715 (pxe_mod_LDFLAGS): Likewise.
30716 (pxecmd_mod_SOURCES): Likewise.
30717 (pxecmd_mod_CFLAGS): Likewise.
30718 (pxecmd_mod_LDFLAGS): Likewise.
30719
30720 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
30721 (grub_pxe_call): Likewise.
30722
30723 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
30724
30725 * commands/i386/pc/pxecmd.c: New file.
30726
9f0234cb 30727 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 30728
30729 * include/grub/i386/pc/pxe.h: Likewise.
30730
6977d49f 307312008-08-05 Bean <bean123ch@gmail.com>
30732
30733 * util/console.c (grub_console_cur_color): New variable.
30734 (grub_console_standard_color): Likewise.
30735 (grub_console_normal_color): Likewise.
30736 (grub_console_highlight_color): Likewise.
30737 (color_map): Likewise.
30738 (use_color): Likewise.
30739 (NUM_COLORS): New macro.
30740 (grub_ncurses_setcolorstate): Handle color properly.
30741 (grub_ncurses_setcolor): Don't change color here, just remember the
30742 settings, color will be set in grub_ncurses_setcolorstate.
30743 (grub_ncurses_getcolor): New function.
30744 (grub_ncurses_init): Initialize color pairs.
30745 (grub_ncurses_term): New member grub_ncurses_getcolor.
30746
9c2ff3ee 307472008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 30748
9c2ff3ee 30749 High resolution timer support. Implemented for x86 CPUs using TSC.
30750 Extracted generic grub_millisleep() so it's linked in only as needed.
30751 This requires a Pentium compatible CPU; if the RDTSC instruction is
30752 not supported, then it falls back on the generic grub_get_time_ms()
30753 implementation that uses the machine's RTC.
30754
30755 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
30756 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
30757 `kern/generic/millisleep.c'.
30758
30759 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
30760 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
30761
30762 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
30763 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
30764
30765 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30766
30767 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30768 `kern/generic/millisleep.c'.
30769
30770 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30771
30772 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
30773
30774 * kern/generic/rtc_get_time_ms.c: New file.
30775
30776 * kern/generic/millisleep.c: New file.
337f5a1e 30777
9c2ff3ee 30778 * kern/misc.c: Don't include
30779 <kern/time.h> anymore.
30780 (grub_millisleep_generic): Removed.
30781
30782 * commands/sleep.c (grub_interruptible_millisleep): Uses
30783 grub_get_time_ms() instead of grub_get_rtc().
30784
30785 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
30786 function.
30787 (grub_cpu_is_cpuid_supported): New inline function.
30788 (grub_cpu_is_tsc_supported): New inline function.
30789 (grub_tsc_init): New function prototype.
30790 (grub_tsc_get_time_ms): New function prototype.
30791
30792 * kern/i386/tsc.c (grub_get_time_ms): New file.
30793
30794 * include/grub/time.h: Include <grub/types.h.
30795 (grub_millisleep_generic): Removed.
30796 (grub_get_time_ms): New prototype.
30797 (grub_install_get_time_ms): New prototype.
30798 (grub_rtc_get_time_ms): New prototype.
30799
30800 * kern/time.c (grub_get_time_ms): New function.
30801 (grub_install_get_time_ms): New function.
30802
30803 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
30804 <grub/time.h> anymore.
30805 (grub_millisleep): Removed.
30806 (grub_machine_init): Call grub_tsc_init.
30807
30808 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
30809 get_time_ms() implementation.
30810
30811 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
30812 (ieee1275_get_time_ms): New function.
30813 (grub_machine_init): Install get_time_ms() implementation.
30814
30815 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
30816 (grub_machine_init): Call grub_tsc_init().
30817 (grub_millisleep): Removed.
bf06a93f 30818
9c2ff3ee 30819 * kern/ieee1275/init.c (grub_millisleep): Removed.
30820 (grub_machine_init): Install ieee1275_get_time_ms()
30821 implementation.
30822 (ieee1275_get_time_ms): New function.
30823 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
30824 real work.
30825
9ec92aaf 308262008-08-05 Marco Gerards <marco@gnu.org>
30827
30828 * disk/ata.c: Include <grub/pci.h>.
30829 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
30830 (grub_ata_initialize): Rewritten.
30831 (grub_ata_device_initialize): New function.
30832
8d23f507 308332008-08-04 Pavel Roskin <proski@gnu.org>
30834
30835 * kern/main.c: Include grub/mm.h.
30836
5e15ee3d 308372008-08-04 Robert Millan <rmh@aybabtu.com>
30838
30839 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
30840 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
30841 corruption problem).
30842
a9053f8f 308432008-08-04 Robert Millan <rmh@aybabtu.com>
30844
30845 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
30846 warnings introduced in my last commit.
30847
dd19c7d7 308482008-08-03 Robert Millan <rmh@aybabtu.com>
30849
30850 Make PCI available on all i386 architectures.
30851
30852 * include/grub/i386/pc/pci.h: Move from here ...
30853 * include/grub/i386/pci.h: ... to here.
30854
30855 * include/grub/i386/pc/pci.h: Remove.
30856 * include/grub/i386/efi/pci.h: Remove.
30857 * include/grub/x86_64/efi/pci.h: Remove.
30858
30859 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
30860 `<grub/cpu/pci.h>'.
30861
30862 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
30863 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
30864 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
30865
30866 * conf/i386-ieee1275.rmk: Likewise.
30867
e14a6184 308682008-08-03 Robert Millan <rmh@aybabtu.com>
30869
30870 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
30871 (grub_console_setcursor): Make it possible to set cursor off.
30872
52768e37 308732008-08-03 Robert Millan <rmh@aybabtu.com>
30874
30875 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
30876 of modules instead of assuming which platform provides what.
30877 * util/update-grub.in: Likewise.
30878
2d52f57f 308792008-08-03 Robert Millan <rmh@aybabtu.com>
30880
30881 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
30882 instead of `grub_install_dos_part' to determine whether a drive needs
30883 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 30884 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 30885
2a5cd121 308862008-08-02 Robert Millan <rmh@aybabtu.com>
30887
30888 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
30889
93808428 308902008-08-02 Robert Millan <rmh@aybabtu.com>
30891
30892 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
30893 of informational grub_dprintf() calls.
30894
3bd0a12a 308952008-08-02 Robert Millan <rmh@aybabtu.com>
30896
30897 * disk/memdisk.c (memdisk_size): Don't initialize.
30898 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
30899
30900 * include/grub/i386/pc/kernel.h
30901 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
30902 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
30903 (grub_memdisk_image_size, grub_arch_memdisk_addr)
30904 (grub_arch_memdisk_size): Remove.
30905
30906 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
30907 field (was only used to transfer a constant). Add `type' field to
30908 support multiple module types.
30909 (grub_module_iterate): New function.
30910
30911 * kern/device.c (grub_device_open): Do not hide error messages
30912 when grub_disk_open() fails. Use grub_print_error() instead.
30913
30914 * kern/i386/pc/init.c (grub_arch_modules_addr)
30915 (grub_arch_memdisk_size): Remove functions.
30916 (grub_arch_modules_addr): Return the module address in high memory
30917 (now that it isn't copied anymore).
30918
30919 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
30920 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
30921 decompression routine (grub_total_module_size already includes that
30922 now). Don't copy modules back to low memory.
30923
30924 * kern/main.c: Include `<grub/mm.h>'.
30925 (grub_load_modules): Split out (and use) ...
30926 (grub_module_iterate): ... this function, which iterates through
30927 module objects and runs a hook.
30928 Comment out grub_mm_init_region() call, as it would cause non-ELF
30929 modules to be overwritten.
30930
30931 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
30932 the memdisk image in its own region, make it part of the module list.
30933 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
30934 (main): Parse --memdisk|-m option, and pass user-provided path as
30935 parameter to generate_image().
30936 (add_segments): Pass `memdisk_path' down to load_modules().
30937 (load_modules): Embed memdisk image in module section when requested.
30938 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
30939 `header.type' instead of `header.offset'.
30940
30941 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
30942 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
30943 (memdisk_mod_LDFLAGS): New variables.
30944 * conf/i386-coreboot.rmk: Likewise.
30945 * conf/i386-ieee1275.rmk: Likewise.
30946
a927cc73 309472008-08-02 Robert Millan <rmh@aybabtu.com>
30948
30949 * loader/i386/pc/multiboot.c (playground, forward_relocator)
30950 (backward_relocator): New variables. Used to allocate and relocate
30951 the payload, respectively.
30952 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 30953 address, install the appropriate relocator code in each bound of
a927cc73 30954 the payload, and set the entry point such that
30955 grub_multiboot_real_boot() will jump to one of them.
30956
30957 * kern/i386/loader.S (grub_multiboot_payload_size)
30958 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
30959 (grub_multiboot_payload_entry_offset): New variables.
30960 (grub_multiboot_real_boot): Set cpu context to what the relocator
30961 expects, and jump to the relocator instead of the payload.
30962
30963 * include/grub/i386/loader.h (grub_multiboot_payload_size)
30964 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
30965 (grub_multiboot_payload_entry_offset): Export.
30966
b15d8a0c 309672008-08-01 Bean <bean123ch@gmail.com>
30968
30969 * normal/menu_entry.c (editor_getline): Don't return the original
30970 string as result, as it will be released by lexer once it has done
30971 using it.
30972
cdfb3d22 309732008-08-01 Robert Millan <rmh@aybabtu.com>
30974
30975 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
30976 within menuentries, not before them.
30977 util/grub.d/10_hurd.in: Likewise.
30978
9175e93d 309792008-08-01 Bean <bean123ch@gmail.com>
30980
30981 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
30982 (bufio_mod_SOURCES): New macro.
30983 (bufio_mod_CFLAGS): Likewise.
30984 (bufio_mod_LDFLAGS): Likewise.
30985
30986 * include/grub/bufio.h: New file.
30987
30988 * io/bufio.c: Likewise.
30989
30990 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
30991 (grub_video_reader_png): Use grub_buffile_open to open file.
30992
30993 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
30994 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
30995
30996 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
30997 (grub_video_reader_tga): Use grub_buffile_open to open file.
30998
30999 * font/manager.c: Include <grub/bufio.h>.
31000 (add_font): Use grub_buffile_open to open file.
31001
3d8383e7 310022008-07-31 Robert Millan <rmh@aybabtu.com>
31003
31004 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
31005 ELF segments, use a macro for arbitrarily accessing any of them instead
31006 of preparing a pointer that allows access to one at a time.
31007 (grub_multiboot_load_elf64): Likewise.
31008
16e641b6 310092008-07-31 Bean <bean123ch@gmail.com>
31010
31011 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
31012 GRUB_KERNEL_MACHINE_DATA_END.
31013
59198b72 310142008-07-30 Robert Millan <rmh@aybabtu.com>
31015
31016 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
31017 Increase from 0x50 to 0x60.
31018 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
31019 use UUIDs to identify the root drive for them. If that's not
31020 possible, abort.
31021 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
31022 check, for cross-disk installs.
31023
ae88bca3 310242008-07-30 Robert Millan <rmh@aybabtu.com>
31025
31026 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
31027 is non-empty, use it to set the `prefix' environment variable instead
31028 of the usual approach.
31029 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
31030 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
31031 environment variable instead of dummy make_install_device().
31032
31033 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
31034 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 31035 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 31036
31037 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
31038 New variable reference.
31039 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
31040 New macro. Defines offset of `grub_prefix' within startup.S (relative
31041 to `start').
31042 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
31043 section within startup.S (relative to `start').
31044 * include/grub/i386/coreboot/kernel.h: Likewise.
31045
31046 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
31047 Overwrite grub_prefix with its contents, at the beginning of the
31048 first segment.
31049 (main): Understand -p|--prefix.
31050
14f41dd1 310512008-07-30 Robert Millan <rmh@aybabtu.com>
31052
31053 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
31054
4ca049a3 310552008-07-30 Robert Millan <rmh@aybabtu.com>
31056
31057 * term/i386/pc/vga_text.c (grub_console_cls): Use
31058 grub_console_gotoxy() to go back to beginning of the screen.
31059 Found by Patrick Georgi <patrick.georgi@coresystems.de>
31060
2921d337 310612008-07-29 Christian Franke <franke@computer.org>
31062
31063 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
31064 Add conversion of emulated mount points on Cygwin.
31065
b609876d 310662008-07-29 Christian Franke <franke@computer.org>
31067
31068 * util/update-grub.in: Add a check for admin
31069 group on Cygwin.
31070 Remove old `grub.cfg.new' before creation.
31071 Add `-f' to `mv' to handle the different filesystem
31072 semantics of Windows.
31073
e93e4679 310742008-07-29 Bean <bean123ch@gmail.com>
31075
31076 * normal/main.c (get_line): Fix buffer overflow bug.
31077
41694fd0 310782008-07-28 Robert Millan <rmh@aybabtu.com>
31079
31080 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
31081 (struct grub_apple_header): New struct. Describes the layout of
31082 the partmap header.
31083 (apple_partition_map_iterate): Check the header magic as well as the
31084 partition magic (which was already being checked).
31085
cfd0b4e6 310862008-07-28 Pavel Roskin <proski@gnu.org>
31087
31088 * genmk.rb: Add a warning to the beginning of the output that
31089 it's a generated file and should not be edited.
31090
93cce016 310912008-07-28 Robert Millan <rmh@aybabtu.com>
31092
31093 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
31094 with the same number are found, just use issue a warning with
31095 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 31096
cd1df915 310972008-07-27 Robert Millan <rmh@aybabtu.com>
31098
31099 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
31100 information.
31101
b70a8427 311022008-07-27 Bean <bean123ch@gmail.com>
31103
31104 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
31105 (grub_fat_find_dir): Ignore case when comparing filename.
31106
8f5e379f 311072008-07-27 Bean <bean123ch@gmail.com>
31108
31109 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
31110 smallino, as it's more descriptive, and i8count can be confused with
31111 the other field count.
31112 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
31113 inode type.
31114
a85cd5a0 311152008-07-27 Bean <bean123ch@gmail.com>
31116
31117 * commands/crc.c: New file.
31118
31119 * lib/crc.c: Likewise.
31120
31121 * include/grub/lib/crc.h: Likewise.
31122
31123 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
31124
31125 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
31126 (hexdump): Move this function to ...
31127
31128 * lib/hexdump.c: ... here.
31129
31130 * include/grub/hexdump.h: Renamed to ...
31131
31132 * include/grub/lib/hexdump.h: ... this.
31133
31134 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
31135
31136 * util/grub-editenv.c: Likewise.
31137
31138 * include/envblk.h: Renamed to ...
31139
31140 * include/lib/envblk.h: ... this.
31141
31142 * util/envblk.c: Renamed to ...
31143
31144 * lib/envblk.c: ... this.
31145
31146 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
31147 lib/hexdump.c.
31148 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
31149 (pkglib_MODULES): Add crc.mod.
31150 (hexdump_mod_SOURCES): Add lib/hexdump.c.
31151 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
31152 (crc_mod_SOURCES): New macro.
31153 (crc_mod_CFLAGS): Likewise.
31154 (crc_mod_LDFLAGS): Likewise.
31155
31156 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
31157
31158 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31159
31160 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31161
31162 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31163
31164 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31165
c298def0 311662008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 31167
31168 * commands/help.c: Include <grub/term.h>.
31169 (TERM_WIDTH): Removed. Updated all users.
31170
cc349fb3 311712008-07-27 Pavel Roskin <proski@gnu.org>
31172
31173 * util/getroot.c (find_root_device): Rephrase a comment to avoid
31174 spurious warnings about a comment within a comment.
31175
9051607e 311762008-07-25 Robert Millan <rmh@aybabtu.com>
31177
31178 * util/getroot.c (find_root_device): Skip devices that match
31179 /dev/dm-[0-9]. This lets the real device be found for any type of
31180 abstraction (LVM, EVMS, RAID..).
31181 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
31182 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
31183 device is found first, find_root_device() will now skip it.
31184
01453bfc 311852008-07-24 Pavel Roskin <proski@gnu.org>
31186
31187 * include/grub/types.h: Use __builtin_bswap32() and
31188 __builtin_bswap64() with gcc 4.3 and newer.
31189
6af9849f 311902008-07-24 Christian Franke <franke@computer.org>
31191
3a0fa256 31192 * util/i386/pc/grub-install.in: If `--debug' is specified,
31193 pass `--verbose' to grub-setup.
31194 Abort script if make_system_path_relative_to_its_root() fails.
31195
7810e747 311962008-07-24 Bean <bean123ch@gmail.com>
31197
31198 * configure.ac: Fixed a bug caused by the previous cygwin patch,
31199 variable `target_platform' should be `platform'.
31200
42290e17 312012008-07-24 Bean <bean123ch@gmail.com>
31202
51cc5193 31203 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 31204 (grub_png_init_fixed_block): New function.
31205 (grub_png_decode_image_data): Handle fixed huffman code compression.
31206
2a8a80e4 312072008-07-24 Bean <bean123ch@gmail.com>
31208
31209 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
31210 (grub_pe2elf_SOURCES): New macro.
31211 (CLEANFILES): Add grub-pe2elf.
31212
31213 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
31214 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
31215 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
31216 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
31217 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
31218 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
31219 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
31220 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
31221 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
31222 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
31223 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
31224 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
31225 (GRUB_PE32_DT_FUNCTION): Likewise.
31226 (GRUB_PE32_REL_I386_DIR32): Likewise.
31227 (GRUB_PE32_REL_I386_REL32): Likewise.
31228 (grub_pe32_symbol): New structure.
31229 (grub_pe32_reloc): Likewise.
31230
31231 * util/grub-pe2elf.c: New file.
31232
31233 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
31234 start symbol in non pc platform.
31235
31236 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
31237
31238 The following patches are from Christian Franke.
31239
31240 * include/grub/dl.h: Remove .previous, gas supports this only
31241 for ELF format.
31242
31243 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
31244 Remove .type, gas supports this only for ELF format.
31245
31246 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
31247 nullbytes in symbol table. This fixes an infinite loop if table is
31248 zero filled.
31249
31250 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
31251 TARGET_IMG_LDFLAGS and EXEEXT.
31252
31253 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
31254 TARGET_IMG_LDFLAGS_AC.
31255 (grub_CHECK_STACK_ARG_PROBE): New function.
31256
31257 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
31258
31259 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
31260
31261 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
31262 to set TARGET_IMG_LD* accordingly.
31263 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
31264 Add call to grub_CHECK_STACK_ARG_PROBE.
31265 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
31266
31267 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
31268
31269 * genmk.rb: Add EXEEXT to CLEANFILES.
31270
12ccdb75 312712008-07-23 Robert Millan <rmh@aybabtu.com>
31272
31273 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
31274 define the codes for arrows and lines used for the menu).
31275 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
31276 as well.
31277
31278 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
31279 fonts, because the latter are too slow.
31280
18eeaf04 312812008-07-21 Bean <bean123ch@gmail.com>
31282
31283 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
31284 a20. Run keyboard test last, as it will cause macbook to halt.
31285
b095e2ad 312862008-07-18 Pavel Roskin <proski@gnu.org>
31287
31288 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
31289 load foreign architecture modules correctly anyway. Keep
31290 support for loading host architecture modules, whether we
31291 compile them or not.
31292
737feb35 312932008-07-17 Pavel Roskin <proski@gnu.org>
31294
3f4ce737 31295 * configure.ac: Use -m32 or -m64 regardless of whether we had to
31296 change target_cpu. The compiler default can mismatch target_cpu
31297 in any case.
31298
4ad2d049 31299 * disk/efi/efidisk.c: Fix format warnings on x86_64.
31300 * kern/efi/efi.c: Likewise.
31301
f6130a12 31302 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
31303 target compiler is functional.
31304 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
31305 are set up.
31306
58393a2d 31307 * configure.ac: Default to efi platform for x86_64-apple. Allow
31308 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
31309 adjustments from the rest, only do them if target is not
31310 explicitly given. Merge other adjustments with the final sanity
31311 check. Remove an extraneous check for supported CPU. Be
31312 specific which CPU and which platform is not supported.
31313
737feb35 31314 * configure.ac: Default to pc platform for x86_64.
31315
546f966a 313162008-07-17 Robert Millan <rmh@aybabtu.com>
31317
31318 Partial LinuxBIOS -> Coreboot rename.
31319
31320 * conf/i386-linuxbios.rmk: Renamed to ...
31321 * conf/i386-coreboot.rmk: ... this.
31322 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
31323 * configure.ac: Accept "coreboot" as input platform (but maintain
31324 compatibility with "linuxbios").
31325 * include/grub/i386/linuxbios: Renamed to ...
31326 * include/grub/i386/coreboot: ... this.
31327
20011694 313282008-07-17 Bean <bean123ch@gmail.com>
31329
31330 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 31331 (appleldr_mod_SOURCE): New variable.
20011694 31332 (appleldr_mod_CFLAGS): Likewise.
31333 (appleldr_mod_LDFLAGS): Likewise.
31334 (pci_mod_SOURCES): Likewise.
31335 (pci_mod_CFLAGS): Likewise.
31336 (pci_mod_LDFLAGS): Likewise.
31337 (lspci_mod_SOURCES): Likewise.
31338 (lspci_mod_CFLAGS): Likewise.
31339 (lspci_mod_LDFLAGS): Likewise.
31340
31341 * conf/x86_64-efi.rmk: New file.
31342
31343 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
31344 macro.
31345 (grub_efidisk_write): Likewise.
31346
31347 * include/efi/api.h (efi_call_0): New macro.
31348 (efi_call_1): Likewise.
31349 (efi_call_2): Likewise.
31350 (efi_call_3): Likewise.
31351 (efi_call_4): Likewise.
31352 (efi_call_5): Likewise.
31353 (efi_call_6): Likewise.
31354
31355 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
31356 grub_rescue_cmd_chainloader.
31357
31358 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
31359 (grub_pe32_optional_header): Change some fields based on i386 or
31360 x86_64 platform.
31361 (GRUB_PE32_PE32_MAGIC): Likewise.
31362
31363 * include/grub/efi/uga_draw.h: New file.
31364
31365 * include/grub/elf.h (STN_ABS): New constant.
31366 (R_X86_64_NONE): Relocation constant for x86_64.
31367 (R_X86_64_64): Likewise.
31368 (R_X86_64_PC32): Likewise.
31369 (R_X86_64_GOT32): Likewise.
31370 (R_X86_64_PLT32): Likewise.
31371 (R_X86_64_COPY): Likewise.
31372 (R_X86_64_GLOB_DAT): Likewise.
31373 (R_X86_64_JUMP_SLOT): Likewise.
31374 (R_X86_64_RELATIVE): Likewise.
31375 (R_X86_64_GOTPCREL): Likewise.
31376 (R_X86_64_32): Likewise.
31377 (R_X86_64_32S): Likewise.
31378 (R_X86_64_16): Likewise.
31379 (R_X86_64_PC16): Likewise.
31380 (R_X86_64_8): Likewise.
31381 (R_X86_64_PC8): Likewise.
31382
31383 * include/grub/i386/efi/pci.h: New file.
31384
31385 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
31386 Change it value based on platform.
31387 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
31388 (GRUB_E820_RAM): Likewise.
31389 (GRUB_E820_RESERVED): Likewise.
31390 (GRUB_E820_ACPI): Likewise.
31391 (GRUB_E820_NVS): Likewise.
31392 (GRUB_E820_EXEC_CODE): Likewise.
31393 (GRUB_E820_MAX_ENTRY): Likewise.
31394 (grub_e820_mmap): New structure.
31395 (linux_kernel_header): Change the efi field according to different
31396 kernel version, also field from linux_kernel_header.
31397
31398 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
31399
31400 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
31401 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
31402 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
31403 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
31404 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
31405 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
31406 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
31407 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
31408 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
31409 (GRUB_PCI_ADDR_IO_MASK): Likewise.
31410
31411 * include/grub/x86_64/efi/kernel.h: New file.
31412
31413 * include/grub/x86_64/efi/loader.h: Likewise.
31414
31415 * include/grub/x86_64/efi/machine.h: Likewise.
31416
31417 * include/grub/x86_64/efi/pci.h: Likewise.
31418
31419 * include/grub/x86_64/efi/time.h: Likewise.
31420
31421 * include/grub/x86_64/linux.h: Likewise.
31422
31423 * include/grub/x86_64/setjmp.h: Likewise.
31424
31425 * include/grub/x86_64/time.h: Likewise.
31426
31427 * include/grub/x86_64/types.h: Likewise.
31428
31429 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
31430 GRUB_TARGET_SIZEOF_VOID_P.
31431
31432 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
31433 (grub_efi_locate_handle): Likewise.
31434 (grub_efi_open_protocol): Likewise.
31435 (grub_efi_set_text_mode): Likewise.
31436 (grub_efi_stall): Likewise.
31437 (grub_exit): Likewise.
31438 (grub_reboot): Likewise.
31439 (grub_halt): Likewise.
31440 (grub_efi_exit_boot_services): Likewise.
31441 (grub_get_rtc): Likewise.
31442
31443 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
31444 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
31445 (grub_efi_allocate_pages): Wrap efi calls.
31446 (grub_efi_free_pages): Wrap efi calls.
31447 (grub_efi_get_memory_map): Wrap efi calls.
31448
31449 * kern/x86_64/dl.c: New file.
31450
31451 * kern/x86_64/efi/callwrap.S: Likewise.
31452
31453 * kern/x86_64/efi/startup.S: Likewise.
31454
31455 * loader/efi/appleloader.c: Likewise.
31456
31457 * loader/efi/chainloader.c (cmdline): New variable.
31458 (grub_chainloader_unload): Wrap efi calls.
31459 (grub_chainloader_boot): Likewise.
31460 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
31461 command line.
31462
31463 * loader/efi/chainloader_normal.c (chainloader_command):
31464 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
31465 command line.
31466
31467 * loader/i386/efi/linux.c (allocate_pages): Change allocation
31468 method.
31469 (grub_e820_add_region): New function.
31470 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
31471 booting.
31472 (grub_find_video_card): New function.
31473 (grub_linux_setup_video): New function.
31474 (grub_rescue_cmd_linux): Probe for video information.
31475
31476 * normal/x86_64/setjmp.S: New file.
31477
31478 * term/efi/console.c (map_char): New function.
31479 (grub_console_putchar): Map unicode char.
31480 (grub_console_checkkey): Wrap efi calls.
31481 (grub_console_getkey): Likewise.
31482 (grub_console_getwh): Likewise.
31483 (grub_console_gotoxy): Likewise.
31484 (grub_console_cls): Likewise.
31485 (grub_console_setcolorstate): Likewise.
31486 (grub_console_setcursor): Likewise.
31487
31488 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
31489
59652a20 314902008-07-16 Pavel Roskin <proski@gnu.org>
31491
ef294055 31492 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
31493 format strings.
31494
59652a20 31495 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
31496 pointer, not an integer. This fixes a warning and prevents
31497 precision loss on 64-bit systems.
31498 (relocate_addresses): Remove unneeded cast.
31499
afc3b5d7 315002008-07-15 Pavel Roskin <proski@gnu.org>
31501
506b2b3e 31502 * kern/i386/ieee1275/init.c: Include grub/cache.h.
31503
62ead89c 31504 * term/ieee1275/ofconsole.c: Disable code unused on i386.
31505
c4cd51d7 31506 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
31507 Fix comparison between signed and unsigned.
31508
0d3d8f28 31509 * include/grub/i386/ieee1275/console.h: Declare
31510 grub_console_init() and grub_console_fini().
31511
8804b286 31512 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
31513 It's empty and unused.
31514
ee01cf35 31515 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
31516 beginning to avoid warnings with some compilers.
31517
afc3b5d7 31518 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
31519 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
31520
e4e8eaa5 315212008-07-14 Pavel Roskin <proski@gnu.org>
31522
407aceb4 31523 * kern/env.c (grub_register_variable_hook): Don't copy empty
31524 string, it leaks memory. Pass "" to grub_env_set(), it should
31525 handle constant strings.
31526
e4e8eaa5 31527 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
31528 * commands/cmp.c (grub_cmd_cmp): Likewise.
31529 * kern/dl.c (grub_dl_flush_cache): Likewise.
31530 (grub_dl_load_core): Likewise.
31531 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
31532 (grub_elf64_load_phdrs): Likewise.
31533
d4e2dad3 315342008-07-13 Pavel Roskin <proski@gnu.org>
31535
31536 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
31537 between signed and unsigned.
31538 (LzmaEnc_Finish): Fix warning about an unused parameter.
31539
aa24b516 315402008-07-13 Bean <bean123ch@gmail.com>
31541
31542 * Makefile.in (enable_lzo): New rule.
31543
31544 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
31545
31546 * configure.ac (ENABLE_LZO): New option --enable-lzo.
31547
31548 * boot/i386/pc/lnxboot.S: #include <config.h>.
31549
31550 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 31551 its value according to the compression algorithm used, lzo or lzma.
aa24b516 31552
31553 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
31554 compression algorithm according to configure macro.
31555
31556 * kern/i386/pc/startup.S (codestart): Likewise.
31557
31558 * kern/i386/pc/lzma_decode.S: New file.
31559
31560 * include/grub/lib/LzFind.h: Likewise.
31561
31562 * include/grub/lib/LzHash.h: Likewise.
31563
31564 * include/grub/lib/LzmaDec.h: Likewise.
31565
31566 * include/grub/lib/LzmaEnc.h: Likewise.
31567
31568 * include/grub/lib/LzmaTypes.h: Likewise.
31569
31570 * lib/LzFind.c: Likewise.
31571
31572 * lib/LzmaDec.c: Likewise.
31573
31574 * lib/LzmaEnc.c: Likewise.
31575
4ae821ac 315762008-07-13 Bean <bean123ch@gmail.com>
31577
31578 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
31579 (grub_ext4_extent_header): New structure.
31580 (grub_ext4_extent): Likewise.
31581 (grub_ext4_extent_idx): Likewise.
31582 (grub_ext4_find_leaf): New function.
31583 (grub_ext2_read_block): Handle extents.
31584
9a745147 315852008-07-12 Robert Millan <rmh@aybabtu.com>
31586
31587 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
31588
d49a4cf6 315892008-07-11 Robert Millan <rmh@aybabtu.com>
31590
31591 * util/grub.d/40_custom.in: New file. Example on how to add custom
31592 entries to /etc/grub.d.
31593 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
31594 40_custom (implicitly, by merging all the grub.d rules).
31595
947414b4 315962008-07-11 Pavel Roskin <proski@gnu.org>
31597
0059cf6f 31598 * commands/read.c (grub_getline): Fix invalid memory access.
31599 Don't add newline to the variable value.
31600
947414b4 31601 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
31602 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
31603 (serial_hw_get_port): Check validity of the port number.
31604 (grub_cmd_serial): Check return value of serial_hw_get_port().
31605
62a02d00 316062008-07-07 Pavel Roskin <proski@gnu.org>
31607
31608 * boot/i386/pc/diskboot.S (notification_string): Replace
31609 "Loading kernel" with just "loading". This is shorter, less
31610 confusing and saves a few bytes for possible future changes.
31611
3e5581b0 316122008-07-05 Pavel Roskin <proski@gnu.org>
31613
ea387a48 31614 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
31615 size for ATAPI devices, they are undefined. Output sector
31616 number in decimal form.
31617
3e5581b0 31618 * disk/ata.c: Use named constants for status bits.
31619
fdecb8fd 316202008-07-04 Pavel Roskin <proski@gnu.org>
31621
bcd35b90 31622 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
31623 grub_addr_t before casting it to the void pointer to fix a
31624 warning. Non-addressable regions are discarded earlier.
31625 (grub_arch_modules_addr): Cast _end to grub_addr_t.
31626 * kern/i386/linuxbios/table.c: Include grub/misc.h.
31627 (check_signature): Don't shadow table_header.
31628 (grub_linuxbios_table_iterate): Cast numeric constants to
31629 grub_linuxbios_table_header_t.
31630 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
31631 grub_stop().
31632
af58ab3d 31633 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
31634 prevent warnings.
31635
1759aa57 31636 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
31637 pointer, which can cause warnings. Support 64-bit addresses.
31638
fdecb8fd 31639 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
31640 of sizeof(long). This fixes PowerPC image generation on x86_64.
31641
8516d2a8 316422008-07-04 Robert Millan <rmh@aybabtu.com>
31643
31644 This fixes a performance issue when pc & gpt partmap iterators
31645 didn't abort iteration even after our hook found what it was
fe987087 31646 looking for (often causing expensive probes of non-existent drives).
8516d2a8 31647
31648 Some callers relied on previous buggy behaviour, since they would
34c44600 31649 raise an error when their own hooks caused early abortion of its
8516d2a8 31650 iteration.
31651
31652 * kern/device.c (grub_device_open): Improve error message.
31653 * disk/lvm.c (grub_lvm_open): Likewise.
31654 * disk/raid.c (grub_raid_open): Likewise.
31655
31656 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
31657 when hook requests it, independently of grub_errno.
31658 (pc_partition_map_probe): Do not fail when find_func() caused
31659 early abortion of pc_partition_map_iterate().
31660
31661 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
31662 when hook requests it, independently of grub_errno.
31663 (gpt_partition_map_probe): Do not fail when find_func() caused
31664 early abortion of gpt_partition_map_iterate().
31665
31666 * kern/partition.c (grub_partition_iterate): Abort parent iteration
31667 when hook requests it, independently of grub_errno. Do not fail when
31668 part_map_iterate_hook() caused early abortion of p->iterate().
31669
31670 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
31671 when grub_partition_iterate() returned with non-zero.
31672
277d0de9 316732008-07-03 Pavel Roskin <proski@gnu.org>
31674
31675 * disk/ata.c (grub_ata_pio_write): Check status before writing,
31676 like we do in grub_ata_pio_read().
31677 (grub_ata_readwrite): Always write individual sectors. Fix the
31678 sector count for the remainder.
31679 (grub_ata_write): Enable writing to ATA devices. Correctly
31680 report error for ATAPI devices.
31681
d4c9b428 316822008-07-02 Pavel Roskin <proski@gnu.org>
31683
e43fc690 31684 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
31685 warning.
31686
f707af42 31687 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
31688 for every read sector, we already increment it for the whole
31689 batch. This fixes reading more than 256 sectors at once.
31690
11e16b15 31691 * util/grub-editenv.c (cmd_info): Cast argument to long
31692 explicitly. ptrdiff_t reduces to int on i386.
31693
cbabfdd4 31694 * util/grub-editenv.c (main): Be specific which parameter is
31695 missing.
31696
b8fbce0a 31697 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
31698 (memdisk): Make memdisk_orig_addr a pointer.
31699
c9c8e606 31700 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
31701 for file offsets, use grub_off_t instead. Fix printf format
31702 warnings.
31703
ca62e598 31704 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
31705 there. Real unexpected warnings should not drown in the noise
31706 about known problems.
31707
ce8d1766 31708 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
31709 grub_disk_addr_t for memory addresses.
31710
00c7a56a 31711 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
31712 explicitly to fix a warning.
31713
08d3ef09 31714 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
31715
cb71ba20 31716 * Makefile.in (MODULE_LDFLAGS): New variable.
31717 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
31718 the linker accepts --build-id=none.
31719 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
31720 MODULE_LDFLAGS.
31721 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
31722
d4c9b428 31723 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
31724 those in Linux XFS code. Provide a way to access 64-bit parent
31725 inode.
31726 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
31727 the end of struct grub_xfs_dir_header.
31728
d4156eee 317292008-07-02 Bean <bean123ch@gmail.com>
31730
31731 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
31732 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
31733 and GRUB_IEEE1275_FLAG_NO_ANSI.
31734
31735 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
31736 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
31737 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
31738
31739 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
31740 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
31741
31742 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
31743 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
31744
31745 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
31746 esc sequence on non ANSI terminal.
31747 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
31748
31749 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
31750 beginning of file.
31751
2270f77b 317522008-07-02 Bean <bean123ch@gmail.com>
31753
31754 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
31755 (grub_editenv_SOURCES): New variable.
31756 (pkglib_MODULES): Add loadenv.mod.
31757 (loadenv_mod_SOURCES): New variable.
31758 (loadenv_mod_CFLAGS): Likewise.
31759 (loadenv_mod_LDFLAGS): Likewise.
31760
31761 * include/grub/envblk.h: New file.
31762
31763 * util/envblk.c: New file.
31764
31765 * util/grub-editenv.c: New file.
31766
31767 * commands/loadenv.c: New file.
31768
0e9e51ec 317692008-07-01 Pavel Roskin <proski@gnu.org>
31770
d89b7634 31771 * include/multiboot2.h (struct multiboot_tag_module): Use char,
31772 not unsigned char. This fixes warnings and is consistent with
31773 other tags.
31774
bf1835b1 31775 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
31776
8222a04b 31777 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
31778
6a42d99d 31779 * term/tparm.c (analyze): Always set *popcount.
31780
10b159d1 31781 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
31782 cast to fix a warning.
31783
b8789f6c 31784 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
31785 cast to suppress a warning.
31786
29d7e38a 31787 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
31788 grub_fshelp_read_file() expects.
31789
f341f669 31790 * fs/fat.c: Fix UUID calculation on big-endian systems. We
31791 write uuid as a 32-bit value in CPU byte order, so declare and
31792 use it as such.
31793
0e9e51ec 31794 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
31795 long if the format specifier expects it.
31796 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
31797 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31798 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
31799 long to fix a warning.
31800 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
31801 grub_dprintf() arguments to fix warnings.
31802
3aefa857 318032008-06-30 Pavel Roskin <proski@gnu.org>
31804
56c7668b 31805 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
31806 install_bsd_part immediately before core.img is embedded or
31807 modified on disk. This fixes core.img verification if core.img
31808 cannot be embedded.
31809
3aefa857 31810 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
31811 core_path to calculate the blocklist.
31812 Patch from Javier Martín <lordhabbit@gmail.com>
31813
5444088d 318142008-06-29 Robert Millan <rmh@aybabtu.com>
31815
31816 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
31817 block to disk block.
31818 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
31819 Patch from Niels Böhm <bitbucket@arcor.de>
31820
674835c8 318212008-06-29 Robert Millan <rmh@aybabtu.com>
31822
31823 * util/update-grub_lib.in (font_path): Search for fonts in
31824 /boot/grub first, which is more likely to be readable (we aren't
31825 deciding where fonts live, just looking for them).
31826
f527dbc8 318272008-06-26 Pavel Roskin <proski@gnu.org>
31828
6c2d8df6 31829 * util/biosdisk.c (read_device_map): Don't leave dead map
31830 entries for devices failing stat() check.
31831
f527dbc8 31832 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
31833 core_path_dev for the core.img path on the target device.
31834
aebe3d13 318352008-06-26 Robert Millan <rmh@aybabtu.com>
31836
31837 * disk/fs_uuid.c: New file.
31838 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
31839 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
31840 (fs_uuid_mod_LDFLAGS): New variables.
31841 * include/grub/disk.h (grub_disk_dev_id): Add
31842 `GRUB_DISK_DEVICE_UUID_ID'.
31843 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
31844 implement iterate().
31845
37aaf354 318462008-06-26 Robert Millan <rmh@aybabtu.com>
31847
31848 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
31849 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
31850 Linux image includes no initrd.
31851
25ff262a 318522008-06-21 Javier Martín <lordhabbit@gmail.com>
31853
31854 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
31855 call to resolve the core image location that effectively appended the
31856 name twice.
31857
76a2bd44 318582008-06-21 Robert Millan <rmh@aybabtu.com>
31859
31860 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
31861 call from here ...
31862
31863 * util/grub.d/10_hurd.in: ... to here ...
31864 * util/grub.d/10_linux.in: ... and here.
31865
650e1c79 318662008-06-19 Robert Millan <rmh@aybabtu.com>
31867
fe987087 31868 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 31869 after it has been set by grub_machine_set_prefix().
31870
6ce63911 318712008-06-19 Robert Millan <rmh@aybabtu.com>
31872
31873 * commands/search.c (search_label, search_fs_uuid, search_file): Print
31874 search result when not saving to variable, not the other way around.
31875 When saving to variable, abort iteration as soon as a match is found.
31876
73940cec 318772008-06-19 Robert Millan <rmh@aybabtu.com>
31878
31879 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
31880 check for partition that provides /boot/grub. Its logic is flawed,
31881 as it prevents prepare_grub_to_access_device() from being called
31882 multiple times.
31883
3c62a39d 318842008-06-19 Robert Millan <rmh@aybabtu.com>
31885
31886 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
31887 "insmod" command directly when abstraction modules are needed,
fe987087 31888 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 31889 since it had already been processed).
31890
47395a42 318912008-06-19 Pavel Roskin <proski@gnu.org>
31892
31893 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
31894 changed. This is needed in case GRUB_LIBDIR changes.
31895 * conf/i386-ieee1275.rmk: Likewise.
31896 * conf/i386-linuxbios.rmk: Likewise.
31897 * conf/i386-pc.rmk: Likewise.
31898 * conf/powerpc-ieee1275.rmk: Likewise.
31899
a145ac2d 319002008-06-18 Pavel Roskin <proski@gnu.org>
31901
31902 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
31903 kernel_elf_symlist.c to symlist.c for consistency with other
31904 architectures. Update all users.
31905 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31906
7847c51e 319072008-06-18 Robert Millan <rmh@aybabtu.com>
31908
31909 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
31910 it in prefix.
31911
31912 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
31913 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
31914 a RAID device, run setup() for all members independently on whether
31915 LVM abstraction is being used.
31916 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
31917 If grub-mkimage has set `*install_dos_part == -2', don't override this
31918 value.
31919 Perform *install_dos_part adjustments independently on whether
31920 we're embedding or not.
31921 Clarify error message when image is too big for embedding.
31922 Remove duplicate *install_dos_part stanza.
31923
b23e5644 319242008-06-17 Robert Millan <rmh@aybabtu.com>
31925
31926 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
31927 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
31928 variables.
31929 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
31930 values in grub_ofconsole_normal_color and
31931 grub_ofconsole_highlight_color (they're not directly related to
31932 background and foreground).
31933 (grub_ofconsole_setcolorstate): Extract background and foreground
31934 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
31935
0aac2f79 319362008-06-17 Robert Millan <rmh@aybabtu.com>
31937
31938 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
31939 /boot/grub for the check in last commit, not /boot (they could be
31940 different partitions).
31941
3cca7ef3 319422008-06-16 Robert Millan <rmh@aybabtu.com>
31943
31944 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
31945 asked to setup access for the same partition that provides /boot,
31946 don't bother using UUIDs since our root already has the value we
31947 want.
31948
347396d8 319492008-06-16 Robert Millan <rmh@aybabtu.com>
31950
31951 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
31952 I2O devices.
31953 Patch from Sven Mueller <sven@debian.org>.
31954
991477f8 319552008-06-16 Robert Millan <rmh@aybabtu.com>
31956
31957 * util/update-grub.in: Check for $EUID instead of $UID.
31958 Reported by Vincent Zweije.
31959
d31a32a1 319602008-06-16 Bean <bean123ch@gmail.com>
31961
fe987087 31962 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 31963 (grub_ext2_read_block): Likewise.
31964 (grub_ext2_read_inode): Likewise.
31965 (grub_ext2_mount): Likewise.
31966 (grub_ext2_close): Likewise.
31967 (grub_ext3_get_journal): Removed.
31968
fe987087 31969 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 31970 (grub_reiserfs_read_symlink): Likewise.
31971 (grub_reiserfs_mount): Likewise.
31972 (grub_reiserfs_open): Likewise.
31973 (grub_reiserfs_read): Likewise.
31974 (grub_reiserfs_close): Likewise.
31975 (grub_reiserfs_get_journal): Removed.
31976
31977 * fs/fshelp.c (grub_fshelp_read): Removed.
31978 (grub_fshelp_map_block): Likewise.
31979
31980 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
31981 (grub_fshelp_journal): Likewise.
31982 (grub_fshelp_read): Likewise.
31983 (grub_fshelp_map_block): Likewise.
31984
3540a760 319852008-06-16 Pavel Roskin <proski@gnu.org>
31986
31987 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
31988 floating point anymore.
31989 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
31990
95614c84 319912008-06-15 Pavel Roskin <proski@gnu.org>
31992
31993 * commands/ls.c (grub_ls_list_files): Use integer calculations
31994 for human readable format, avoid floating point use.
31995 * kern/misc.c (grub_ftoa): Remove.
31996 (grub_vsprintf): Remove floating point support.
31997
50465dd6 319982008-06-15 Robert Millan <rmh@aybabtu.com>
31999
fe6b695a 32000 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 32001 devices.
32002 Reported by Max Vozeler.
32003
a9207284 320042008-06-15 Robert Millan <rmh@aybabtu.com>
32005
32006 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
32007 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
32008 skipped later.
32009 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
32010 the beginning of the prefix.
32011
32012 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
32013 It is assumed that if we have a memdisk, grub-mkimage has set
32014 grub_prefix to include the "(memdisk)" drive in it.
32015
a7cbd45a 320162008-06-15 Robert Millan <rmh@aybabtu.com>
32017
32018 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
32019 Initialize keyboard controller after registering the terminal, so that
32020 grub_printf() can be called from grub_keyboard_controller_init().
32021
21cf716a 320222008-06-15 Robert Millan <rmh@aybabtu.com>
32023
32024 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
32025 extent-btree which is written as big endian on disk.
32026 Reported by Alain Greppin <al@chilibi.org>.
32027
23a64d8e 320282008-06-14 Robert Millan <rmh@aybabtu.com>
32029
32030 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
32031 * util/i386/pc/grub-install.in (modules): Likewise.
32032
d687651c 320332008-06-13 Pavel Roskin <proski@gnu.org>
32034
32035 * commands/ls.c (grub_ls_list_files): Fix format warnings.
32036
dfe9ddd4 320372008-06-13 Bean <bean123ch@gmail.com>
32038
32039 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
32040
32041 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
32042
32043 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
32044 to indicate sparse block.
32045
16ae7781 320462008-06-12 Pavel Roskin <proski@gnu.org>
32047
e6d1a308 32048 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
32049 number, grub_fshelp_read() does it for us.
32050
16ae7781 32051 * fs/fshelp.c (grub_fshelp_read): New function. Implement
32052 linear disk read with journal translation.
32053 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
32054 * include/grub/fshelp.h: Declare grub_fshelp_read().
32055
40fd3a2b 320562008-06-09 Pavel Roskin <proski@gnu.org>
32057
32058 * fs/minix.c (grub_minix_mount): Handle error reading
32059 superblock.
32060
f5679726 320612008-06-08 Robert Millan <rmh@aybabtu.com>
32062
32063 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
32064 don't append the RAID prefix afterwards.
32065 Reported by Clint Adams.
32066
ce525529 320672008-06-08 Robert Millan <rmh@aybabtu.com>
32068
32069 Based on description from Pavel:
32070 * kern/disk.c (grub_disk_check_range): Rename to ...
32071 (grub_disk_adjust_range): ... this. Add a comment explaining the
32072 tasks performed by this function.
32073
ad4936a0 320742008-06-08 Robert Millan <rmh@aybabtu.com>
32075
32076 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
32077 `num_serial' (for consistency with other variables).
32078 (struct grub_ntfs_data): Add `uuid' member.
32079 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
32080 (grub_ntfs_uuid): New function.
32081 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
32082
dc20b0f9 320832008-06-07 Pavel Roskin <proski@gnu.org>
32084
32085 * util/biosdisk.c (open_device): Revert last change to the
32086 function, it broke installation. The sector needs to be
32087 different dependent on which device is opened.
32088
c5e3cfba 320892008-06-06 Robert Millan <rmh@aybabtu.com>
32090
32091 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
32092 rest of GRUB, and breakage doesn't happen if its value were modified.
32093
32094 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
32095 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
32096 a constant (same value).
32097 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
32098 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
32099
26a1f8c4 321002008-06-06 Robert Millan <rmh@aybabtu.com>
32101
32102 * util/biosdisk.c (open_device): Do not modify sector offset when
32103 accessing a partition. kern/disk.c already handles this for us.
32104
25d6b327 321052008-06-06 Robert Millan <rmh@aybabtu.com>
32106
32107 * util/grub-emu.c (grub_machine_init): Move code in this function from
32108 here ...
32109 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
32110 segfault in case grub_printf() is called).
32111
32112 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
32113 grub_probe. Update all users not to explicitly add it again.
32114 (grub_device): New variable; contains corresponding device for grubdir.
32115 (fs_module, partmap_module, devabstraction_module): Pass
32116 `--device ${grub_device}' to grub_probe to avoid traversing /dev
32117 every time.
32118
9ece62fb 321192008-06-05 Robert Millan <rmh@aybabtu.com>
32120
32121 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
32122 is found, print it (same layout as with labels).
32123
1ad36d37 321242008-06-04 Robert Millan <rmh@aybabtu.com>
32125
32126 * util/biosdisk.c (get_drive): Rename to ...
32127 (find_grub_drive): ... this. Update all users.
32128
32129 (get_os_disk): Rename to ...
32130 (convert_system_partition_to_system_disk): ... this. Update all users.
32131
32132 (find_drive): Rename to ...
32133 (find_system_device): ... this. Update all users.
32134
e6a30859 321352008-06-04 Robert Millan <rmh@aybabtu.com>
32136
32137 * util/biosdisk.c (get_os_disk): Handle IDA devices.
32138 * util/grub-mkdevicemap.c (get_mmc_disk_name)
32139 (make_device_map): Likewise.
32140
00c108a4 321412008-06-01 Robert Millan <rmh@aybabtu.com>
32142
32143 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
32144 before dereferencing it.
32145
32146 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
32147 union with fat12/fat16-specific ones. Add some new fields, including
32148 `num_serial' for both versions.
32149 (struct grub_fat_data): Add `uuid' member.
32150 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
32151 names. Initialize `data->uuid' using `num_serial'.
32152 (grub_fat_uuid): New function.
32153 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
32154
32155 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
32156 (grub_reiserfs_uuid): New function.
32157 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
32158 member.
32159
32160 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
32161 (grub_xfs_uuid): New function.
32162 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
32163
1385c5bb 321642008-06-01 Robert Millan <rmh@aybabtu.com>
32165
32166 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
32167 code that is backward compatible with pre-uuid search command.
32168
c682dfd7 321692008-05-31 Robert Millan <rmh@aybabtu.com>
32170
32171 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
32172 floppies after everything else, to ensure floppy drive isn't accessed
32173 unnecessarily (patch from Bean).
32174
b7db5d47 321752008-05-31 Robert Millan <rmh@aybabtu.com>
32176
32177 * commands/search.c (search_label, search_fs_uuid, search_file): Do
32178 not print device names when we were asked to set a variable.
32179
6e037aa9 321802008-05-31 Robert Millan <rmh@aybabtu.com>
32181
32182 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
32183 using "cursor-on" and "cursor-off" commands (understood at least by
32184 the Open Firmware flavour on OLPC).
32185
41305bc8 321862008-05-31 Michael Gorven <michael@gorven.za.net>
32187
32188 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
32189 on and off sequences.
32190
69ba137e 321912008-05-31 Robert Millan <rmh@aybabtu.com>
32192
32193 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
32194 * util/update-grub.in: Likewise.
32195
520ae21b 321962008-05-30 Pavel Roskin <proski@gnu.org>
32197
32198 * util/biosdisk.c (linux_find_partition): Simplify logic and
32199 make the code more universal. Keep special processing for
32200 devfs, but use a simple rule for all other devices. If the
32201 device ends with a number, append 'p' and the partition number.
32202 Otherwise, append only the partition number.
32203
5786569b 322042008-05-30 Robert Millan <rmh@aybabtu.com>
32205
32206 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
32207 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
32208 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
32209 the `root' parameter to Linux.
32210
51500452 322112008-05-30 Robert Millan <rmh@aybabtu.com>
32212
32213 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
32214 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
32215 --fs_uuid with --fs-uuid.
32216 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
32217 all filesystems support them).
32218
811d3878 322192008-05-30 Robert Millan <rmh@aybabtu.com>
32220
32221 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 32222 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 32223
cab63c95 322242008-05-30 Robert Millan <rmh@aybabtu.com>
32225
32226 * util/grub.d/00_header.in: Remove obsolete comment referencing
32227 convert_system_path_to_grub_path().
32228 * util/update-grub.in: Likewise.
32229 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
32230 (convert_system_path_to_grub_path): Add a warning message explaining
32231 that this function is deprecated. Rely on is_path_readable_by_grub()
32232 for the readability checks.
32233 (font_path): Use is_path_readable_by_grub() for the readability
32234 check rather than convert_system_path_to_grub_path().
32235
972e2f7a 322362008-05-30 Robert Millan <rmh@aybabtu.com>
32237
32238 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
32239 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
32240 converting it first.
32241 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
32242 grub.cfg for access to font file, and afterwards call it again to set
32243 the root device.
32244
62191274 322452008-05-30 Robert Millan <rmh@aybabtu.com>
32246
32247 * commands/search.c (options): Add --fs_uuid option.
32248 (search_fs_uuid): New function.
32249 (grub_cmd_search): Fix --set argument passing.
32250 Use search_fs_uuid() when requested via --fs_uuid.
32251 (grub_search_init): Update help message.
32252 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
32253 and redeclare it as an array of 16-bit words.
32254 (grub_ext2_uuid): New function.
32255 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
32256 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
32257 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
32258 (GRUB_DEVICE_BOOT_UUID): New variables.
32259 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
32260 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
32261 whenever possible.
32262 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
32263 just assume `root' variable has the right value.
32264 * util/grub.d/10_linux.in: Likewise.
32265 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
32266 via PRINT_FS_UUID.
32267 (main): Recognise `-t fs_uuid' argument.
32268
01b73ec8 322692008-05-30 Robert Millan <rmh@aybabtu.com>
32270
32271 * util/biosdisk.c (map): Redefine structure to hold information
32272 about GRUB drive name.
fe6b695a 32273 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 32274 drive names.
32275 (call_hook): Remove.
32276 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
32277 member. Assume drive has partitions.
32278 (grub_util_biosdisk_open): Access device names via `.device' struct
32279 member.
32280 (open_device): Likewise.
32281 (find_drive): Likewise.
32282 (read_device_map): Adjust map[] usage to match the new struct
32283 definition. Don't check for duplicates (still possible, but not cheap
32284 anymore).
32285 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
32286 (make_device_name): Remove assumption of BIOS-like drive names.
32287
22f16596 322882008-05-30 Pavel Roskin <proski@gnu.org>
32289
32290 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
32291 compiling execute.c doesn't need grub_script.tab.h anymore.
32292 (normal/command.c_DEPENDENCIES): Likewise.
32293 (normal/function.c_DEPENDENCIES): Likewise.
32294 * conf/i386-ieee1275.rmk: Likewise.
32295 * conf/i386-linuxbios.rmk: Likewise.
32296 * conf/i386-pc.rmk: Likewise.
32297 * conf/powerpc-ieee1275.rmk: Likewise.
32298 * conf/sparc64-ieee1275.rmk: Likewise.
32299
528ad8f2 323002008-05-29 Pavel Roskin <proski@gnu.org>
32301
d1dff95d 32302 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
32303 when scanning metadata for volume group name.
32304
528ad8f2 32305 * include/grub/script.h: Don't include grub_script.tab.h. It's
32306 a generated file, which may only be included from the files with
32307 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
32308 use union YYSTYPE, as the later allows forward declaration.
32309 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
32310
47248e08 323112008-05-29 Robert Millan <rmh@aybabtu.com>
32312
32313 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
32314 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
32315 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
32316 (grub_console_checkkey): Add grub_dprintf() call to report unknown
32317 scan codes.
32318
ee632529 323192008-05-29 Robert Millan <rmh@aybabtu.com>
32320
32321 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
32322 control key combinations.
32323
eee96e08 323242008-05-29 Robert Millan <rmh@aybabtu.com>
32325
32326 * util/powerpc/ieee1275/grub-install.in: Move from here ...
32327 * util/ieee1275/grub-install.in: ... to here.
32328 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
32329 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
32330 (grub_install_SOURCES): Likewise.
32331
da9a6a94 323322008-05-29 Robert Millan <rmh@aybabtu.com>
32333
32334 * fs/affs.c: Update copyright year.
32335 * fs/ext2.c: Likewise.
32336 * fs/fshelp.c: Likewise.
32337 * fs/hfsplus.c: Likewise.
32338 * fs/ntfs.c: Likewise.
32339 * fs/xfs.c: Likewise.
32340 * include/grub/fshelp.h: Likewise.
32341 * util/grub-mkdevicemap.c: Likewise.
32342
12e65f3a 323432008-05-28 Robert Millan <rmh@aybabtu.com>
32344
32345 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
32346 might need to be fatfs to support some firmware implementations
32347 (e.g. OFW or EFI).
32348
23023641 323492008-05-28 Robert Millan <rmh@aybabtu.com>
32350
32351 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
32352 devices.
32353 * util/grub-mkdevicemap.c (get_mmc_disk_name)
32354 (make_device_map): Likewise.
32355
887d2619 323562008-05-20 Bean <bean123ch@gmail.com>
32357
32358 * fs/fshelp.c (grub_fshelp_map_block): New function.
32359 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
32360 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
32361
32362 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
32363 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
32364 (grub_fshelp_journal): New structure.
32365 (grub_fshelp_map_block): New function prototype.
32366 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
32367 (grub_fshelp_map_block): Likewise.
32368
32369 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
32370 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
32371 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
32372 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
32373 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
32374 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
32375 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
32376 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
32377 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
32378 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
32379 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
32380 (grub_ext2_sblock): New members for journal support.
32381 (grub_ext3_journal_header): New structure.
32382 (grub_ext3_journal_revoke_header): Likewise.
32383 (grub_ext3_journal_block_tag): Likewise.
32384 (grub_ext3_journal_sblock): Likewise.
32385 (grub_fshelp_node): New members logfile and journal.
32386 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
32387 grub_fshelp_map_block to get real block number.
32388 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
32389 number.
32390 (grub_ext2_read_inode): Likewise.
32391 (grub_ext3_get_journal): New function.
32392 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
32393 (grub_ext2_close): Release memory used by journal.
32394
32395 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
32396 (REISERFS_MAGIC_DESC_BLOCK): New macro.
32397 (grub_reiserfs_transaction_header): Renamed to
32398 grub_reiserfs_description_block, replace field data with real_blocks.
32399 (grub_reiserfs_commit_block): New structure.
32400 (grub_reiserfs_data): New member journal.
32401 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
32402 number.
32403 (grub_reiserfs_read_symlink): Likewise.
32404 (grub_reiserfs_iterate_dir): Likewise.
32405 (grub_reiserfs_open): Likewise.
32406 (grub_reiserfs_read): Likewise.
32407 (grub_reiserfs_get_journal): New function.
32408 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
32409 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
32410 using grub_reiserfs_get_journal.
32411 (grub_reiserfs_close): Release memory used by journal.
32412
32413 * fs/affs.c (grub_affs_read_block): Change block type to
32414 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
32415
32416 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
32417
32418 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
32419
32420 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
32421
32422 * fs/udf.c (grub_udf_read_block): Change block type to
32423 grub_disk_addr_t. Use type cast to avoid warning.
32424
32425 * fs/xfs.c (grub_xfs_read_block): Likewise.
32426
b7c6bed5 324272008-05-16 Christian Franke <franke@computer.org>
32428
32429 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
32430 to ensure that break with ESC will always work.
32431 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
32432 Remove ESC from keyboard queue.
32433
eedf167f 324342008-05-16 Christian Franke <franke@computer.org>
32435
32436 * util/biosdisk.c: [__CYGWIN__] Add includes.
32437 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
32438 (get_os_disk): Move variable declarations to OS specific
32439 parts to avoid warning.
32440 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
32441 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
32442 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
32443 Cygwin.
32444 * util/getroot.c: [__CYGWIN__] Add includes.
32445 (strip_extra_slashes): Fix "/" case.
32446 [__CYGWIN__] (get_win32_path): New function.
32447 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
32448 [__CYGWIN__] (find_root_device): Disable.
32449 [__CYGWIN__] (get_bootsec_serial): New function.
32450 [__CYGWIN__] (find_cygwin_root_device): Likewise.
32451 [__linux__] (grub_guess_root_device): Add early returns to simplify
32452 structure.
32453 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
32454 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
32455 check for Linux only.
32456
a079699e 324572008-05-15 Bean <bean123ch@gmail.com>
32458
32459 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
32460 keyboard hang problem in apple's intel mac.
32461
1cf4059a 324622008-05-09 Robert Millan <rmh@aybabtu.com>
32463
32464 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
32465 devices.
32466 * util/grub-mkdevicemap.c (get_virtio_disk_name)
32467 (make_device_map): Likewise.
32468 Reported by Aurelien Jarno <aurel32@debian.org>
32469
ed759390 324702008-05-07 Ian Campbell <ijc@hellion.org.uk>
32471
32472 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
32473 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
32474 (make_device_map): Output entries for xvd type disks.
32475
b56c4eaa 324762008-05-07 Robert Millan <rmh@aybabtu.com>
32477
32478 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
32479 devices.
32480 * util/grub-mkdevicemap.c (get_cciss_disk_name)
32481 (make_device_map): Likewise.
32482 Reported by Roland Dreier <rdreier@cisco.com>
32483
7f8866ed 324842008-05-07 Robert Millan <rmh@aybabtu.com>
32485
32486 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
32487 grub_strstr() call. Correct a few mistakes in failure path handling.
32488
b0346e0f 324892008-05-06 Robert Millan <rmh@aybabtu.com>
32490
32491 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
32492 Do not print a trailing slash (therefore, the root directory is an
32493 empty string).
32494 (convert_system_path_to_grub_path): Do not remove trailing slash
32495 from make_system_path_relative_to_its_root() output.
32496
32497 * util/i386/pc/grub-install.in: Add trailing slash to output from
32498 make_system_path_relative_to_its_root().
32499
6cf12cbd 325002008-05-06 Robert Millan <rmh@aybabtu.com>
32501
32502 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
32503 ensures that output lines aren't intermangled with those sent to
32504 stderr (via grub_util_info()).
32505 * util/grub-probe.c (grub_refresh): Likewise.
32506 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
32507
0fbb3117 325082008-05-05 Christian Franke <franke@computer.org>
32509
32510 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
32511 Add Cygwin device names.
32512 (get_ide_disk_name) [__CYGWIN__]: Likewise.
32513 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
32514 (check_device): Return error instead of success on empty name.
32515 (make_device_map): Move label inside linux specific code to
32516 prevent compiler warning.
32517
8124cdb7 325182008-04-30 Robert Millan <rmh@aybabtu.com>
32519
32520 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
32521 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
32522 first boot option.
32523 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
32524
094c01d0 325252008-04-29 Robert Millan <rmh@aybabtu.com>
32526
32527 * docs/grub.cfg: New file (example GRUB configuration).
32528
f4b1fc02 325292008-04-26 Robert Millan <rmh@aybabtu.com>
32530
329ce2a5 32531 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
32532 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
32533 and `disk/ieee1275/nand.c'.
f4b1fc02 32534
25f16ec1 325352008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 32536
25f16ec1 32537 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
32538 i386-linuxbios.
32539
32540 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
32541 change the buffer size to 4096 for cdrom device.
32542
32543 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
32544 and nand.mod.
32545 (_linux_mod_SOURCES): New variable.
32546 (_linux_mod_CFLAGS): Likewise.
32547 (_linux_mod_LDFLAGS): Likewise.
32548 (linux_mod_SOURCES): Likewise.
32549 (linux_mod_CFLAGS): Likewise.
32550 (linux_mod_LDFLAGS): Likewise.
32551 (nand_mod_SOURCES): Likewise.
32552 (nand_mod_CFLAGS): Likewise.
32553 (nand_mod_LDFLAGS): Likewise.
32554
32555 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
32556 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
32557 type property. (nand device in olpc don't have this property)
32558
32559 * include/grub/disk.h (grub_disk_dev_id): New macro
32560 GRUB_DISK_DEVICE_NAND_ID.
32561
32562 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
32563 function prototype.
32564 (grub_rescue_cmd_initrd): Likewise.
32565
32566 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
32567 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
32568 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 32569
25f16ec1 32570 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
32571 GRUB_MACHINE_IEEE1275 is defined.
32572
32573 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
32574 Use NESTED_FUNC_ATTR attribute on the hook parameter.
32575
32576 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
32577 on nested function heap_init.
32578 (grub_upper_mem): New variable for i386-ieee1275.
32579 (grub_get_extended_memory): New function for i386-ieee1275.
32580 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
32581
32582 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
32583 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
32584 property.
f19dbdb7 32585
25f16ec1 32586 * loader/i386/ieee1275/linux.c: New file.
32587
32588 * loader/i386/ieee1275/linux_normal.c: New file.
32589
32590 * disk/ieee1275/nand.c: New file.
32591
e89d61e9 325922008-04-18 Thomas Schwinge <tschwinge@gnu.org>
32593
32594 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
32595 value.
32596 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
32597
602566f6 325982008-04-18 Robert Millan <rmh@aybabtu.com>
32599
32600 Restructures early code path on ieee1275 to unify grub_main() as
32601 the first C function that is executed in every platform.
32602
32603 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
32604 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
32605 cmain().
32606 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
32607 * kern/ieee1275/cmain.c (cmain): Rename to ...
32608 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
32609 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
32610 at the beginning.
32611
57490c2b 326122008-04-18 Robert Millan <rmh@aybabtu.com>
32613
32614 * util/update-grub.in: Fix syntax error when setting
32615 `GRUB_PRELOAD_MODULES'.
32616 Reported by Stephane Chazelas <stephane@artesyncp.com>
32617
1977517d 326182008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
32619
32620 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
32621 section into account, newer toolchains generate unique build ids
32622 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 32623 we want build ids to be preserved
1977517d 32624 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
32625 far from other sections don't cause the raw binary images grow
32626 size
32627
bfb1f1a2 326282008-04-15 Robert Millan <rmh@aybabtu.com>
32629
32630 * disk/lvm.c: Update copyright year.
32631 * kern/misc.c: Likewise.
32632
01979850 326332008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32634
32635 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 32636 there is no memory left for physical volume name.
01979850 32637
0a1150e2 326382008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32639
32640 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
32641 volume name mapping to support bigger than 9 character names properly.
32642
82ead3fe 326432008-04-13 Robert Millan <rmh@aybabtu.com>
32644
32645 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
32646 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
32647
e54a72f5 326482008-04-13 Christian Franke <franke@computer.org>
32649
32650 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
32651 to create a floppy emulation boot CD when non emulation mode
32652 does not work.
32653 Enable Joliet CD filesystem extension.
32654
9fe86034 326552008-04-13 Robert Millan <rmh@aybabtu.com>
32656
32657 * kern/misc.c (grub_strncat): Fix off-by-one error.
32658 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
32659
32660 * kern/env.c (grub_env_context_close): Clear current context, not
32661 previous one.
32662 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
32663
32664 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
32665
7ceeee39 326662008-04-13 Robert Millan <rmh@aybabtu.com>
32667
32668 Improve robustness when handling LVM.
32669
32670 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 32671 (and leave `*p' unmodified).
7ceeee39 32672 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
32673 through it.
32674 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
32675 iterating through it.
32676 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
32677 through it.
fe6b695a 32678 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 32679 when due) on each grub_lvm_getvalue() or grub_strstr() call.
32680 Don't assume `vg->pvs != NULL' when iterating through it.
32681
58cd3d85 326822008-04-13 Robert Millan <rmh@aybabtu.com>
32683
32684 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
32685 * genmk.rb (partmap): New variable.
32686 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
32687 (#{partmap}): New target rule.
32688 * genpartmaplist.sh: New file.
32689 * Makefile.in (pkglib_DATA): Add partmap.lst.
32690 (partmap.lst): New target rule.
32691 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
32692 modules (including all partition maps), instead of preloading them.
32693
78b51059 326942007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
32695
32696 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
32697 `linux-boot-prober' (if installed) to detect other operating
32698 systems which are installed on the computer and add them to
32699 the boot menu.
32700 * conf/common.rmk: Build and install 30_os-prober.
32701
a91627b4 327022008-04-12 Robert Millan <rmh@aybabtu.com>
32703
32704 * kern/powerpc/ieee1275/init.c: Move from here ...
32705 * kern/ieee1275/init.c: ... to here. Update all users.
32706
32707 * kern/powerpc/ieee1275/cmain.c: Move from here ...
32708 * kern/ieee1275/cmain.c: ... to here. Update all users.
32709
32710 * kern/powerpc/ieee1275/openfw.c: Move from here ...
32711 * kern/ieee1275/openfw.c: ... to here. Update all users.
32712
32713 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
32714 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
32715
322562ea 327162008-04-10 Pavel Roskin <proski@gnu.org>
32717
32718 * configure.ac: Always use "_cv_" in cache variables for
32719 compatibility with Autoconf 2.62.
32720
a02a73c5 327212008-04-07 Robert Millan <rmh@aybabtu.com>
32722
32723 Revert grub/machine/init.h addition by Pavel (since it breaks on
32724 i386-ieee1275 and others):
32725 * util/i386/pc/misc.c: Remove grub/machine/init.h.
32726 * util/powerpc/ieee1275/misc.c: Likewise.
32727
25c024b1 327282008-04-07 Robert Millan <rmh@aybabtu.com>
32729
32730 * util/grub-probe.c (probe): Improve error message.
32731
3cbd2f98 327322008-04-07 Robert Millan <rmh@aybabtu.com>
32733
32734 * util/biosdisk.c (read_device_map): Skip devices that don't exist
32735 (this prevents the presence of a bogus entry from ruining the whole
32736 thing).
32737
87a297bf 327382008-04-06 Pavel Roskin <proski@gnu.org>
32739
36747a62 32740 * util/biosdisk.c: Include grub/util/biosdisk.h.
32741 * util/grub-fstest.c (execute_command): Make static.
32742 * util/grub-mkdevicemap.c (check_device): Likewise.
32743 * util/i386/pc/misc.c: Include grub/machine/init.h.
32744 * util/powerpc/ieee1275/misc.c: Likewise.
32745 * util/lvm.c: Include grub/util/lvm.h.
32746 * util/misc.c: Include grub/kernel.h, grub/misc.h and
32747 grub/cache.h.
32748 * util/raid.c: Include grub/util/raid.h.
32749 (grub_util_getdiskname): Make static.
32750
87a297bf 32751 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
32752 grub_hostfs_fini(), as they are called from grub_init_all() and
32753 grub_fini_all() respectively. This fixes an infinite loop in
32754 grub-fstest due to double registration of hostfs.
32755 Reported by Christian Franke <Christian.Franke@t-online.de>
32756
f6ce7629 327572008-04-05 Pavel Roskin <proski@gnu.org>
32758
32759 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
32760 all 8 functions. Otherwise, probe function 0 only.
32761
070e49e4 327622008-04-04 Pavel Roskin <proski@gnu.org>
32763
8b088a4c 32764 * commands/lspci.c (grub_lspci_iter): Print the bus number
32765 correctly.
32766
4f657021 32767 * commands/lspci.c (grub_pci_classes): Fix typos.
32768 (grub_lspci_iter): Don't print func twice. Print vendor ID
32769 before device ID, as it's normally done.
32770
070e49e4 32771 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
32772 Fix signedness warnings.
32773 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
32774 Likewise.
32775 * util/ieee1275/get_disk_name.c: Include config.h so that
32776 _GNU_SOURCE is defined and getline() is declared. Mark an
32777 unused argument as such. Fix a signedness warning.
32778
ba7328dc 327792008-04-02 Pavel Roskin <proski@gnu.org>
32780
26887f22 32781 * genkernsyms.sh.in: Use more robust assignments for CC and
32782 srcdir. Quote srcdir.
32783 * gensymlist.sh.in: Likewise. Assert at the compile time that
32784 the symbol table is not empty.
32785
ba7328dc 32786 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
32787 * fs/cpio.c (grub_cpio_read): Likewise.
32788
0f582c6b 327892008-04-01 Pavel Roskin <proski@gnu.org>
32790
4b6e1995 32791 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
32792 * disk/host.c (grub_host_open): Likewise.
32793 * disk/loopback.c (grub_loopback_open): Likewise.
32794 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
32795 disk->id as in disk/host.c, not a multi-character constant.
32796
828a2768 32797 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
32798 later is obsolete, potentially dangerous and sets a bad example.
32799 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
32800 * util/misc.c (grub_util_get_image_size): Likewise.
32801
2bb4fb47 32802 * disk/loopback.c (options): Improve help for "--partitions".
32803
0f582c6b 32804 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
32805 options to align them with the short options, e.g. "echo -e".
32806
a33224e0 328072008-03-31 Bean <bean123ch@gmail.com>
32808
32809 * video/reader/png.c (grub_png_data): New member is_16bit and
32810 image_data.
32811 (grub_png_decode_image_header): Detect 16 bit png image.
32812 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
32813 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
32814 (grub_video_reader_png): Release memory occupied by image_data.
32815
32816 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
32817 4096 bytes.
32818 (grub_nfs_mount): Skip the test for sector per cluster.
32819
32820 * include/grub/ntfs.h (MAX_SPC): Removed.
32821
86cb4f54 328222008-03-31 Bean <bean123ch@gmail.com>
32823
32824 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
32825 (grub_probe_SOURCES): Add fs/afs.c.
32826 (grub_fstest_SOURCES): Likewise.
32827 (afs_mod_SOURCES): New variable.
32828 (afs_mod_CFLAGS): Likewise.
32829 (afs_mod_LDFLAGS): Likewise.
32830
32831 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
32832 (grub_emu_SOURCES): Likewise.
32833
32834 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32835
32836 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32837
32838 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32839
32840 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32841
32842 * fs/afs.c: New file.
32843
17c74c21 328442008-03-30 Pavel Roskin <proski@gnu.org>
32845
4cb68e89 32846 * disk/host.c: Include grub/misc.h to fix a warning.
32847 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
32848 warnings about implicit declarations.
32849
8790bb04 32850 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
32851 variable.
32852 * include/grub/i386/loader.h: Change declaration of
32853 grub_linux_boot() to match what grub_loader_set() expects.
32854 * util/getroot.c (grub_guess_root_device): Return const char* to
32855 fix a warning.
32856 * util/grub-probe.c (probe): Fix a warning about uninitialized
32857 abstraction_name variable.
32858 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
32859 second argument as unused to fix a warning.
32860
9a3f3296 32861 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
32862 missing grub_error() call.
32863
0ecef90d 32864 * util/update-grub_lib.in: Define datarootdir, since Autoconf
32865 2.60 and newer uses it to define datadir.
32866
0bf6d401 32867 * commands/sleep.c: Fix warning about implicit declaration.
32868 * disk/memdisk.c: Likewise.
32869 * loader/aout.c: Likewise.
32870 * loader/i386/bsd_normal.c: Likewise.
32871 * util/grub-probe.c: Likewise.
32872
7cdacf97 32873 * commands/i386/cpuid.c (has_longmode): Make static.
32874 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
32875 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
32876
17c74c21 32877 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
32878 GDT. This is more robust, as %ds can change.
32879 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
32880 calling real_to_prot().
32881 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
32882
80a3e68b 328832008-03-28 Pavel Roskin <proski@gnu.org>
32884
32885 * kern/i386/pc/startup.S: Assert that uncompressed functions
32886 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
32887 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
32888 code, as they push parts of the code (error handlers) beyond
32889 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
32890 code as correctness and size.
32891
77bcd272 328922008-03-28 Pavel Roskin <proski@gnu.org>
32893
32894 * kern/i386/pc/startup.S
32895 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
32896 data block address to the real mode, keep offset minimal. This
32897 works around a bug in AWARD BIOS on old Athlon systems, which
32898 makes CD detection hang.
32899
c5dfd43b 329002008-03-26 Pavel Roskin <proski@gnu.org>
32901
32902 * normal/color.c (grub_parse_color_name_pair): Make `name' a
32903 const.
32904 * include/grub/normal.h: Add grub_parse_color_name_pair()
32905 declaration.
32906
bf962df2 329072008-03-24 Bean <bean123ch@gmail.com>
32908
32909 * disk/i386/pc/biosdisk.c (cd_start): Removed.
32910 (cd_count): Removed.
32911 (cd_drive): New variable.
32912 (grub_biosdisk_get_drive): Don't check for (cdN) device.
32913 (grub_biosdisk_call_hook): Likewise.
32914 (grub_biosdisk_iterate): Change cdrom detection method.
32915 (grub_biosdisk_open): Replace cd_start with cd_drive.
32916 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
32917 detect cdrom device.
32918
32919 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
32920 Removed.
32921 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
32922 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
32923 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
32924 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
32925 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
32926 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
32927 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
32928 (grub_biosdisk_cdrp): New structure.
32929 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
32930
32931 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
32932
32933 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
32934 device.
32935
32936 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
32937 New function.
32938
68e7fc7a 329392008-03-20 Robert Millan <rmh@aybabtu.com>
32940
32941 Remove 2 TiB limit in ata.mod.
32942 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
32943 (grub_ata_dumpinfo): Print sector count with 0x%llx.
32944 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
32945 grub_uint64_t instead of grub_uint32_t.
32946
38ad2cf5 329472008-03-05 Bean <bean123ch@gmail.com>
32948
32949 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
32950 (grub_multiboot): Set boot device.
32951
32952 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
32953
2b89344e 329542008-03-02 Bean <bean123ch@gmail.com>
32955
32956 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
32957 symlink_buffer.
32958
87a95d1f 329592008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
32960
32961 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
32962 texinfo.tex.
32963
32964 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
32965 modified.
32966
32967 * docs/fdl.texi: New file.
f19dbdb7 32968
87a95d1f 32969 * docs/mdate-sh: New file. Copied from gnulib.
32970 * docs/texinfo.tex: Likewise.
32971
32972 * config.guess: Updated from gnulib.
32973 * install-sh: Likewise.
32974
7dc15d8e 329752008-02-28 Robert Millan <rmh@aybabtu.com>
32976
32977 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
32978 (aout_mod_SOURCES): New variable.
32979 (aout_mod_CFLAGS): Likewise.
32980 (aout_mod_LDFLAGS): Likewise.
32981
32982 * conf/i386-ieee1275.rmk: Likewise.
32983
b00ab696 329842008-02-28 Robert Millan <rmh@aybabtu.com>
32985
32986 * util/update-grub.in: Reorganise terminal validity check. Accept
32987 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
32988 Based on suggestion by Franklin PIAT.
32989
79ca2d78 329902008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
32991
32992 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
32993 function.
32994 * util/getroot.c (grub_util_check_block_device): New function that
32995 returns the given argument if it is a block device and returns NULL else.
32996 * util/grub-probe.c (argument_is_device): New variable.
32997 (probe): Promote device_name from a variable to an argument. Receive
32998 device_name from grub_util_check_block_device() if path is NULL and from
32999 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 33000 (options): Introduce new parameter '-d, --device'.
79ca2d78 33001 (main): Add description of the new parameter to the help screen.
33002 Rename path variable to argument. Set argument_is_device if the '-d'
33003 option is given. Pass argument to probe() depending on
33004 argument_is_device.
33005
0d16e571 330062008-02-24 Bean <bean123ch@gmail.com>
33007
33008 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
33009 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
33010 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
33011 (GRUB_ISO9660_VOLDESC_PART): Likewise.
33012 (GRUB_ISO9660_VOLDESC_END): Likewise.
33013 (grub_iso9660_primary_voldesc): New member escape.
33014 (grub_iso9660_data): New member joliet.
33015 (grub_iso9660_convert_string): New function.
33016 (grub_iso9660_mount): Detect joliet extension.
33017 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
33018 (grub_iso9660_iso9660_label): Likewise.
33019
33020 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
33021 (grub_setup_SOURCES): Add fs/udf.c.
33022 (grub_fstest_SOURCES): Likewise.
33023 (udf_mod_SOURCES): New variable.
33024 (udf_mod_CFLAGS): Likewise.
33025 (udf_mod_LDFLAGS): Likewise.
33026
33027 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
33028 (grub_emu_SOURCES): Likewise.
33029
33030 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33031
33032 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33033
33034 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33035
33036 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33037
33038 * fs/udf.c: New file.
33039
8a594a17 330402008-02-24 Robert Millan <rmh@aybabtu.com>
33041
33042 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
33043 (normal/lexer.c_DEPENDENCIES): New variables.
33044 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
33045 (normal/lexer.c_DEPENDENCIES): Likewise.
33046 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
33047 (normal/lexer.c_DEPENDENCIES): Likewise.
33048 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
33049 (normal/lexer.c_DEPENDENCIES): Likewise.
33050 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
33051 (normal/lexer.c_DEPENDENCIES): Likewise.
33052 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
33053 (normal/lexer.c_DEPENDENCIES): Likewise.
33054
2dc33c03 330552008-02-23 Robert Millan <rmh@aybabtu.com>
33056
33057 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
33058 since they were intended to be in hex. This didn't break previously
33059 because of a bug in gpt_partition_map_iterate() (see below).
33060
33061 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
33062 when checking the validity of GPT header.
33063 Remove `partno', since it always provides the same information as `i'.
33064
f6f4cfb0 330652008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
33066
33067 * include/grub/efi/time.h: Fix a wrong comment.
33068
79ff665f 330692008-02-19 Pavel Roskin <proski@gnu.org>
33070
33071 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
33072 message.
33073
d38e24c2 330742008-02-19 Bean <bean123ch@gmail.com>
33075
33076 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
33077 (aout_mod_SOURCES): New variable.
33078 (aout_mod_CFLAGS): Likewise.
33079 (aout_mod_LDFLAGS): Likewise.
33080 (_bsd_mod_SOURCES): New variable.
33081 (_bsd_mod_CFLAGS): Likewise.
33082 (_bsd_mod_LDFLAGS): Likewise.
33083 (bsd_mod_SOURCES): New variable.
33084 (bsd_mod_CFLAGS): Likewise.
33085 (bsd_mod_LDFLAGS): Likewise.
33086
33087 * include/grub/aout.h: New file.
33088
33089 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
33090
33091 * include/grub/i386/bsd.h: New file.
33092
33093 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
33094 to make it public.
33095
33096 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
33097 function is called, so that it's possible to change it inside the hook.
33098 (grub_elf64_load): Likewise.
33099 (grub_elf_file): Don't close the file if elf header is not found.
33100 (grub_elf_close): Close the file if grub_elf_file fails (The new
33101 grub_elf_file won't close it).
33102 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
33103 (grub_elf64_size): Likewise.
33104
33105 * kern/i386/loader.S (grub_unix_real_boot): New function.
33106
33107 * loader/aout.c: New file.
33108
33109 * loader/i386/bsd.c: New file.
33110
33111 * loader/i386/bsd_normal.c: New file.
33112
33113 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
33114
33115 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 33116 can test other formats.
d38e24c2 33117
b93bdb0f 331182008-02-19 Robert Millan <rmh@aybabtu.com>
33119
33120 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
33121 (grub_gpt_partition_type_empty): Redefine with macro from
33122 `<grub/gpt_partition.h>'.
33123 (gpt_partition_map_iterate): Adjust partition type comparison.
33124
33125 Export `entry' as partmap-specific `part.data' struct.
33126 (grub_gpt_header, grub_gpt_partentry): Move from here ...
33127
33128 * include/grub/gpt_partition.h (grub_gpt_header)
33129 (grub_gpt_partentry): ... to here (new file).
33130
33131 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
33132
33133 (grub_gpt_partition_type_bios_boot): New const variable, defined
33134 with macro from `<grub/gpt_partition.h>'.
33135
33136 (setup): Replace `first_start' with `embed_region', which keeps
33137 track of the embed region (and is partmap-agnostic).
33138
33139 Replace find_first_partition_start() with find_usable_region(),
33140 which finds a usable region for embedding using partmap-specific
33141 knowledge (supports PC/MSDOS and GPT).
33142
33143 Fix all assumptions that the embed region start at sector 1, using
33144 `embed_region.start' from now on. Similarly, use `embed_region.end'
33145 rather than `first_start' to calculate available size.
33146
33147 In grub_util_info() message, replace "into after the MBR" with an
33148 indication of the specific sector our embed region starts at.
33149
66cb40f6 331502008-02-19 Robert Millan <rmh@aybabtu.com>
33151
33152 * DISTLIST: Replace `commands/ieee1275/halt.c' and
33153 `commands/ieee1275/reboot.c' with `commands/halt.c' and
33154 `commands/reboot.c'.
33155 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
33156 (halt_mod_SOURCES): Likewise.
33157 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
33158 (halt_mod_SOURCES): Likewise.
33159
b7202015 331602008-02-17 Christian Franke <franke@computer.org>
33161
33162 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
33163
32b0fc49 331642008-02-17 Robert Millan <rmh@aybabtu.com>
33165
33166 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
33167 set `first_start' to 0 for non-PC/MSDOS partition maps.
33168
aca63502 331692008-02-16 Robert Millan <rmh@aybabtu.com>
33170
33171 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
33172 do not assume partition map is PC/MSDOS before performing checks that
33173 are specific to that layout.
33174
0de8be86 331752008-02-13 Robert Millan <rmh@aybabtu.com>
33176
33177 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
33178 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
33179 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
33180
c3db8364 331812008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
33182
33183 * configure.ac: Only a cosmetic change on the handling of
33184 -fno-stack-protector.
33185
f714229e 331862008-02-12 Alexandre Boeglin <alex@boeglin.org>
33187
c3db8364 33188 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
33189 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
33190 reboot.c.
f714229e 33191 (grub_install_SOURCES): Add halt.mod and reboot.mod.
33192 (halt_mod_SOURCES): New variable.
33193 (halt_mod_CFLAGS): Likewise.
33194 (halt_mod_LDFLAGS): Likewise.
33195 (reboot_mod_SOURCES): Likewise.
33196 (reboot_mod_CFLAGS): Likewise.
33197 (reboot_mod_LDFLAGS): Likewise.
33198
c3db8364 33199 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
33200 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
33201 reboot.c.
f714229e 33202 (halt_mod_SOURCES): Likewise.
33203 (reboot_mod_SOURCES): Likewise.
33204
c3db8364 33205 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
33206 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 33207 (reboot_mod_SOURCES): Likewise.
33208
33209 * commands/i386/pc/reboot.c: merge this file ...
33210
33211 * commands/ieee1275/reboot.c: ... and this file ...
33212
33213 * commands/reboot.c: ... to this file.
c3db8364 33214 Add some precompiler directive to include the correct header for
33215 each machine.
f714229e 33216
33217 * commands/ieee1275/halt.c: move this file ...
33218
33219 * commands/halt.c: ... to here.
c3db8364 33220 Add some precompiler directive to include the correct header for
33221 each machine.
f714229e 33222
33223 * include/grub/efi/efi.h (grub_reboot): New function declaration.
33224 (grub_halt): Likewise.
33225
33226 * kern/efi/efi.c (grub_reboot): New function.
33227 (grub_halt): Likewise.
33228
c74493e0 332292008-02-12 Robert Millan <rmh@aybabtu.com>
33230
33231 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
33232 /dev (like it is done for /dev/mapper). This doesn't provide support
33233 for EVMS, but at least it is now easy to identify the problem when it
33234 arises.
33235
d0db4b04 332362008-02-11 Robert Millan <rmh@aybabtu.com>
33237
33238 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
33239 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
33240 comparing it with -1, not 0.
33241
bf748642 332422008-02-10 Robert Millan <rmh@aybabtu.com>
33243
33244 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
33245 `disk/lvm.c'.
33246 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33247 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
33248
33249 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
33250 `disk/lvm.c' to the end of the list.
33251 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33252 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33253
b5db202a 332542008-02-10 Robert Millan <rmh@aybabtu.com>
33255
33256 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
33257 grub_print_error() instead. This will let user know why we're entering
33258 rescue mode.
33259 Based on suggestions from Sam Morris.
33260
83abee31 332612008-02-10 Alexandre Boeglin <alex@boeglin.org>
33262
33263 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
33264 on remaining N args, instead of "--" arg N times.
33265
78d5a08b 332662008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
33267
33268 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
33269 (fill_with_default_glyph): Changed to use unknown_glyph for fill
33270 pattern for unknown glyphs.
33271
68807e5f 332722008-02-09 Robert Millan <rmh@aybabtu.com>
33273
33274 * configure.ac: Probe for `help2man'.
33275 * Makefile.in (builddir): New variable.
33276 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
33277 or otherwise add a few flags/options to it.
33278 (install-local): For every executable utility or script that is
33279 installed, invoke $(HELP2MAN) to install a manpage based on --help
33280 output.
33281
33282 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
33283 that it doesn't prevent --help from working in build tree.
33284
33285 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
33286 with `bug-grub@gnu.org'.
33287 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
33288 * util/update-grub.in (usage): New function.
33289 Implement proper argument check, with support for --help and --version
33290 (as well as existing -y).
33291
332922008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 33293
33294 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
33295 avoid overwriting previous output.
33296 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
33297
c1962162 332982008-02-09 Robert Millan <rmh@aybabtu.com>
33299
33300 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
33301 drawing the menu.
33302
3dac2e3f 333032008-02-09 Robert Millan <rmh@aybabtu.com>
33304
33305 * commands/sleep.c: New file.
33306 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
33307 (sleep_mod_SOURCES): New variable.
33308 (sleep_mod_CFLAGS): Likewise.
33309 (sleep_mod_LDFLAGS): Likewise.
33310
7a634e08 333112008-02-09 Robert Millan <rmh@aybabtu.com>
33312
33313 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
33314 situations in which we can deduce the RAID size and the superblock
33315 doesn't match it.
33316
b92f0c18 333172008-02-09 Robert Millan <rmh@aybabtu.com>
33318
33319 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
33320 and return a grub_diskmemberlist_t composed of LVM physical volumes.
33321 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
33322
33323 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
33324 and return a grub_diskmemberlist_t composed of physical array members.
33325 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
33326
33327 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
33328 prototype.
33329 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
33330 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
33331 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
33332
33333 * util/grub-probe.c (probe): Move partmap probing code from here ...
33334 (probe_partmap): ... to here.
33335 (probe): Use probe_partmap() once for the disk we're probing, and
33336 additionally, when such disk contains a memberlist() struct member,
33337 once for each disk that is contained in the structure returned by
33338 memberlist().
33339
91a4bf68 333402008-02-09 Robert Millan <rmh@aybabtu.com>
33341
33342 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
33343 environment variable to 'all' in order to obtain debug output from
33344 non-util/ code.
33345 * util/i386/pc/grub-setup.c (main): Likewise.
33346
a96f9caa 333472008-02-08 Robert Millan <rmh@aybabtu.com>
33348
33349 * disk/raid.c (grub_raid_scan_device): Check for
33350 `array->device[sb.this_disk.number]' rather than for
33351 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 33352 guaranteed to be accessible.
a96f9caa 33353
b37a9222 333542008-02-08 Robert Millan <rmh@aybabtu.com>
33355
33356 * disk/raid.c: Update copyright.
33357 * fs/cpio.c: Likewise.
33358 * include/grub/raid.h: Likewise.
33359 * loader/i386/pc/multiboot.c: Likewise.
33360 * util/hostfs.c: Likewise.
33361
5626aee1 333622008-02-08 Robert Millan <rmh@aybabtu.com>
33363
33364 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
33365 to a grub_disk_t array.
33366 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
33367 `device[x]'.
33368 (grub_raid_scan_device): Replace `device[x].name' accesses with
33369 `device[x]->name'. Simplify initialization of `array->device[x]'.
33370
554f0187 333712008-02-08 Robert Millan <rmh@aybabtu.com>
33372
33373 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
33374 grub_dprintf() calls.
33375 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
33376 error message.
33377
1ec8425d 333782008-02-07 Christian Franke <franke@computer.org>
33379
33380 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
33381 instead of fseek and ftell to support large files.
33382 (grub_hostfs_read): Likewise.
33383
f2156fda 333842008-02-07 Robert Millan <rmh@aybabtu.com>
33385
33386 Patch from Jeroen Dekkers.
33387 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 33388 failure, since successfully reading all array members might not be
f2156fda 33389 required.
33390
9216e0e7 333912008-02-06 Robert Millan <rmh@aybabtu.com>
33392
33393 * util/grub-probe.c (probe): Simplify partmap probing (with the
33394 assumption that the first word up to the underscore equals to
33395 the module name).
33396
b0dfd29a 333972008-02-06 Christian Franke <franke@computer.org>
33398
33399 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
33400 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
33401 last block of a cpio or tar stream.
33402 Check for "TRAILER!!!" instead of any empty data
33403 block to detect last block of a cpio stream.
33404 (grub_cpio_dir): Fix constness of variable np.
33405 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
33406 cpio or tar trailer is detected. This fixes a crash
33407 on open of a non existing file.
33408
c32865bf 334092008-02-05 Bean <bean123ch@gmail.com>
33410
33411 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
33412 address of entry.
33413 (grub_multiboot_load_elf64): Likewise.
33414 (grub_multiboot): Initialize mbi structure.
33415
33416 * util/grub-fstest.c: Don't include unused header file script.h.
33417
fe6b695a 33418 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 33419 of file.
33420 (grub_fstest_SOURCES): Likewise.
33421
409480b7 334222008-02-05 Robert Millan <rmh@aybabtu.com>
33423
33424 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
33425 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
33426 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
33427 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
33428
33429 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
33430 (translation_table): Replace hardcoded values with macros
33431 provided by `<grub/term.h>'.
33432
33433 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
33434 (keyboard_map): Correct/add a few values, with macros provided
33435 by `<grub/term.h>'.
33436 (keyboard_map_shift): Zero values that don't differ from their
33437 `keyboard_map' equivalents.
33438 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
33439 Discard the second scan code that is always sent by Caps lock.
33440 Only use `keyboard_map_shift' when it provides a non-zero value,
33441 otherwise fallback to `keyboard_map'.
33442
99fadbaa 334432008-02-04 Bean <bean123ch@gmail.com>
33444
33445 * Makefile.in (enable_grub_fstest): New variable.
33446
33447 * conf/common.rmk (grub_fstest_init.lst): New rule.
33448 (grub_fstest_init.h): Likewise.
33449 (grub_fstest_init.c): Likewise.
33450 (util/grub-fstest.c_DEPENDENCIES): New variable.
33451 (grub_fstest_SOURCES): Likewise.
33452
33453 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
33454
33455 * util/grub-fstest.c: New file.
33456
bf567c50 334572008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33458
33459 Make grub-setup handle a separate root device.
f19dbdb7 33460
bf567c50 33461 * util/i386/pc/grub-setup.c (setup): Always open the root device,
33462 so that the root device can be compared with the destination
33463 device.
33464 When embedding the core image, if the root and destination devices
33465 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
33466 0xFF.
33467 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 33468
9be6b98b 334692008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33470
33471 Add support for having a grub directory in a different drive. This
33472 is still only the data handling part.
f19dbdb7 33473
9be6b98b 33474 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
33475 (codestart): Save %dh in GRUB_ROOT_DRIVE.
33476 (grub_root_drive): New variable.
33477
33478 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
33479 instead of GRUB_BOOT_DRIVE to construct a device name. Set
33480 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
33481 as it was.
33482
33483 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
33484
33485 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
33486 macro.
33487 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
33488
33489 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
33490 is bogus, because PXE booting does not specify any drive
33491 correctly.
33492
33493 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
33494 am not sure if this is really correct.
33495
33496 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
33497 is always identical to the boot drive when booting from a CD.
33498
33499 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
33500 longer.
33501 (root_drive): New variable.
33502 (real_start): Unconditionally set %dh to ROOT_DRIVE.
33503 (setup_sectors): Push %dx right after popping it, because %dh will
33504 be modified later.
33505 (copy_buffer): Restore %dx.
33506
e0ca0677 335072008-02-03 Robert Millan <rmh@aybabtu.com>
33508
33509 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
33510 use `cdboot.img' for cdrom images.
33511
3b3f6629 335122008-02-03 Robert Millan <rmh@aybabtu.com>
33513
33514 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
33515 only setup gfxterm when `font' command has succeeded.
33516
d42b3672 335172008-02-03 Robert Millan <rmh@aybabtu.com>
33518
33519 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
33520 (grub_rescue_cmd_multiboot_loader)
33521 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
33522
fa370ea6 335232008-02-03 Pavel Roskin <proski@gnu.org>
33524
e0c5dacb 33525 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 33526 %edx and %esi from stack only after grub_gate_a20() is called.
33527 grub_gate_a20() clobbers %edx.
33528
f2a76e1d 335292008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33530
33531 * configure.ac (AC_INIT): Bumped to 1.96.
33532
33533 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
33534 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
33535 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
33536 video/readers/png.c.
33537
90fd32d1 335382008-02-03 Bean <bean123ch@gmail.com>
9be665dd 33539
33540 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
33541 (cdboot_img_SOURCES): New variable.
33542 (cdboot_img_ASFLAGS): New variable.
33543 (cdboot_img_LDFLAGS): New variable.
33544
33545 * boot/i386/pc/cdboot.S: New file.
33546
33547 * disk/i386/pc/biosdisk.c (cd_start): New variable.
33548 (cd_count): Likewise.
33549 (grub_biosdisk_get_drive): Add support for cd device.
33550 (grub_biosdisk_call_hook): Likewise.
33551 (grub_biosdisk_iterate): Likewise.
33552 (grub_biosdisk_open): Likewise.
33553 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
33554 (grub_biosdisk_rw): Support reading from cd device.
33555 (GRUB_MOD_INIT): Iterate cd devices.
33556
33557 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
33558 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
33559 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
33560
33561 * kern/i386/pc/init.c (make_install_device): Check for cd device.
33562
4020aa53 335632008-02-02 Robert Millan <rmh@aybabtu.com>
33564
33565 * commands/read.c: New file.
33566 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
33567 (read_mod_SOURCES): New variable.
33568 (read_mod_CFLAGS): Likewise.
33569 (read_mod_LDFLAGS): Likewise.
33570
e03a1132 335712008-02-02 Robert Millan <rmh@aybabtu.com>
33572
33573 * normal/main.c (grub_normal_execute): Check for `menu->size' when
33574 determining whether menu has to be displayed.
33575
58c69220 335762008-02-02 Marco Gerards <marco@gnu.org>
33577
33578 * bus/pci.c: New file.
33579
33580 * include/grub/pci.h: Likewise.
33581
33582 * include/grub/i386/pc/pci.h: Likewise.
33583
33584 * commands/lspci.c: Likewise.
33585
33586 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
33587 `lspci.mod'.
33588 (pci_mod_SOURCES): New variable.
33589 (pci_mod_CFLAGS): Likewise.
33590 (pci_mod_LDFLAGS): Likewise.
33591 (lspci_mod_SOURCES): Likewise.
33592 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 33593 (lspci_mod_LDFLAGS): Likewise.
58c69220 33594
c004e1b4 335952008-02-02 Bean <bean123ch@gmail.com>
33596
33597 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
33598 (grub_ufs_get_file_block): Fix indirect block calculation problem.
33599
33600 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
33601 (grub_xfs_btree_node): New structure.
33602 (grub_xfs_btree_root): New structure.
33603 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
33604 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
33605 (GRUB_XFS_EXTENT_BLOCK): Likewise.
33606 (GRUB_XFS_EXTENT_SIZE): Likewise.
33607 (grub_xfs_read_block): Support btree format type.
33608 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
33609 Use directory block as basic unit.
33610
33611 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
33612
33613 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
33614 __attribute__ ((__regparm__ (1))).
33615
f95562bf 336162008-02-01 Robert Millan <rmh@aybabtu.com>
33617
33618 Correct a mistake in previous commit.
33619
33620 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
33621 top.
33622 (normal/command.c_DEPENDENCIES): New variable.
33623
7d31f41f 336242008-02-01 Robert Millan <rmh@aybabtu.com>
33625
33626 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
33627 top.
33628 (normal/command.c_DEPENDENCIES): New variable.
33629 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
33630 * conf/i386-ieee1275.rmk: Likewise.
33631 * conf/i386-linuxbios.rmk: Likewise.
33632 * conf/i386-pc.rmk: Likewise.
33633 * conf/sparc64-ieee1275.rmk: Likewise.
33634 * conf/powerpc-ieee1275.rmk: Likewise.
33635 (grub_emu_SOURCES): Add `fs/fshelp.c'.
33636
33637 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
33638
60b6be74 336392008-02-01 Robert Millan <rmh@aybabtu.com>
33640
33641 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
33642 call at beginning of function.
33643
078522ab 336442008-01-31 Pavel Roskin <proski@gnu.org>
33645
33646 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 33647 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
33648 (grub_mkrescue_SOURCES): Likewise.
078522ab 33649 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
33650
ccaa8a5f 336512008-01-30 Robert Millan <rmh@aybabtu.com>
33652
33653 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
33654 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
33655 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
33656 (grub_probe_SOURCES): ... to here.
33657
33658 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
33659 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
33660 * conf/i386-ieee1275.rmk: Likewise.
33661 * conf/i386-linuxbios.rmk: Likewise.
33662 * conf/powerpc-ieee1275.rmk: Likewise.
33663
ae5a9cd7 336642008-01-30 Tristan Gingold <gingold@free.fr>
33665
33666 * kern/rescue.c: Silently accept empty lines.
33667
70bc2ef2 336682008-01-29 Bean <bean123ch@gmail.com>
33669
33670 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
33671 (real_code_2): Code cleanup and change comment style.
33672 (move_memory): Avoid using 32-bit address mode.
33673
6a4d50ea 336742008-01-29 Bean <bean123ch@gmail.com>
33675
33676 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
33677 (png_mod_SOURCES): New variable.
33678 (png_mod_CFLAGS): Likewise.
33679 (png_mod_LDFLAGS): Likewise.
33680
33681 * video/readers/png.c: New file.
33682
11cc30ac 336832008-01-28 Robert Millan <rmh@aybabtu.com>
33684
33685 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
33686 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
33687 `ifndef GRUB_MOD_GAP' hack.
33688 * util/elf/grub-mkimage.c (add_segments): Likewise.
33689
3abc589f 336902008-01-27 Robert Millan <rmh@aybabtu.com>
33691
33692 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
33693 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 33694 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 33695
e1907778 336962008-01-27 Robert Millan <rmh@aybabtu.com>
33697
33698 Get grub-emu to build again (including parallel builds).
33699
33700 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
33701 Split into ...
33702 (util/grub-emu.c_DEPENDENCIES): ... this, ...
33703 (normal/execute.c_DEPENDENCIES): ... this, ...
33704 (grub-emu_DEPENDENCIES): ... and this.
33705
33706 * conf/i386-efi.rmk: Likewise.
33707 * conf/i386-linuxbios.rmk: Likewise.
33708 * conf/i386-ieee1275.rmk: Likewise.
33709 * conf/powerpc-ieee1275.rmk: Likewise.
33710 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
33711
2216b101 337122008-01-27 Robert Millan <rmh@aybabtu.com>
33713
33714 * NEWS: Add a few items.
33715
f75172d9 337162008-01-27 Robert Millan <rmh@aybabtu.com>
33717
33718 Fix parallel builds with grub-emu. Based on earlier commit for
33719 grub-probe and grub-setup.
33720
33721 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33722 (util/grub-emu.c_DEPENDENCIES): ... this.
33723 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33724 (util/grub-emu.c_DEPENDENCIES): ... this.
33725 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33726 (util/grub-emu.c_DEPENDENCIES): ... this.
33727 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33728 (util/grub-emu.c_DEPENDENCIES): ... this.
33729 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33730 (util/grub-emu.c_DEPENDENCIES): ... this.
33731
3f51de77 337322008-01-27 Pavel Roskin <proski@gnu.org>
33733
33734 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
33735 to create a gap between _end and the modules added to the image
33736 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
33737 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
33738 * util/elf/grub-mkimage.c (add_segments): Likewise.
33739
2033f53e 337402008-01-26 Pavel Roskin <proski@gnu.org>
33741
33742 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
33743 just return an error.
33744
22da1f6f 337452008-01-26 Bean <bean123ch@gmail.com>
33746
33747 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
33748 (grub_reiserfs_get_item): Save offset of the next item.
33749 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
33750
2a9525e6 337512008-01-25 Robert Millan <rmh@aybabtu.com>
33752
33753 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
33754 make all filesystem sources appear together (possibly fixing omissions
33755 while at it).
33756 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33757 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33758 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33759 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33760
33761 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
33762 add `kern/file.c'.
33763 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
33764 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
33765 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
33766 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
33767
33768 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
33769 (probe): Add a sanity check to make sure of our ability to read
33770 requested files when probing for filesystem type.
33771
33772 * genmk.rb: Update copyright year (2007).
33773
33774 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
33775 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
33776 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
33777 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
33778 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
33779 : Remove function prototypes.
33780
b95f71b5 337812008-01-25 Robert Millan <rmh@aybabtu.com>
33782
33783 Revert my previous commits (based on wrong assumption of how grub_errno
33784 works).
33785
fe6b695a 33786 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 33787 * kern/file.c (grub_file_open): Likewise.
33788
d08bbb49 337892008-01-24 Pavel Roskin <proski@gnu.org>
33790
33791 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
33792 that hang if GRUB tries to setup colors.
33793 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
33794 colors for firmwares that don't support it.
33795 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
33796 Recognize Open Hack'Ware, set flags to work around its
33797 limitations.
33798
605e36ed 337992008-01-24 Robert Millan <rmh@aybabtu.com>
33800
33801 * kern/file.c (grub_file_open): Do not account previous failures of
33802 unrelated functions when grub_errno is checked for.
33803 Reported by Oleg Strikov.
33804
bac332a1 338052008-01-24 Bean <bean123ch@gmail.com>
33806
33807 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
33808 (grub_ufs_sblock): New member volume name.
33809 (grub_ufs_find_file): Fix string copy bug.
33810 (grub_ufs_label): Implement this function properly.
33811
33812 * fs/hfs.c (grub_hfs_cnid_type): New enum.
33813 (grub_hfs_iterate_records): Use the correct file number for extents
33814 and catalog file. Fix problem in next index calculation.
33815 (grub_hfs_find_node): Replace recursive function call with loop.
33816 (grub_hfs_iterate_dir): Replace recursive function call with loop.
33817
15c80c09 338182008-01-23 Robert Millan <rmh@aybabtu.com>
33819
33820 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
33821 `<grub/symbol.h>' and `<grub/multiboot.h>'.
33822 (grub_multiboot2_real_boot): New function prototype.
33823
33824 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
33825 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
33826
33827 * kern/i386/ieee1275/init.c (grub_os_area_addr)
33828 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
33829
305338fd 338302008-01-23 Robert Millan <rmh@aybabtu.com>
33831
33832 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
33833 #ifdef'ed out grub_printf().
33834
3ea52685 338352008-01-23 Robert Millan <rmh@aybabtu.com>
33836
33837 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
33838 grub_dprintf calls, since they make "debug=all" mode unusable.
33839 (grub_console_checkkey): Likewise.
33840
5882ae4b 338412008-01-23 Robert Millan <rmh@aybabtu.com>
33842
33843 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33844 `term/i386/pc/at_keyboard.c'.
33845 (pkglib_MODULES): Add `serial.mod'.
33846 (serial_mod_SOURCES): New variable.
33847 (serial_mod_CFLAGS): Likewise.
33848 (serial_mod_LDFLAGS): Likewise.
33849
33850 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
33851 `<grub/powerpc/ieee1275/console.h>'.
33852 (grub_keyboard_controller_init): New function prototype.
33853 (grub_console_checkkey): Likewise.
33854 (grub_console_getkey): Likewise.
33855
33856 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
33857 keyboard on i386.
33858
33859 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
33860 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
33861
06ab5303 338622008-01-23 Robert Millan <rmh@aybabtu.com>
33863
33864 * kern/i386/pc/init.c (make_install_device): When memdisk image is
33865 present, "(memdisk)/boot/grub" becomes the default prefix.
33866
33867 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
33868 a memdisk tarball with all the modules. Add --overlay=DIR option that
33869 allows users to overlay additional files into the image.
33870
dbb475a4 338712008-01-23 Robert Millan <rmh@aybabtu.com>
33872
33873 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
33874 and `machine/memory.h'.
33875 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
33876 (_multiboot_mod_SOURCES): New variable.
33877 (_multiboot_mod_CFLAGS): Likewise.
33878 (_multiboot_mod_LDFLAGS): Likewise.
33879 (multiboot_mod_SOURCES): Likewise.
33880 (multiboot_mod_CFLAGS): Likewise.
33881 (multiboot_mod_LDFLAGS): Likewise.
33882
33883 * include/grub/i386/ieee1275/loader.h: New file.
33884
33885 * include/grub/i386/ieee1275/machine.h: Likewise.
33886
33887 * include/grub/i386/ieee1275/memory.h: Likewise.
33888
33889 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
33890 variable declaration.
33891 (grub_os_area_size): Likewise.
33892
33893 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
33894 (grub_lower_mem, grub_upper_mem): New variables.
33895 (grub_stop_floppy): New function (just to make
33896 grub_multiboot2_real_boot() happy).
33897
33898 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
33899 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
33900 (grub_stop): New function.
33901 Include `"../realmode.S"' and `"../loader.S"'.
33902
33903 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
33904 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
33905
33906 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
33907 rely on grub_multiboot2_real_boot() for final boot.
33908
25638629 339092008-01-22 Robert Millan <rmh@aybabtu.com>
33910
33911 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
33912 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
33913 device that doesn't look like an SD card.
33914 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
33915 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
33916 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
33917 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
33918 found.
33919
9dad816d 339202008-01-22 Robert Millan <rmh@aybabtu.com>
33921
33922 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
33923 avoid claiming over our own code.
33924
34842f2d 339252008-01-22 Bean <bean123ch@gmail.com>
33926
33927 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
33928 (jpeg_mod_SOURCES): New variable.
33929 (jpeg_mod_CFLAGS): Likewise.
33930 (jpeg_mod_LDFLAGS): Likewise.
33931
33932 * video/readers/jpeg.c : New file.
33933
44023a28 339342008-01-22 Bean <bean123ch@gmail.com>
33935
33936 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
33937 there are no more items.
33938
bc2d8ac6 339392008-01-21 Robert Millan <rmh@aybabtu.com>
33940
33941 * kern/mm.c (grub_mm_init_region): Improve debug message.
33942
261bd4bc 339432008-01-21 Robert Millan <rmh@aybabtu.com>
33944
33945 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
33946 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
33947 address.
33948 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
33949 a C macro.
33950 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
33951 Indicates start of upper memory.
33952 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
33953 (generate_image): Abort when image size is big enough to corrupt
33954 upper memory.
33955
33956 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
33957 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
33958 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
33959 instead of hardcoding 0xA0000.
33960 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
33961 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
33962 instead of hardcoding 0xA0000.
33963
f970b55e 339642008-01-21 Robert Millan <rmh@aybabtu.com>
33965
33966 * disk/memdisk.c (memdisk_size): New variable.
33967 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
33968 `memdisk_size'.
33969 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
33970 image to dynamic memory.
33971 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
33972 `memdisk_size'. Free memdisk block.
33973
1a8b0526 339742008-01-21 Robert Millan <rmh@aybabtu.com>
33975
33976 Fix detection of very small filesystems (like tar).
33977
33978 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
33979 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
33980 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
33981 a problem with this disk).
33982
6e9b4aab 339832008-01-21 Robert Millan <rmh@aybabtu.com>
33984
33985 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
33986 on grub_biosdisk_rw_standard() error.
33987
0d8837b2 339882008-01-21 Robert Millan <rmh@aybabtu.com>
33989
33990 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
33991 recent changes.
33992 * kern/elf.c: Likewise.
33993 * kern/ieee1275/ieee1275.c: Likewise.
33994 * kern/powerpc/ieee1275/openfw.c: Likewise.
33995 * term/ieee1275/ofconsole.c: Likewise.
33996
ffd36e34 339972008-01-21 Robert Millan <rmh@aybabtu.com>
33998
33999 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
34000
3f0093d0 34001 * include/grub/kernel.h (grub_arch_memdisk_addr)
34002 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 34003
3f0093d0 34004 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
34005 (grub_arch_memdisk_size): ... to here.
ffd36e34 34006
6c391b21 340072008-01-21 Robert Millan <rmh@aybabtu.com>
34008
34009 Mostly based on bugfix from Bean.
34010
34011 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
34012 attribute with hook() parameter.
34013 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
34014 declaration.
34015 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
34016 attribute with hook() parameter.
34017 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
34018 declaration.
34019
55a581dc 340202008-01-21 Robert Millan <rmh@aybabtu.com>
34021
34022 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
34023 (pkglib_MODULES): Add `memdisk.mod'.
34024 (memdisk_mod_SOURCES): New variable.
34025 (memdisk_mod_CFLAGS): Likewise.
34026 (memdisk_mod_LDFLAGS): Likewise.
34027
34028 * disk/memdisk.c: New file.
34029
34030 * include/grub/disk.h (grub_disk_dev_id): Add
34031 `GRUB_DISK_DEVICE_MEMDISK_ID'.
34032
34033 * include/grub/i386/pc/kernel.h
34034 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
34035 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
34036 (grub_kernel_image_size): New variable declaration.
34037 (grub_total_module_size): Likewise.
34038 (grub_memdisk_image_size): Likewise.
34039
34040 * include/grub/i386/pc/memory.h
34041 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
34042
34043 * include/grub/kernel.h: Include `<grub/symbol.h>'.
34044 (grub_arch_memdisk_addr): New variable declaration.
34045 (grub_arch_memdisk_size): Likewise.
34046
34047 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
34048 (grub_arch_memdisk_size): Likewise.
34049
34050 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
34051 (codestart): Replace hardcoded `0x100000' with
34052 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
34053
34054 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
34055 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
34056 not NULL, append the contents of the file it refers to, at the end of
34057 the compressed kernel image. Initialize `grub_memdisk_image_size'
34058 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
34059 (options): Add "memdisk"|'m' option.
34060 (main): Parse --memdisk|-m option, and pass user-provided path as
34061 parameter to generate_image().
34062
3d7f54c9 340632008-01-20 Robert Millan <rmh@aybabtu.com>
34064
34065 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
34066 grub_dprintf() calls from here ...
34067 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
34068
0bf74728 340692008-01-20 Robert Millan <rmh@aybabtu.com>
34070
34071 Fix detection of "real mode" when /options/real-mode? doesn't exist.
34072
34073 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
34074 declaration.
34075 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
34076 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
34077 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 34078 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 34079 property).
34080 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
34081 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
34082
33bf70a7 340832008-01-19 Robert Millan <rmh@aybabtu.com>
34084
fe6b695a 34085 Get rid of confusing function (superseded by
33bf70a7 34086 `grub_ieee1275_get_integer_property')
34087 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
34088 prototype.
34089 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
34090 function.
34091 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
34092 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 34093 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 34094
e2da7d26 340952008-01-19 Robert Millan <rmh@aybabtu.com>
34096
34097 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
34098 command after "shut-down", since implementations differ on which
34099 the command for halt is.
34100
59f1fd8d 341012008-01-19 Robert Millan <rmh@aybabtu.com>
34102
34103 * include/grub/i386/linuxbios/console.h: Add header protection.
34104 (grub_keyboard_controller_init): New function prototype.
34105 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
34106 (KEYBOARD_COMMAND_READ): Likewise.
34107 (KEYBOARD_COMMAND_WRITE): Likewise.
34108 (KEYBOARD_SCANCODE_SET1): Likewise.
34109 (grub_keyboard_controller_write): New function.
34110 (grub_keyboard_controller_read): Likewise.
34111 (grub_keyboard_controller_init): Likewise.
34112
34113 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
34114 (grub_console_init): On coreboot/LinuxBIOS, call
34115 grub_keyboard_controller_init().
34116
5f5a7c15 341172008-01-19 Robert Millan <rmh@aybabtu.com>
34118
34119 PowerPC changes provided by Pavel Roskin.
34120
34121 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
34122 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
34123 don't rely on cmain() doing it.
34124 * kern/i386/ieee1275/startup.S (_start): Store %eax in
34125 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
34126
1210e168 341272008-01-16 Robert Millan <rmh@aybabtu.com>
34128
34129 * include/grub/i386/linuxbios/memory.h
34130 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
34131 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
34132 receive `table_header' as argument. Instead, probe for it in the
34133 known memory ranges where it can be present.
34134 (grub_available_iterate): Do not pass a fixed `table_header' address
34135 to grub_linuxbios_table_iterate().
34136
3d04eab8 341372008-01-15 Robert Millan <rmh@aybabtu.com>
34138
34139 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
34140 * conf/i386-ieee1275.rmk: New file.
34141 * include/grub/i386/ieee1275/console.h: Likewise.
34142 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
34143 * include/grub/i386/ieee1275/kernel.h: Likewise.
34144 * include/grub/i386/ieee1275/time.h: Likewise.
34145 * kern/i386/ieee1275/init.c: Likewise.
34146 * kern/i386/ieee1275/startup.S: Likewise.
34147
d1bc1b73 341482008-01-15 Robert Millan <rmh@aybabtu.com>
34149
34150 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
34151 when pointers are 32-bit (but still do set it to one when they are
34152 64-bit).
34153
66a65807 341542008-01-15 Robert Millan <rmh@aybabtu.com>
34155
34156 * include/grub/ieee1275/ieee1275.h
34157 (grub_ieee1275_get_integer_property): New function prototype.
34158
34159 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
34160 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 34161 grub_ieee1275_get_property() to handle endianness.
66a65807 34162
34163 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
34164 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 34165 where appropriate.
66a65807 34166 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
34167 (grub_map): Likewise.
34168 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
34169
a83ccafd 341702008-01-15 Bean <bean123ch@gmail.com>
34171
34172 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
34173 (grub_script_execute_cmdline): Reset grub_errno.
34174
34175 * normal/main.c (read_config_file): Reset grub_errno.
34176
34177 * normal/parse.y (script_init): New.
34178 (script): Move function and menuentry here.
34179 (delimiter): New.
34180 (command): Add delimiter at the end of command.
34181 (commands): Adjust to match the new command.
34182 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 34183 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 34184 (if): Use the new commands.
34185
34186 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
34187
df6ecfc6 341882008-01-15 Robert Millan <rmh@aybabtu.com>
34189
34190 * normal/menu.c (run_menu): Move timeout message from here ...
34191 (print_timeout): ... to here.
34192 (run_menu): Use print_timeout() once during initial draw to print
34193 the whole message, and again in every clock tick to update only
34194 the number of seconds.
34195
87ae25eb 341962008-01-15 Robert Millan <rmh@aybabtu.com>
34197
34198 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
34199 actual size of `available' from grub_ieee1275_get_property(), and
34200 restrict parsing to that bound.
34201
47bf09a4 342022008-01-15 Christian Franke <franke@computer.org>
34203
34204 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
34205 (argp_program_version): Remove variable.
34206 (argp_program_bug_address): Likewise.
34207 (options): Convert from struct argp_option to struct option.
34208 (struct arguments): Remove.
34209 (parse_opt): Remove.
34210 (usage): New function.
34211 (main): Replace struct args members by simple variables.
34212 Replace argp_parse() by getopt_long().
34213 Add switch to evaluate options.
34214 Add missing "(...)" around root_dev in prefix string.
34215
c86f1469 342162008-01-14 Robert Millan <rmh@aybabtu.com>
34217
34218 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
34219 for grub_ieee1275_exit(), in order to improve portability.
34220
e622c559 342212008-01-14 Robert Millan <rmh@aybabtu.com>
34222
34223 * util/grub.d/10_linux.in (prefix): Define.
34224 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
34225
44cb1ec8 342262008-01-13 Pavel Roskin <proski@gnu.org>
34227
34228 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
34229 grub_errno if no errors have been detected.
34230
1eb8c802 342312008-01-12 Robert Millan <rmh@aybabtu.com>
34232
34233 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
34234 (grub_util_get_dev_abstraction): New function prototype.
34235
34236 * util/getroot.c: Include `<grub/util/getroot.h>'
34237 (grub_util_get_grub_dev): Move detection of abstraction type to ...
34238 (grub_util_get_dev_abstraction): ... here (new function).
34239
34240 * util/grub-probe.c: Convert PRINT_* to an enum. Add
34241 `PRINT_ABSTRACTION'.
34242 (probe): Probe for abstraction type when requested.
34243 (main): Understand `--target=abstraction'.
34244
34245 * util/i386/efi/grub-install.in: Add abstraction module to core
34246 image when it is found to be necessary.
34247 * util/i386/pc/grub-install.in: Likewise.
34248 * util/powerpc/ieee1275/grub-install.in: Likewise.
34249
34250 * util/update-grub_lib.in (font_path): Return system path without
34251 converting to GRUB path.
34252 * util/update-grub.in: Convert system path returned by font_path()
34253 to a GRUB path. Use `grub-probe -t abstraction' to determine what
34254 abstraction module is needed for loading fonts (if any). Export
34255 that as `GRUB_PRELOAD_MODULES'.
34256 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
34257 insmod commands).
34258
52bd3de9 342592008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
34260
34261 Remove some unused code from reiserfs.
f19dbdb7 34262
52bd3de9 34263 * fs/reiserfs.c (struct grub_reiserfs_key)
34264 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
34265 (struct grub_reiserfs_node_body): Removed.
34266 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
34267 Likewise.
34268 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34269 Likewise.
34270 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34271 Likewise.
34272 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34273 Likewise.
34274 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
34275 Likewise.
34276 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
34277 Likewise.
34278 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34279 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34280 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34281
2f80039d 342822008-01-10 Robert Millan <rmh@aybabtu.com>
34283
34284 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
34285 Determines if a file is garbage left by packaging systems, etc.
34286 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
34287 for processing /etc/grub.d scripts.
34288 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
34289 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
34290 as a condition for processing Linux images.
34291
87888032 342922008-01-10 Pavel Roskin <proski@gnu.org>
34293
34294 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
34295 to compile reiserfs.c on PowerPC.
34296
7e54fced 342972008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 34298
34299 * kern/device.c (grub_device_iterate): Do not abort device iteration
34300 when one of the devices cannot be opened.
34301 * kern/disk.c (grub_disk_open): Do not account previous failures of
34302 unrelated functions when grub_errno is checked for.
34303
5aa541e6 343042008-01-08 Robert Millan <rmh@aybabtu.com>
34305
34306 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
34307 `! grub_linux_is_bzimage', change order of address comparison to make
34308 it more intuitive, and improve "too big zImage" error message.
34309
7076340d 343102008-01-08 Robert Millan <rmh@aybabtu.com>
34311
34312 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
34313 `$(update-grub_DATA)'.
34314 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
34315 targets.
34316
9ca70333 343172008-01-07 Robert Millan <rmh@aybabtu.com>
34318
34319 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
34320 which instruction is modified by grub-setup during installation
34321 (since it wasn't obvious by only looking at this file).
34322
38ccf575 343232008-01-07 Robert Millan <rmh@aybabtu.com>
34324
34325 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
34326 listing actual TODO items.
34327
f5db4291 343282008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34329
868967cf 34330 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
34331 correctly.
34332 (grub_reiserfs_get_key_offset): Likewise.
34333 (grub_reiserfs_set_key_offset): Likewise.
34334 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 34335 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 34336
34337 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
34338 better to remove the bitfield version completely.
f19dbdb7 34339
868967cf 343402008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 34341
f5db4291 34342 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
34343 allocated from the heap, due to the fshelp implementation.
34344 (grub_reiserfs_dir): Free NODE, due to the same reason.
34345
492e6d9d 343462008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34347
34348 Mostly from Vincent Pelletier:
f19dbdb7 34349
492e6d9d 34350 * fs/reiserfs.c: New file.
f19dbdb7 34351
492e6d9d 34352 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
34353 (reiserfs_mod_SOURCES): New variable.
34354 (reiserfs_mod_CFLAGS): Likewise.
34355 (reiserfs_mod_LDFLAGS): Likewise.
34356
34357 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
34358 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
34359 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
34360 normal/color.c.
34361
9ce3e7c1 343622008-01-06 Robert Millan <rmh@aybabtu.com>
34363
34364 * normal/color.c: Remove `<grub/env.h>'.
34365
f3b58148 343662008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
34367
34368 * include/grub/normal.h: Include <grub/env.h>.
34369
7ac3bcfa 343702008-01-05 Robert Millan <rmh@aybabtu.com>
34371
34372 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
34373 usage example with `(hd0,1)'.
fb358190 34374 Reported by Samuel Thibault.
7ac3bcfa 34375
c8ee99d7 343762008-01-05 Robert Millan <rmh@aybabtu.com>
34377
34378 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
34379 (grub_linux_boot_zimage): Rename to ...
34380 (grub_linux_boot): ... this.
34381 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
34382 (grub_linux_boot_zimage): Conditionalize zImage copy.
34383
34384 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
34385 (grub_linux_boot_bzimage): Remove prototype.
34386 (grub_linux_boot_zimage): Rename to ...
34387 (grub_linux_boot): ... this.
34388
34389 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
34390 (grub_linux_boot): Remove function.
34391
0ece25b1 343922008-01-05 Robert Millan <rmh@aybabtu.com>
34393
34394 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
34395 (grub_env_write_color_highlight): Likewise.
34396 (grub_wait_after_message): Likewise.
34397
34398 * normal/color.c: New file.
34399
34400 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34401 (normal_mod_DEPENDENCIES): Likewise.
34402
34403 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34404 (normal_mod_DEPENDENCIES): Likewise.
34405
34406 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34407 (normal_mod_DEPENDENCIES): Likewise.
34408
34409 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34410 (normal_mod_DEPENDENCIES): Likewise.
34411
34412 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
34413 for waiting after a message is printed.
34414 * normal/main.c (read_config_file): Likewise.
34415 (grub_normal_init): Register grub_env_write_color_normal() and
34416 grub_env_write_color_highlight() hooks. Mark `color_normal' and
34417 `color_highlight' variables as global.
34418
34419 * normal/menu.c (grub_wait_after_message): New function.
34420 (grub_color_menu_normal): New variable. Replaces ...
34421 (GRUB_COLOR_MENU_NORMAL): ... this macro.
34422 (grub_color_menu_highlight): New variable. Replaces ...
34423 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
34424 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
34425 `GRUB_TERM_COLOR_STANDARD'.
34426 (print_message): Use `grub_setcolorstate' to reload colors. Rename
34427 `normal_code' and `highlight_code' to `old_color_normal' and
34428 `old_color_highlight', respectively.
34429 (grub_menu_init_page): Update colors when drawing the menu, based on
34430 `menu_color_normal' and `menu_color_highlight' variables.
34431 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
34432 a message is printed.
34433
182dd4e5 344342008-01-05 Robert Millan <rmh@aybabtu.com>
34435
34436 * kern/env.c (grub_env_context_open): Propagate hooks for global
34437 variables to new context.
34438
34439 * kern/main.c (grub_set_root_dev): Export `root' variable.
34440
ddf8f6ad 344412008-01-05 Robert Millan <rmh@aybabtu.com>
34442
34443 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 34444 discs unconditionally, since udev and others have options to provide
ddf8f6ad 34445 them.
34446
d8b43d9b 344472008-01-05 Robert Millan <rmh@aybabtu.com>
34448
34449 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
34450
2bff2de3 344512008-01-04 Christian Franke <franke@computer.org>
34452
34453 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
34454 of eisa_mmap.
34455
97eab917 344562008-01-03 Pavel Roskin <proski@gnu.org>
34457
34458 * kern/i386/linuxbios/init.c: Put "void" to all function
34459 declarations with no arguments.
34460 * kern/powerpc/ieee1275/init.c: Likewise.
34461 * term/i386/pc/at_keyboard.c: Likewise.
34462 * term/i386/pc/vga_text.c: Likewise.
34463 * util/grub-mkdevicemap.c: Likewise.
34464
b9416d00 344652008-01-02 Robert Millan <rmh@aybabtu.com>
34466
34467 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
34468 message when loaded image is out of bounds.
34469 (grub_multiboot_load_elf64): Likewise.
34470
92695df9 344712008-01-02 Pavel Roskin <proski@gnu.org>
34472
34473 * util/grub.d/10_linux.in: Try version without ".old" when
34474 looking for initrd. It's better to use initrd from the newer
34475 kernel of the same version than no initrd at all.
34476
d98d9cad 344772008-01-01 Robert Millan <rmh@aybabtu.com>
34478
34479 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
34480
dbfdce36 344812008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
34482
f19dbdb7 34483 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 34484 grub_video_get_active_render_target.
34485 (grub_video_adapter): Added unmap_color and get_active_render_target.
34486
f19dbdb7 34487 * video/video.c: Added grub_video_unmap_color and
dbfdce36 34488 grub_video_get_active_render_target.
34489 (grub_video_get_info): Changed method to accept NULL pointer as an
34490 argument to allow detection of active video adapter.
34491
34492 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
34493 grub_video_vbe_unmap_color_int.
34494 Added grub_video_vbe_unmap_color and
34495 grub_video_vbe_get_active_render_target.
34496 (grub_video_vbe_adapter): Added unmap_color and
34497 get_active_render_target.
34498
f19dbdb7 34499 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 34500 with grub_video_vbe_unmap_color_int.
34501
34502 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
34503 (DEFAULT_NORMAL_COLOR): Likewise.
34504 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
34505 (DEFAULT_FG_COLOR): Removed.
34506 (DEFAULT_BG_COLOR): Likewise.
34507 (DEFAULT_CURSOR_COLOR): Changed value.
34508 (grub_virtual_screen): Added standard_color_setting,
34509 normal_color_setting, highlight_color_setting and term_color.
34510 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
34511 (bitmap_width): Added.
34512 (bitmap_height): Likewise.
34513 (bitmap): Likewise.
34514 (set_term_color): Likewise.
34515 (grub_virtual_screen_setup): Changed to use new terminal coloring
34516 settings.
34517 (grub_gfxterm_init): Added init for bitmap.
34518 (grub_gfxterm_fini): Added destroy for bitmap.
34519 (redraw_screen_rect): Updated to use background bitmap and new
34520 terminal coloring.
34521 (scroll_up): Added optimization for case when there is no bitmap.
34522 (grub_gfxterm_cls): Fixed to use correct background color.
34523 (grub_virtual_screen_setcolorstate): Changed to use new terminal
34524 coloring.
34525 (grub_virtual_screen_setcolor): Likewise.
34526 (grub_virtual_screen_getcolor): Added.
34527 (grub_gfxterm_background_image_cmd): Likewise.
34528 (grub_video_term): Added setcolor and getcolor.
34529 (MOD_INIT): Added registration of background_image command.
34530 (MOD_TERM): Added unregistration for background_image command.
34531
c3c20931 345322007-12-30 Pavel Roskin <proski@gnu.org>
34533
34534 * loader/multiboot_loader.c: Fix multiboot command
34535 unregistration. Fix all typos in the word "multiboot".
34536
df266716 345372007-12-29 Pavel Roskin <proski@gnu.org>
94239199 34538
34539 * util/grub.d/10_linux.in: Refactor search for initrd. Add
34540 support for initrd names used in Fedora.
34541
fc6e896c 345422007-12-26 Bean <bean123ch@gmail.com>
34543
34544 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
34545 (cpio_mod_SOURCES): New variable.
34546 (cpio_mod_CFLAGS): Likewise.
34547 (cpio_mod_LDFLAGS): Likewise.
34548
34549 * fs/cpio.c: New file.
34550
34551 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
34552
34553 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34554
34555 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34556
34557 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34558
533110ad 345592007-12-25 Robert Millan <rmh@aybabtu.com>
34560
34561 * include/grub/term.h (struct grub_term): Add `getcolor' function.
34562 (grub_getcolor): New function.
34563
34564 * kern/term.c (grub_getcolor): New function.
34565 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
34566 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
34567 (print_entry): Set normal and highlight colors to
34568 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
34569 respectively, before printing and restore them to old
34570 values afterwards.
34571 (grub_menu_init_page): Likewise. Fill an additional colored space
34572 that would otherwise be left blank.
34573
34574 * term/efi/console.c (grub_console_getcolor): New function.
34575 (struct grub_console_term.getcolor): New variable.
34576 * term/i386/pc/console.c (grub_console_getcolor): New function.
34577 (struct grub_console_term.getcolor): New variable.
34578 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
34579 (struct grub_console_term.getcolor): New variable.
34580
34581 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
34582 (struct grub_console_term.setcolor): Remove variable.
34583 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
34584 (struct grub_console_term.setcolor): Remove variable.
34585 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
34586 (struct grub_console_term.setcolor): Remove variable.
34587 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
34588 (struct grub_console_term.setcolor): Remove variable.
34589
4931827f 345902007-12-25 Robert Millan <rmh@aybabtu.com>
34591
34592 * configure.ac: Search for possible unifont.hex locations, and
34593 define UNIFONT_HEX if found.
34594
34595 * Makefile.in (UNIFONT_HEX): Define variable.
34596 (DATA): Rename to ...
34597 (PKGLIB): ... this. Update all users.
34598 (PKGDATA): New variable.
34599 (pkgdata_IMAGES): Rename to ...
34600 (pkglib_IMAGES): ... this. Update all users.
34601 (pkgdata_MODULES): Rename to ...
34602 (pkglib_MODULES): ... this. Update all users.
34603 (pkgdata_PROGRAMS): Rename to ...
34604 (pkglib_PROGRAMS): ... this. Update all users.
34605 (pkgdata_DATA): Rename to ...
34606 (pkglib_DATA): ... this. Update all users.
34607 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
34608 (unicode.pff, ascii.pff): New rules.
34609 (all-local): Add `$(PKGDATA)' dependency.
34610 (install-local): Process `$(PKGDATA)'.
34611
34612 * util/update-grub_lib.in (font_path): Search for *.pff files in
34613 a few more locations, including `${pkgdata}'.
34614
57e57e31 346152007-12-23 Robert Millan <rmh@aybabtu.com>
34616
34617 Patch from Bean <bean123ch@gmail.com>:
34618 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
34619 `size'.
34620
4bc72aa9 346212007-12-21 Bean <bean123ch@gmail.com>
34622
34623 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
34624 (ntfscomp_mod_SOURCES): New variable.
34625 (ntfscomp_mod_CFLAGS): Likewise.
34626 (ntfscomp_mod_LDFLAGS): Likewise.
34627
34628 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
34629 (grub_probe_SOURCES): Likewise.
34630 (grub_emu_SOURCES): Likewise.
34631
34632 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34633 (grub_emu_SOURCES): Likewise.
34634
34635 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34636 (grub_emu_SOURCES): Likewise.
34637
34638 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34639 (grub_emu_SOURCES): Likewise.
34640
34641 * fs/ntfs.c (grub_ntfscomp_func): New variable.
34642 (read_run_list): Renamed to grub_ntfs_read_run_list.
34643 (decomp_nextvcn): Moved to ntfscomp.c.
34644 (decomp_getch): Likewise.
34645 (decomp_get16): Likewise.
34646 (decomp_block): Likewise.
34647 (read_block): Likewise.
34648 (read_data): Partially moved to ntfscomp.c.
34649 (fixup): Change unsigned to grub_uint16_t.
34650 (read_mft): Change unsigned long to grub_uint32_t.
34651 (read_attr): Likewise.
34652 (read_data): Likewise.
34653 (read_run_data): Likewise.
34654 (read_run_list): Likewise.
34655 (read_mft): Likewise.
34656
34657 * fs/ntfscomp.c: New file.
34658
34659 * include/grub/ntfs.h: New file.
34660
af680a87 346612007-12-16 Robert Millan <rmh@aybabtu.com>
34662
34663 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
34664 IDE disk check, since Linux is known to support 20 IDE disks.
34665 Reported by Colin Watson.
34666
84be7599 346672007-12-15 Bean <bean123ch@gmail.com>
34668
34669 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
34670 (lnxboot_img_SOURCES): New variable.
34671 (lnxboot_img_ASFLAGS): Likewise.
34672 (lnxboot_img_LDFLAGS): Likewise.
34673
34674 * boot/i386/pc/lnxboot.S: New file.
34675
6af9db01 346762007-11-24 Pavel Roskin <proski@gnu.org>
34677
34678 * configure.ac: Test if '--build-id=none' is supported by the
34679 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
34680 objcopy to generate incorrect binary files (binutils
34681 2.17.50.0.18-1 as shipped by Fedora 8).
34682 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
34683 linking, so that build ID doesn't break the test.
34684
7361cfe6 346852007-11-24 Pavel Roskin <proski@gnu.org>
34686
34687 * include/grub/i386/time.h: use "void" in the argument list
34688 of grub_cpu_idle().
34689 * include/grub/powerpc/time.h: Likewise.
34690 * include/grub/sparc64/time.h: Likewise.
34691
1593e10c 346922007-11-18 Christian Franke <franke@computer.org>
34693
34694 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
34695 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
34696 This fixes the problem that function keys did not work in grub-emu.
34697
3b8db1a8 346982007-11-18 Christian Franke <franke@computer.org>
34699
34700 * disk/host.c (grub_host_open): Remove attribute unused from
34701 name parameter. Add check for "host". This fixes the problem
34702 that grub-emu does not find partitions.
34703
2e29408d 347042007-11-18 Christian Franke <franke@computer.org>
34705
34706 * util/hostfs.c (is_dir): New function.
34707 (grub_hostfs_dir): Handle missing dirent.d_type case.
34708 (grub_hostfs_read): Add missing fseek().
34709 (grub_hostfs_label): Clear label pointer. This fixes a crash
34710 of grub-emu on "ls (host)".
34711
398cd047 347122007-11-18 Christian Franke <franke@computer.org>
34713
34714 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
34715 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
34716 to 64 bit boundary by default.
34717
c405c391 347182007-11-18 Bean <bean123ch@gmail.com>
34719
34720 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
34721 (hexdump_mod_SOURCES): New variable.
34722 (hexdump_mod_CFLAGS): Likewise.
34723 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 34724
c405c391 34725 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34726
34727 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34728
34729 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34730
34731 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34732
34733 * include/grub/hexdump.h: New file.
34734
34735 * commands/hexdump.c: New file.
34736
5cced7fd 347372007-11-10 Robert Millan <rmh@aybabtu.com>
34738
34739 * commands/i386/pc/play.c (beep_off): Switch order of arguments
34740 in grub_outb() calls.
34741 (beep_on): Likewise.
34742
8b714eb0 347432007-11-10 Christian Franke <franke@computer.org>
34744
34745 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
34746 (grub_menu_run): Likewise.
34747
ce0f1839 347482007-11-10 Robert Millan <rmh@aybabtu.com>
34749
34750 * include/grub/i386/efi/machine.h: New file.
34751 * include/grub/i386/linuxbios/machine.h: Likewise.
34752 * include/grub/i386/pc/machine.h: Likewise.
34753 * include/grub/powerpc/ieee1275/machine.h: Likewise.
34754 * include/grub/sparc64/ieee1275/machine.h: Likewise.
34755
34756 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
34757 (serial_hw_io_addr): New variable.
34758 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
34759 instead of `(unsigned short *) 0x400'.
34760
270c237d 347612007-11-10 Bean <bean123ch@gmail.com>
34762
34763 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
34764
a87783bf 347652007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
34766
34767 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
34768 (vga_mod_SOURCES): Added.
34769 (vga_mod_CFLAGS): Likewise.
34770 (vga_mod_LDFLAGS): Likewise.
34771
34772 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
34773 grub_outb() calls.
34774 (set_map_mask): Likewise.
34775 (set_read_map): Likewise.
34776 (set_read_address): Likewise.
34777 (vga_font): Removed variable.
34778 (get_vga_glyph): Removed function.
34779 (invalidate_char): Likewise.
34780 (write_char): Changed to use grub_font_get_glyph() for font
34781 information.
34782 (grub_vga_putchar): Likewise.
34783 (grub_vga_getcharwidth): Likewise.
34784
6433b448 347852007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
34786
34787 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
34788 flags.
34789 (pxeboot_img_LDFLAGS): Likewise.
34790 (diskboot_img_LDFLAGS): Likewise.
34791 (kernel_img_LDFLAGS): Likewise.
34792
49178511 347932007-11-06 Robert Millan <rmh@aybabtu.com>
34794
34795 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
34796 in grub_outb() calls.
34797 (serial_hw_init): Likewise.
34798
53b052de 347992007-11-05 Robert Millan <rmh@aybabtu.com>
34800
34801 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
34802 spaces. Skip non-regular files.
34803
5ab33bba 348042007-11-05 Robert Millan <rmh@aybabtu.com>
34805
34806 * kern/disk.c (grub_disk_firmware_fini)
34807 (grub_disk_firmware_is_tainted): New variables.
34808
34809 * include/grub/disk.h (grub_disk_firmware_fini)
34810 (grub_disk_firmware_is_tainted): Likewise.
34811
34812 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
34813 (grub_disk_biosdisk_fini): ... to here.
34814 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
34815 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
34816 is set. Register grub_disk_biosdisk_fini() in
34817 `grub_disk_firmware_fini'.
34818
34819 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
34820 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
34821 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
34822 to finish existing firmware disk interface.
34823
34824 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
34825 (ata_mod_SOURCES): New variable.
34826 (ata_mod_CFLAGS): Likewise.
34827 (ata_mod_LDFLAGS): Likewise.
34828
0149ab7c 348292007-11-05 Robert Millan <rmh@aybabtu.com>
34830
34831 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
34832 (grub_ata_wait): Reimplement using grub_millisleep().
34833
34834 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
34835 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
34836
be7ac41e 348372007-11-03 Marco Gerards <marco@gnu.org>
34838
34839 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
34840 (CRTC_ADDR_PORT): New macro.
34841 (CRTC_DATA_PORT): Likewise.
34842 (CRTC_CURSOR): Likewise.
34843 (CRTC_CURSOR_ADDR_HIGH): Likewise.
34844 (CRTC_CURSOR_ADDR_LOW): Likewise.
34845 (update_cursor): New function.
34846 (grub_console_real_putchar): Call `update_cursor'.
34847 (grub_console_gotoxy): Likewise.
34848 (grub_console_cls): Set the default color when clearing the
34849 screen.
34850 (grub_console_setcursor): Implemented.
34851
bb06ab2e 348522007-11-03 Marco Gerards <marco@gnu.org>
34853
34854 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
34855 become activate.
34856 (grub_ata_pio_write): Likewise.
34857
34858 (grub_atapi_identify): Wait after issuing an ATA command.
34859 (grub_atapi_packet): Likewise.
34860 (grub_ata_identify): Likewise.
34861 (grub_ata_readwrite): Likewise.
34862
cf8f780b 348632007-11-03 Marco Gerards <marco@gnu.org>
34864
34865 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
34866 (grub_ata_pio_write): Likewise.
34867 (grub_ata_readwrite): Use `grub_error', instead of
34868 returning `grub_errno'.
34869
ed649e54 348702007-11-03 Marco Gerards <marco@gnu.org>
34871
34872 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
34873 grub_ata_pio_write once for every single sector, instead of for
34874 multiple sectors.
34875
ca25d8f0 348762007-10-31 Robert Millan <rmh@aybabtu.com>
34877
34878 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
34879
34880 * conf/i386-linuxbios.rmk: New file.
34881
34882 * kern/i386/pc/hardware.c: Likewise.
34883 * term/i386/pc/at_keyboard.c: Likewise.
34884 * term/i386/pc/vga_text.c: Likewise.
34885
34886 * include/grub/i386/linuxbios/boot.h: Likewise.
34887 * include/grub/i386/linuxbios/console.h: Likewise.
34888 * include/grub/i386/linuxbios/init.h: Likewise.
34889 * include/grub/i386/linuxbios/kernel.h: Likewise.
34890 * include/grub/i386/linuxbios/loader.h: Likewise.
34891 * include/grub/i386/linuxbios/memory.h: Likewise.
34892 * include/grub/i386/linuxbios/serial.h: Likewise.
34893 * include/grub/i386/linuxbios/time.h: Likewise.
34894
34895 * kern/i386/linuxbios/init.c: Likewise.
34896 * kern/i386/linuxbios/startup.S: Likewise.
34897 * kern/i386/linuxbios/table.c: Likewise.
34898
e911ecc1 348992007-10-31 Marco Gerards <marco@gnu.org>
34900
34901 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
34902 (ata_mod_SOURCES): New variable.
34903 (ata_mod_CFLAGS): Likewise.
34904 (ata_mod_LDFLAGS): Likewise.
34905
34906 * disk/ata.c: New file.
34907
34908 * include/grub/disk.h (grub_disk_dev_id): Add
34909 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 34910
7f66d0e0 349112007-10-31 Robert Millan <rmh@aybabtu.com>
34912
34913 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
34914 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
34915
34916 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
34917 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
34918
34919 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
34920 `<grub/types.h>'.
34921
34922 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
34923
5cd7dd46 349242007-10-27 Robert Millan <rmh@aybabtu.com>
34925
3236ca65 34926 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 34927
2ebfc90f 349282007-10-22 Robert Millan <rmh@aybabtu.com>
34929
34930 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
34931 `"../realmode.S"'.
34932 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
34933
73fcb0f3 349342007-10-22 Robert Millan <rmh@aybabtu.com>
34935
34936 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
34937 (pkgdata_MODULES): Add `biosdisk.mod'.
34938 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
34939 variables.
34940
34941 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
34942 (grub_biosdisk_init): Replace with ...
34943 (GRUB_MOD_INIT(biosdisk)): ... this.
34944 (grub_biosdisk_fini): Replace with ...
34945 (GRUB_MOD_FINI(biosdisk)): ... this.
34946
34947 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
34948 (grub_machine_init): Remove call to grub_biosdisk_init().
34949 (grub_machine_fini): Remove call to grub_machine_fini().
34950
34951 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
34952
3381d274 349532007-10-22 Robert Millan <rmh@aybabtu.com>
34954
34955 * include/grub/time.h: New file.
34956 * include/grub/i386/time.h: Likewise.
34957 * include/grub/powerpc/time.h: Likewise.
34958 * include/grub/sparc64/time.h: Likewise.
34959
34960 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
34961 instances to ...
34962 (KERNEL_MACHINE_TIME_HEADER): ... this.
34963 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
34964 instances to ...
34965 (KERNEL_MACHINE_TIME_HEADER): ... this.
34966 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
34967 instances to ...
34968 (KERNEL_MACHINE_TIME_HEADER): ... this.
34969
34970 * kern/i386/efi/init.c: Include `<grub/time.h>'.
34971 (grub_millisleep): New function.
34972 * kern/i386/pc/init.c: Include `<grub/time.h>'.
34973 (grub_millisleep): New function.
34974 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
34975 Remove `grub/machine/time.h' include.
34976 (grub_millisleep): New function.
34977 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
34978 Remove `grub/machine/time.h' include.
34979 (grub_millisleep): New function.
34980
34981 * include/grub/misc.h (grub_div_roundup): New function.
34982
34983 * kern/misc.c: Include `<grub/time.h>'.
34984 (grub_millisleep_generic): New function.
34985
34986 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
34987 Add `time.h'.
34988 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
34989 Add `time.h'.
34990 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
34991 `machine/time.h'. Add `time.h'.
34992 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34993
a39a0312 349942007-10-21 Robert Millan <rmh@aybabtu.com>
34995
34996 * include/grub/misc.h (grub_max): New function.
34997
2aad70e2 349982007-10-21 Robert Millan <rmh@aybabtu.com>
34999
35000 * util/misc.c (grub_util_info): Call fflush() before returning.
35001
54b71c4b 350022007-10-20 Robert Millan <rmh@aybabtu.com>
35003
35004 * genmk.rb (Image): Copy `extra_flags' from here ...
35005 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
35006
35007 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
35008 to `argc' and `args' arguments.
35009
a979f513 350102007-10-17 Robert Millan <rmh@aybabtu.com>
35011
35012 * kern/i386/loader.S: New file.
35013
35014 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
35015 * kern/i386/loader.S (grub_linux_prot_size)... to here.
35016 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
35017 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
35018 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
35019 * kern/i386/loader.S (grub_linux_real_addr)... to here.
35020 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
35021 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
35022 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
35023 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
35024 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
35025 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
35026 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
35027 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
35028
35029 * kern/i386/realmode.S: New file.
35030
35031 * kern/i386/pc/startup.S (protstack): Moved from here ...
35032 * kern/i386/realmode.S (protstack)... to here.
35033 * kern/i386/pc/startup.S (gdt): Moved from here ...
35034 * kern/i386/realmode.S (gdt)... to here.
35035 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
35036 * kern/i386/realmode.S (prot_to_real)... to here.
35037
35038 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
35039 `kern/i386/realmode.S'.
35040
825fc8fd 350412007-10-17 Robert Millan <rmh@aybabtu.com>
35042
35043 * include/grub/i386/loader.h: New file.
35044
35045 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
35046 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
35047 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
35048 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
35049 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
35050 * include/grub/i386/loader.h (grub_linux_prot_size)
35051 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
35052 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
35053 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
35054 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
35055
35056 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
35057
e179b2f4 350582007-10-15 Robert Millan <rmh@aybabtu.com>
35059
35060 * normal/misc.c (grub_normal_print_device_info): Do not probe for
35061 filesystem when dev->disk is unset.
35062 Do probe for filesystem even when dev->disk->has_partitions is set.
35063 In case a filesystem is found, always report it.
35064 In case it isn't, if dev->disk->has_partitions is set, report that
35065 a partition table was found instead of reporting that no filesystem
35066 could be identified.
35067
5db82af6 350682007-10-12 Robert Millan <rmh@aybabtu.com>
35069
35070 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
35071 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
35072
68f6ac74 35073 * include/grub/types.h (grub_host_to_target16): New macro.
35074 (grub_host_to_target32): Likewise.
35075 (grub_host_to_target64): Likewise.
35076 (grub_target_to_host16): Likewise.
35077 (grub_target_to_host32): Likewise.
35078 (grub_target_to_host64): Likewise.
5db82af6 35079
35080 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
35081 Renamed from to ...
35082 (GRUB_MOD_ALIGN): ...this. Update all users.
35083
68f6ac74 35084 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
35085 grub_host_to_target32.
35086 Replace grub_be_to_cpu32 with grub_target_to_host32.
35087 (load_modules): Likewise.
35088 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
35089 Replace grub_be_to_cpu32 with grub_target_to_host32.
35090 Replace grub_cpu_to_be16 with grub_host_to_target16.
35091 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 35092
3cf497cc 350932007-10-12 Robert Millan <rmh@aybabtu.com>
35094
35095 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
35096 * util/elf/grub-mkimage.c: ... here.
35097
35098 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
35099 `util/powerpc/ieee1275/grub-mkimage.c'.
35100
c8cc3692 351012007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 35102
c8cc3692 35103 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
35104 and make it easier to figure out.
35105 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
35106 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
35107 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
35108 leave us with less than HEAP_MIN_SIZE total heap.
35109 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 35110
5c58b791 351112007-10-03 Robert Millan <rmh@aybabtu.com>
35112
35113 * include/grub/i386/io.h: New file.
35114 * commands/i386/pc/play.c (inb): Removed.
35115 (outb): Removed.
35116 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
35117 with grub_outb().
afcd2ef8 35118 * term/i386/pc/serial.c (inb): Removed.
35119 (outb): Removed.
35120 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
35121 with grub_outb().
35122 * term/i386/pc/vga.c (inb): Removed.
35123 (outb): Removed.
35124 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
35125 with grub_outb().
5c58b791 35126
1a477ed6 351272007-10-02 Robert Millan <rmh@aybabtu.com>
35128
35129 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
35130 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35131 Reported by Marcin Kurek.
35132
6b5d80fa 351332007-09-07 Robert Millan <rmh@aybabtu.com>
35134
35135 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
35136 SmartFirmware version updates (as released by Sven Luther), and avoid
35137 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
35138 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
35139 known broken.
35140
5618afbf 351412007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
35142
35143 From Hitoshi Ozeki:
35144 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
35145 when merging two regions.
35146
6139dcd9 351472007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
35148
508e39ee 35149 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
35150 * normal/completion.c (grub_normal_do_completion): Likewise.
35151 Reported by Hitoshi Ozeki.
35152
351532007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 35154
6139dcd9 35155 Do not use devices at boot in chainloading.
f19dbdb7 35156
6139dcd9 35157 * loader/i386/pc/chainloader.c (boot_drive): New variable.
35158 (boot_part_addr): Likewise.
35159 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
35160 with BOOT_DRIVE and BOOT_PART_ADDR.
35161 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
35162 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
35163
38da6516 351642007-08-29 Robert Millan <rmh@aybabtu.com>
35165
35166 Patch from Simon Peter <dn.tlp@gmx.net>:
35167 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
35168 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
35169 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
35170 util/i386/pc/grub-setup.c_DEPENDENCIES.
35171 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
35172 util/grub-probe.c_DEPENDENCIES.
35173 * conf/powerpc-ieee1275.rmk: Likewise.
35174
29d0928c 351752007-08-28 Robert Millan <rmh@aybabtu.com>
35176
35177 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
35178 to tell grub-mkdevicemap how to name devices.
35179 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
35180 feature).
35181
35182 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
35183 util/i386/get_disk_name.c.
35184 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
35185 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
35186 util/ieee1275/get_disk_name.c.
35187
35188 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
35189
35190 * DISTLIST: Add util/i386/get_disk_name.c and
35191 util/ieee1275/get_disk_name.c.
35192
35193 * util/grub-mkdevicemap.c: Replace device naming logic with
35194 grub_util_get_disk_name() calls.
35195
5a0d3cca 351962007-08-20 Robert Millan <rmh@aybabtu.com>
35197
35198 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
35199 (so that it works for both plural and singular quantities).
35200
8b72db2f 352012007-08-05 Robert Millan <rmh@aybabtu.com>
35202
35203 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
35204 so that [xz] isn't taken into account when determining order.
35205
352466bf 352062007-08-02 Marco Gerards <marco@gnu.org>
35207
35208 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
35209 `include/multiboot2.h', `include/grub/elfload.h',
35210 `include/multiboot.h', `include/grub/multiboot.h',
35211 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
35212 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
35213 `kern/elf.c', `loader/multiboot_loader.c',
35214 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
35215 `loader/i386/pc/multiboot2.c',
35216 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
35217 `util/i386/pc/grub-mkrescue.in'. Remove
35218 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
35219 `include/grub/i386/pc/util/biosdisk.h' and
35220 `include/grub/powerpc/ieee1275/multiboot.h'.
35221
8f096014 352222007-08-02 Bean <bean123ch@gmail.com>
35223
35224 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
35225 (ntfs_mod_SOURCES): New variable.
35226 (ntfs_mod_CFLAGS): Likewise.
35227 (ntfs_mod_LDFLAGS): Likewise.
35228
35229 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
35230 (grub_probe_SOURCES): Likewise.
35231 (grub_emu_SOURCES): Likewise.
35232
35233 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
35234 (grub_emu_SOURCES): Likewise.
35235
35236 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
35237 (grub_emu_SOURCES): Likewise.
f19dbdb7 35238
8f096014 35239 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
35240
35241 * fs/ntfs.c: New file.
35242
9959f7db 352432007-08-02 Bean <bean123ch@gmail.com>
35244
35245 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
35246
35247 * file.h (grub_file): Likewise.
35248
35249 * fshelp.h (grub_fshelp_read_file): Likewise.
35250
35251 * util/i386/pc/grub-setup.c (setup): Likewise.
35252 (save_first_sector): Likewise.
35253 (save_blocklists): Likewise.
f19dbdb7 35254
9959f7db 35255 * fs/affs.c (grub_affs_read_file): Likewise.
35256
35257 * fs/ext2.c (grub_ext2_read_file): Likewise.
35258
35259 * fs/fat.c (grub_fat_read_data): Likewise.
35260
35261 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
35262
35263 * fs/hfs.c (grub_hfs_read_file): Likewise.
35264
35265 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
35266
35267 * fs/jfs.c (grub_jfs_read_file): Likewise.
35268
35269 * fs/minix.c (grub_minix_read_file): Likewise.
35270
35271 * fs/sfs.c (grub_sfs_read_file): Likewise.
35272
35273 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 35274
9959f7db 35275 * fs/xfs.c (grub_xfs_read_file): Likewise.
35276
35277 * command/blocklist.c (read_blocklist): Likewise.
35278 (print_blocklist): Likewise.
35279
0a203f83 352802007-08-02 Marco Gerards <marco@gnu.org>
35281
35282 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
35283 `util/hostfs.c'.
35284
35285 * disk/host.c: New file.
35286
35287 * util/hostfs.c: Likewise.
35288
35289 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
35290 return `GRUB_ERR_BAD_FS'.
35291 * fs/sfs.c (grub_sfs_mount): Likewise.
35292 * fs/xfs.c (grub_xfs_mount): Likewise.
35293
35294 * include/grub/disk.h (enum grub_disk_dev_id): Add
35295 `GRUB_DISK_DEVICE_HOST_ID'.
35296
35297 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
35298
e5dfe777 352992007-07-24 Jerone Young <jerone@gmail.com>
35300
f19dbdb7 35301 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 35302 modules for compilation.
35303 * conf/powerpc-ieee1275.rmk: Likewise.
35304
35305 * include/multiboot.h: Move multiboot definitions to one file. Rename
35306 many definitions to not get grub specific.
35307 * include/multiboot2.h: Create header with multiboot 2 definitions.
35308 * include/grub/multiboot.h: Header for grub specific function
35309 prototypes and definitions.
35310 * include/grub/multiboot2.h: Likewise.
35311 * include/grub/multiboot_loader.h: Likewise.
35312 * include/grub/i386/pc/multiboot.h: Removed.
35313 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
35314
35315 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
35316 and 2 to allow for one multiboot and module commands.
35317 * loader/multiboot2.c: Add multiboot2 functionality.
35318 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
35319 and definition names.
35320 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
35321 2 functions.
35322 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
35323 ieee1275 specific multiboot2 code.
35324
35325 * kern/i386/pc/startup.S: Change headers and definition names for
35326 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
35327
daf0f0ba 353282007-07-22 Robert Millan <rmh@aybabtu.com>
35329
35330 * geninitheader.sh: Process file specified in first parameter rather
35331 than hardcoding grub_modules_init.lst.
fe6b695a 35332 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 35333 than hardcoding grub_modules_init.h.
35334
35335 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
35336 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
35337 grub_probe_init.[ch] and grub_setup_init.[ch].
35338
35339 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
35340 grub_modules_init.h with grub_emu_init.h.
35341 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
35342 grub_probe_init.[ch] files.
35343 * conf/i386-efi.rmk: Likewise.
35344 * conf/i386-pc.rmk: Likewise.
35345 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
35346 grub_setup_init.[ch] files.
35347
35348 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
35349 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
35350 to initialize modules rather than a list of hardcoded functions.
35351 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
35352 grub_init_all() to initialize modules rather than a list of hardcoded
35353 functions.
35354
54cdc1cc 353552007-07-22 Robert Millan <rmh@aybabtu.com>
35356
35357 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
35358 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
35359
ad0686cc 353602007-07-22 Robert Millan <rmh@aybabtu.com>
35361
35362 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35363 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
35364 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
35365 flag when running on SmartFirmware.
35366 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
35367 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
35368 was set.
35369
35370 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
35371 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
35372 rather than decreasing it.
35373
35374 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
35375 there's not enough space to do it, fail in the same way as when it
35376 can't be done because there are no partitions.
35377
35378 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
35379 when nvsetenv failed.
35380
969c02ec 353812007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
35382
35383 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
35384 because this rule is automatically generated.
35385 (grub-mkrescue): Removed for the same reason as above.
35386
5a79f472 353872007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
35388
35389 Migrate to GNU General Public License Version 3.
f19dbdb7 35390
5a79f472 35391 * COPYING: Replaced with the plain text version of GPLv3.
35392
35393 * config.guess: Updated from gnulib.
35394 * config.sub: Likewise.
35395
35396 * geninit.sh: Output a GPLv3 copyright notice.
35397 * geninitheader.sh: Likewise.
35398 * genmodsrc.sh: Likewise.
35399 * gensymlist.sh.in: Likewise.
35400
35401 * boot/i386/pc/boot.S: Upgraded to GPLv3.
35402 * boot/i386/pc/diskboot.S: Likewise.
35403 * boot/i386/pc/pxeboot.S: Likewise.
35404 * commands/blocklist.c: Likewise.
35405 * commands/boot.c: Likewise.
35406 * commands/cat.c: Likewise.
35407 * commands/cmp.c: Likewise.
35408 * commands/configfile.c: Likewise.
35409 * commands/echo.c: Likewise.
35410 * commands/help.c: Likewise.
35411 * commands/ls.c: Likewise.
35412 * commands/search.c: Likewise.
35413 * commands/terminal.c: Likewise.
35414 * commands/test.c: Likewise.
35415 * commands/videotest.c: Likewise.
35416 * commands/i386/cpuid.c: Likewise.
35417 * commands/i386/pc/halt.c: Likewise.
35418 * commands/i386/pc/play.c: Likewise.
35419 * commands/i386/pc/reboot.c: Likewise.
35420 * commands/i386/pc/vbeinfo.c: Likewise.
35421 * commands/i386/pc/vbetest.c: Likewise.
35422 * commands/ieee1275/halt.c: Likewise.
35423 * commands/ieee1275/reboot.c: Likewise.
35424 * commands/ieee1275/suspend.c: Likewise.
35425 * disk/loopback.c: Likewise.
35426 * disk/lvm.c: Likewise.
35427 * disk/raid.c: Likewise.
35428 * disk/efi/efidisk.c: Likewise.
35429 * disk/i386/pc/biosdisk.c: Likewise.
35430 * disk/ieee1275/ofdisk.c: Likewise.
35431 * font/manager.c: Likewise.
35432 * fs/affs.c: Likewise.
35433 * fs/ext2.c: Likewise.
35434 * fs/fat.c: Likewise.
35435 * fs/fshelp.c: Likewise.
35436 * fs/hfs.c: Likewise.
35437 * fs/hfsplus.c: Likewise.
35438 * fs/iso9660.c: Likewise.
35439 * fs/jfs.c: Likewise.
35440 * fs/minix.c: Likewise.
35441 * fs/sfs.c: Likewise.
35442 * fs/ufs.c: Likewise.
35443 * fs/xfs.c: Likewise.
35444 * hello/hello.c: Likewise.
35445 * include/grub/acorn_filecore.h: Likewise.
35446 * include/grub/arg.h: Likewise.
35447 * include/grub/bitmap.h: Likewise.
35448 * include/grub/boot.h: Likewise.
35449 * include/grub/cache.h: Likewise.
35450 * include/grub/device.h: Likewise.
35451 * include/grub/disk.h: Likewise.
35452 * include/grub/dl.h: Likewise.
35453 * include/grub/elfload.h: Likewise.
35454 * include/grub/env.h: Likewise.
35455 * include/grub/err.h: Likewise.
35456 * include/grub/file.h: Likewise.
35457 * include/grub/font.h: Likewise.
35458 * include/grub/fs.h: Likewise.
35459 * include/grub/fshelp.h: Likewise.
35460 * include/grub/gzio.h: Likewise.
35461 * include/grub/hfs.h: Likewise.
35462 * include/grub/kernel.h: Likewise.
35463 * include/grub/loader.h: Likewise.
35464 * include/grub/lvm.h: Likewise.
35465 * include/grub/misc.h: Likewise.
35466 * include/grub/mm.h: Likewise.
35467 * include/grub/net.h: Likewise.
35468 * include/grub/normal.h: Likewise.
35469 * include/grub/parser.h: Likewise.
35470 * include/grub/partition.h: Likewise.
35471 * include/grub/pc_partition.h: Likewise.
35472 * include/grub/raid.h: Likewise.
35473 * include/grub/rescue.h: Likewise.
35474 * include/grub/script.h: Likewise.
35475 * include/grub/setjmp.h: Likewise.
35476 * include/grub/symbol.h: Likewise.
35477 * include/grub/term.h: Likewise.
35478 * include/grub/terminfo.h: Likewise.
35479 * include/grub/tparm.h: Likewise.
35480 * include/grub/types.h: Likewise.
35481 * include/grub/video.h: Likewise.
35482 * include/grub/efi/api.h: Likewise.
35483 * include/grub/efi/chainloader.h: Likewise.
35484 * include/grub/efi/console.h: Likewise.
35485 * include/grub/efi/console_control.h: Likewise.
35486 * include/grub/efi/disk.h: Likewise.
35487 * include/grub/efi/efi.h: Likewise.
35488 * include/grub/efi/pe32.h: Likewise.
35489 * include/grub/efi/time.h: Likewise.
35490 * include/grub/i386/linux.h: Likewise.
35491 * include/grub/i386/setjmp.h: Likewise.
35492 * include/grub/i386/types.h: Likewise.
35493 * include/grub/i386/efi/kernel.h: Likewise.
35494 * include/grub/i386/efi/loader.h: Likewise.
35495 * include/grub/i386/efi/time.h: Likewise.
35496 * include/grub/i386/pc/biosdisk.h: Likewise.
35497 * include/grub/i386/pc/boot.h: Likewise.
35498 * include/grub/i386/pc/chainloader.h: Likewise.
35499 * include/grub/i386/pc/console.h: Likewise.
35500 * include/grub/i386/pc/init.h: Likewise.
35501 * include/grub/i386/pc/kernel.h: Likewise.
35502 * include/grub/i386/pc/loader.h: Likewise.
35503 * include/grub/i386/pc/memory.h: Likewise.
35504 * include/grub/i386/pc/multiboot.h: Likewise.
35505 * include/grub/i386/pc/serial.h: Likewise.
35506 * include/grub/i386/pc/time.h: Likewise.
35507 * include/grub/i386/pc/vbe.h: Likewise.
35508 * include/grub/i386/pc/vbeblit.h: Likewise.
35509 * include/grub/i386/pc/vbefill.h: Likewise.
35510 * include/grub/i386/pc/vbeutil.h: Likewise.
35511 * include/grub/i386/pc/vga.h: Likewise.
35512 * include/grub/ieee1275/ieee1275.h: Likewise.
35513 * include/grub/ieee1275/ofdisk.h: Likewise.
35514 * include/grub/powerpc/libgcc.h: Likewise.
35515 * include/grub/powerpc/setjmp.h: Likewise.
35516 * include/grub/powerpc/types.h: Likewise.
35517 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
35518 * include/grub/powerpc/ieee1275/console.h: Likewise.
35519 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
35520 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
35521 * include/grub/powerpc/ieee1275/loader.h: Likewise.
35522 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
35523 * include/grub/powerpc/ieee1275/time.h: Likewise.
35524 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
35525 * include/grub/sparc64/libgcc.h: Likewise.
35526 * include/grub/sparc64/setjmp.h: Likewise.
35527 * include/grub/sparc64/types.h: Likewise.
35528 * include/grub/sparc64/ieee1275/console.h: Likewise.
35529 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
35530 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
35531 * include/grub/sparc64/ieee1275/time.h: Likewise.
35532 * include/grub/util/biosdisk.h: Likewise.
35533 * include/grub/util/getroot.h: Likewise.
35534 * include/grub/util/lvm.h: Likewise.
35535 * include/grub/util/misc.h: Likewise.
35536 * include/grub/util/raid.h: Likewise.
35537 * include/grub/util/resolve.h: Likewise.
35538 * io/gzio.c: Likewise.
35539 * kern/device.c: Likewise.
35540 * kern/disk.c: Likewise.
35541 * kern/dl.c: Likewise.
35542 * kern/elf.c: Likewise.
35543 * kern/env.c: Likewise.
35544 * kern/err.c: Likewise.
35545 * kern/file.c: Likewise.
35546 * kern/fs.c: Likewise.
35547 * kern/loader.c: Likewise.
35548 * kern/main.c: Likewise.
35549 * kern/misc.c: Likewise.
35550 * kern/mm.c: Likewise.
35551 * kern/parser.c: Likewise.
35552 * kern/partition.c: Likewise.
35553 * kern/rescue.c: Likewise.
35554 * kern/term.c: Likewise.
35555 * kern/efi/efi.c: Likewise.
35556 * kern/efi/init.c: Likewise.
35557 * kern/efi/mm.c: Likewise.
35558 * kern/i386/dl.c: Likewise.
35559 * kern/i386/efi/init.c: Likewise.
35560 * kern/i386/efi/startup.S: Likewise.
35561 * kern/i386/pc/init.c: Likewise.
35562 * kern/i386/pc/lzo1x.S: Likewise.
35563 * kern/i386/pc/startup.S: Likewise.
35564 * kern/ieee1275/ieee1275.c: Likewise.
35565 * kern/powerpc/cache.S: Likewise.
35566 * kern/powerpc/dl.c: Likewise.
35567 * kern/powerpc/ieee1275/cmain.c: Likewise.
35568 * kern/powerpc/ieee1275/crt0.S: Likewise.
35569 * kern/powerpc/ieee1275/init.c: Likewise.
35570 * kern/powerpc/ieee1275/openfw.c: Likewise.
35571 * kern/sparc64/cache.S: Likewise.
35572 * kern/sparc64/dl.c: Likewise.
35573 * kern/sparc64/ieee1275/init.c: Likewise.
35574 * kern/sparc64/ieee1275/openfw.c: Likewise.
35575 * loader/efi/chainloader.c: Likewise.
35576 * loader/efi/chainloader_normal.c: Likewise.
35577 * loader/i386/efi/linux.c: Likewise.
35578 * loader/i386/efi/linux_normal.c: Likewise.
35579 * loader/i386/pc/chainloader.c: Likewise.
35580 * loader/i386/pc/chainloader_normal.c: Likewise.
35581 * loader/i386/pc/linux.c: Likewise.
35582 * loader/i386/pc/linux_normal.c: Likewise.
35583 * loader/i386/pc/multiboot.c: Likewise.
35584 * loader/i386/pc/multiboot_normal.c: Likewise.
35585 * loader/powerpc/ieee1275/linux.c: Likewise.
35586 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
35587 * normal/arg.c: Likewise.
35588 * normal/cmdline.c: Likewise.
35589 * normal/command.c: Likewise.
35590 * normal/completion.c: Likewise.
35591 * normal/execute.c: Likewise.
35592 * normal/function.c: Likewise.
35593 * normal/lexer.c: Likewise.
35594 * normal/main.c: Likewise.
35595 * normal/menu.c: Likewise.
35596 * normal/menu_entry.c: Likewise.
35597 * normal/misc.c: Likewise.
35598 * normal/parser.y: Likewise.
35599 * normal/script.c: Likewise.
35600 * normal/i386/setjmp.S: Likewise.
35601 * normal/powerpc/setjmp.S: Likewise.
35602 * normal/sparc64/setjmp.S: Likewise.
35603 * partmap/acorn.c: Likewise.
35604 * partmap/amiga.c: Likewise.
35605 * partmap/apple.c: Likewise.
35606 * partmap/gpt.c: Likewise.
35607 * partmap/pc.c: Likewise.
35608 * partmap/sun.c: Likewise.
35609 * term/gfxterm.c: Likewise.
35610 * term/terminfo.c: Likewise.
35611 * term/efi/console.c: Likewise.
35612 * term/i386/pc/console.c: Likewise.
35613 * term/i386/pc/serial.c: Likewise.
35614 * term/i386/pc/vesafb.c: Likewise.
35615 * term/i386/pc/vga.c: Likewise.
35616 * term/ieee1275/ofconsole.c: Likewise.
35617 * util/biosdisk.c: Likewise.
35618 * util/console.c: Likewise.
35619 * util/genmoddep.c: Likewise.
35620 * util/getroot.c: Likewise.
35621 * util/grub-emu.c: Likewise.
35622 * util/grub-mkdevicemap.c: Likewise.
35623 * util/grub-probe.c: Likewise.
35624 * util/lvm.c: Likewise.
35625 * util/misc.c: Likewise.
35626 * util/raid.c: Likewise.
35627 * util/resolve.c: Likewise.
35628 * util/update-grub.in: Likewise.
35629 * util/update-grub_lib.in: Likewise.
35630 * util/grub.d/00_header.in: Likewise.
35631 * util/grub.d/10_hurd.in: Likewise.
35632 * util/grub.d/10_linux.in: Likewise.
35633 * util/i386/efi/grub-install.in: Likewise.
35634 * util/i386/efi/grub-mkimage.c: Likewise.
35635 * util/i386/pc/grub-install.in: Likewise.
35636 * util/i386/pc/grub-mkimage.c: Likewise.
35637 * util/i386/pc/grub-mkrescue.in: Likewise.
35638 * util/i386/pc/grub-setup.c: Likewise.
35639 * util/i386/pc/misc.c: Likewise.
35640 * util/powerpc/ieee1275/grub-install.in: Likewise.
35641 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
35642 * util/powerpc/ieee1275/misc.c: Likewise.
35643 * video/bitmap.c: Likewise.
35644 * video/video.c: Likewise.
35645 * video/i386/pc/vbe.c: Likewise.
35646 * video/i386/pc/vbeblit.c: Likewise.
35647 * video/i386/pc/vbefill.c: Likewise.
35648 * video/i386/pc/vbeutil.c: Likewise.
35649 * video/readers/tga.c: Likewise.
35650
3572d015 356512007-07-02 Robert Millan <rmh@aybabtu.com>
35652
35653 * conf/i386-efi.rmk: Replace obsolete reference to
35654 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
35655 with util/getroot.c.
35656 * conf/powerpc-ieee1275.rmk: Likewise.
35657 * conf/sparc64-ieee1275.rmk: Likewise.
35658
35659 * util/grub-emu.c (main): Fix unchecked pointer handling.
35660
2c2a681b 356612007-07-02 Robert Millan <rmh@aybabtu.com>
35662
35663 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
35664 invocation to fail, in order to support partition-less media.
35665
35666 * util/i386/pc/grub-install.in: Likewise.
35667
35668 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
35669 which fs or partmap modules are needed (akin to its sister scripts).
35670
35671 Also use grub-probe to get rid of unportable /proc/mounts check.
35672
35673 Print the same informational message that the other scripts do, before
fe6b695a 35674 exiting.
2c2a681b 35675
6193defe 356762007-06-23 Robert Millan <rmh@aybabtu.com>
35677
fe6b695a 35678 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 35679 a font file can be found and, if so, echo the GRUB path to it.
35680
35681 * util/update-grub.in: Handle multiple terminals depending on user
35682 input, platform availability and font file presence. Propagate
35683 variables of our findings to /etc/grub.d/ children.
35684
35685 * util/grub.d/00_header.in: Handle multiple terminals, based on
35686 environment setup by update-grub.
35687
eface1dc 356882007-06-23 Robert Millan <rmh@aybabtu.com>
35689
ba50d28f 35690 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 35691
bf697e28 356922007-06-21 Robert Millan <rmh@aybabtu.com>
35693
35694 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
35695 indicate end of data section in kernel image.
35696 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
35697 GRUB_KERNEL_MACHINE_DATA_END.
35698
35699 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
35700 space for it.
35701 * kern/i386/efi/startup.S: Likewise.
35702
35703 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
35704 during image generation. Implement --prefix option to override this
35705 patch.
35706 * util/i386/efi/grub-mkimage.c: Likewise.
35707
35708 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
35709 code to make path relative to its root into a separate function.
35710
35711 * util/i386/pc/grub-install.in: Use newly provided
35712 make_system_path_relative_to_its_root() to convert ${grubdir}, then
35713 pass the result to grub-install --prefix.
35714
baa574b4 357152007-06-13 Robert Millan <rmh@aybabtu.com>
35716
35717 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
35718 DEFAULT_DEVICE_MAP.
35719 * util/grub-emu.c: Use above definitions from misc.h instead of
35720 defining them.
35721 * util/grub-mkdevicemap.c: Likewise.
35722 * util/i386/pc/grub-setup.c: Likewise.
35723 * util/grub-probe.c: Likewise.
35724 (probe): Abort with grub_util_error() when either
35725 grub_guess_root_device or grub_util_get_grub_dev fails.
35726
0215dcbf 357272007-06-12 Robert Millan <rmh@aybabtu.com>
35728
35729 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
35730 "pager" assignment.
35731 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
35732 "pcdata".
35733 * util/grub-probe.c (probe): Likewise for "drive_name".
35734
8af2ab7b 357352007-06-11 Robert Millan <rmh@aybabtu.com>
35736
35737 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
35738 not just the cdrom one.
35739
59d31694 357402007-06-11 Robert Millan <rmh@aybabtu.com>
35741
35742 * util/i386/pc/grub-mkrescue.in: Add "set -e".
35743 Add --pkglibdir=DIR option to override pkglibdir.
35744 Mention --image-type=TYPE in help output.
35745 Fix --grub-mkimage (it was a no-op).
fe6b695a 35746 Abort gracefully when no parameter is given.
59d31694 35747
7ee367e4 357482007-06-11 Robert Millan <rmh@aybabtu.com>
35749
35750 * util/i386/pc/grub-mkrescue.in: New file.
35751 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
35752 * Makefile.in: Handle bin_SCRIPTS.
35753
29b0ed46 357542007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
35755
35756 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
35757 list of video modes.
35758
c0f90770 357592007-06-06 Robert Millan <rmh@aybabtu.com>
35760
35761 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
35762 file doesn't exist, or if it is in a filesystem grub can't read.
35763
35764 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
35765 not abort if GRUB_DRIVE could not be defined. Rearrange generated
35766 header comment to fit in 80 columns when the variables are resolved.
35767
35768 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
35769 could be identified by update-grub. Remove redundant check for
fe6b695a 35770 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 35771 handles that).
35772
fb36dc26 357732007-06-04 Robert Millan <rmh@aybabtu.com>
35774
35775 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
35776
35777 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
35778
35779 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
35780
0c68c93e 357812007-06-04 Robert Millan <rmh@aybabtu.com>
35782
35783 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
35784
35785 * include/grub/partition.h: Declare grub_apple_partition_map_init and
35786 grub_apple_partition_map_fini.
35787
35788 * util/biosdisk.c
35789 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
35790 to access >2 TiB disks).
35791
35792 Print disk->total_sectors with %llu instead of %lu, since this
35793 variable is always 64-bit (prevents wrong disk size from being displayed
35794 on either >2 TiB disk or big-endian CPU).
35795
35796 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
35797 into a generic case that supports all (sane) partition maps.
35798
35799 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
35800 breaks big-endian.
35801
35802 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
35803 and grub_apple_partition_map_fini() after that.
35804
0f23eb74 358052007-06-01 Robert Millan <rmh@aybabtu.com>
35806
35807 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
35808
35809 * util/grub.d/00_header.in: Only enable gfxterm when
35810 convert_system_path_to_grub_path() succeeds.
35811
42c71976 358122007-05-20 Robert Millan <rmh@aybabtu.com>
35813
35814 * util/update-grub_lib.in: New file.
35815 * DISTLIST: Add update-grub_lib.in.
35816 * conf/common.rmk: Generate update-grub_lib and install it in
35817 $(lib_DATA).
35818 * Makefile.in: Add install routine for $(lib_DATA).
35819
35820 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
35821 function provided by update-grub_lib to support arbitrary paths of
35822 unifont.pff.
35823 * util/update-grub.in: Use convert_system_path_to_grub_path() to
35824 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
35825
5beb2291 358262007-05-19 Robert Millan <rmh@aybabtu.com>
35827
35828 * commands/i386/cpuid.c: New module.
35829 * DISTLIST: Add it.
35830 * conf/i386-efi.rmk: Enable cpuid.mod.
35831 * conf/i386-pc.rmk: Likewise.
35832
7262eca1 358332007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
35834
35835 * kern/disk.c (grub_disk_read): Check return value of
35836 grub_realloc().
35837
260ba823 358382007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
35839
35840 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
35841 arrays.
35842 * disk/raid.c (grub_raid_open): Likewise.
35843
1ecb6cf2 358442007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
35845
35846 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
35847 stack instead of on the heap.
35848
35849 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
35850 before doing a read on it.
35851
35852 * configure.ac: Only use -fno-stack-protector for the target
35853 environment.
f19dbdb7 35854
21c8cbb1 358552007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
35856
35857 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
35858 __attribute_ ((unused)) to mode_type argument.
35859
35860 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 35861
21c8cbb1 35862 * kern/misc.c (memcmp): Fix prototype.
35863
35864 * include/grub/partition.h [GRUB_UTIL]
35865 (grub_gpt_partition_map_init): Add prototype.
35866 (grub_gpt_partition_map_fini): Likewise.
35867
35868 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
35869 at the right place.
35870
35871 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
35872 (grub_fat_read_data): Likewise.
35873 (grub_fat_find_dir): Likewise.
35874
35875 * font/manager.c (find_glyph): Make table a const.
35876 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 35877
849d55d3 358782007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
35879
35880 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
35881 code, first search for device in /dev/mapper, then in /dev.
35882 (grub_util_get_grub_dev): New function.
35883 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
35884 prototype.
35885 * util/grub-probe.c (probe): Remove check for RAID, call
35886 grub_util_get_grub_dev() instead of
35887 grub_util_biosdisk_get_grub_dev().
35888 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
35889 grub_util_biosdisk_get_grub_dev().
35890 * util/i386/pc/grub-setup.c (main): Likewise.
35891
8fff7c2f 358922007-05-16 Robert Millan <rmh@aybabtu.com>
35893
35894 * DISTLIST: Update for the latest changes.
35895 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
35896 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
35897 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
35898 grub/util/biosdisk.h.
35899 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
35900 grub/util/biosdisk.h.
35901
48e12b52 359022007-05-16 Robert Millan <rmh@aybabtu.com>
35903
35904 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
35905
46b9d128 359062007-05-16 Robert Millan <rmh@aybabtu.com>
35907
35908 * util/i386/efi/grub-install.in: New.
35909 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
35910 newly added grub-install.
35911 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
35912 include.
35913 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
35914 grub/util/biosdisk.h.
35915 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
35916 grub/util/biosdisk.h.
35917
2d1a40a9 359182007-05-16 Robert Millan <rmh@aybabtu.com>
35919
35920 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
35921 * include/grub/util/biosdisk.h: ... here.
35922 * util/i386/pc/biosdisk.c: Moved to ...
35923 * util/biosdisk.c: ... here.
35924 * util/i386/pc/getroot.c: Moved to ...
35925 * util/getroot.c: ... here.
35926 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
35927 * util/grub-mkdevicemap.c: ... here.
35928 * util/i386/pc/grub-probe.c: Moved to ...
35929 * util/grub-probe.c: ... here.
35930
9e26e3bc 359312007-05-15 Robert Millan <rmh@aybabtu.com>
35932
35933 * util/update-grub.in: Remove duplicated line in grub.cfg header
35934 message.
35935
57f96397 359362007-05-13 Robert Millan <rmh@aybabtu.com>
35937
35938 * util/update-grub.in: Fix a few assumptions about the devices holding
35939 /, /boot and /boot/grub being the same.
35940 * util/grub.d/00_header.in: Likewise.
35941 * util/grub.d/10_hurd.in: Likewise.
35942 * util/grub.d/10_linux.in: Likewise.
35943
35944 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
35945 patterns. Use that to define the `.old' suffix as older than `'.
35946
35947 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
35948
35949 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
35950 the grub.cfg header message.
35951
2e610d62 359522007-05-11 Robert Millan <rmh@aybabtu.com>
35953
35954 * util/update-grub.in: Create device.map if it doesn't already exist,
35955 before attempting to run grub-probe.
35956 Check for grub-probe and grub-mkdevicemap with the same code
35957 grub-install is using.
35958 Remove test mode.
35959
3f6a10ef 359602007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
35961
35962 * Makefile.in: Add the datarootdir autoconf variable.
35963
02e7b75e 359642007-05-09 Robert Millan <rmh@aybabtu.com>
35965
35966 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 35967 fail gracefully if dev->disk->partition == NULL.
02e7b75e 35968
75f396cc 359692007-05-07 Robert Millan <rmh@aybabtu.com>
35970
35971 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
35972 determine partition map module.
35973 * util/i386/pc/grub-install.in: Use this feature to decide which
35974 partition module to load, instead of hardcoding pc and gpt.
35975
da65cb36 359762007-05-07 Robert Millan <rmh@aybabtu.com>
35977
35978 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
35979 source directory differs from build directory.
35980
b57d6a91 359812007-05-05 Robert Millan <rmh@aybabtu.com>
35982
35983 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
35984 initialisation.
35985
509d00f1 359862007-05-05 Robert Millan <rmh@aybabtu.com>
35987
35988 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
35989
c48f23ef 359902007-05-05 Robert Millan <rmh@aybabtu.com>
35991
35992 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
35993 command-line arguments via ${GRUB_CMDLINE_LINUX}.
35994
20b97658 359952007-05-05 Robert Millan <rmh@aybabtu.com>
35996
35997 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
35998 (grub_probe_SOURCES): Likewise.
35999 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
36000 GPT and initialize dos_part and bsd_part accordingly.
36001 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
36002 install_bsd_part.
36003 (main): Activate gpt module for use during partition identification,
36004 and deactivate it afterwards.
36005 * util/i386/pc/grub-install.in: Add gpt module to core.img.
36006 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
36007 partition identification, and deactivate it afterwards.
36008
99123174 360092007-05-05 Robert Millan <rmh@aybabtu.com>
36010
36011 * term/i386/pc/console.c (grub_console_fini): Call
36012 grub_term_set_current() before grub_term_unregister().
36013
ebd97f6e 360142007-05-04 Robert Millan <rmh@aybabtu.com>
36015
36016 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
36017 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
36018 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
36019 and update-grub_DATA.
36020 * conf/common.rmk: Build and install update-grub components.
36021 * conf/common.mk: Regenerate.
36022 * util/update-grub.in: New. Core of update-grub.
36023 * util/grub.d/00_header.in: New. Generates grub.cfg header.
36024 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
36025 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
36026 * util/grub.d/README: New. Document grub.d directory layout.
36027
b06a264d 360282007-05-01 Robert Millan <rmh@aybabtu.com>
36029
36030 * util/grub-emu.c: Move initialization functions
36031 grub_util_biosdisk_init() and grub_init_all() before
36032 grub_util_biosdisk_get_grub_dev(), which relies on them.
36033
41f0050e 360342007-04-19 Robert Millan <rmh@aybabtu.com>
36035
36036 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
36037 it is used later.
36038
04582bb3 360392007-04-18 Jerone Young <jerone@gmail.com>
36040
f19dbdb7 36041 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 36042 stanza.
36043
08db4632 360442007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 36045
08db4632 36046 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
36047 continue on and look for device node with real device name.
36048
801b76be 360492007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 36050
fe6b695a 36051 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 36052 ability.
36053 * Makefile.in: Add autoconf package transformation code.
36054 * util/i386/pc/grub-install.in: Likewise.
36055 * util/powerpc/ieee1275/grub-install.in: Likewise.
36056
6795c4e1 360572007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
36058
36059 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
36060 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
36061 (EXT2_REVISION): Likewise.
36062 (EXT2_INODE_SIZE): Likewise.
36063 (struct grub_ext2_block_group): Added a missing member
36064 "used_dirs".
36065 (grub_ext2_read_inode): Divide by the inode size in a superblock
36066 instead of 128 to obtain INODES_PER_BLOCK.
36067 Use the macro EXT2_INODE_SIZE instead of directly using
36068 SBLOCK->INODE_SIZE.
36069
d70af616 360702007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
36071
36072 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
36073 superblock instead of the structure size to compute an
36074 offset. This fixes the problem that GRUB could not read a
36075 filesystem when inode size is different from 128-byte.
36076
3b801603 360772007-03-05 Marco Gerards <marco@gnu.org>
36078
36079 * normal/main.c (read_config_file): When "menu" is not set, create
36080 an initial context.
36081
4785bfe4 360822007-02-21 Hollis Blanchard <hollis@penguinppc.org>
36083
36084 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
36085 (HEAP_LIMIT): New macro.
36086 (grub_claim_heap): Claim memory up to `heaplimit'.
36087
a0cbb023 360882007-02-21 Hollis Blanchard <hollis@penguinppc.org>
36089
36090 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
36091 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
36092 (_start): Likewise.
36093 (grub_arch_modules_addr): Return address after `_end'.
36094 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
36095 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
36096 (add_segments): Calculate `_end' from phdr size and location.
36097 (ALIGN_UP): Moved to ...
36098 * include/grub/misc.h: here.
36099 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
36100 New macro.
36101 (GRUB_IEEE1275_MODULE_BASE): Removed.
36102
fd7d8eba 361032007-02-20 Hollis Blanchard <hollis@penguinppc.org>
36104
36105 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
36106 loop boundary.
36107
9b09e6fc 361082007-02-20 Hollis Blanchard <hollis@penguinppc.org>
36109
36110 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
36111 All users updated.
36112 (grub_elf64_load_hook_t): Likewise.
36113 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
36114 debug output.
36115
3ce27299 361162007-02-20 Hollis Blanchard <hollis@penguinppc.org>
36117
36118 * kern/mm.c: Update copyright.
36119 (grub_mm_debug): Correct syntax error.
36120 (grub_mm_dump_free): New function.
36121 (grub_debug_free): Call `grub_free'.
36122 * include/grub/mm.h: Update copyright.
36123 (grub_mm_dump_free): Add declaration.
36124
077d5fee 361252007-02-12 Hollis Blanchard <hollis@penguinppc.org>
36126
36127 * include/grub/ieee1275/ieee1275.h: Update copyright.
36128 * kern/powerpc/ieee1275/init.c: Likewise.
36129 * kern/powerpc/ieee1275/openfw.c: Likewise.
36130
36131 * loader/powerpc/ieee1275/linux.c: Likewise.
36132 * include/grub/elfload.h: Likewise.
36133 * kern/elf.c: Likewise.
36134 (grub_elf32_load): Pass `base' and `size' parameters. Update all
36135 callers.
36136 (grub_elf64_load): Likewise.
36137 (grub_elf32_load_segment): Move to a nested function.
36138 (grub_elf64_load_segment): Likewise.
36139
dc946850 361402007-02-12 Hollis Blanchard <hollis@penguinppc.org>
36141
36142 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
36143 prototype.
36144 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
36145 (grub_heap_len): Likewise.
36146 (HEAP_SIZE): New macro.
36147 (grub_claim_heap): New function.
36148 (grub_machine_init): Don't claim heap directly. Call
36149 `grub_claim_heap'.
36150 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
36151 (grub_available_iterate): New function.
36152
baa2a121 361532007-02-03 Thomas Schwinge <tschwinge@gnu.org>
36154
36155 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
36156 * configure.ac: Use it for testing the HOST and TARGET compilers.
36157
4fe9862e 361582006-12-13 Thomas Schwinge <tschwinge@gnu.org>
36159
36160 * Makefile.in (enable_grub_emu): New variable.
36161 * configure.ac (--enable-grub-emu): New option.
36162 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
36163 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
36164 * conf/i386-pc.rmk: Likewise.
36165 * conf/powerpc-ieee1275.rmk: Likewise.
36166 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
36167
a8aa5762 361682006-12-12 Marco Gerards <marco@gnu.org>
36169
36170 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
36171
36172 * kern/env.c (grub_env_unset): Don't free the member `value' when
36173 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
36174 pointer.
36175
36176 * normal/main.c (current_menu): Removed.
36177 (free_menu): Unset the `menu' environment variable.
36178 (grub_normal_menu_addentry): Make use of the environment variable
36179 `menu', instead of using the global `current_menu'. Allocate
36180 memory for the sourcecode of this entry.
36181 (read_config_file): New argument `nested', changed all callers.
36182 Only in the case of a new context, initialize a new menu. Set the
36183 `menu' environment variable.
36184 (grub_normal_execute): Don't set and unset the environment
36185 variable `menu' here anymore. Only free the menu when leaving the
36186 context.
36187
36188 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
36189 leak.
36190
957b3a3e 361912006-12-11 Marco Gerards <marco@gnu.org>
36192
36193 * normal/menu_entry.c (run): Fix off by one bug so the last line
36194 is executed. Move the loader check to outside the loop.
36195
ef875714 361962006-12-08 Hollis Blanchard <hollis@penguinppc.org>
36197
36198 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
36199
4e739985 362002006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
36201
36202 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
36203 the number of sectors. Reported by Andrey Shuvikov
36204 <mr_hyro@yahoo.com>.
f19dbdb7 36205
790707f2 362062006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
36207
36208 * kern/disk.c (grub_disk_read): When there is a read error, always
36209 try to read only the necessary data.
f19dbdb7 36210
790707f2 36211 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
36212 disk/raid.c.
36213 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
36214 prototype.
36215 [GRUB_UTIL] (grub_raid_fini): Likewise.
36216 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 36217 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 36218 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
36219 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
36220 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
36221 and grub_raid_fini().
f19dbdb7 36222
03e58196 362232006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
36224
36225 * include/grub/types.h (__unused): Rename to UNUSED.
36226 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
36227 (grub_elf64_size): Likewise.
f19dbdb7 36228
ae4f23bf 362292006-11-03 Hollis Blanchard <hollis@penguinppc.org>
36230
36231 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
36232 grub_error_push and grub_error_pop in the error-handling path.
36233 (grub_elf32_load_segment): Only call grub_file_read with non-zero
36234 length.
36235
2166cc83 362362006-11-03 Hollis Blanchard <hollis@penguinppc.org>
36237
36238 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
36239 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36240 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36241 (kernel_elf_SOURCES): Likewise.
36242 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
36243 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
36244 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36245 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36246 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
36247 (elf_mod_SOURCES): New variable.
36248 (elf_mod_CFLAGS): Likewise.
36249 (elf_mod_LDFLAGS): Likewise.
36250 * include/grub/types.h (__unused): New macro.
36251 * include/grub/elfload.h: New file.
36252 * kern/elf.c: Likewise.
36253 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
36254 (ELF32_LOADMASK): New macro.
36255 (ELF64_LOADMASK): Likewise.
36256 (vmlinux): Removed.
36257 (grub_linux_load32): New function.
36258 (grub_linux_load64): Likewise.
36259 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
36260 Use grub_elf_t instead of grub_file_t.
36261
a09d5aa5 362622006-11-02 Hollis Blanchard <hollis@penguinppc.org>
36263
36264 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
36265 `catch_result' to struct set_color_args.
36266
d976fc51 362672006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
36268
36269 * normal/menu.c: Include grub/script.h.
36270 * normal/menu_entry.c: Likewise.
36271 * include/grub/normal.h: Do not include grub/script.h.
36272
67507549 362732006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36274
36275 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
36276
69203a99 362772006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36278
36279 * kern/disk.c (grub_disk_open): Print debug messages when opening a
36280 disk.
36281 (grub_disk_close): Print debug messages when closing a disk.
36282 (grub_disk_read): Print debug messages when disk read fails.
36283 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
36284 filesystem type.
36285 * kern/partition.c: Include misc.h.
36286 (grub_partition_iterate): Print debug messages when detecting
36287 partition type.
36288
e2b8278c 362892006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36290
36291 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
36292 is negative.
36293 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
36294
97b2f2ff 362952006-10-26 Hollis Blanchard <hollis@penguinppc.org>
36296
36297 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
36298 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
36299
6555d655 363002006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
36301
36302 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
36303 instead of sizeof(lv). Patch by Michael Guntsche.
36304
4d42b77f 363052006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
36306
36307 * disk/lvm.c: Rename VGS to VG_LIST.
36308 (grub_lvm_iterate): Change VGS->LV to VG-LV.
36309 (grub_lvm_open): Likewise.
36310 Thanks to Michael Guntsche for finding this bug.
36311
5d74d927 363122006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36313
36314 * configure.ac (AC_INIT): Bumped to 1.95.
36315
a1bb27e4 363162006-10-14 Robert Millan <rmh@aybabtu.com>
36317
36318 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
36319 with "/dev/.static/dev/md".
36320
e0994b8b 363212006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
36322
36323 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
36324 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
36325 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
36326 DRIVE_NAME are always freed.
36327
36328 * util/i386/pc/biosdisk.c (make_device_name): Add one into
36329 DOS_PART, as a DOS partition is counted from one instead of zero
36330 now. Reported by Robert Millan.
36331
ddd5cee9 363322006-10-14 Robert Millan <rmh@aybabtu.com>
36333
36334 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
36335 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
36336 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
36337 string returned by grub_guess_root_device.
36338 * util/i386/pc/grub-setup.c: Likewise.
36339 * util/i386/pc/grub-probefs.c: Likewise.
36340
36341 * util/i386/pc/grub-probefs.c: Rename to ...
36342 * util/i386/pc/grub-probe.c: ... this.
36343 * DISTLIST: Remove grub-probefs, add grub-probe.
36344 * conf/i386-efi.rmk: Likewise.
36345 * conf/i386-pc.rmk: Likewise.
36346 * util/i386/pc/grub-install.in: Likewise.
36347
36348 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
36349 choose which information we want to print.
36350
2b002173 363512006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
36352
36353 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
36354 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
36355 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
36356 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
36357 video/readers/tga.c and video/i386/pc/vbeutil.c.
36358
363592006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
36360
36361 Added support for RAID and LVM.
f19dbdb7 36362
2b002173 36363 * disk/lvm.c: New file.
36364 * disk/raid.c: Likewise.
36365 * include/grub/lvm.h: Likewise.
f19dbdb7 36366 * include/grub/raid.h: Likewise.
2b002173 36367 * include/grub/util/lvm.h: Likewise.
36368 * include/grub/util/raid.h: Likewise.
36369 * util/lvm.c: Likewise.
36370 * util/raid.c: Likewise.
36371
36372 * include/grub/disk.h (grub_disk_dev_id): Add
36373 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
36374 (grub_disk_get_size): New prototype.
36375 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
36376 returns a partition.
36377 (grub_disk_get_size): New function.
f19dbdb7 36378
2b002173 36379 * kern/i386/pc/init.c (make_install_device): Copy the prefix
36380 verbatim if grub_install_dos_part is -2.
36381
36382 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
36383 and LVM devices.
36384
36385 * util/i386/pc/grub-setup.c (setup): New argument
36386 MUST_EMBED. Force embedding of GRUB when the argument is
36387 true. Close FILE before returning.
36388 (main): Add support for RAID and LVM.
f19dbdb7 36389
2b002173 36390 * conf/common.rmk: Add RAID and LVM modules.
36391 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
36392 util/lvm.c.
36393 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
36394
36395 * kern/misc.c (grub_strstr): New function.
36396 * include/grub/misc.h (grub_strstr): New prototype.
36397
050548d0 363982006-10-10 Tristan Gingold <tristan.gingold@bull.net>
36399
36400 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
36401
da849d2d 364022006-10-05 Tristan Gingold <tristan.gingold@bull.net>
36403
36404 * kern/misc.c (grub_strtoull): Guess the base only if not
36405 specified.
36406
97b2f2ff 364072006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 36408
36409 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
36410 PowerMac support.
36411
97b2f2ff 364122006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 36413
36414 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
36415
36416 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
36417 Remove `flags' argument. All callers changed.
36418 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
36419 (IEEE1275_IHANDLE_INVALID): New variable.
36420 (IEEE1275_CELL_INVALID): New variable.
36421 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
36422 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
36423 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
36424 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
36425 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
36426 codes from Open Firmware. All callers updated.
36427 (grub_ieee1275_next_property): Directly return Open Firmware return
36428 code.
36429 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36430 Standardize error checking from `grub_ieee1275_get_property'.
36431 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
36432 `devalias' to `aliases'. Correct comments. Consolidate error paths.
36433
97b2f2ff 364342006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 36435
36436 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
36437 `instance_to_package_args' to `instance_to_path_args'.
36438
36439 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
36440 `grub_ieee1275_chosen'.
36441
36442 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
36443 `grub_ieee1275_interpret'.
36444
97b2f2ff 364452006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 36446
36447 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
36448
97b2f2ff 364492006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 36450
36451 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
36452 (__cmpdi): Likewise.
36453
36454 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
36455 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
36456 `grub_ssize_t'.
36457
02bb8acc 36458 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 36459
36460 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
36461 to type `grub_ssize_t'.
36462 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
36463
7f9a8531 364642006-09-22 Marco Gerards <marco@gnu.org>
36465
36466 * normal/script.c (grub_script_create_cmdmenu): Skip leading
36467 newlines.
36468
b5ef1102 364692006-09-22 Marco Gerards <marco@gnu.org>
36470
36471 * commands/echo.c: New file.
36472
36473 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
36474
36475 * conf/common.rmk (echo_mod_SOURCES): New variable.
36476 (echo_mod_CFLAGS): Likewise.
36477 (echo_mod_LDFLAGS): Likewise.
36478
2cff3677 364792006-09-22 Marco Gerards <marco@gnu.org>
36480
36481 * normal/main.c (get_line): Malloc memory instead of using
36482 preallocated memory. Removed the arguments `cmdline' and
36483 `max_len'. Updated all callers.
36484
6ba4688b 364852006-09-22 Marco Gerards <marco@gnu.org>
36486
36487 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
36488 (normal_mod_DEPENDENCIES): Likewise.
36489
36490 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
36491 (normal_mod_DEPENDENCIES): Likewise.
36492
36493 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
36494
e02ac02c 364952006-09-22 Johan Rydberg <jrydberg@gnu.org>
36496
36497 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
36498 programs.
36499 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
36500 (normal_mod_DEPENDENCIES): Likewise.
36501 * conf/i386-pc.mk: Regenerate.
36502 * conf/i386-efi.mk: Likewise
36503 * conf/common.mk: Likewise.
36504 * conf/powerpc-ieee1275.mk: Likewise.
36505 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 36506
8d252e44 365072006-09-22 Robert Millan <rmh@aybabtu.com>
36508
36509 Sync with i386 version.
36510 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
36511 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
36512
209bf7ac 365132006-09-21 Robert Millan <rmh@aybabtu.com>
36514
36515 Import from GRUB Legacy (lib/device.c):
36516 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
36517 (init_device_map) [__linux__]: Add support for I2O devices.
36518
6b146090 365192006-09-14 Marco Gerards <marco@gnu.org>
36520
36521 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
36522 `-melf_i386'.
36523
e38600a8 365242006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 36525
36526 * util/i386/pc/grub-install.in: Skip menu.lst when removing
36527 /boot/grub/*.lst.
78fa1790 36528
2952da5d 36529 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 36530
2952da5d 36531 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
36532 before adding it to device.map.
36533
01b82a64 365342006-08-15 Johan Rydberg <jrydberg@gnu.org>
36535
fe6b695a 36536 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 36537 compiles a file; using the -MD option.
36538 * conf/common.mk: Regenerate.
36539 * conf/i386-pc.mk: Likewise.
36540 * conf/i386-efi.mk: Likewise.
36541 * conf/powerpc-ieee1275.mk: Likewise.
36542 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 36543
1064790d 365442006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
36545
36546 Move the prototypes of grub_setjmp and grub_longjmp to
36547 cpu/setjmp.h, so that each architecture may specify different
36548 attributes.
f19dbdb7 36549
1064790d 36550 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
36551 (grub_longjmp): Likewise.
36552 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
36553 (grub_longjmp): Likewise.
36554 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
36555 (grub_longjmp): Likewise.
36556
36557 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
36558 [!GRUB_UTIL] (grub_longjmp): Removed.
36559
29dda3ed 365602006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
36561
36562 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
36563 "color!" method does not return any value.
36564
ad2a06ed 365652006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36566
36567 * include/grub/bitmap.h: New file.
36568
36569 * include/grub/i386/pc/vbeutil.h: Likewise.
36570
36571 * video/bitmap.c: Likewise.
36572
36573 * video/readers/tga.c: Likewise.
36574
36575 * video/i386/pc/vbeutil.c: Likewise.
36576
36577 * commands/videotest.c: Code cleanup and updated to reflect to new
36578 video API.
36579
36580 * term/gfxterm.c: Likewise.
36581
36582 * video/video.c: Likewise.
36583
36584 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
36585 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
36586 (bitmap_mod_SOURCES): New entry.
36587 (bitmap_mod_CFLAGS): Likewise.
36588 (bitmap_mod_LDFLAGS): Likewise.
36589 (tga_mod_SOURCES): Likewise.
36590 (tga_mod_CFLAGS): Likewise.
36591 (tga_mod_LDFLAGS): Likewise.
36592
36593 * include/grub/video.h (grub_video_blit_operators): New enum type.
36594 (grub_video_render_target): Changed as forward declaration and moved
36595 actual definition to be video driver specific.
36596 (grub_video_adapter.blit_bitmap): Added blitting operator.
36597 (grub_video_adapter.blit_render_target): Likewise.
36598 (grub_video_blit_bitmap): Likewise.
36599 (grub_video_blit_render_target): Likewise.
36600
36601 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
36602 driver specific render target definition.
36603 (grub_video_vbe_map_rgba): Added driver internal helper.
36604 (grub_video_vbe_unmap_color): Updated to use
36605 grub_video_i386_vbeblit_info.
36606 (grub_video_vbe_get_video_ptr): Likewise.
36607
36608 * include/grub/i386/pc/vbeblit.h
36609 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
36610 grub_video_i386_vbeblit_info.
36611 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
36612 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
36613 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
36614 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
36615 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
36616 (grub_video_i386_vbeblit_index_index): Likewise.
36617 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
36618 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36619 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
36620 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
36621 operator.
36622 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
36623 operator.
36624
36625 * video/i386/pc/vbeblit.c: Updated to reflect changes on
36626 include/grub/i386/pc/vbeblit.h.
36627
36628 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
36629 Updated to use grub_video_i386_vbeblit_info.
36630 (grub_video_i386_vbefill_R8G8B8): Likewise.
36631 (grub_video_i386_vbefill_index): Likewise.
36632 (grub_video_i386_vbefill): Added generic filler.
36633
36634 * video/i386/pc/vbefill.c: Updated to reflect changes on
36635 include/grub/i386/pc/vbefill.h.
36636
36637 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
36638 grub_video_i386_vbeblit_info.
36639 (grub_video_vbe_unmap_color): Likewise.
36640 (grub_video_vbe_blit_glyph): Likewise.
36641 (grub_video_vbe_scroll): Likewise.
36642 (grub_video_vbe_draw_pixel): Removed function.
36643 (grub_video_vbe_get_pixel): Likewise.
36644 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
36645 updated code to use it.
36646 (common_blitter): Added common blitter for render target and bitmap.
36647 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
36648 (grub_video_vbe_blit_render_target): Likewise.
36649
bc8c036d 366502006-07-30 Johan Rydberg <jrydberg@gnu.org>
36651
36652 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
36653 is in text mode if there is no console control protocol instance
36654 available.
36655
684a8eff 366562006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36657
36658 * include/grub/video.h: Code cleanup.
36659
36660 * include/grub/i386/pc/vbe.h: Likewise.
36661
36662 * video/i386/pc/vbe.c: Likewise.
36663
36664 * video/i386/pc/vbeblit.c: Likewise.
36665
36666 * video/i386/pc/vbefill.c: Likewise.
36667
36668 * video/video.c: Likewise. Also added more comments.
36669
5915059b 366702006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36671
36672 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
36673 (struct grub_biosdisk_dap): Likewise.
36674
36675 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
36676 linkage settings for all functions.
36677
90ce5d56 366782006-07-12 Marco Gerards <marco@gnu.org>
36679
36680 * configure.ac (--enable-mm-debug): Fix typo.
36681
36682 * genkernsyms.sh.in: Use proper quoting for `CC'.
36683
43e7f879 366842006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
36685
36686 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
36687 (normal_mod_ASFLAGS): Remove "-m32".
36688
4889bdec 366892006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
36690
36691 * util/misc.c: Include config.h.
36692 [!HAVE_MEMALIGN]: Do not include malloc.h.
36693 (grub_memalign): Use posix_memalign, if present. Then, use
36694 memalign, if present. Otherwise, emit an error.
36695
36696 * util/grub-emu.c: Do not include malloc.h.
36697
36698 * include/grub/util/misc.h: Include unistd.h. This is required for
36699 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
36700 D. Eades III <hde@foobar-qux.org>.
36701
36702 * configure.ac (AC_GNU_SOURCE): Added.
36703 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
36704 type.
36705
fd39d4da 367062006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
36707
36708 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
36709 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
36710
b786f3b5 367112006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
36712
36713 * include/grub/types.h (grub_host_addr_t): Rename to
36714 grub_target_addr_t.
36715 (grub_host_off_t): Rename to grub_target_off_t.
36716 (grub_host_size_t): Rename to grub_target_size_t.
36717 (grub_host_ssize_t): Rename to grub_target_ssize_t.
36718 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
36719
36720 * include/grub/kernel.h (struct grub_module_header): Change type
36721 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
36722 (grub_module_info): Likewise.
f19dbdb7 36723
051988bb 367242006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
36725
36726 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
36727 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
36728 Velazquez <jesus.velazquez@gmail.com>.
36729
deae281b 367302006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
36731
36732 Count partitions from 1 instead of 0 in the string representation
36733 of partitions. Still use 0-based internally.
f19dbdb7 36734
deae281b 36735 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
36736 (sun_partition_map_iterate): Use grub_partition_t instead of
36737 struct grub_partition *. Cast DESC->START_CYLINDER to
36738 grub_uint64_t after converting the endian.
36739 (sun_partition_map_probe): Subtract 1 for PARTNUM.
36740 (sun_partition_map_get_name): Add 1 to P->INDEX.
36741
36742 * partmap/pc.c (grub_partition_parse): Subtract 1 for
36743 PCDATA->DOS_PART.
36744 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
36745
36746 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
36747 zero instead of one.
36748 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
36749 (gpt_partition_map_get_name): Add 1 into P->INDEX.
36750
36751 * partmap/apple.c (apple_partition_map_iterate): Change the type
36752 of POS to unsigned.
36753 (apple_partition_map_probe): Subtract 1 for PARTNUM.
36754 (apple_partition_map_get_name): Add 1 into P->INDEX.
36755
36756 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
36757 of POS to unsigned.
36758 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
36759 calculate the offset of a partition.
36760 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
36761 (amiga_partition_map_get_name): Add 1 into P->INDEX.
36762
36763 * partmap/acorn.c (acorn_partition_map_find): Change the type of
36764 SECTOR to grub_disk_addr_t.
36765 (acorn_partition_map_iterate): Likewise.
36766 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
36767 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
36768 top.
36769 (acorn_partition_map_get_name): Add 1 into P->INDEX.
36770
36771 * kern/i386/pc/init.c (make_install_device): Add 1 into
36772 GRUB_INSTALL_DOS_PART.
36773
36774 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
36775 conditional.
36776
524a1e6a 367772006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
36778
36779 Clean up the code to support 64-bit addressing in disks and
36780 files. This change is not enough for filesystems yet.
f19dbdb7 36781
524a1e6a 36782 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
36783 type of "start" to grub_uint64_t.
36784 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
36785 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
36786 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
36787 convert addresses.
36788
36789 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
36790 to grub_disk_addr_t.
36791
36792 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
36793 string.
36794
36795 * partmap/pc.c (pc_partition_map_iterate): Likewise.
36796
36797 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
36798 to char *.
36799
36800 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
36801
36802 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
36803
36804 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
36805
36806 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
36807 to grub_off_t, to detect an error from grub_file_seek.
36808 (grub_multiboot_load_elf32): Likewise.
36809
36810 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
36811 maximum unsigned long value when an overflow is detected.
36812 (grub_strtoull): New function.
36813 (grub_divmod64): Likewise.
36814 (grub_lltoa): use grub_divmod64.
36815
36816 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
36817 grub_disk_addr_t.
36818 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
36819 the pointer to next character. Use grub_strtoull instead of
36820 grub_strtoul.
36821 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
36822 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
36823 respectively.
36824
fe6b695a 36825 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 36826 return value is signed.
36827 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
36828 test if OFFSET is less than zero, as OFFSET is unsigned now.
36829
36830 * kern/disk.c (struct grub_disk_cache): Change the type of
36831 "sector" to grub_disk_addr_t.
36832 (grub_disk_cache_get_index): Change the type of SECTOR to
36833 grub_disk_addr_t. Calculate the hash with SECTOR casted to
36834 unsigned after shifting.
36835 (grub_disk_cache_invalidate): Change the type of SECTOR to
36836 grub_disk_addr_t.
36837 (grub_disk_cache_unlock): Likewise.
36838 (grub_disk_cache_store): Likewise.
36839 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
36840 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
36841 grub_disk_addr_t and grub_uint64_t, respectively.
36842 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
36843 body, as the value of OFFSET is tweaked by
36844 grub_disk_check_range. Change the types of START_SECTOR, LEN and
36845 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
36846 respectively.
36847 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
36848 body, as the value of OFFSET is tweaked by
36849 grub_disk_check_range. Change the types of LEN and N to
36850 grub_size_t.
36851
36852 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
36853 and "saved_offset" to grub_off_t.
36854 (test_header): Cast BUF to char *.
36855 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
36856 to char *.
36857 (grub_gzio_read): Change the types of OFFSET and SIZE to
36858 grub_off_t and grub_size_t, respectively.
36859
36860 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
36861 Removed.
36862 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
36863 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
36864 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
36865 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
36866 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
36867
36868 * include/grub/types.h (grub_off_t): Unconditionally set to
36869 grub_uint64_t.
36870 (grub_disk_addr_t): Changed to grub_uint64_t.
36871
36872 * include/grub/partition.h (struct grub_partition): Change the
36873 types of "start", "len" and "offset" to grub_disk_addr_t,
36874 grub_uint64_t and grub_disk_addr_t, respectively.
36875 (grub_partition_get_start): Return grub_disk_addr_t.
36876 (grub_partition_get_len): Return grub_uint64_t.
36877
36878 * include/grub/misc.h (grub_strtoull): New prototype.
36879 (grub_divmod64): Likewise.
36880
36881 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
36882 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
36883 grub_off_t, respectively.
36884 All callers and references changed.
36885
36886 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
36887 grub_size_t in "read".
36888 All callers and references changed.
36889
36890 * include/grub/file.h (struct grub_file): Change the types of
36891 "offset" and "size" to grub_off_t and grub_off_t,
36892 respectively. Change the type of SECTOR to grub_disk_addr_t in
36893 "read_hook".
36894 (grub_file_read): Change the type of LEN to grub_size_t.
36895 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
36896 grub_off_t.
36897 (grub_file_size): Return grub_off_t.
36898 (grub_file_tell): Likewise.
36899 All callers and references changed.
36900
36901 * include/grub/disk.h (struct grub_disk_dev): Change the types of
36902 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
36903 "write".
36904 (struct grub_disk): Change the type of "total_sectors" to
36905 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 36906 "read_hook".
524a1e6a 36907 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
36908 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
36909 (grub_disk_write): Likewise.
36910 All callers and references changed.
36911
36912 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
36913 char * for grub_strncmp to silence gcc.
36914 (grub_iso9660_mount): Likewise.
36915 (grub_iso9660_mount): Likewise.
36916 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
36917 return statement.
36918 (grub_iso9660_iterate_dir): Likewise.
36919 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
36920
36921 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
36922 LEN to grub_disk_addr_t and grub_size_t, respectively.
36923
36924 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
36925
36926 * fs/jfs.c (grub_jfs_read_file): Likewise.
36927
36928 * fs/minix.c (grub_jfs_read_file): Likewise.
36929
36930 * fs/sfs.c (grub_jfs_read_file): Likewise.
36931
36932 * fs/ufs.c (grub_jfs_read_file): Likewise.
36933
36934 * fs/xfs.c (grub_jfs_read_file): Likewise.
36935
36936 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
36937 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
36938 respectively.
36939
36940 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
36941 BLKNR to -1 instead of returning GRUB_ERRNO.
36942 (grub_ext2_read_file): Change the types of SECTOR and
36943 LEN to grub_disk_addr_t and grub_size_t, respectively.
36944
36945 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
36946 LEN to grub_disk_addr_t and grub_size_t, respectively.
36947
36948 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
36949 grub_file_read.
36950
36951 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
36952 string. Do not cast SECTOR explicitly.
36953
36954 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
36955 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
36956 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
36957 grub_disk_addr_t and grub_size_t, respectively. If the sector is
36958 over 2TB and LBA mode is not supported, raise an error.
36959 (get_safe_sectors): New function.
36960 (grub_biosdisk_read): Use get_safe_sectors.
36961 (grub_biosdisk_write): Likewise.
36962
36963 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
36964 (grub_efidisk_write): Likewise.
36965
36966 * disk/loopback.c (delete_loopback): Cosmetic changes.
36967 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
36968 correctly.
36969 (grub_loopback_open): Likewise.
36970 (grub_loopback_read): Likewise. Also, change the type of POS to
36971 grub_off_t, and fix the usage of grub_memset.
36972
36973 * commands/i386/pc/play.c: Include grub/machine/time.h.
36974
36975 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
36976 print FILE->SIZE.
36977
36978 * commands/configfile.c: Include grub/env.h.
36979
36980 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
36981 GRUB_ERRNO directly instead. Change the type of POS to
36982 grub_off_t. Follow the coding standard.
36983
36984 * commands/blocklist.c: Include grub/partition.h.
36985 (grub_cmd_blocklist): Return an error if the underlying device is
36986 not a disk. Take the starting sector of a partition into account,
36987 if a partition is used.
36988
36989 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
36990 a length field.
36991 (lba_mode): Support 64-bit addresses.
36992 (chs_mode): Likewise.
36993 (copy_buffer): Adapted to the new offsets of a length field and a
36994 segment field.
36995 (blocklist_default_start): Allocate 64-bit space.
36996
36997 * boot/i386/pc/boot.S (force_lba): Removed.
36998 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 36999 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 37000 space.
37001 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
37002 is useless.
37003 (lba_mode): Refactored to support a 64-bit address. More size
37004 optimization.
37005 (setup_sectors): Likewise.
37006
53af98ad 370072006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
37008
37009 * DISTLIST: Added include/grub/i386/linux.h. Removed
37010 include/grub/i386/pc/linux.h
37011
37012 * configure.ac (AC_INIT): Bumped to 1.94.
37013
37014 * config.guess: Updated from gnulib.
37015 * config.sub: Likewise.
37016 * install-sh: Likewise.
37017 * mkinstalldirs: Likewise.
37018
b4c1940a 370192006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
37020
37021 * conf/common.rmk (grub_modules_init.lst): Depended on
37022 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
37023 MODSRCFILES.
37024
37025 * genmk.rb (PModule::rule): Reverted the previous change.
37026
cfca1cfd 370272006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
37028
37029 * conf/common.rmk (grub_modules_init.lst): Depends on
37030 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
37031 that the target does not exist before producing.
37032 (grub_modules_init.h): Remove the target before generating.
37033 (grub_emu_init.c): Likewise.
37034
37035 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
37036
aa6d7826 370372006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
37038
37039 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
37040 for the target-specific tests. Make sure that we also have the
37041 up-to-date target variables for those tests.
37042
26c607b9 370432006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
37044
37045 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
37046 (PModule::rule): Likewise.
37047
0162321a 370482006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
37049
37050 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
37051 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
37052 target-specific flags should be prefixed.
37053 (PModule::rule): Likewise.
37054
6c826348 370552006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
37056
37057 * configure.ac (CMP): Check if cmp is available explicitly.
37058
b977bf01 370592006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
37060
37061 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
37062 (target_cpu): New variable.
37063 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 37064
b977bf01 37065 * util/i386/pc/grub-install.in (host_cpu): Removed.
37066 (target_cpu): New variable.
37067 (pkglibdir): Use target_cpu instead of host_cpu.
37068
37069 * util/genmoddep.c: Removed.
f19dbdb7 37070
b977bf01 37071 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
37072 instead of GRUB_HOST_SIZEOF_VOID_P.
37073 * kern/dl.c: Likewise.
37074
37075 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
37076 ...
37077 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
37078 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
37079 (GRUB_TARGET_SIZEOF_LONG): ... this.
37080 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
37081 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
37082 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
37083 to ...
37084 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
37085 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
37086 (GRUB_TARGET_SIZEOF_LONG): ... this.
37087 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
37088 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
37089 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
37090 to ...
37091 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
37092 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
37093 (GRUB_TARGET_SIZEOF_LONG): ... this.
37094 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
37095 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
37096
37097 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
37098 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
37099 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
37100 instead of GRUB_HOST_SIZEOF_LONG.
37101 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
37102 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
37103 GRUB_CPU_WORDS_BIGENDIAN.
37104 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
37105 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
37106 grub_host_ssize_t.
37107
37108 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
37109 (genmoddep_SOURCES): Likewise.
37110 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
37111 (genmoddep_SOURCES): Likewise.
37112 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
37113 (genmoddep_SOURCES): Likewise.
37114 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
37115 Likewise.
37116 (genmoddep_SOURCES): Likewise.
37117
37118 * genmoddep.awk: New file.
37119
37120 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
37121 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
37122 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
37123 (PModule::rule): Likewise.
37124 (Program::rule): Likewise.
37125 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
37126 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
37127 respectively.
37128
37129 * configure.ac: Rewritten intensively to use host and target
37130 instead of build and host, respectively.
37131
37132 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
37133 (host_cpu): Removed.
37134 (target_cpu): New variable.
37135 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
37136 (BUILD_CC): Removed.
37137 (BUILD_CFLAGS): Likewise.
37138 (BUILD_CPPFLAGS): Likewise.
37139 (TARGET_CC): New variable.
37140 (TARGET_CFLAGS): Likewise.
37141 (TARGET_CPPFLAGS): Likewise.
37142 (TARGET_LDFLAGS): Likewise.
37143 (AWK): Likewise.
37144 (include): Use target_cpu instead of host_cpu.
37145 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 37146
b977bf01 37147 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
37148
f09771a1 371492006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
37150
37151 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
37152 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
37153 field 'false' to 'exec_on_false'.
37154 (grub_script_create_cmdif): Renamed argument names to reflect above
37155 changes.
37156
37157 * normal/execute.c (grub_script_execute_cmdif): Likewise.
37158
37159 * normal/script.c (grub_script_create_cmdif): Likewise.
37160
118f4fb3 371612006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
37162
37163 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
37164 top.
37165 (grub_hfsplus_btree_recptr): Likewise.
37166 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
37167 FILEBLOCK both to pass a block number and store next block
37168 number.
37169 (grub_hfsplus_read_block): Rewritten heavily to support an extent
37170 overflow file correctly. Specify errors appropriately, because
37171 fshelp expects that GRUB_ERRNO is set when fails. Reuse
37172 grub_hfsplus_btree_recptr to get the pointer to a found key.
37173 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
37174 is found.
37175
37176 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
37177 linux.mod.
37178 (_linux_mod_SOURCES): New variable.
37179 (_linux_mod_CFLAGS): Likewise.
37180 (_linux_mod_LDFLAGS): Likewise.
37181 (linux_mod_SOURCES): Likewise.
37182 (linux_mod_CFLAGS): Likewise.
37183 (linux_mod_LDFLAGS): Likewise.
37184
37185 * DISTLIST: Added loader/i386/efi/linux.c,
37186 loader/i386/efi/linux_normal.c and
37187 include/grub/i386/efi/loader.h.
37188
37189 * loader/i386/efi/linux.c: New file.
37190 * loader/i386/efi/linux_normal.c: Likewise.
37191 * include/grub/i386/efi/loader.h: Likewise.
37192
89a7d726 371932006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
37194
37195 * commands/blocklist.c: New file.
37196
37197 * DISTLIST: Added commands/blocklist.c.
37198
37199 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 37200 color for the background, and a darker color for the foreground.
89a7d726 37201 (grub_console_checkkey): Return READ_KEY.
37202 (grub_console_cls): Set the background to
37203 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
37204
37205 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
37206
37207 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
37208 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
37209
37210 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
37211 prototype.
37212
37213 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
37214 BG. The spec is wrong again.
37215
37216 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
37217 prototype.
37218 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
37219
37220 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
37221 commands/blocklist.c.
37222 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 37223
89a7d726 37224 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
37225 (blocklist_mod_SOURCES): New variable.
37226 (blocklist_mod_CFLAGS): Likewise.
37227 (blocklist_mod_LDFLAGS): Likewise.
37228
75c8f258 372292006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
37230
37231 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
37232 duplication.
37233 (lba_mode): Use %eax more intensively to reduce the code size.
37234
da2eb181 372352006-05-20 Marco Gerards <marco@gnu.org>
37236
37237 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
37238
37239 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
37240 for `menuentry'.
37241 (script): Accept leading newlines.
37242 (newlines): New rule to describe 0 or more newlines.
37243 (commands): Accept `command' with trailing newline. Fixed the
37244 order in which arguments were passed to `grub_script_add_cmd'.
37245 Accept commands separated by newlines.
37246 (function): Changed to accept newlines.
37247 (menuentry) Rewritten.
37248
37249 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
37250 front of the list, instead of to the end.
37251
577b4050 372522006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
37253
37254 * util/i386/pc/grub-install.in (bindir): New variable.
37255 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
37256 Shaver <lbgwjl@gmail.com>.
37257
0d6e1189 372582006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
37259
37260 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
37261 grub/machine/linux.h
37262 * loader/i386/pc/linux.c: Likewise.
37263
37264 * include/grub/i386/pc/linux.h: Moved to ...
37265 * include/grub/i386/linux.h: ... here.
37266
37267 * include/grub/i386/linux.h (struct linux_kernel_params): New
37268 struct.
f19dbdb7 37269
31b86e9f 372702006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
37271
37272 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
37273 checking.
37274 (grub_video_vbe_blit_glyph): Likewise.
37275 (grub_video_vbe_blit_bitmap): Likewise.
37276 (grub_video_vbe_blit_render_target): Likewise.
37277
83b984de 372782006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
37279
37280 * configure.ac (--with-platform): Properly quote the square
37281 brackets.
37282
5f0413bd 372832006-05-08 Marco Gerards <marco@gnu.org>
37284
37285 * conf/powerpc-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 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
37303 this...
37304 (kernel_elf_HEADERS): ...to this. Updated all users.
37305 (grubof_symlist.c): Renamed from this...
37306 (kernel_elf_symlist.c): ...to this. Updated all users.
37307 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
37308 (grubof_SOURCES): Renamed from this...
37309 (kernel_elf_SOURCES): ...to this.
37310 (grubof_HEADERS): Renamed from this...
37311 (kernel_elf_HEADERS): ...to this.
37312 (grubof_CFLAGS): Renamed from this...
37313 (kernel_elf_CFLAGS): ...to this.
37314 (grubof_ASFLAGS): Renamed from this...
37315 (kernel_elf_ASFLAGS): ...to this.
37316 (grubof_LDFLAGS): Renamed from this...
37317 (kernel_elf_LDFLAGS): ...to this.
37318
37319 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
37320 `kernel.elf' instead of `grubof'.
37321
05568c2e 373222006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
37323
37324 Add --with-platform to configure. Use pkglibdir instead of
37325 pkgdatadir. This is reported by Roger Leigh.
37326
37327 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
37328 (host_vendor): Likewise.
37329 (host_os): Likewise.
37330 (pkgdatadir): Likewise.
37331 (platform): New variable.
37332 (pkglibdir): Likewise.
37333 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 37334
05568c2e 37335 * util/i386/pc/grub-install.in (datadir): Removed.
37336 (host_vendor): Likewise.
37337 (host_os): Likewise.
37338 (pkgdatadir): Likewise.
37339 (platform): New variable.
37340 (pkglibdir): Likewise.
37341 Use PKGLIBDIR instead of PKGDATADIR.
37342
37343 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
37344 instead of GRUB_DATADIR.
37345 (main): Likewise.
37346 * util/i386/pc/grub-mkimage.c (usage): Likewise.
37347 (main): Likewise.
37348 * util/i386/efi/grub-mkimage.c (usage): Likewise.
37349 (main): Likewise.
37350
37351 * configure.ac (--with-platform): New option.
37352 Use PLATFORM instead of HOST_VENDOR to specify a platform.
37353
37354 * Makefile.in: Include a makefile based on PLATFORM instead of
37355 HOST_VENDOR.
37356 (pkgdatadir): Not appended by the machine type.
37357 (pkglibdir): Appended by the machine type.
37358 (host_vendor): Removed.
37359 (platform): New variable.
37360 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
37361 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
37362 (uninstall): Likewise.
37363
4e93851c 373642006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
37365
37366 Use the environment context in the menu. Remove the commands
37367 "default" and "timeout", and use variables instead.
f19dbdb7 37368
4e93851c 37369 * normal/menu.c: Include grub/env.h.
37370 (print_entry): Cast TITLE to silence gcc.
37371 (get_timeout): New function.
37372 (set_timeout): Likewise.
37373 (get_entry_number): Likewise.
37374 (run_menu): Use a default entry, a fallback entry and a timeout
37375 in the environment variables "default", "fallback" and
37376 "timeout". Also, tweak the default entry if it is not within the
37377 current menu entries.
37378 (grub_menu_run): Use a fallback entry in the environment variable
37379 "fallback".
37380
37381 * normal/main.c (read_config_file): Do not initialize
37382 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
37383 NEWMENU->TIMEOUT.
37384 (grub_normal_execute): Use a data slot to store the menu.
37385
37386 * include/grub/normal.h (struct grub_menu): Removed default_entry,
37387 fallback_entry and timeout.
37388 (struct grub_menu_list): Removed.
37389 (grub_menu_list_t): Likewise.
37390 (struct grub_context): Likewise.
37391 (grub_context_t): Likewise.
37392 (grub_context_get): Likewise.
37393 (grub_context_get_current_menu): Likewise.
37394 (grub_context_push_menu): Likewise.
37395 (grub_context_pop_menu): Likewise.
37396 (grub_default_init): Likewise.
37397 (grub_default_fini): Likewise.
37398 (grub_timeout_init): Likewise.
37399 (grub_timeout_fini): Likewise.
37400
37401 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
37402 and timeout.mod.
37403 (normal_mod_SOURCES): Removed normal/context.c.
37404
37405 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
37406 commands/default.c, commands/timeout.c and normal/context.c.
37407 (normal_mod_SOURCES): Removed normal/context.c.
37408
37409 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
37410 commands/timeout.c and normal/context.c.
37411 (normal_mod_SOURCES): Removed normal/context.c.
37412
37413 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
37414 commands/default.c, commands/timeout.c and normal/context.c.
37415 (normal_mod_SOURCES): Removed normal/context.c.
37416
37417 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
37418 timeout.mod.
37419 (default_mod_SOURCES): Removed.
37420 (default_mod_CFLAGS): Likewise.
37421 (default_mod_LDFLAGS): Likewise.
37422 (timeout_mod_SOURCES): Removed.
37423 (timeout_mod_CFLAGS): Likewise.
37424 (timeout_mod_LDFLAGS): Likewise.
37425
37426 * DISTLIST: Removed commands/default.c, commands/timeout.c and
37427 normal/context.c.
37428
37429 * commands/default.c: Removed.
37430 * commands/timeout.c: Likewise.
37431 * normal/context.c: Likewise.
37432
1eb9cc1d 374332006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
37434
37435 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
37436
385bd9c1 374372006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
37438
37439 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
37440 "next" to "prev" for readability.
37441 (struct grub_env_sorted_var): New struct.
37442 (grub_env_context): Renamed to ...
37443 (initial_context): ... this.
37444 (grub_env_var_context): Renamed to ...
37445 (current_context): ... this.
37446 (grub_env_find): Look only at CURRENT_CONTEXT.
37447 (grub_env_context_open): Rewritten to copy exported variables from
37448 previous context.
37449 (grub_env_context_close): Rewritten according to the new
37450 scheme. Also, add an assertion to prevent the initial context from
37451 removed.
37452 (grub_env_insert): Removed the code for the sorted list.
37453 (grub_env_remove): Likewise.
37454 (grub_env_export): Simply mark the variable with
37455 GRUB_ENV_VAR_GLOBAL.
37456 (grub_env_set): A cosmetic change for naming consistency.
37457 (grub_env_get): Likewise.
37458 (grub_env_unset): Likewise.
37459 (grub_env_iterate): Rewritten to sort variables within this
37460 function.
37461 (grub_register_variable_hook): Fixed for naming consistency. Call
37462 grub_env_find again, only if NAME is not found at the first time.
37463 (mangle_data_slot_name): New function.
37464 (grub_env_set_data_slot): Likewise.
37465 (grub_env_get_data_slot): Likewise.
37466 (grub_env_unset_data_slot): Likewise.
37467
37468 * include/grub/env.h (grub_env_var_type): New enum.
37469 (GRUB_ENV_VAR_LOCAL): New constant.
37470 (GRUB_ENV_VAR_GLOBAL): Likewise.
37471 (GRUB_ENV_VAR_DATA): Likewise.
37472 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
37473 "type".
37474 (grub_env_set): Replace VAR with NAME for consistency.
37475 (grub_register_variable_hook): Likewise.
37476 (grub_env_export): Specify the name of the argument.
37477 (grub_env_set_data_slot): New prototype.
37478 (grub_env_get_data_slot): Likewise.
37479 (grub_env_unset_data_slot): Likewise.
37480
7f362539 374812006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
37482
37483 Extend the loader so that GRUB can accept a loader which comes
37484 back to GRUB when a loaded image exits. Also, this change adds
37485 support for a chainloader on EFI.
f19dbdb7 37486
7f362539 37487 * term/efi/console.c: Include grub/misc.h.
37488 (grub_console_checkkey): Display a scan code on the top for
37489 debugging. This will be removed once the EFI port gets stable.
37490 Correct the scan code mapping.
37491
37492 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
37493 allocate memory from larger regions, in order to reduce the number
37494 of allocated regions. Otherwise, the MacOSX loader panics.
37495 (filter_memory_map): Avoid less than 1MB for compatibility with
37496 other loaders.
37497 (add_memory_regions): Allocate from the tail of a region, if
37498 possible, to avoid allocating a region near to 1MB, for the MacOSX
37499 loader.
37500
37501 * kern/efi/init.c (grub_efi_set_prefix): Specify
37502 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
37503
37504 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
37505 argument IMAGE_HANDLE and specify it to get a loaded image.
37506 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
37507 grub_efi_get_loaded_image.
fe6b695a 37508 (grub_efi_get_filename): Divide the length by the size of
7f362539 37509 grub_efi_char16_t.
37510 (grub_efi_get_device_path): New function.
37511 (grub_efi_print_device_path): Print End Device Path nodes. Divide
37512 the length by the size of grub_efi_char16_t for a file path device
37513 path node.
37514
37515 * kern/loader.c (grub_loader_noreturn): New variable.
37516 (grub_loader_set): Accept a new argument NORETURN. Set
37517 GRUB_LOADER_NORETURN to NORETURN.
37518 All callers changed.
37519 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
37520 grub_machine_fini.
37521
37522 * include/grub/efi/efi.h (grub_efi_get_device_path): New
37523 prototype.
37524 (grub_efi_get_loaded_image): Take an argument to specify an image
37525 handle.
37526
37527 * include/grub/loader.h (grub_loader_set): Added one more argument
37528 NORETURN.
37529
37530 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
37531 instead of grub_efi_open_protocol.
37532 (grub_efidisk_get_device_name): Likewise.
37533 (grub_efidisk_close): Print a newline.
37534 (grub_efidisk_get_device_handle): Fixed to use
37535 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
37536 GRUB_EFI_DEVICE_PATH_TYPE.
37537
37538 * disk/efi/efidisk.c (device_path_guid): Moved to ...
37539 * kern/efi/efi.c (device_path_guid): ... here.
37540
37541 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
37542 chain.mod.
37543 (kernel_mod_HEADERS): Added efi/disk.h.
37544 (_chain_mod_SOURCES): New variable.
37545 (_chain_mod_CFLAGS): Likewise.
37546 (_chain_mod_LDFLAGS): Likewise.
37547 (chain_mod_SOURCES): Likewise.
37548 (chain_mod_CFLAGS): Likewise.
37549 (chain_mod_LDFLAGS): Likewise.
37550
37551 * DISTLIST: Added include/grub/efi/chainloader.h,
37552 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
37553
37554 * include/grub/efi/chainloader.h: New file.
37555 * loader/efi/chainloader.c: Likewise.
37556 * loader/efi/chainloader_normal.c: Likewise.
37557
c0111d6e 375582006-04-30 Marco Gerards <marco@gnu.org>
37559
37560 * commands/configfile.c (grub_cmd_source): New function.
37561 (GRUB_MOD_INIT): Register the commands `source' and `.'.
37562 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
37563
df5341da 375642006-04-30 Marco Gerards <marco@gnu.org>
37565
37566 * normal/execute.c (grub_script_execute_cmd): Change the return
37567 type to `grub_err_t'. Correctly return the error.
37568 (grub_script_execute_cmdline): In case a command line is not a
37569 command or a function, try to interpret it as an assignment.
37570
f85934bd 375712006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
37572
37573 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
37574 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
37575 skip a node whose name is obviously invalid as UTF-16,
37576 i.e. contains a NUL character. Stop the iteration when the last
37577 directory entry is found. Instead of using the return value of
37578 grub_hfsplus_btree_iterate_node, store the value in RET and use
37579 it, because the iterator can be stopped by the last directory
37580 entry.
37581
8f8a2cf8 375822006-04-30 Marco Gerards <marco@gnu.org>
37583
37584 * include/grub/env.h (grub_env_export): New prototype. Reported
37585 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
37586
a27e84ce 375872006-04-30 Marco Gerards <marco@gnu.org>
37588
37589 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
37590 size of the extents in a catalog file record.
37591
eaef0553 375922006-04-29 Marco Gerards <marco@gnu.org>
37593
37594 * commands/configfile.c (grub_cmd_configfile): Execute the
37595 configfile within its own context.
37596
37597 * include/grub/env.h (grub_env_context_open): New prototype.
37598 (grub_env_context_close): Likewise.
37599
37600 * kern/env.c (grub_env): Removed.
37601 (grub_env_sorted): Likewise.
37602 (grub_env_context): New variable.
37603 (grub_env_var_context): Likewise.
37604 (grub_env_find): Search both the active context and the global
37605 context.
37606 (grub_env_context_open): New function.
37607 (grub_env_context_close): Likewise.
37608 (grub_env_insert): Likewise.
37609 (grub_env_remove): Likewise.
37610 (grub_env_export): Likewise.
37611 (grub_env_set): Changed to use helper functions to avoid code
37612 duplication.
37613 (grub_env_iterate): Rewritten so both the current context and the
37614 global context are being used.
37615
37616 * normal/command.c (export_command): New function.
37617 (grub_command_init): Register the `export' function.
37618
7b455f4d 376192006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
37620
37621 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
37622 explicitly to suppress gcc's warnings.
37623 * fs/fat.c (grub_fat_find_dir): Likewise.
37624 (grub_fat_label): Likewise.
37625 * fs/xfs.c (grub_xfs_read_inode): Likewise.
37626 (grub_xfs_mount): Likewise.
37627 (grub_xfs_label): Likewise.
37628 * fs/affs.c (grub_affs_mount): Likewise.
37629 (grub_affs_label): Likewise.
37630 (grub_affs_iterate_dir): Likewise.
37631 * fs/sfs.c (grub_sfs_mount): Likewise.
37632 (grub_sfs_iterate_dir): Likewise.
37633 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
37634 * fs/hfs.c (grub_hfs_mount): Likewise.
37635 (grub_hfs_cmp_catkeys): Likewise.
37636 (grub_hfs_find_dir): Likewise.
37637 (grub_hfs_dir): Likewise.
37638 (grub_hfs_label): Likewise.
37639 * fs/jfs.c (grub_jfs_mount): Likewise.
37640 (grub_jfs_opendir): Likewise.
37641 (grub_jfs_getent): Likewise.
37642 (grub_jfs_lookup_symlink): Likewise.
37643 (grub_jfs_label): Likewise.
37644 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
37645 (grub_hfsplus_iterate_dir): Likewise.
37646 (grub_hfsplus_btree_iterate_node): Made static.
37647
37648 * util/grub-emu.c (prefix): New variable.
37649 (grub_machine_set_prefix): New function.
37650 (main): Do not set the environment variable "prefix" here. Only
37651 set PREFIX, which is used later by grub_machine_set_prefix.
37652
37653 * include/grub/video.h: Do not include grub/symbol.h.
37654 (grub_video_register): Not exported. This symbol is not defined in
37655 the kernel.
37656 (grub_video_unregister): Likewise.
37657 (grub_video_iterate): Likewise.
37658 (grub_video_setup): Likewise.
37659 (grub_video_restore): Likewise.
37660 (grub_video_get_info): Likewise.
37661 (grub_video_get_blit_format): Likewise.
37662 (grub_video_set_palette): Likewise.
37663 (grub_video_get_palette): Likewise.
37664 (grub_video_set_viewport): Likewise.
37665 (grub_video_get_viewport): Likewise.
37666 (grub_video_map_color): Likewise.
37667 (grub_video_map_rgb): Likewise.
37668 (grub_video_map_rgba): Likewise.
37669 (grub_video_fill_rect): Likewise.
37670 (grub_video_blit_glyph): Likewise.
37671 (grub_video_blit_bitmap): Likewise.
37672 (grub_video_blit_render_target): Likewise.
37673 (grub_video_scroll): Likewise.
37674 (grub_video_swap_buffers): Likewise.
37675 (grub_video_create_render_target): Likewise.
37676 (grub_video_delete_render_target): Likewise.
37677 (grub_video_set_active_render_target): Likewise.
37678
37679 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
37680 Undefined.
37681 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
37682
37683 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
37684 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37685 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37686 instead of $(srcdir)/genkernsyms.sh.
37687
37688 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
37689 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37690 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37691 instead of $(srcdir)/genkernsyms.sh.
37692
37693 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
37694 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37695 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37696 instead of $(srcdir)/genkernsyms.sh.
37697
37698 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
37699 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37700 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37701 instead of $(srcdir)/genkernsyms.sh.
37702
37703 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
37704 genkernsyms.sh.
37705
37706 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
37707 genkernsyms.sh.
37708 (gensymlist.sh): New target.
37709 (genkernsyms.sh): Likewise.
37710
37711 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
37712 genkernsyms.sh.in and gensymlist.sh.in.
37713
37714 * genkernsyms.sh: Removed.
37715 * gensymlist.sh: Likewise.
f19dbdb7 37716
7b455f4d 37717 * genkernsyms.sh.in: New file.
37718 * gensymlist.sh.in: Likewise.
37719
1885bb27 377202006-04-25 Hollis Blanchard <hollis@penguinppc.org>
37721
37722 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
37723 clobber "prefix", since we may have already set it manually.
37724
71538dff 377252006-04-25 Hollis Blanchard <hollis@penguinppc.org>
37726
37727 * kern/misc.c (abort): New alias for grub_abort.
37728
2965c7cc 377292006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
37730
37731 A new machine-specific function "grub_machine_set_prefix" is
37732 defined. This is called after loading modules, so that a prefix
37733 initialization can use modules. Also, this change adds an
37734 intensive debugging feature for the memory manager via the
37735 configure option "--enable-mm-debug".
f19dbdb7 37736
2965c7cc 37737 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
37738 PART.LEN.
37739
37740 * kern/sparc64/ieee1275/init.c (abort): Removed.
37741 (grub_stop): Likewise.
37742 (grub_exit): New function.
37743 (grub_set_prefix): Renamed to ...
37744 (grub_machine_set_prefix): ... this.
37745 (grub_machine_init): Do not call grub_set_prefix.
37746
37747 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
37748 (grub_machine_set_prefix): ... this.
37749 (grub_machine_init): Do not call grub_set_prefix.
37750
37751 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
37752 (grub_machine_init): Do not set the prefix here.
37753
37754 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
37755
37756 * kern/efi/init.c: Include grub/mm.h.
37757 (grub_efi_set_prefix): New function.
37758
37759 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
37760 (grub_efi_get_filename): New function.
37761 (grub_print_device_path): Renamed to ...
37762 (grub_efi_print_device_path): ... this.
37763
37764 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
37765 [MM_DEBUG] (grub_realloc): Likewise.
37766 [MM_DEBUG] (grub_free): Likewise.
37767 [MM_DEBUG] (grub_memalign): Likewise.
37768 [MM_DEBUG] (grub_mm_debug): New variable.
37769 [MM_DEBUG] (grub_debug_malloc): New function.
37770 [MM_DEBUG] (grub_debug_free): New function.
37771 [MM_DEBUG] (grub_debug_realloc): New function.
37772 [MM_DEBUG] (grub_debug_memalign): New function.
37773
37774 * kern/misc.c (grub_abort): Print a newline to distinguish
37775 the message.
37776
37777 * kern/main.c (grub_main): Call grub_machine_set_prefix and
37778 grub_set_root_dev after loading modules. This is necessary when
37779 setting a prefix depends on modules.
37780
37781 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
37782 (grub_efi_print_device_path): ... this.
37783 (grub_efi_get_filename): New prototype.
37784 (grub_efi_set_prefix): Likewise.
37785
37786 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
37787 and grub/disk.h.
37788 (grub_efidisk_get_device_handle): New prototype.
37789 (grub_efidisk_get_device_name): Likewise.
37790
37791 * include/grub/mm.h: Include config.h.
37792 (MM_DEBUG): Removed.
37793 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
37794 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
37795 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
37796 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
37797 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
37798 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
37799 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
37800 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
37801 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
37802
37803 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
37804
37805 * disk/efi/efidisk.c: Include grub/partition.h.
37806 (iterate_child_devices): New function.
37807 (add_device): First, compare only last device path nodes, so that
37808 devices are sorted by the types.
37809 (grub_efidisk_get_device_handle): New function.
37810 (grub_efidisk_get_device_name): Likewise.
37811
37812 * configure.ac (--enable-mm-debug): New option to enable the
37813 memory manager debugging feature. This makes the binary much
37814 bigger, so is disabled by default.
37815
9cacaa17 378162006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
37817
37818 Use grub_abort instead of grub_stop, and grub_exit must be
37819 define in each architecture now. Also, this change adds support
37820 for EFI disks.
f19dbdb7 37821
9cacaa17 37822 * util/i386/pc/grub-probefs.c: Include grub/term.h.
37823 (grub_getkey): New function.
37824 (grub_term_get_current): Likewise.
37825
37826 * util/i386/pc/grub-setup.c: Include grub/term.h.
37827 (grub_getkey): New function.
37828 (grub_term_get_current): Likewise.
37829
37830 * util/misc.c (grub_stop): Renamed to ...
37831 (grub_exit): ... this.
37832
37833 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
37834 (grub_exit): ... this.
37835 (grub_machine_init): Use grub_abort instead of abort.
37836 (grub_stop): Removed.
37837
37838 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
37839 abort.
37840
37841 * kern/i386/pc/startup.S (grub_exit): New function.
37842 (cold_reboot): New label.
37843
37844 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
37845 (grub_efi_init): Call grub_efidisk_init.
37846 (grub_efi_fini): Call grub_efidisk_fini.
37847
37848 * kern/efi/efi.c: Include grub/mm.h.
37849 (grub_efi_console_control_guid): Renamed to ...
37850 (console_control_guid): ... this.
37851 (grub_efi_loaded_image_guid): Renamed to ...
37852 (loaded_image_guid): ... this.
37853 (grub_efi_locate_handle): New function.
37854 (grub_efi_open_protocol): Likewise.
37855 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
37856 GRUB_EFI_CONSOLE_CONTROL_GUID.
37857 (grub_efi_exit): Removed.
37858 (grub_stop): Likewise.
37859 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
37860 (grub_exit): New function.
37861 (grub_print_device_path): Likewise.
37862
37863 * kern/rescue.c (grub_rescue_cmd_exit): New function.
37864 (grub_enter_rescue_mode): Register "exit".
37865
37866 * kern/misc.c (grub_real_dprintf): A cosmetic change.
37867 (grub_abort): New function.
37868
37869 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
37870
37871 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
37872
37873 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
37874
37875 * include/grub/efi/efi.h (grub_efi_exit): Removed.
37876 (grub_print_device_path): New prototype.
37877 (grub_efi_locate_handle): Likewise.
37878 (grub_efi_open_protocol): Likewise.
37879
37880 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
37881 * disk/efi/efidisk.c: Likewise.
37882
37883 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
37884
37885 * include/grub/efi/console_control.h
37886 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
37887
37888 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
37889 last 8 bytes as an array.
37890 (GRUB_EFI_DISK_IO_GUID): New macro.
37891 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
37892 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
37893 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
37894 grub_uint8_t.
37895 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
37896 (struct grub_efi_device_path): Rename the member "sub_type" to
37897 "subtype".
37898 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
37899 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
37900 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
37901 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
37902 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
37903 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
37904 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
37905 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
37906 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
37907 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
37908 (struct grub_efi_pci_device_path): New structure.
37909 (grub_efi_pci_device_path_t): New type.
37910 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
37911 (struct grub_efi_pccard_device_path): New structure.
37912 (grub_efi_pccard_device_path_t): New type.
37913 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
37914 (struct grub_efi_memory_mapped_device_path): New structure.
37915 (grub_efi_memory_mapped_device_path_t): New type.
37916 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
37917 (struct grub_efi_vendor_device_path): New structure.
37918 (grub_efi_vendor_device_path_t): New type.
37919 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
37920 (struct grub_efi_controller_device_path): New structure.
37921 (grub_efi_controller_device_path_t): New type.
37922 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
37923 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
37924 (struct grub_efi_acpi_device_path): New structure.
37925 (grub_efi_acpi_device_path_t): New type.
37926 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
37927 (struct grub_efi_expanded_acpi_device_path): New structure.
37928 (grub_efi_expanded_acpi_device_path_t): New type.
37929 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
37930 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
37931 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
37932 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
37933 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
37934 (struct grub_efi_atapi_device_path): New structure.
37935 (grub_efi_atapi_device_path_t): New type.
37936 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
37937 (struct grub_efi_fibre_channel_device_path): New structure.
37938 (grub_efi_fibre_channel_device_path_t): New type.
37939 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
37940 (struct grub_efi_1394_device_path): New structure.
37941 (grub_efi_1394_device_path_t): New type.
37942 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
37943 (struct grub_efi_usb_device_path): New structure.
37944 (grub_efi_usb_device_path_t): New type.
37945 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
37946 (struct grub_efi_usb_class_device_path): New structure.
37947 (grub_efi_usb_class_device_path_t): New type.
37948 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
37949 (struct grub_efi_i2o_device_path): New structure.
37950 (grub_efi_i2o_device_path_t): New type.
37951 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
37952 (struct grub_efi_mac_address_device_path): New structure.
37953 (grub_efi_mac_address_device_path_t): New type.
37954 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
37955 (struct grub_efi_ipv4_device_path): New structure.
37956 (grub_efi_ipv4_device_path_t): New type.
37957 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
37958 (struct grub_efi_ipv6_device_path): New structure.
37959 (grub_efi_ipv6_device_path_t): New type.
37960 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
37961 (struct grub_efi_infiniband_device_path): New structure.
37962 (grub_efi_infiniband_device_path_t): New type.
37963 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
37964 (struct grub_efi_uart_device_path): New structure.
37965 (grub_efi_uart_device_path_t): New type.
37966 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
37967 (struct grub_efi_vendor_messaging_device_path): New structure.
37968 (grub_efi_vendor_messaging_device_path_t): New type.
37969 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
37970 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
37971 (struct grub_efi_hard_drive_device_path): New structure.
37972 (grub_efi_hard_drive_device_path_t): New type.
37973 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
37974 (struct grub_efi_cdrom_device_path): New structure.
37975 (grub_efi_cdrom_device_path_t): New type.
37976 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
37977 (struct grub_efi_vendor_media_device_path): New structure.
37978 (grub_efi_vendor_media_device_path_t): New type.
37979 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
37980 (struct grub_efi_file_path_device_path): New structure.
37981 (grub_efi_file_path_device_path_t): New type.
37982 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
37983 (struct grub_efi_protocol_device_path): New structure.
37984 (grub_efi_protocol_device_path_t): New type.
37985 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
37986 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
37987 (struct grub_efi_bios_device_path): New structure.
37988 (grub_efi_bios_device_path_t): New type.
37989 (struct grub_efi_disk_io): New structure.
37990 (grub_efi_disk_io_t): New type.
37991 (struct grub_efi_block_io_media): New structure.
37992 (grub_efi_block_io_media_t): New type.
37993 (struct grub_efi_block_io): New structure.
37994 (grub_efi_block_io_t): New type.
37995
37996 * include/grub/misc.h (grub_stop): Removed.
37997 (grub_exit): New prototype.
37998 (grub_abort): Likewise.
37999
38000 * include/grub/disk.h (enum grub_disk_dev_id): Added
38001 GRUB_DISK_DEVICE_EFIDISK_ID.
38002
38003 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
38004 disk/efi/efidisk.c.
38005 (kernel_syms.lst): Remove the target if an error occurs.
38006
49986a9f 380072006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
38008
38009 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
38010 as it was simply too buggy.
38011
970d3b8a 380122006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
38013
38014 * kern/misc.c (grub_lltoa): New function.
38015 (grub_vsprintf): Added support for the long long suffix,
38016 i.e. "ll".
38017
ff04ec24 380182006-04-20 Hollis Blanchard <hollis@penguinppc.org>
38019
38020 * Makefile.in (LDFLAGS): Add variable.
38021 (LD): Remove variable.
38022 * configure.ac: Add -m32 to LDFLAGS.
38023 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
38024 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
38025 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
38026 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
38027 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
38028 variables.
38029 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
38030 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
38031 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
38032
37e5e1a4 380332006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
38034
38035 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
38036 length for unknown glyph.
38037
c352d8dd 380382006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
38039
2eab1c0d 38040 Add support for pre-loaded modules into the EFI port.
f19dbdb7 38041
2eab1c0d 38042 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
38043 completely. Accept one more argument DIR. The caller has changed.
38044
38045 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
38046
38047 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
38048 (grub_efi_loaded_image_guid): New variable.
38049 (grub_efi_get_loaded_image): New function.
38050 (grub_arch_modules_addr): Likewise.
38051
38052 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
38053 prototype.
38054
38055 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
38056 (struct grub_efi_loaded_image): New structure.
38057 (grub_efi_loaded_image_t): New type.
38058
380592006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 38060
c352d8dd 38061 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
38062 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
38063 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
38064
6d01d6b4 380652006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
38066
38067 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
38068
976a4ea0 380692006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
38070
38071 * DISTLIST: Added include/grub/efi/console.h,
38072 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
38073 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
38074
38075 * include/grub/efi/console.h: New file.
38076 * include/grub/efi/time.h: Likewise.
38077 * include/grub/i386/efi/kernel.h: Likewise.
38078 * kern/efi/init.c: Likewise.
38079 * kern/efi/mm.c: Likewise.
38080 * term/efi/console.c: Likewise.
f19dbdb7 38081
976a4ea0 38082 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
38083 (grub_stop): Removed.
38084 (grub_get_rtc): Likewise.
38085 (grub_machine_init): Simply call grub_efi_init.
38086 (grub_machine_fini): Call grub_efi_fini.
38087
38088 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
38089 (grub_efi_output_string): Removed.
38090 (grub_efi_stall): New function.
38091 (grub_stop): Likewise.
38092 (grub_get_rtc): Likewise.
38093
38094 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
38095 (grub_efi_stall): New prototype.
38096 (grub_efi_allocate_pages): Likewise.
38097 (grub_efi_free_pages): Likewise.
38098 (grub_efi_get_memory_map): Likewise.
38099 (grub_efi_mm_init): Likewise.
38100 (grub_efi_mm_fini): Likewise.
38101 (grub_efi_init): Likewise.
38102 (grub_efi_fini): Likewise.
38103
38104 * include/grub/i386/efi/time.h: Do not include
38105 grub/symbol.h. Include grub/efi/time.h.
38106 (GRUB_TICKS_PER_SECOND): Removed.
38107 (grub_get_rtc): Likewise.
38108
38109 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
38110 Added padding. The EFI spec is buggy.
38111 (GRUB_EFI_BLACK): New macro.
38112 (GRUB_EFI_BLUE): Likewise.
38113 (GRUB_EFI_GREEN): Likewise.
38114 (GRUB_EFI_CYAN): Likewise.
38115 (GRUB_EFI_RED): Likewise.
38116 (GRUB_EFI_MAGENTA): Likewise.
38117 (GRUB_EFI_BROWN): Likewise.
38118 (GRUB_EFI_LIGHTGRAY): Likewise.
38119 (GRUB_EFI_BRIGHT): Likewise.
38120 (GRUB_EFI_DARKGRAY): Likewise.
38121 (GRUB_EFI_LIGHTBLUE): Likewise.
38122 (GRUB_EFI_LIGHTGREEN): Likewise.
38123 (GRUB_EFI_LIGHTCYAN): Likewise.
38124 (GRUB_EFI_LIGHTRED): Likewise.
38125 (GRUB_EFI_LIGHTMAGENTA): Likewise.
38126 (GRUB_EFI_YELLOW): Likewise.
38127 (GRUB_EFI_WHITE): Likewise.
38128 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
38129 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
38130 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
38131 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
38132 (GRUB_EFI_BACKGROUND_RED): Likewise.
38133 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
38134 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
38135 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
38136 (GRUB_EFI_TEXT_ATTR): Likewise.
38137
38138 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
38139 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
38140 (kernel_mod_HEADERS): Added efi/time.h.
38141
83709125 381422006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
38143
38144 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
38145 include/grub/efi/api.h, include/grub/efi/console_control.h,
38146 include/grub/efi/efi.h, include/grub/efi/pe32.h,
38147 include/grub/i386/efi/time.h, kern/efi/efi.c,
38148 kern/i386/efi/init.c, kern/i386/efi/startup.S,
38149 and util/i386/efi/grub-mkimage.c.
38150
38151 * Makefile.in (RMKFILES): Added i386-efi.rmk.
38152
38153 * genmk.rb (PModule#rule): Do not export symbols if
38154 #{prefix}_EXPORTS is set to "no".
38155
38156 * conf/i386-efi.mk: New file.
38157 * conf/i386-efi.rmk: Likewise.
38158 * include/grub/efi/api.h: Likewise.
38159 * include/grub/efi/console_control.h: Likewise.
38160 * include/grub/efi/efi.h: Likewise.
38161 * include/grub/efi/pe32.h: Likewise.
38162 * include/grub/i386/efi/time.h: Likewise.
38163 * kern/efi/efi.c: Likewise.
38164 * kern/i386/efi/init.c: Likewise.
38165 * kern/i386/efi/startup.S: Likewise.
38166 * util/i386/efi/grub-mkimage.c: Likewise.
38167
381682006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 38169
38170 * include/grub/script.h: Include <grub/parser.h> and
38171 "grub_script.tab.h".
38172 (struct grub_lexer_param): New struct.
38173 (struct grub_parser_param): Likewise.
38174 (grub_script_create_arglist): Pass the state in an argument.
38175 (grub_script_add_arglist): Likewise.
38176 (grub_script_create_cmdline): Likewise.
38177 (grub_script_create_cmdblock): Likewise.
38178 (grub_script_create_cmdif): Likewise.
38179 (grub_script_create_cmdmenu): Likewise.
38180 (grub_script_add_cmd): Likewise.
38181 (grub_script_arg_add): Likewise.
38182 (grub_script_lexer_ref): Likewise.
38183 (grub_script_lexer_deref): Likewise.
38184 (grub_script_lexer_record_start): Likewise.
38185 (grub_script_lexer_record_stop): Likewise.
38186 (grub_script_mem_record): Likewise.
38187 (grub_script_mem_record_stop): Likewise.
38188 (grub_script_malloc): Likewise.
38189 (grub_script_yylex): Likewise.
38190 (grub_script_yyparse): Likewise.
38191 (grub_script_yyerror): Likewise.
38192 (grub_script_yylex): Likewise.
38193 (grub_script_lexer_init): Return the state.
38194
38195 * normal/lexer.c (grub_script_lexer_state): Removed variable.
38196 (grub_script_lexer_done): Likewise.
38197 (grub_script_lexer_getline): Likewise.
38198 (grub_script_lexer_refs): Likewise.
38199 (script): Likewise.
38200 (newscript): Likewise.
38201 (record): Likewise.
38202 (recording): Likewise.
38203 (recordpos): Likewise.
38204 (recordlen): Likewise.
38205 (grub_script_lexer_init): Return the state instead of setting
38206 global variables.
38207 (grub_script_lexer_ref): Use the newly added argument for state
38208 instead of globals.
38209 (grub_script_lexer_deref): Likewise.
38210 (grub_script_lexer_record_start): Likewise.
38211 (grub_script_lexer_record_stop): Likewise.
38212 (recordchar): Likewise.
38213 (nextchar): Likewise.
38214 (grub_script_yylex2): Likewise.
38215 (grub_script_yylex): Likewise.
38216 (grub_script_yyerror): Likewise.
38217
38218 * normal/parser.y (func_mem): Removed variable.
38219 (menu_entry): Likewise.
38220 (err): Likewise.
38221 (%lex-param): New parser option.
38222 (%parse-param): Likewise.
38223 (script): Always return the AST.
38224 (argument): Pass the state around.
38225 (arguments): Likewise.
38226 (grubcmd): Likewise.
38227 (commands): Likewise.
38228 (function): Likewise.
38229 (menuentry): Likewise.
38230 (if_statement): Likewise.
38231 (if): Likewise.
38232
38233 * normal/script.c (grub_script_memused): Removed variable.
38234 (grub_script_parsed): Likewise.
38235 (grub_script_malloc): Added a state argument. Use that instead of
38236 global variables.
38237 (grub_script_mem_record): Likewise.
38238 (grub_script_mem_record_stop): Likewise.
38239 (grub_script_arg_add): Likewise.
38240 (grub_script_add_arglist): Likewise.
38241 (grub_script_create_cmdline): Likewise.
38242 (grub_script_create_cmdif): Likewise.
38243 (grub_script_create_cmdmenu): Likewise.
38244 (grub_script_add_cmd): Likewise.
38245 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 38246
e2a8c904 382472006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 38248
38249 * normal/command.c (grub_command_init): Remove the title command.
38250
38251 * normal/lexer.c (grub_script_yylex): Renamed from this...
38252 (grub_script_yylex2): ... to this.
38253 (grub_script_yylex): New function. Temporary
38254 introduced to filter some tokens.
38255 (grub_script_yyerror): Print a newline.
38256
38257 * normal/main.c (read_config_file): Output information about the
38258 lines that contain errors. Wait for a key after all lines have
38259 been processed. Don't return an empty menu.
38260
38261 * normal/parser.y (func_mem): Don't initialize.
38262 (menu_entry): Likewise.
38263 (err): New variable.
38264 (script): Don't return anything when an error was encountered.
38265 (ws, returns): Removed rules.
38266 (argument): Disabled concatenated variable support.
38267 (arguments): Remove explicit separators.
38268 (grubcmd): Likewise.
38269 (function): Likewise.
38270 (menuentry): Likewise.
38271 (if): Likewise.
38272 (commands): Likewise. Add error handling.
38273
38274 * normal/script.c (grub_script_create_cmdline): If
38275 `grub_script_parsed' is 0, assume the parser encountered an error.
38276
c9a86192 382772006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
38278
38279 * configure.ac: Add support for EFI. Fix the typo
38280 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
38281
70f3b243 382822006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
38283
38284 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
38285 foreign multibyte characters should be shown correctly.
38286
65f201ad 382872006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
38288
38289 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
38290 calculation.
38291 (read_config_file): Made it to close file before returning.
38292
b4b93674 382932006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
38294
38295 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
38296 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
38297 video/i386/pc/vbefill.c.
38298
38299 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
38300 video/i386/pc/vbefill.c.
38301
38302 * include/grub/video.h (grub_video_blit_format): New enum.
38303 (grub_video_mode_info): Added new member blit_format.
38304 (grub_video_get_blit_format): New function prototype.
38305
38306 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
38307 function prototype.
38308 (grub_video_vbe_map_rgb): Likewise.
38309 (grub_video_vbe_unmap_color): Likewise.
38310
38311 * include/grub/i386/pc/vbeblit.h: New file.
38312
38313 * include/grub/i386/pc/vbefill.h: New file.
38314
38315 * video/video.c (grub_video_get_blit_format): New function.
38316 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
38317 (grub_video_vbe_map_rgb): Likewise.
38318 (grub_video_vbe_unmap_color): Likewise.
38319
38320 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
38321 optimized fills.
38322 (grub_video_vbe_blit_render_target): Changed to use more optimized
38323 blits.
38324 (grub_video_vbe_setup): Added detection for optimized settings.
38325 (grub_video_vbe_create_render_target): Likewise.
38326
38327 * video/i386/pc/vbeblit.c: New file.
38328
38329 * video/i386/pc/vbefill.c: New file.
38330
c2379b9c 383312006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
38332
38333 * font/manager.c (grub_font_get_glyph): Removed font fixup from
38334 here...
38335
38336 * util/unifont2pff.rb: ... and moved it to here. Improved argument
38337 parsing to support both hex and dec ranges. If filename was missing
38338 show usage information.
38339
bd0d7896 383402006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
38341
38342 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
38343 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
38344
38345 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
38346 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
38347 (video_mod_SOURCES): Added.
38348 (video_mod_CFLAGS): Likewise.
38349 (video_mod_LDFLAGS): Likewise.
38350 (gfxterm_mod_SOURCES): Likewise.
38351 (gfxterm_mod_CFLAGS): Likewise.
38352 (gfxterm_mod_LDFLAGS): Likewise.
38353 (videotest_mod_SOURCES): Likewise.
38354 (videotest_mod_CFLAGS): Likewise.
38355 (videotest_mod_LDFLAGS): Likewise.
38356 (vesafb_mod_SOURCES): Removed.
38357 (vesafb_mod_CFLAGS): Likewise.
38358 (vesafb_mod_LDFLAGS): Likewise.
38359 (vga_mod_SOURCES): Likewise.
38360 (vga_mod_CFLAGS): Likewise.
38361 (vga_mod_LDFLAGS): Likewise.
38362
38363 * commands/videotest.c: New file.
38364
38365 * font/manager.c (fill_with_default_glyph): Modified to use
38366 grub_font_glyph.
38367 (grub_font_get_glyph): Likewise.
38368 (fontmanager): Renamed from this...
38369 (font_manager): ... to this.
38370
38371 * include/grub/font.h (grub_font_glyph): Added new structure.
38372 (grub_font_get_glyph): Modified to use grub_font_glyph.
38373
38374 * include/grub/misc.h (grub_abs): Added as inline function.
38375
38376 * include/grub/video.h: New file.
38377
38378 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
38379 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
38380 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
38381 (grub_vbe_get_controller_info): Renamed from this...
38382 (grub_vbe_bios_get_controller_info): ... to this.
38383 (grub_vbe_get_mode_info): Renamed from this...
38384 (grub_vbe_bios_get_mode_info): ... to this.
38385 (grub_vbe_set_mode): Renamed from this...
38386 (grub_vbe_bios_set_mode): ... to this.
38387 (grub_vbe_get_mode): Renamed from this...
38388 (grub_vbe_bios_get_mode): ... to this.
38389 (grub_vbe_set_memory_window): Renamed from this...
38390 (grub_vbe_bios_set_memory_window): ... to this.
38391 (grub_vbe_get_memory_window): Renamed from this...
38392 (grub_vbe_bios_get_memory_window): ... to this.
38393 (grub_vbe_set_scanline_length): Renamed from this...
38394 (grub_vbe_set_scanline_length): ... to this.
38395 (grub_vbe_get_scanline_length): Renamed from this...
38396 (grub_vbe_bios_get_scanline_length): ... to this.
38397 (grub_vbe_set_display_start): Renamed from this...
38398 (grub_vbe_bios_set_display_start): ... to this.
38399 (grub_vbe_get_display_start): Renamed from this...
38400 (grub_vbe_bios_get_display_start): ... to this.
38401 (grub_vbe_set_palette_data): Renamed from this...
38402 (grub_vbe_bios_set_palette_data): ... to this.
38403 (grub_vbe_set_pixel_rgb): Removed.
38404 (grub_vbe_set_pixel_index): Likewise.
38405
38406 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
38407 from this...
38408 (grub_vbe_bios_get_controller_info): ... to this.
38409 (grub_vbe_get_mode_info): Renamed from this...
38410 (grub_vbe_bios_get_mode_info): ... to this.
38411 (grub_vbe_set_mode): Renamed from this...
38412 (grub_vbe_bios_set_mode): ... to this.
38413 (grub_vbe_get_mode): Renamed from this...
38414 (grub_vbe_bios_get_mode): ... to this.
38415 (grub_vbe_set_memory_window): Renamed from this...
38416 (grub_vbe_bios_set_memory_window): ... to this.
38417 (grub_vbe_get_memory_window): Renamed from this...
38418 (grub_vbe_bios_get_memory_window): ... to this.
38419 (grub_vbe_set_scanline_length): Renamed from this...
38420 (grub_vbe_set_scanline_length): ... to this.
38421 (grub_vbe_get_scanline_length): Renamed from this...
38422 (grub_vbe_bios_get_scanline_length): ... to this.
38423 (grub_vbe_set_display_start): Renamed from this...
38424 (grub_vbe_bios_set_display_start): ... to this.
38425 (grub_vbe_get_display_start): Renamed from this...
38426 (grub_vbe_bios_get_display_start): ... to this.
38427 (grub_vbe_set_palette_data): Renamed from this...
38428 (grub_vbe_bios_set_palette_data): ... to this.
38429 (grub_vbe_bios_get_controller_info): Fixed problem with registers
38430 getting corrupted after calling it. Added more pushes and pops.
38431 (grub_vbe_bios_set_mode): Likewise.
38432 (grub_vbe_bios_get_mode): Likewise.
38433 (grub_vbe_bios_get_memory_window): Likewise.
38434 (grub_vbe_bios_set_scanline_length): Likewise.
38435 (grub_vbe_bios_get_scanline_length): Likewise.
38436 (grub_vbe_bios_get_display_start): Likewise.
38437 (grub_vbe_bios_set_palette_data): Likewise.
38438
38439 * normal/cmdline.c (cl_set_pos): Refresh the screen.
38440 (cl_insert): Likewise.
38441 (cl_delete): Likewise.
38442
38443 * term/gfxterm.c: New file.
38444
38445 * term/i386/pc/vesafb.c: Removed file.
38446
38447 * video/video.c: New file.
38448
38449 * video/i386/pc/vbe.c (real2pm): Added new function.
38450 (grub_video_vbe_draw_pixel): Likewise.
38451 (grub_video_vbe_get_video_ptr): Likewise.
38452 (grub_video_vbe_get_pixel): Likewise
38453 (grub_video_vbe_init): Likewise.
38454 (grub_video_vbe_fini): Likewise.
38455 (grub_video_vbe_setup): Likewise.
38456 (grub_video_vbe_get_info): Likewise.
38457 (grub_video_vbe_set_palette): Likewise.
38458 (grub_video_vbe_get_palette): Likewise.
38459 (grub_video_vbe_set_viewport): Likewise.
38460 (grub_video_vbe_get_viewport): Likewise.
38461 (grub_video_vbe_map_color): Likewise.
38462 (grub_video_vbe_map_rgb): Likewise.
38463 (grub_video_vbe_map_rgba): Likewise.
38464 (grub_video_vbe_unmap_color): Likewise.
38465 (grub_video_vbe_fill_rect): Likewise.
38466 (grub_video_vbe_blit_glyph): Likewise.
38467 (grub_video_vbe_blit_bitmap): Likewise.
38468 (grub_video_vbe_blit_render_target): Likewise.
38469 (grub_video_vbe_scroll): Likewise.
38470 (grub_video_vbe_swap_buffers): Likewise.
38471 (grub_video_vbe_create_render_target): Likewise.
38472 (grub_video_vbe_delete_render_target): Likewise.
38473 (grub_video_vbe_set_active_render_target): Likewise.
38474 (grub_vbe_set_pixel_rgb): Remove function.
38475 (grub_vbe_set_pixel_index): Likewise.
38476 (index_color_mode): Remove static variable.
38477 (active_mode): Likewise.
38478 (framebuffer): Likewise.
38479 (bytes_per_scan_line): Likewise.
38480 (grub_video_vbe_adapter): Added new static variable.
38481 (framebuffer): Likewise.
38482 (render_target): Likewise.
38483 (initial_mode): Likewise.
38484 (mode_in_use): Likewise.
38485 (mode_list): Likewise.
38486
5f97350b 384872006-03-10 Marco Gerards <marco@gnu.org>
38488
38489 * configure.ac (AC_INIT): Bumped to 1.93.
38490
38491 * DISTLIST: Added `include/grub/hfs.h'.
38492
a3c5c6f8 384932006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
38494
38495 * boot/i386/pc/boot.S (general_error): Before looping, try INT
38496 18H, which might help the BIOS falling back to next boot media.
38497
6de53d26 384982006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
38499
38500 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
38501 Poe Chen <poe.poechen@gmail.com>.
38502
77c4a393 385032006-01-17 Marco Gerards <marco@gnu.org>
38504
38505 * include/grub/normal.h: Include <grub/script.h>.
38506 (grub_command_list): Removed struct.
38507 (grub_command_list_t): Removed type.
38508 (grub_menu_entry): Remove members `num' and `command_list'. Add
38509 members `commands' and `sourcecode'.
38510 * include/grub/script.h: Add inclusion guards.
38511 (grub_script_cmd_menuentry): New struct.
38512 (grub_script_execute_menuentry): New prototype.
38513 (grub_script_lexer_record_start): Likewise.
38514 (grub_script_lexer_record_stop): Likewise.
38515 * normal/execute.c (grub_script_execute_menuentry): New function.
38516 * normal/lexer.c (record, recording, recordpos, recordlen): New
38517 variables.
38518 (grub_script_lexer_record_start): New function.
38519 (grub_script_lexer_record_stop): Likewise.
38520 (recordchar): Likewise.
38521 (nextchar): Likewise.
38522 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
38523 2048 as the buffer size. Add the tokens `menuentry' and `@'.
38524 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
38525 (current_menu): New variable.
38526 (free_menu): Mainly rewritten.
38527 (grub_normal_menu_addentry): New function.
38528 (read_config_file): Rewritten.
38529 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 38530 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 38531 the menu entry.
38532 (run): Mainly rewritten.
38533 * normal/parser.y (menu_entry): New variable.
38534 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
38535 (menuentry): New rule.
38536 (command): Add `menuentry'.
38537 (if_statement): Allow additional returns before `fi'.
38538 * normal/script.c (grub_script_create_cmdmenu): New function.
38539
144f1f98 385402006-01-03 Marco Gerards <marco@gnu.org>
38541
38542 * INSTALL: GNU Bison is required.
38543 * configure.ac: Rewritten the test to detect Bison.
38544 * Makefile.in (YACC): New variable. Reported by Xun Sun
38545 <xun.sun.cn@gmail.com>.
38546
af4b2d89 385472006-01-03 Marco Gerards <marco@gnu.org>
38548
38549 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
38550 the HFS+ filesystem to filesystem blocks.
38551 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
38552 GCC warning is silenced.
38553
15643b71 385542006-01-03 Marco Gerards <marco@gnu.org>
38555
38556 * partmap/apple.c (apple_partition_map_iterate): Convert the data
38557 read from disk from big endian to host byte order.
38558
00905879 385592006-01-03 Hollis Blanchard <hollis@penguinppc.org>
38560
38561 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
38562 documentation.
38563 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
38564 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
38565 embedded HFS+ filesystem.
38566 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
38567 (grub_hfs_sblock): Move from here...
38568 * include/grub/hfs.h: To here... New file.
38569 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
38570 documentation.
38571 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
38572 New macros.
38573 (grub_hfsplus_volheader): Change type of member `magic' to
38574 `grub_uint16_t'.
38575 (grub_hfsplus_data): Add new member `embedded_offset'.
38576 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
38577 returned block.
38578 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
38579 Calculate the offset.
38580
8899bc3e 385812005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38582
38583 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
38584 Removed.
38585 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
38586
ae8c0277 385872005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38588
38589 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
38590 ENV->NAME is NULL after allocating ENV->VALUE.
38591
07084456 385922005-12-25 Marco Gerards <marco@gnu.org>
38593
38594 * kern/env.c (grub_env_set): Rewritten the error handling code.
38595
4750f5f1 385962005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38597
38598 * geninit.sh: Made more robust, and more portable.
38599
50214199 386002005-12-25 Marco Gerards <marco@gnu.org>
38601
38602 Add support for Apple HFS+ filesystems.
f19dbdb7 38603
50214199 38604 * fs/hfsplus.c: New file.
38605
38606 * DISTLIST: Added `fs/hfsplus.c'.
38607
38608 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
38609 (hfsplus_mod_SOURCES): New variable.
38610 (hfsplus_mod_CFLAGS): Likewise.
38611 (hfsplus_mod_LDFLAGS): Likewise.
38612 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
38613 (grub_setup_SOURCES): Likewise.
38614 (grub_mkdevicemap_SOURCES): Likewise.
38615 (grub_emu_SOURCES): Likewise.
38616 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38617
38618 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
38619
38620 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
38621
befaed6c 386222005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38623
38624 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
38625 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
38626 include/grub/parser.h, include/grub/script.h, kern/parser.c,
38627 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
38628 normal/lexer.c, normal/parser.y, normal/script.c, and
38629 partmap/gpt.c.
38630 Removed kern/sparc64/cache.c.
38631
38632 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
38633 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
38634 grub_emu_init.c.
38635
38636 * configure.ac (AC_INIT): Bumped to 1.92.
38637
6a124103 386382005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
38639
38640 * kern/err.c (grub_error_push): Added new function to support error
38641 stacks.
38642 (grub_error_pop): Likewise.
38643 (grub_error_stack_items): New local variable to support error stacks.
38644 (grub_error_stack_pos): Likewise.
38645 (grub_error_stack_assert): Likewise.
38646 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
38647 stack depth.
38648 (grub_print_error): Added support to print errors from error stack.
38649
38650 * include/grub/err.h (grub_error_push): Added function prototype.
38651 (grub_error_pop): Likewise.
38652
be973c1b 386532005-12-09 Hollis Blanchard <hollis@penguinppc.org>
38654
38655 * configure.ac: Accept `powerpc64' as host_cpu.
38656 (amd64): Rename to `biarch32'.
38657
38658 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
38659 non-cacheline-aligned addresses.
38660
38661 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
38662 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
38663 if `size' is non-zero.
38664
b04216ab 386652005-12-03 Marco Gerards <mgerards@xs4all.nl>
38666
38667 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
38668 and `cd' to make sure the filename is not prefixed with a
38669 directory name.
38670 (pkgdata_MODULES): Add `gpt.mod'.
38671 (gpt_mod_SOURCES): New variable.
38672 (gpt_mod_CFLAGS): Likewise.
38673 (gpt_mod_LDFLAGS): Likewise.
38674
38675 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
38676
38677 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
38678 New macro.
38679
38680 * partmap/gpt.c: New file.
38681
38682 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
38683 GPT partition map is detected.
38684
41730ed9 386852005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
38686
38687 * commands/i386/pc/play.c: New file.
38688 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
38689 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
38690 macros.
f19dbdb7 38691
95dc3643 386922005-11-27 Marco Gerards <mgerards@xs4all.nl>
38693
38694 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
38695 ((unused))' to silence gcc warning.
38696
1569ec51 386972005-11-26 Hollis Blanchard <hollis@penguinppc.org>
38698
38699 * configure.ac: Correct `AC_PROG_YACC' test.
38700
9abde152 387012005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38702
38703 * util/powerpc/ieee1275/grub-install.in: Run the mount point
38704 check before installing files.
38705
44b83271 387062005-11-22 Mike Small <smallm@panix.com>
38707
38708 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
38709 number regex so multidigit numbers are recognized correctly.
38710
387112005-11-22 Mike Small <smallm@panix.com>
38712
38713 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
38714 debugging message before attempting to claim memory.
38715 (grub_rescue_cmd_initrd): Add a claim debugging message and try
38716 multiple addresses in case of failure.
38717
9c12956b 387182005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38719
38720 * term/tparm.c (get_space): Remove empty `if' statement.
38721
38722 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
38723
38724 * kern/parser.c (check_varstate): Rename `state' to 's'.
38725
aeaf81d9 387262005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38727
38728 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
38729 variable definitions to the beginning of each function. Sort stack
38730 variables by size.
38731 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
38732 `buf' argument to `char *'.
38733
79bbb63f 387342005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38735
38736 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
38737 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 38738 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 38739 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
38740 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
38741 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
38742 configfile.mod, search.mod, gzio.mod and test.mod.
38743 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
38744 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
38745 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
38746 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
38747 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
38748 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
38749 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
38750 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
38751 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
38752 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
38753 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38754 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38755 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
38756 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
38757 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
38758 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
38759 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38760 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
38761 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
38762 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
38763 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
38764 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
38765 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
38766
38767 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
38768 `grep --include'.
38769 (pkgdata_MODULES): Add test.mod.
38770
233b1628 387712005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38772
38773 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
38774 appending to variables with "+=".
38775 (PModule): Use full pathname to generate *.lst filenames.
38776
38777 * Makefile.in: Fixed list rules moved from genmk.rb.
38778 (.DELETE_ON_ERROR): New special target.
38779 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
38780
38781 * conf/i386-pc.rmk: Include conf/common.mk.
38782 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 38783 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 38784 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
38785 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
38786 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
38787 configfile.mod, search.mod, gzio.mod and test.mod.
38788 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
38789 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
38790 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
38791 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
38792 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
38793 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
38794 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
38795 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
38796 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
38797 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
38798 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38799 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38800 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
38801 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
38802 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
38803 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
38804 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38805 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
38806 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
38807 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
38808 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
38809 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
38810 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
38811 here...
38812 * conf/common.rmk: ... to here. New file.
38813
38814 * conf/common.mk: New file.
38815
16f820c8 388162005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
38817
38818 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
38819 (grub_script.tab.c): ... here.
38820
38821 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
38822 (grub_script.tab.c): ... here.
38823
38824 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
38825 (grub_script.tab.c): ... here.
38826
38827 * normal/command.c (grub_command_find): Fixed a memory leak of
38828 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
38829
63ba1554 388302005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38831
38832 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
38833 "@" which marks the start of a comment on ARM.
38834 (VARIABLE): Likewise.
38835
7f67dc13 388362005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38837
79bbb63f 38838 Add support for Linux/ADFS partition tables.
7f67dc13 38839
38840 * partmap/acorn.c: New file.
38841
38842 * include/grub/acorn_filecore.h: Likewise.
38843
38844 * DISTLIST: Added `partmap/acorn.c' and
38845 `include/grub/acorn_filecore.h'.
f19dbdb7 38846
7f67dc13 38847 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38848 `partmap/acorn.c'.
38849 (pkgdata_MODULES): Add `acorn.mod'.
38850 (acorn_mod_SOURCES): New variable.
38851 (acorn_mod_CFLAGS): Likewise.
38852
38853 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
38854 `partmap/acorn.c'.
38855 (pkgdata_MODULES): Add `acorn.mod'.
38856 (acorn_mod_SOURCES): New variable.
38857 (acorn_mod_CFLAGS): Likewise.
38858
38859 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
38860 (pkgdata_MODULES): Add `acorn.mod'.
38861 (acorn_mod_SOURCES): New variable.
38862 (acorn_mod_CFLAGS): Likewise.
38863 (acorn_mod_LDFLAGS): Likewise.
38864
38865 * include/types.h (grub_disk_addr_t): New typedef.
38866
6d099807 388672005-11-13 Marco Gerards <mgerards@xs4all.nl>
38868
38869 * geninit.sh: New file.
38870
38871 * geninitheader.sh: Likewise.
38872
38873 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
38874 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
38875 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
38876 * commands/configfile.c (grub_configfile_init)
38877 (grub_configfile_fini): Likewise.
38878 * commands/default.c (grub_default_init, grub_default_fini):
38879 Likewise.
38880 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
38881 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
38882 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
38883 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
38884 Likewise.
38885 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
38886 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
38887 Likewise.
38888 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 38889 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 38890 Likewise.
38891 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
38892 Likewise.
fe6b695a 38893 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 38894 Likewise.
38895 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
38896 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
38897 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
38898 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
38899 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
38900 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
38901 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
38902 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
38903 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
38904 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
38905 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
38906 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
38907 * partmap/amiga.c (grub_amiga_partition_map_init)
38908 (grub_amiga_partition_map_fini): Likewise.
38909 * partmap/apple.c (grub_apple_partition_map_init)
38910 (grub_apple_partition_map_fini): Likewise.
38911 * partmap/pc.c (grub_pc_partition_map_init)
38912 (grub_pc_partition_map_fini): Likewise.
38913 * partmap/sun.c (grub_sun_partition_map_init,
38914 grub_sun_partition_map_fini): Likewise.
38915 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
38916 Likewise.
38917
38918 * util/grub-emu.c: Include <grub_modules_init.h>.
38919 (main): Don't initialize and de-initialize any modules directly,
38920 use `grub_init_all' and `grub_fini_all' instead.
38921
38922 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
38923 `grub_vesafb_mod_init'.
38924 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
38925 all users.
38926 * term/i386/pc/vga.c (grub_vga_init): Renamed to
38927 `grub_vga_mod_init'. Updated all users.
38928 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 38929
6d099807 38930 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
38931 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
38932 rules.
38933
38934 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
38935 Generate a function to initialize the module in utilities.
38936 Updated all callers.
38937 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
38938 initialize the module in utilities. Updated all callers.
38939
9046bcf0 389402005-11-09 Hollis Blanchard <hollis@penguinppc.org>
38941
38942 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
38943 escape sequence and a literal ^L to clear the screen.
38944
38945 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
38946 when returning from Open Firmware.
38947
d13ea639 389482005-11-09 Hollis Blanchard <hollis@penguinppc.org>
38949
38950 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
38951 (grub_ofconsole_height): Likewise.
38952 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
38953 manually insert a '\n'.
38954 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
38955 `grub_ofconsole_height'. Return early if these are already set.
38956
a8fcf206 389572005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
38958
38959 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
38960 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
38961 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
38962 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
38963 and `normal/script.c'.
38964 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38965 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38966 (test_mod_SOURCES): New variable.
38967 (test_mod_CFLAGS): Likewise.
38968 (test_mod_LDFLAGS): Likewise.
38969 (pkgdata_MODULES): Add `test.mod'.
38970 (grub_script.tab.c): New rule.
38971 (grub_script.tab.h): Likewise.
38972
b6b32745 389732005-11-07 Marco Gerards <mgerards@xs4all.nl>
38974
38975 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38976 `commands/test.c', `normal/execute.c', `normal/lexer.c',
38977 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38978 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38979 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38980 (test_mod_SOURCES): New variable.
38981 (test_mod_CFLAGS): Likewise.
38982 (pkgdata_MODULES): Add `test.mod'.
38983 (grub_script.tab.c): New rule.
38984 (grub_script.tab.h): Likewise.
38985
daac212a 389862005-11-06 Marco Gerards <mgerards@xs4all.nl>
38987
38988 Add initial scripting support.
38989
38990 * commands/test.c: New file.
38991 * include/grub/script.h: Likewise.
38992 * normal/execute.c: Likewise.
38993 * normal/function.c: Likewise.
38994 * normal/lexer.c: Likewise.
38995 * normal/parser.y: Likewise.
38996 * normal/script.c: Likewise.
38997
38998 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 38999
daac212a 39000 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
39001 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
39002 `normal/function.c' and `normal/script.c'.
39003 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
39004 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 39005 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
39006 variables.
daac212a 39007 (pkgdata_MODULES): Add `test.mod'.
39008 (grub_script.tab.c): New rule.
39009 (grub_script.tab.h): Likewise.
39010
39011 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
39012
39013 * include/grub/normal.h (grub_test_init): New prototype.
39014 (grub_test_fini): Likewise.
f19dbdb7 39015
daac212a 39016 * normal/command.c: Include <grub/script.h>.
39017 (grub_command_execute): Rewritten.
f19dbdb7 39018
daac212a 39019 * util/grub-emu.c (main): Call `grub_test_init' and
39020 `grub_test_fini'.
39021
77500b2b 390222005-11-03 Hollis Blanchard <hollis@penguinppc.org>
39023
39024 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
39025 to 0.
39026 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
39027 there are no pending characters.
39028
e45deb9e 390292005-11-03 Hollis Blanchard <hollis@penguinppc.org>
39030
39031 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
39032 `grub_strndup' to drop device arguments. Replace unnecessary
39033 `grub_strndup' with `grub_strdup'.
39034
4ce32619 390352005-11-03 Hollis Blanchard <hollis@penguinppc.org>
39036
39037 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
39038 `debug' environment variable has been set.
39039
390402005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 39041
4ce32619 39042 * Makefile.in (install-local): Use $(DATA).
39043 (uninstall): Likewise.
39044 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
39045 (sbin_UTILITIES): ... to here.
39046 (sbin_SCRIPTS): New variable.
39047 (grub_install_SOURCES): New variable.
39048 * util/powerpc/ieee1275/grub-install.in: New file.
39049 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
39050 variable.
39051 (add_segments): Call `grub_util_get_path'.
39052
25fe6f03 390532005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
39054
39055 From Timothy Baldwin:
39056 * commands/ls.c (grub_ls_list_files): Close FILE with
39057 grub_file_close.
39058 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
39059
04ccf3ec 390602005-10-24 Marco Gerards <mgerards@xs4all.nl>
39061
39062 * include/grub/parser.h: New file.
39063
39064 * kern/parser.c: Likewise.
39065
39066 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
39067 (grub_setup_SOURCES): Likewise.
39068 (grub_probefs_SOURCES): Likewise.
39069 (grub_emu_SOURCES): Likewise.
39070 (kernel_img_HEADERS): Add `parser.h'.
39071
39072 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
39073 (grub_emu_SOURCES): Add `kern/parser.c'.
39074 (grubof_SOURCES): Likewise.
39075
39076 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
39077 (grubof_SOURCES): Add `kern/parser.c'.
39078
39079 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
39080
39081 * kern/misc.c (grub_split_cmdline): Removed function.
39082
39083 * kern/rescue.c: Include <grub/parser.h>.
39084 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
39085 of `grub_split_cmdline'.
39086
39087 * normal/command.c: Include <grub/parser.h>.
39088 (grub_command_execute): Use `grub_parser_split_cmdline' instead
39089 of `grub_split_cmdline'.
39090
39091 * normal/completion.c: Include <grub/parser.h>.
39092 (cmdline_state): New variable.
39093 (iterate_dir): End the filename with a quote depending on the
39094 command line state.
39095 (get_state): new function.
39096 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
39097 split the arguments and determine the current argument. When the
39098 argument string is not quoted, escape all spaces.
39099
6d8f4b0e 391002005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
39101
39102 * normal/sparc64/setjmp.S: New file.
39103
15cf03ed 391042005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
39105
39106 * include/grub/sparc64/libgcc.h: New file.
39107 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
39108 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
39109 normal/sparc64/setjmp.c.
39110
03e8661a 391112005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
39112
39113 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
39114 * kern/sparc64/cache.S: New file.
39115 * kern/sparc64/cache.c: Removed.
39116 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
39117 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
39118 -mtune=ultrasparc.
39119 (COMMON_LDFLAGS): Add -melf64_sparc.
39120 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
39121 (grubof_SOURCES): Use cache.S instead of cache.c.
39122 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
39123 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
39124 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
39125 commented though.
39126 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
39127 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
39128 (linux_mod_CFLAGS): Commented out.
39129 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
39130 out because module isn't built.
39131 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
39132 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
39133 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
39134 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
39135 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
39136 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
39137 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
39138 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
39139 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
39140 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
39141 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
39142 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
39143 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
39144 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
39145
34eeec8a 391462005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
39147
39148 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
39149 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
39150 longer, because HFS should not be used on PC.
39151
708367a3 391522005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39153
39154 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
39155 consistently within the loop.
39156
6fa1251a 391572005-10-15 Marco Gerards <mgerards@xs4all.nl>
39158
39159 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
39160 directory can not be read.
39161
4801580b 391622005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39163
39164 * configure.ac (AC_INIT): Increase the version number to 1.91.
39165
39166 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
39167 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
39168 term/i386/pc/serial.c.
39169
219ad426 391702005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39171
39172 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
39173 file size must be permitted.
39174
39175 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
39176 between %ah and %al.
39177
688e5699 391782005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39179
39180 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
39181 grub_uint64_t.
39182 Call the hook with a NUL-terminated filename.
39183 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
39184 grub_cpu_to_be32.
39185
39186 * kern/term.c (cursor_state): New variable.
39187 (grub_term_set_current): Reset the cursor state on a new
39188 terminal.
39189 (grub_setcursor): Rewritten to use CURSOR_STATE.
39190 (grub_getcursor): New function.
39191
39192 * include/grub/term.h (grub_getcursor): New prototype.
39193
39194 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
39195 integers on ARM. Reported by Timothy Baldwin
39196 <T.E.Baldwin99@members.leeds.ac.uk>.
39197
bb34586c 391982005-10-11 Marco Gerards <mgerards@xs4all.nl>
39199
39200 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
39201 allocated.
39202 (grub_sfs_dir): Likewise.
39203
9a909877 392042005-10-09 Marco Gerards <mgerards@xs4all.nl>
39205
39206 Add support for the SFS filesystem.
39207
39208 * fs/sfs.c: New file.
39209
39210 * DISTLIST: Added `fs/sfs.c'.
39211
39212 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
39213 (grub_probefs_SOURCES): Likewise.
39214 (grub_emu_SOURCES): Likewise.
39215 (pkgdata_MODULES): Add `sfs.mod'.
39216 (sfs_mod_SOURCES): New variable.
39217 (sfs_mod_CFLAGS): Likewise.
39218 (sfs_mod_LDFLAGS): Likewise.
39219
39220 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
39221 (pkgdata_MODULES): Add `sfs.mod'.
39222 (sfs_mod_SOURCES): New variable.
39223 (sfs_mod_CFLAGS): Likewise.
39224
39225 * util/grub-emu.c (main): Call `grub_sfs_init' and
39226 `grub_sfs_fini'.
39227
39228 * include/grub/fs.h (grub_sfs_init): New prototype.
39229 (grub_sfs_fini): Likewise.
39230
57bdbde3 392312005-10-07 Marco Gerards <mgerards@xs4all.nl>
39232
39233 Add support for the AFFS filesystem.
39234
39235 * fs/affs.c: New file.
39236
39237 * DISTLIST: Added `fs/affs.c'.
39238
39239 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
39240 (grub_probefs_SOURCES): Likewise.
39241 (grub_emu_SOURCES): Likewise.
39242 (pkgdata_MODULES): Add `affs.mod'.
39243 (affs_mod_SOURCES): New variable.
39244 (affs_mod_CFLAGS): Likewise.
39245 (affs_mod_LDFLAGS): Likewise.
39246
39247 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
39248 (pkgdata_MODULES): Add `affs.mod'.
39249 (affs_mod_SOURCES): New variable.
39250 (affs_mod_CFLAGS): Likewise.
39251
39252 * util/grub-emu.c (main): Call `grub_affs_init' and
39253 `grub_affs_fini'.
39254
39255 * include/grub/fs.h (grub_affs_init): New prototype.
39256 (grub_affs_fini): Likewise.
39257
047b67e0 392582005-10-01 Marco Gerards <mgerards@xs4all.nl>
39259
39260 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
39261
59b8208a 392622005-10-01 Marco Gerards <mgerards@xs4all.nl>
39263
39264 * configure.ac: Accept `x86_64' as host_cpu. In that case add
39265 `-m32' to CFLAGS.
39266
39267 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
39268 linking.
f19dbdb7 39269
59b8208a 39270 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
39271 (COMMON_LDFLAGS): New variable.
39272 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
39273 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
39274 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
39275 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
39276 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
39277 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
39278 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
39279 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
39280 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
39281 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
39282 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
39283 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
39284 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
39285 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
39286 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
39287 variables.
39288 (normal_mod_ASFLAGS): Add `-m32'.
39289
39290 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
39291 (grub_host_size_t, grub_host_ssize_t): New types.
39292 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 39293 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 39294 `GRUB_HOST_SIZEOF_VOID_P'.
39295
39296 * include/grub/kernel.h (struct grub_module_header): Type of
39297 member offset changed to `grub_host_off_t'. Type of member size
39298 changed to `grub_host_size_t'.
39299 (struct grub_module_info): Type of member offset changed to
39300 `grub_host_off_t'. Type of member size changed to
39301 `grub_host_size_t'.
39302
b4093103 393032005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
39304
39305 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 39306
b4093103 39307 * kern/i386/pc/startup.S (multiboot_header): New label.
39308 (multiboot_entry): Likewise.
39309 (multiboot_trampoline): Likewise.
39310
39311 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
39312 Increased to 0x4A0.
39313
39314 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
39315 put parentheses after a question mark.
39316 [!GRUB_UTIL] (my_mod): New variable.
39317
39318 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
39319
b2499b29 393202005-09-28 Marco Gerards <mgerards@xs4all.nl>
39321
39322 Adds support for the XFS filesystem. Btrees are not supported
39323 yet.
39324
39325 * fs/xfs.c: New file.
39326
39327 * DISTLIST: Added `fs/xfs.c'.
39328
39329 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
39330 (grub_probefs_SOURCES): Likewise.
39331 (grub_emu_SOURCES): Likewise.
39332 (pkgdata_MODULES): Add `xfs.mod'.
39333 (xfs_mod_SOURCES): New variable.
39334 (xfs_mod_CFLAGS): Likewise.
39335
39336 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
39337 (pkgdata_MODULES): Add `xfs.mod'.
39338 (xfs_mod_SOURCES): New variable.
39339 (xfs_mod_CFLAGS): Likewise.
39340
39341 * util/grub-emu.c (main): Call `grub_xfs_init' and
39342 `grub_xfs_fini'.
39343
39344 * include/grub/fs.h (grub_xfs_init): New prototype.
39345 (grub_xfs_fini): Likewise.
39346
f19dbdb7 39347
83d37a62 393482005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
39349
39350 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
39351 color modes, allow greater than 16 colors to be configured as
39352 a default palette.
39353
47d2d65e 393542005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39355
39356 * normal/completion.c (complete_arguments): Add the qualifier
39357 const into OPTIONS.
39358
39359 From Omniflux <omniflux+lists@omniflux.com>:
39360 * include/grub/terminfo.h: New file.
39361 * include/grub/tparm.h: Likewise.
39362 * include/grub/i386/pc/serial.h: Likewise.
39363 * term/terminfo.c: Likewise.
39364 * term/tparm.c: Likewise.
39365 * term/i386/pc/serial.c: Likewise.
39366 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
39367 serial.mod.
39368 (terminfo_mod_SOURCES): New variable.
39369 (terminfo_mod_CFLAGS): Likewise.
39370 (serial_mod_SOURCES): Likewise.
39371 (serial_mod_CFLAGS): Likewise.
39372
48b671ff 393732005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
39374
39375 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
39376 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
39377 and kern/powerpc/ieee1275/cmain.c, respectively.
39378
39379 * boot/powerpc/ieee1275/crt0.S: Moved to ...
39380 * kern/powerpc/ieee1275/crt0.S: ... here.
39381
39382 * boot/powerpc/ieee1275/cmain.c: Moved to ...
39383 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 39384
48b671ff 39385 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
39386 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
39387 instead of boot/powerpc/ieee1275/crt0.S and
39388 boot/powerpc/ieee1275/cmain.c, respectively.
39389
39390 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
39391 sectors. It was not used anyway.
39392
09fc77a7 393932005-08-30 Hollis Blanchard <hollis@penguinppc.org>
39394
39395 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
39396 `unused parameter' warning.
39397
003789c7 393982005-08-30 Hollis Blanchard <hollis@penguinppc.org>
39399
39400 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
39401 function.
39402 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
39403 getcharwidth.
39404
67f44c86 394052005-08-28 Marco Gerards <metgerards@student.han.nl>
39406
39407 * include/grub/normal.h (enum grub_completion_type): Added
39408 `GRUB_COMPLETION_TYPE_ARGUMENT'.
39409
39410 * normal/cmdline.c (print_completion): Handle
39411 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
39412 * normal/menu_entry.c (store_completion): Likewise.
39413
39414 * normal/completion.c (complete_arguments): New function.
39415 (grub_normal_do_completion): Call `complete_arguments' when the
39416 current words start with a dash.
39417
0b5abe02 394182005-08-27 Marco Gerards <metgerards@student.han.nl>
39419
39420 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
39421 `gzio.mod' instead of `io.mod').
39422
d9864ee1 394232005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
39424
39425 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
39426 (DISTDIRS): Added io and video.
39427 Rewrite the search routine to make an output consistently.
39428
39429 * DISTLIST: Added conf/sparc64-ieee1275.mk,
39430 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
39431 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
39432 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
39433 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
39434 util/powerpc/ieee1275/misc.c.
f19dbdb7 39435
d9864ee1 39436 * include/grub/gzio.h: New file.
39437 * io/gzio.c: Likewise.
f19dbdb7 39438
d9864ee1 39439 * kern/file.c (grub_file_close): Call grub_device_close only if
39440 FILE->DEVICE is not NULL.
39441
39442 * include/grub/mm.h [!NULL] (NULL): New macro.
39443
39444 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
39445
39446 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
39447 (pkgdata_MODULES): Added gzio.mod.
39448 (gzio_mod_SOURCES): New variable.
39449 (gzio_mod_CFLAGS): Likewise.
39450
39451 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
39452 (pkgdata_MODULES): Added gzio.mod.
39453 (gzio_mod_SOURCES): New variable.
39454 (gzio_mod_CFLAGS): Likewise.
39455
39456 * commands/cat.c: Include grub/gzio.h.
39457 (grub_cmd_cat): Use grub_gzfile_open instead of
39458 grub_file_open.
f19dbdb7 39459
d9864ee1 39460 * commands/cmp.c: Include grub/gzio.h.
39461 (grub_cmd_cmp): Use grub_gzfile_open instead of
39462 grub_file_open.
39463
39464 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
39465 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
39466 grub_file_open.
39467 (grub_rescue_cmd_module): Likewise.
39468
fa46f4b5 394692005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
39470
39471 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
39472 kern/sparc64/ieee1275/init.c because it contains _start.
39473 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
39474
e9211b5d 394752005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
39476
39477 * configure.ac: Add support for sparc64 host with ieee1275
39478 firmware.
39479 * configure: Generated from configure.ac.
39480 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
39481 instead of int.
39482 (grub_ofdisk_read): Likewise.
39483 (grub_ofdisk_open): Use %p to print pointer values, and cast the
39484 pointers as (void *) to remove a warning.
39485 (grub_ofdisk_close): Likewise.
39486 (grub_ofdisk_read): Likewise.
39487 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
39488 returns, so make it return void to remove a warning.
39489 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
39490 Corresponding prototype change.
39491 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
39492 values, and cast the pointers as (void *) to remove a warning.
39493 (grub_mm_dump): Likewise.
39494 * conf/sparc64-ieee1275.mk: New file.
39495 * conf/sparc64-ieee1275.rmk: Likewise.
39496 * include/grub/sparc64/setjmp.h: Likewise.
39497 * include/grub/sparc64/types.h: Likewise.
39498 * include/grub/sparc64/ieee1275/console.h: Likewise.
39499 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
39500 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
39501 * include/grub/sparc64/ieee1275/time.h: Likewise.
39502 * kern/sparc64/cache.c: Likewise.
39503 * kern/sparc64/dl.c: Likewise.
39504 * kern/sparc64/ieee1275/init.c: Likewise.
39505 * kern/sparc64/ieee1275/openfw.c: Likewise.
39506
385c6a92 395072005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
39508
39509 * util/console.c (grub_ncurses_putchar): If C is greater than
39510 0x7f, set C to a question mark.
39511 (grub_ncurses_getcharwidth): New function.
39512 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
39513 getcharwidth.
39514
39515 * normal/menu.c (print_entry): Made aware of Unicode. First,
39516 convert TITLE to UCS-4, and predict the cursor position by
39517 grub_getcharwidth.
39518
39519 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
39520 const to SRC.
39521 * kern/misc.c (grub_utf16_to_utf8): Likewise.
39522
16ccb8b1 395232005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39524
39525 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
39526 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
39527 grub_strcat.
39528
39529 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
39530 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
39531 grub_strcpy and grub_strlen. Take it into account that a space
39532 character is inserted as a delimiter.
39533
6a85ce79 395342005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39535
39536 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 39537 invalid magic in the error.
6a85ce79 39538
39539 * commands/search.c: New file.
f19dbdb7 39540
6a85ce79 39541 * util/grub-emu.c (main): Call grub_search_init and
39542 grub_search_fini.
39543
39544 * kern/rescue.c (grub_rescue_print_disks): Removed.
39545 (grub_rescue_print_devices): New function.
39546 (grub_rescue_cmd_ls): Use grub_device_iterate with
39547 grub_rescue_print_devices instead of grub_disk_dev_iterate with
39548 grub_rescue_print_disks.
39549
39550 * kern/partition.c (grub_partition_iterate): Return the result of
39551 PARTMAP->ITERATE instead of GRUB_ERRNO.
39552
39553 * kern/device.c: Include grub/partition.h.
39554 (grub_device_iterate): New function.
39555
39556 * include/grub/partition.h (grub_partition_iterate): Return int
39557 instead of grub_err_t.
39558
39559 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
39560 prototype.
39561 [GRUB_UTIL] (grub_search_fini): Likewise.
39562
39563 * include/grub/device.h (grub_device_iterate): New prototype.
39564
39565 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
39566 commands/search.c.
39567 (pkgdata_MODULES): Added search.mod.
39568 (search_mod_SOURCES): New variable.
39569 (search_mod_CFLAGS): Likewise.
39570
39571 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
39572 (pkgdata_MODULES): Added search.mod.
39573 (search_mod_SOURCES): New variable.
39574 (search_mod_CFLAGS): Likewise.
39575
39576 * commands/ls.c (grub_ls_list_disks): Renamed to ...
39577 (grub_ls_list_devices): ... this, and use grub_device_iterate.
39578 All callers changed.
39579
39580 * DISTLIST: Added commands/search.c.
39581
ef095434 395822005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39583
39584 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
39585 conversion.
39586 (grub_getcharwidth): New function.
39587
39588 * kern/misc.c (grub_utf8_to_ucs4): New function.
39589
39590 * include/grub/term.h (struct grub_term): Added a new member
39591 "getcharwidth".
39592 (grub_getcharwidth): New prototype.
39593
39594 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
39595
39596 * term/i386/pc/console.c (map_char): New function. Segregated from
39597 grub_console_putchar.
39598 (grub_console_putchar): Use map_char.
39599 (grub_console_getcharwidth): New function.
39600 (grub_console_term): Specified grub_console_getcharwidth as
39601 getcharwidth.
39602
39603 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
39604 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
39605
39606 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
39607 GRUB_ERRNO.
39608 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
39609 on grub_strtoul completely.
39610 (write_char): Declare local variables in the beginning of the
39611 function.
39612 (grub_vesafb_getcharwidth): New function.
39613 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
39614 getcharwidth.
39615
1f0a95e4 396162005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
39617
39618 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
39619 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
39620 commands/i386/pc/vbetest.c.
39621
39622 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
39623 call grub_vbe_get_controller_info again, because the returned
39624 information is volatile.
39625 (grub_vbe_set_video_mode): Mostly rewritten.
39626 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
39627 grub_vbe_status_t correctly.
39628 (grub_vbe_get_video_mode_info): Likewise.
39629 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
39630 several if statements.
39631
39632 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
39633 * commands/i386/pc/vbeinfo.c: ... this.
39634
39635 * commands/i386/pc/vbe_test.c: Renamed to ...
39636 * commands/i386/pc/vbetest.c: ... this.
39637
39638 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
39639 ...
39640 (grub_cmd_vbeinfo): ... this. Save video modes before
39641 iterating. Skip a video mode, if it is not available, not enough
39642 information is given or it is monochrome. Show the memory
39643 model. Leave the interpretation of MODEVAR to grub_strtoul
39644 completely.
39645 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
39646 (GRUB_MOD_FINI): Likewise.
39647
39648 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
39649 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
39650 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
39651 duplicated grub_env_get. Leave the interpretation of MODEVAR to
39652 grub_strtoul completely.
39653 (real2pm): Removed.
39654 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
39655 (GRUB_MOD_FINI): Likewise.
39656
39657 * normal/misc.c: Include grub/mm.h.
39658
39659 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
39660 vbe_list_modes with vbetest.mod and vbeinfo.mod.
39661 (vbe_list_modes_mod_SOURCES): Removed.
39662 (vbe_list_modes_mod_CFLAGS): Likewise.
39663 (vbe_test_mod_SOURCES): Likewise.
39664 (vbe_test_mod_CFLAGS): Likewise.
39665 (vbeinfo_mod_SOURCES): New variable.
39666 (vbeinfo_mod_CFLAGS): Likewise.
39667 (vbetest_mod_SOURCES): Likewise.
39668 (vbetest_mod_CFLAGS): Likewise.
39669
992ffbbe 396702005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
39671
39672 * normal/misc.c: New file.
39673
39674 * DISTLIST: Added normal/misc.c.
f19dbdb7 39675
992ffbbe 39676 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
39677 DISK to HOOK. Call HOOK with DISK.
39678 * partmap/apple.c (apple_partition_map_iterate): Likewise.
39679 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39680 * partmap/sun.c (sun_partition_map_iterate): Likewise.
39681
39682 * normal/menu_entry.c (struct screen): Added a new member
39683 "completion_shown".
39684 (completion_buffer): New global variable.
39685 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
39686 (store_completion): New function.
39687 (complete): Likewise.
39688 (clear_completions): Likewise.
39689 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
39690 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
39691 a tab, call complete.
39692
39693 * normal/completion.c (disk_dev): Removed.
39694 (print_simple_completion): Likewise.
39695 (print_partition_completion): Likewise.
39696 (print_func): New global variable.
39697 (add_completion): Do not take the arguments WHAT or PRINT any
39698 longer. Added a new argument TYPE. Instead of printing directly,
39699 call PRINT_FUNC if not NULL.
39700 All callers changed.
39701 (complete_device): Use a local variable DEV instead of
39702 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
39703 (grub_normal_do_completion): Take a new argument HOOK. Do not
39704 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
39705 empty string, return NULL instead.
39706 All callers changed.
39707
39708 * normal/cmdline.c (print_completion): New function.
39709
39710 * kern/partition.c (grub_partition_iterate): Add an argument DISK
39711 to HOOK.
39712 All callers changed.
39713
39714 * kern/disk.c (grub_print_partinfo): Removed.
39715
39716 * include/grub/partition.h (struct grub_partition_map): Add a new
39717 argument DISK into HOOK of ITERATE.
39718 (grub_partition_iterate): Add a new argument DISK to HOOK.
39719
39720 * include/grub/normal.h (enum grub_completion_type): New enum.
39721 (grub_completion_type_t): New type.
39722 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
39723 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
39724 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
39725 (GRUB_COMPLETION_TYPE_FILE): Likewise.
39726 (grub_normal_do_completion): Added a new argument HOOK.
39727 (grub_normal_print_device_info): New prototype.
39728
39729 * include/grub/disk.h (grub_print_partinfo): Removed.
39730
39731 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
39732 (normal_mod_SOURCES): Likewise.
39733 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39734 (normal_mod_SOURCES): Likewise.
39735
39736 * commands/ls.c (grub_ls_list_disks): Use
39737 grub_normal_print_device_info instead of grub_print_partinfo. Free
39738 PNAME.
39739 (grub_ls_list_files): Use grub_normal_print_device_info instead of
39740 duplicating the code.
39741
0bd41162 397422005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
39743
39744 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 39745 follow GCS more precisely.
39746 * commands/i386/pc/vbe_test.c: Likewise.
39747 * include/grub/i386/pc/vbe.h: Likewise.
39748 * term/i386/pc/vesafb.c: Likewise.
39749 * video/i386/pc/vbe.c: Likewise.
0bd41162 39750
6323696a 397512005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
39752
39753 * DISTLIST: Added term/i386/pc/vesafb.c
39754 DISTLIST: Added video/i386/pc/vbe.c
39755 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
39756 DISTLIST: Added commands/i386/pc/vbe_test.c.
39757 * commands/i386/pc/vbe_list_modes.c: New file.
39758 * commands/i386/pc/vbe_test.c: Likewise.
39759 * term/i386/pc/vesafb.c: Likewise.
39760 * video/i386/pc/vbe.c: Likewise.
39761 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
39762 (grub_vbe_probe) Added prototype.
39763 (grub_vbe_set_video_mode) Likewise.
39764 (grub_vbe_get_video_mode) Likewise.
39765 (grub_vbe_get_video_mode_info) Likewise.
39766 (grub_vbe_set_pixel_rgb) Likewise.
39767 (grub_vbe_set_pixel_index) Likewise.
39768 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
39769 (pkgdata_MODULES): Added vesafb.mod.
39770 (pkgdata_MODULES): Added vbe_list_modes.mod.
39771 (pkgdata_MODULES): Added vbe_test.mod.
39772 (vbe_mod_SOURCES): Added.
39773 (vbe_mod_CFLAGS): Likewise.
39774 (vesafb_mod_SOURCES): Likewise.
39775 (vesafb_mod_CFLAGS): Likewise.
39776 (vbe_list_modes_mod_SOURCES): Likewise.
39777 (vbe_list_modes_mod_CFLAGS): Likewise.
39778 (vbe_test_mod_SOURCES): Likewise.
39779 (vbe_test_mod_CFLAGS): Likewise.
39780
0a74e62f 397812005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
39782
0a74e62f 39783 * normal/command.c (grub_command_execute): If INTERACTIVE is
39784 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
39785 CMDLINE. Disable the pager if INTERACTIVE is true.
39786 All callers are changed.
39787
39788 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
39789 before reading a config file.
39790 * normal/main.c (read_config_file): Even if a command is not
39791 found, register it if it is within an entry.
39792
39793 * util/grub-emu.c: Include sys/types.h and unistd.h.
39794 (options): Added --hold.
39795 (struct arguments): Added a new member "hold".
39796 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
39797 missing.
39798 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
39799 cleared by a debugger, if it is not zero.
39800
39801 * include/grub/normal.h (grub_command_execute): Add an argument
39802 INTERACTIVE.
39803
e51f85ae 398042005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
39805
39806 * DISTLIST: Added include/grub/i386/pc/vbe.h.
39807
e9c6f39b 398082005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
39809
39810 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
39811 program with another one, because the old one didn't detect a bug
39812 in gcc-3.4. Always use regparm 2, because the new test is still
39813 not enough for gcc-4.0. Someone must investigate a simple test
39814 case which detects a bug in gcc-4.0.
39815
8de3495c 398162005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
39817
39818 * DISTLIST: Added normal/completion.c.
39819
39820 * normal/completion.c: New file.
f19dbdb7 39821
8de3495c 39822 * term/i386/pc/console.c (grub_console_getwh): New function.
39823 (grub_console_term): Assign grub_console_getwh to getwh.
39824
39825 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
39826 function is defined in normal/completion.c as
39827 grub_normal_do_completion.
39828 (grub_cmdline_get): Use grub_normal_do_completion instead of
39829 grub_tab_complete.
39830
39831 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
39832 returns non-zero, otherwise return 0.
39833 (grub_partition_iterate): First, probe the partition map. Then,
39834 call ITERATE only for this partition map.
39835
39836 * kern/misc.c (grub_strncmp): Rewritten.
39837
39838 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
39839 returns non-zero. Otherwise return 0.
39840
39841 * include/grub/partition.h (grub_partition_map_iterate): Return
39842 int instead of void.
39843
39844 * include/grub/normal.h (grub_normal_do_completion): New prototype.
39845
39846 * include/grub/misc.h (grub_strncmp): Change the type of N to
39847 grub_size_t.
39848
39849 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
39850 of void.
39851
39852 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 39853 unsigned explicitly before comparing it with I.
8de3495c 39854
39855 * kern/main.c (grub_env_write_root): Add the attribute unused into
39856 VAR.
39857
39858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
39859 normal/completion.c.
39860 (normal_mod_SOURCES): Likewise.
39861 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39862 (normal_mod_SOURCES): Likewise.
39863
39864 * normal/command.c (grub_iterate_commands): If ITERATE returns
39865 non-zero, return one immediately.
39866
e85e144b 398672005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
39868
39869 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
39870 * kern/i386/pc/startup.S: Updated Global Descriptor table's
39871 descriptions.
39872 (grub_vbe_get_controller_info): New function.
39873 (grub_vbe_get_mode_info): Likewise.
39874 (grub_vbe_set_mode): Likewise.
39875 (grub_vbe_get_mode): Likewise.
39876 (grub_vbe_set_memory_window): Likewise.
39877 (grub_vbe_get_memory_window): Likewise.
39878 (grub_vbe_set_scanline_length): Likewise.
39879 (grub_vbe_get_scanline_length): Likewise.
39880 (grub_vbe_set_display_start): Likewise.
39881 (grub_vbe_get_display_start): Likewise.
39882 (grub_vbe_set_palette_data): Likewise.
39883 * include/grub/i386/pc/vbe.h: New file.
39884
c46153d2 398852005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39886
39887 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
39888 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
39889 * DISTLIST: Likewise.
39890 * kern/ieee1275/of.c: Moved to ...
39891 * kern/ieee1275/ieee1275.c: ... here.
39892
0cb90c45 398932005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39894
39895 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
39896 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
39897 Pass 0 as `end' parameter to grub_strtoul().
39898
a19fb360 398992005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39900
39901 * include/grub/powerpc/ieee1275/console.h: Do not include
39902 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
39903 ifdef.
39904 (grub_console_cur_color): Remove i386-specific prototype.
39905 (grub_console_real_putchar): Likewise.
39906 (grub_console_checkkey): Likewise.
39907 (grub_console_getkey): Likewise.
39908 (grub_console_getxy): Likewise.
39909 (grub_console_gotoxy): Likewise.
39910 (grub_console_cls): Likewise.
39911 (grub_console_setcursor): Likewise.
39912 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
39913 Include <grub/machine/console.h>.
39914 * term/ieee1275/ofconsole.c: Likewise.
39915
4ac9bd04 399162005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
39917
39918 * Makefile.in (LIBLZO): New variable.
39919
39920 * configure.ac: Check for LZO version 2.
39921
39922 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
39923 lzo/lzo1x.h instead of lzo1x.h.
39924
39925 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
39926 of -llzo.
39927
39928 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
39929 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
39930
39931 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
39932 copying the data from PARTITION to P.
39933
f4917dfd 399342005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39935
39936 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
39937 negative, unload the module.
39938
39939 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
39940 map is "pc_partition_map" but not "pc".
39941 (usage): Fix the description. The options are --boot-image and
39942 --core-image but not --boot-file or --core-file.
39943 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
39944 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
39945 DEFAULT_DIRECTORY.
39946
39947 * util/i386/pc/grub-install.in: Do not specify --boot-file or
39948 --core-file. Specify INSTALL_DEVICE as an argument.
39949
39950 * util/console.c: Include config.h.
39951 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
39952 [HAVE_NCURSES_H]: Include ncurses.h.
39953 [HAVE_CURSES_H]: Include curses.h.
39954 [!A_NORMAL] (A_NORMAL): Defined as zero.
39955 [!A_STANDOUT] (A_STANDOUT): Likewise.
39956
39957 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
39958 -lncurses.
39959 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
39960
39961 * configure.ac: Check for curses libraries and headers.
39962
39963 * Makefile.in (LIBCURSES): New variable.
39964
39965 * genmk.rb (Script::rule): Set the executable bits.
39966
39967 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
39968 name of the PC partition map is "pc_partition_map" but not "pc".
39969
0e143073 399702005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39971
39972 * util/i386/pc/grub-install.in (grub_probefs): New variable.
39973 (modules): Likewise.
39974 (usage): Added descriptions for --modules and --grub-probefs.
39975 Handle --modules and --grub-probefs. Save the arguments in MODULES
39976 and GRUB_PROBEFS, respectively.
39977 Auto-detect a filesystem module against GRUBDIR. If the result is
39978 empty and modules are not specified explicitly, abort the
39979 installation. Add the result to MODULES.
39980
39981 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
39982 disk/powerpc/ieee1275/ofdisk.c,
39983 include/grub/powerpc/ieee1275/init.h and
39984 term/powerpc/ieee1275/ofconsole.c.
39985 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
39986 term/ieee1275/ofconsole.c.
39987
39988 * include/grub/powerpc/ieee1275/console.h: Resurrected.
39989
39990 * COPYING: Upgraded to the latest version. Only the address of the
39991 FSF office has changed.
f19dbdb7 39992
efd6e6d5 399932005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39994
39995 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
39996 kern/ieee1275.c with kern/ieee1275/of.c.
39997
39998 * kern/ieee1275.c: Moved to ...
39999 * kern/ieee1275/of.c: ... here.
40000
8ceafda2 400012005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
40002
40003 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 40004 readability.
8ceafda2 40005
40006 * config.guess: Updated to the latest version from gnulib.
40007 * config.sub: Likewise.
40008 * install.sh: Likewise.
40009 * mkinstalldirs: Likewise.
40010
40011 * include/grub/console.h: Removed. This file is arch-specific. Do
40012 not put this in include/grub.
40013
40014 * include/grub/i386/pc/console.h: Resurrected.
40015
40016 * util/console.c: Include grub/machine/console.h instead of
40017 grub/console.h.
40018 * util/grub-emu.c: Likewise.
40019
267f6cd9 400202005-08-04 Marco Gerards <metgerards@student.han.nl>
40021
40022 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
40023 hardcoded value.
f19dbdb7 40024
267f6cd9 40025 From Vincent Pelletier <subdino2004@yahoo.fr>
40026 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
40027 Redefined to use grub_getwh.
40028 (grub_term): New member named getwh.
40029 (grub_getwh): New prototype.
40030 * kern/term.c (grub_getwh): New function.
40031 * term/i386/pc/console.c (grub_console_getwh): New function.
40032 (grub_console_term): New member `getwh'.
40033 * term/i386/pc/vga.c (grub_vga_getwh): New function.
40034 (grub_vga_term): New member `getwh'.
0b5abe02 40035 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 40036 grub_ssize_t.
40037 (grub_ofconsole_getw): New function.
40038 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
40039 (grub_ofconsole_term): New field named getwh and new initial
40040 value.
40041
3be7266d 400422005-08-03 Hollis Blanchard <hollis@penguinppc.org>
40043
40044 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
40045 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
40046 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
40047 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
40048 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
40049 of <grub/machine/ieee1275.h>.
40050 * commands/ieee1275/reboot.c: Likewise.
40051 * boot/powerpc/ieee1275/ieee1275.c: Move ...
40052 * kern/ieee1275.c: ... to here. All users updated. Change all
40053 parameter structs to use new type `grub_ieee1275_cell_t'.
40054 * term/powerpc/ieee1275/ofconsole.c: Move ...
40055 * term/ieee1275/ofconsole.c: ... to here. All users updated.
40056 * disk/powerpc/ieee1275/ofdisk.c: Move ...
40057 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
40058 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
40059 to return int.
40060 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
40061 Remove unused prototypes. All users updated.
40062 * include/grub/powerpc/ieee1275/console.h: Removed.
40063 * include/grub/powerpc/ieee1275/ieee1275.h: Define
40064 `grub_ieee1275_cell_t'.
40065 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
40066 Cast comparisons with -1 to the correct type.
40067 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
40068 type to match `grub_ieee1275_entry_fn'.
40069
8b5f3938 400702005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
40071
40072 * DISTLIST: Added util/i386/pc/grub-probefs.c.
40073
40074 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
40075 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
40076 partmap/sun.c.
40077 (grub_probefs_SOURCES): New variable.
40078
40079 * util/i386/pc/grub-probefs.c: New file.
40080
40081 * util/i386/pc/grub-setup.c (main): Call
40082 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
40083 grub_hfs_init and grub_jfs_init to initialize the system. Call
40084 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
40085 grub_pc_partition_map_fini to finish the system.
40086
ea409713 400872005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
40088
40089 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
40090 function.
40091 (grub_multiboot_load_elf32): Likewise.
40092 (grub_multiboot_is_elf64): Likewise.
40093 (grub_multiboot_load_elf64): Likewise.
40094 (grub_multiboot_load_elf): Likewise.
40095 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
40096 an ELF32 or ELF64 file.
40097 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
40098
40099 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
40100 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
40101 NULL before calling FS->LABEL.
40102 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
40103 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
40104 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
40105 before calling FS->LABEL.
40106
141a288b 401072005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
40108
40109 * util/i386/pc/grub-install.in (datadir): New variable.
40110 (libdir): Removed.
40111 (pkgdatadir): New variable.
40112 (pkglibdir): Removed.
40113
0d5f8a54 401142005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
40115
40116 * DISTLIST: Added util/i386/pc/grub-install.in.
40117
40118 * util/i386/pc/grub-install.in: New file.
40119
40120 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
40121 (grub_install_SOURCES): Likewise.
40122
40123 * genmk.rb: Added support for scripts.
40124 (Script): New class.
40125 (scripts): New variable.
40126
40127 * Makefile.in (install-local): Install sbin_SCRIPTS by
40128 INSTALL_SCRIPT.
40129 (uninstall): Remove sbin_SCRIPTS.
40130
40131 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
40132 device, try to get a GRUB device by
40133 grub_util_biosdisk_get_grub_dev.
40134 Free DEST_DEV.
40135
40136 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
40137 description for --device-map.
40138
5f968e1e 401392005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
40140
40141 Change the semantics of variable hooks. They now return strings
40142 instead of error values.
f19dbdb7 40143
5f968e1e 40144 * util/i386/pc/grub-setup.c: Include grub/env.h.
40145 (setup): Use grub_device_set_root instead of grub_env_set.
40146
40147 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
40148 grub_env_get instead of grub_device_set_root and
40149 grub_device_get_root, respectively.
40150
40151 * kern/main.c (grub_env_write_root): New function.
40152 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
40153 grub_env_set instead of grub_device_set_root.
40154
40155 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
40156 many variables.
40157 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
40158 rather than calling ENV->WRITE_HOOK afterwards.
40159 (grub_env_get): Return the result of ENV->READ_HOOK rather than
40160 passing a pointer of a pointer.
40161 (grub_register_variable_hook): Change the types of "read_hook" and
40162 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
40163 respectively.
40164 Allocate the default empty string on the heap, because this string
40165 may be freed later.
40166
40167 * kern/device.c: Include grub/env.h.
40168 (grub_device_set_root): Removed.
40169 (grub_device_get_root): Likewise.
40170 (grub_device_open): Use grub_env_get instead of
40171 grub_device_get_root.
40172
40173 * include/grub/env.h (grub_env_read_hook_t): New type.
40174 (grub_env_write_hook_t): Likewise.
40175 (grub_env_var): Change the types of "read_hook" and "write_hook"
40176 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
40177 (grub_register_variable_hook): Likewise.
40178
40179 * include/grub/device.h (grub_device_set_root): Removed.
40180 (grub_device_set_root): Likewise.
40181
40182 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
40183 make sure that DIRNAME terminates with '/', so that
40184 grub_fat_find_dir will fail if PATH is not a directory.
40185
40186 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
40187 from DIRNAME.
40188 Use the qualifier auto for print_files and print_files_long.
40189 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
40190 as a regular file.
40191 Put a newline only if there is no error.
40192 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
40193 used.
40194
896f0afd 401952005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
40196
40197 * kern/partition.c (grub_partition_probe): Initialize PART to
40198 NULL. Otherwise, when no partition map is registered, this returns
40199 a garbage.
40200
b28b81b2 402012005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
40202
40203 * partmap/apple.c (apple_partition_map_iterate): Check if POS
40204 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
40205 valid.
40206
5f3607e0 402072005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
40208
40209 * commands/ls.c (grub_ls_list_disks): Print the filesystem
40210 information on each device, if it does not have partitions. Print
40211 "Device" instead of "Disk", because this function is not specific
40212 to disk devices.
40213
40214 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
40215 static to ensure that it is put on the memory rather than a
40216 register.
40217
502c87e8 402182005-07-17 Yoshinori Okuji <okuji@enbug.org>
40219
40220 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
40221 (grub_cat_init): Likewise.
40222 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
40223 (options): Likewise.
40224 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
40225 (grub_configfile_init): Likewise.
40226 * font/manager.c (GRUB_MOD_INIT): Likewise.
40227 * commands/help.c (GRUB_MOD_INIT): Likewise.
40228 (grub_help_init): Likewise.
40229 * normal/command.c (grub_command_init): Likewise.
40230 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
40231 * disk/loopback.c (grub_loop_init): Likewise.
40232 (GRUB_MOD_INIT): Likewise.
40233 * commands/ls.c (grub_ls_init): Likewise.
40234 (GRUB_MOD_INIT): Likewise.
40235 (options): Likewise.
40236 * commands/boot.c (grub_boot_init): Likewise.
40237 (GRUB_MOD_INIT): Likewise.
40238 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
40239 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
40240 (GRUB_MOD_INIT): Likewise.
40241 * commands/cmp.c (grub_cmp_init): Likewise.
40242 (GRUB_MOD_INIT): Likewise.
40243
40244 * normal/arg.c: Use <> instead of "" to include header files.
40245 (SHORT_ARG_HELP): New macro.
40246 (SHORT_ARG_USAGE): Likewise.
40247 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
40248 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
40249 descriptions.
40250 (find_short): Check if C is 'h' or 'u' explicitly.
40251 (grub_arg_show_help): Use space characters instead of tabs. Treat
40252 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
40253 are shown with --help and --usage only if they are not used for
40254 the command itself.
40255 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
40256 'h' and 'u'.
40257
40258 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
40259 const into "longarg". Change the type of "shortarg" to int.
40260
f806d18e 402612005-07-17 Yoshinori Okuji <okuji@enbug.org>
40262
40263 * boot/i386/pc/boot.S (boot_drive_check): New label.
40264
40265 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
40266 macro.
40267
40268 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
40269 which do not pass a boot drive correctly. Copied from GRUB Legacy.
40270
e293232b 402712005-07-17 Yoshinori Okuji <okuji@enbug.org>
40272
40273 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
40274 When turning off Gate A20, skip the check and return immediately,
40275 because this is not fatal usually.
40276
ebedfd00 402772005-07-17 Yoshinori Okuji <okuji@enbug.org>
40278
40279 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
40280 be 0x7C00 instead of 0x8000.
40281
40282 * boot/i386/pc/pxeboot.S: Rewritten.
40283
40284 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
40285 EXT_C.
40286 (gate_a20_check_state): Read a byte from 0x108000. Invert the
40287 result.
40288
654fc59f 402892005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
40290
40291 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
40292 robustness. This routine now supports a BIOS call and System
40293 Control Port A to modify the gate A20.
40294
40295 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40296 Increased to 0x440.
40297
09f9923f 402982005-07-12 Hollis Blanchard <hollis@penguinppc.org>
40299
40300 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
40301 device path and resulting ihandle.
40302 (grub_ofdisk_close): dprintf the ihandle being closed.
40303 (grub_ofdisk_read): dprintf function parameters.
40304 * kern/mm.c (grub_mm_init_region): Likewise.
40305 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
40306 (grub_linux_boot): dprintf the Linux entry point, initrd address and
40307 size, and boot arguments.
40308 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
40309 before loading into memory.
40310 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
40311 before loading into memory.
40312
7ef504d8 403132005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
40314
40315 * kern/mm.c: Added much documentation.
40316 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
40317 8, set to 5 instead of 8.
40318
e0f050c2 403192005-07-10 Yoshinori Okuji <okuji@enbug.org>
40320
40321 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
40322
40323 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
40324 (grub_mkdevicemap_SOURCES): New variable.
40325
40326 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
40327 lib/device.c of GRUB Legacy.
40328
7224189a 403292005-07-10 Yoshinori Okuji <okuji@enbug.org>
40330
40331 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
40332 instead of PATH is NULL.
40333
68c864eb 403342005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
40335
40336 * commands/cmp.c (BUFFER_SIZE): New macro.
40337 (grub_cmd_cmp): Close the right file at the right time. Compare
40338 only data just read. Don't report files of different size as
40339 identical. Dynamically allocate buffers. Move variable
40340 declarations at the beginning of function.
40341
e6f3e614 403422005-07-09 Yoshinori Okuji <okuji@enbug.org>
40343
40344 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
40345 reverse.
40346
f8f1559a 403472004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
40348
40349 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
40350 when backspace is pressed at beginning of line.
40351
39c9d41d 403522005-07-03 Yoshinori Okuji <okuji@enbug.org>
40353
40354 * DISTLIST: Added genfslist.sh.
40355
40356 * normal/main.c (fs_module_list): New variable.
40357 (autoload_fs_module): New function.
40358 (read_fs_list): Likewise.
40359 (grub_normal_execute): Call read_fs_list.
40360
40361 * kern/fs.c (grub_fs_autoload_hook): New variable.
40362 (grub_fs_probe): Added support for auto-loading.
40363
40364 * include/grub/normal.h (struct grub_fs_module_list): New struct.
40365 (grub_fs_module_list_t): New type.
40366
40367 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
40368 (grub_fs_autoload_hook): New prototype.
40369
40370 * genfslist.sh: New file.
f19dbdb7 40371
39c9d41d 40372 * genmk.rb: Added a rule to generate a filesystem list.
40373
121c1d83 403742005-06-30 Marco Gerards <metgerards@student.han.nl>
40375
40376 * configure.ac: Fix the test for cross-compiling.
40377
40378 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
40379 define GRUB_UTIL anymore.
40380
40381 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
40382 so this function works on other systems than just big endian.
40383 (load_modules): Likewise.
40384 (add_segments): Likewise.
40385
e75d76e1 403862005-06-23 Hollis Blanchard <hollis@penguinppc.org>
40387
40388 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
40389 contains `l' modifier, get a long from va_arg().
40390
50b5a0a7 403912005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
40392
40393 * kern/mm.c (grub_free): If the next free block which is being
40394 merged is the first free block, set the first block to the block
40395 being freed.
40396 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
40397
89371b20 403982005-05-08 Hollis Blanchard <hollis@penguinppc.org>
40399
40400 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
40401 `grub_ieee1275_chosen'.
40402
168d6e58 404032005-05-08 Hollis Blanchard <hollis@penguinppc.org>
40404
40405 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
40406 (grub_ieee1275_chosen): New variable.
40407 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
40408 `chosen'.
40409 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
40410 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
40411 Rename first argument to `phandle' for consistency.
40412 (grub_ieee1275_get_property_length): Likewise.
40413 (grub_ieee1275_next_property): Likewise. Change type of first argument
40414 to grub_ieee1275_phandle_t.
40415 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
40416 Move export next to declaration.
40417 (grub_ieee1275_chosen): New variable.
40418 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
40419 Correct cosmetic typo.
40420 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
40421 `grub_ieee1275_chosen'.
40422 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
40423 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
40424 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
40425 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
40426 `grub_ieee1275_chosen'.
40427
ca5baa3f 404282005-05-10 Hollis Blanchard <hollis@penguinppc.org>
40429
40430 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
40431 /chosen/bootargs.
40432 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
40433 /chosen/bootargs as "variable=value" pairs.
40434
708b345f 404352005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
40436
40437 * include/grub/misc.h (grub_dprintf): New macro.
40438 (grub_real_dprintf): New prototype.
40439 (grub_strword): Likewise.
40440 (grub_iswordseparator): Likewise.
40441 * kern/misc.c (grub_real_dprintf): New function.
40442 (grub_strword): Likewise.
40443 (grub_iswordseparator): Likewise.
40444
f4c5e67c 404452005-04-30 Hollis Blanchard <hollis@penguinppc.org>
40446
40447 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
40448 (roundup): Remove macro.
40449 (grub_ieee1275_flags): Make static.
40450 (grub_ieee1275_realmode): Remove.
40451 (grub_ieee1275_test_flag): New function.
40452 (grub_ieee1275_set_flag): Likewise.
40453 (find_options): Rename to `grub_ieee1275_find_options'; update
40454 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
40455 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
40456 (cmain): New prototype.
40457 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
40458 `grub_ieee1275_flags' directly.
40459 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
40460 machine/biosdisk.h.
40461 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
40462 Don't include grub/machine/init.h.
40463 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
40464 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
40465 Remove prototype.
40466 (grub_ieee1275_realmode): Likewise.
40467 (grub_ieee1275_flag): New enum.
40468 (grub_ieee1275_test_flag): New prototype.
40469 (grub_ieee1275_set_flag): New prototype.
40470 * include/grub/powerpc/ieee1275/init.h: Remove file.
40471 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
40472 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
40473 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
40474 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
40475 comment.
40476 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
40477 `grub_ieee1275_test_flag'.
40478 (grub_ieee1275_encode_devname): Likewise.
40479
ed16607e 404802005-04-21 Hollis Blanchard <hollis@penguinppc.org>
40481
40482 * include/grub/powerpc/ieee1275/ieee1275.h
40483 (grub_ieee1275_encode_devname): New prototype.
40484 (grub_ieee1275_get_filename): Likewise.
40485 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
40486 function.
40487 (grub_set_prefix): Likewise.
40488 (grub_machine_init): Call grub_set_prefix.
40489 * kern/powerpc/ieee1275/openfw.c: Fix typos.
40490 (grub_parse_type): New enum.
40491 (grub_ieee1275_get_devargs): New function.
40492 (grub_ieee1275_get_devname): Likewise.
40493 (grub_ieee1275_parse_args): Likewise.
40494 (grub_ieee1275_get_filename): Likewise.
40495 (grub_ieee1275_encode_devname): Likewise.
40496
be369920 404972005-03-30 Marco Gerards <metgerards@student.han.nl>
40498
40499 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
40500 `grub_loader_unset'.
40501
a5ce3a4a 405022005-03-26 Hollis Blanchard <hollis@penguinppc.org>
40503
40504 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
40505 instead of grub_ieee1275_interpret.
40506 (grub_halt_init): New function.
40507 (grub_halt_fini): Likewise.
40508 (GRUB_MOD_INIT): Correct message grammar.
40509 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
40510 instead of grub_ieee1275_interpret.
40511 (grub_reboot_init): New function.
40512 (grub_reboot_fini): Likewise.
40513 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
40514 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
40515 util/i386/pc/misc.c with commands/ieee1275/halt.c,
40516 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
40517 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
40518 function.
40519 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
40520 Add prototype.
40521 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
40522 prototype.
40523 (grub_halt): Likewise.
40524 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
40525 (cmain): Remove __attribute__((unused)).
40526 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
40527 (grub_heap_len): Likewise.
40528 (grub_machine_fini): New function.
40529 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
40530 (grub_halt): Likewise.
40531 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
40532 function.
40533 * util/powerpc/ieee1275/misc.c: New file.
40534
0058f771 405352005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
40536
40537 * DISTLIST: New file.
40538 * gendistlist.sh: Likewise.
f19dbdb7 40539
0058f771 40540 * Makefile.in (COMMON_DISTFILES): Removed.
40541 (BOOT_DISTFILES): Likewise.
40542 (CONF_DISTFILES): Likewise.
40543 (DISK_DISTFILES): Likewise.
40544 (FS_DISTFILES): Likewise.
40545 (INCLUDE_DISTFILES): Likewise.
40546 (KERN_DISTFILES): Likewise.
40547 (LOADER_DISTFILES): Likewise.
40548 (TERM_DISTFILES): Likewise.
40549 (UTIL_DISTFILES): Likewise.
40550 (DISTFILES): Likewise.
40551 (uninstall): Uninstall files in $(pkgdata_DATA).
40552 (DISTLIST): New target.
40553 (distdir): Use the contents of the file DISTLIST to get a list of
40554 distributed files.
40555
46b3b8a5 405562005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
40557
40558 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
40559 descriptor. This is ported from GRUB Legacy.
40560
40561 * gencmdlist.sh: Added an extra semicolon to make it work with
40562 old sed versions. Reported by Robert Bihlmeyer
40563 <robbe@orcus.priv.at>.
40564
5822ff87 405652005-03-08 Yoshinori Okuji <okuji@enbug.org>
40566
40567 Automatic loading of commands is supported.
f19dbdb7 40568
5822ff87 40569 * normal/main.c (read_command_list): New function.
40570 (grub_normal_execute): Call read_command_list.
40571
40572 * normal/command.c (grub_register_command): Return zero or CMD.
40573 Allocate CMD->NAME from the heap.
40574 Initialize CMD->MODULE_NAME to zero.
40575 Find the same name as well. If the same command is found and it is
40576 a dummy command, overwrite members. If it is not a dummy command,
40577 return zero.
40578 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
40579 (grub_command_find): If a dummy command is found, load a module
40580 and retry to find a command only once.
40581
40582 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
40583 make sure that each command is loaded.
40584
40585 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
40586 macro.
40587 (struct grub_command): Remove const from the member `name'.
40588 Add a new member `module_name'.
40589 (grub_register_command): Return grub_command_t.
40590
40591 * commands/help.c (grub_cmd_help): Call grub_command_find to make
40592 sure that each command is loaded.
40593
40594 * genmk.rb (PModule::rule): Specify a module name without the
40595 suffix ".mod" to gencmdlist.sh.
40596
7b1f4b57 405972005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
40598
40599 * gencmdlist.sh: New file.
f19dbdb7 40600
7b1f4b57 40601 * genmk.rb (PModule::rule): Generate a rule for a command list.
40602 Clean command.lst.
40603 Generate command.lst from $(COMMANDFILES).
40604
40605 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
40606 (DATA): Added $(pkgdata_DATA).
40607 (install-local): Install files in $(pkgdata_DATA).
40608
062aaf39 406092005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
40610
40611 * term/i386/pc/vga.c (debug_command): Removed.
40612 (GRUB_MOD_INIT): Do not register the command "debug".
40613
40614 From Hollis Blanchard:
40615 * commands/configfile.c: New file.
40616 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40617 commands/configfile.c.
40618 (pkgdata_MODULES): Added configfile.mod.
40619 (configfile_mod_SOURCES): New variable.
40620 (configfile_mod_CFLAGS): Likewise.
40621 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40622 commands/configfile.c.
40623 (pkgdata_MODULES): Added configfile.mod.
40624 (configfile_mod_SOURCES): New variable.
40625 (configfile_mod_CFLAGS): Likewise.
40626 * util/grub-emu.c (main): Call grub_configfile_init and
40627 grub_configfile_fini.
40628 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
40629 prototype.
40630 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 40631
cee01aa6 406322005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
40633
40634 * normal/arg.c (grub_arg_show_help): Do not show the bug report
40635 address.
40636
40637 * commands/help.c (grub_cmd_help): Do not print newlines after
40638 the last command in print_command_help.
40639
93f3a1d8 406402005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
40641
40642 * commands/default.h: New file.
40643 * commands/timeout.h: Likewise.
40644 * normal/context.c: Likewise.
f19dbdb7 40645
93f3a1d8 40646 * util/misc.c: Do not include sys/times.h.
40647 Include sys/time.h and grub/machine/time.h.
40648 (grub_get_rtc): Rewritten with gettimeofday.
40649
40650 * util/grub-emu.c (main): Call grub_default_init and
40651 grub_timeout_init before grub_normal_init, and call
40652 grub_timeout_fini and grub_default_fini after grub_main.
40653
40654 * util/console.c (grub_ncurses_checkkey): Return the read
40655 character or -1.
40656
40657 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
40658 timeouts.
40659
40660 * normal/main.c (read_config_file): Push MENU. If this fails,
40661 print an error and wait for a user input.
40662 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
40663 If a menu is empty or an error occurs, pop MENU.
40664 (grub_normal_execute): Pop and free MENU after grub_menu_run
40665 returns.
40666
40667 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
40668
40669 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
40670 include time.h.
40671 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
40672 without GRUB_UTIL.
40673 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
40674 time.h.
40675 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
40676 without GRUB_UTIL.
40677
40678 * include/grub/normal.h (struct grub_menu_list): New struct.
40679 (grub_menu_list_t): New type.
40680 (struct grub_context): New struct.
40681 (grub_context_t): New type.
40682 (grub_register_command): Got rid of EXPORT_FUNC.
40683 (grub_unregister_command): Likewise.
40684 (grub_context_get): New prototype.
40685 (grub_context_get_current_menu): Likewise.
40686 (grub_context_push_menu): Likewise.
40687 (grub_context_pop_menu): Likewise.
40688 [GRUB_UTIL] (grub_default_init): Likewise.
40689 [GRUB_UTIL] (grub_default_fini): Likewise.
40690 [GRUB_UTIL] (grub_timeout_init): Likewise.
40691 [GRUB_UTIL] (grub_timeout_fini): Likewise.
40692
40693 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
40694 commands/timeout.c and normal/context.c.
40695 (pkgdata_MODULES): Added default.mod and timeout.mod.
40696 (normal_mod_SOURCES): Added normal/context.c.
40697 (default_mod_SOURCES): New variable.
40698 (default_mod_CFLAGS): Likewise.
40699 (timeout_mod_SOURCES): Likewise.
40700 (timeout_mod_CFLAGS): Likewise.
40701 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
40702 conf/i386-pc.rmk.
40703 (pkgdata_MODULES): Added default.mod and timeout.mod.
40704 (normal_mod_SOURCES): Added normal/context.c.
40705 (default_mod_SOURCES): New variable.
40706 (default_mod_CFLAGS): Likewise.
40707 (timeout_mod_SOURCES): Likewise.
40708 (timeout_mod_CFLAGS): Likewise.
40709
40710 * Makefile.in (all-local): Added $(MKFILES).
40711
4ed2e1dd 407122005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
40713
40714 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
40715 (grub_emu_SOURCES): Likewise.
40716 (pkgdata_MODULES): Add `sun.mod'.
40717 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
40718 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40719 `partmap/sun.c'.
40720 (pkgdata_MODULES): Add `sun.mod'.
40721 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
40722 * include/grub/partition.h (grub_sun_partition_map_init): New
40723 prototype.
40724 (grub_sun_partition_map_fini): Likewise.
40725 * partmap/sun.c: New file.
40726 * util/grub-emu.c (main): Initialize and de-initialize the sun
40727 partitionmap support.
40728
4d4e372e 407292005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
40730
40731 This implements an Emacs-like menu entry editor.
f19dbdb7 40732
4d4e372e 40733 * normal/menu_entry.c: New file.
f19dbdb7 40734
4d4e372e 40735 * util/console.c (grub_ncurses_putchar): Translate some Unicode
40736 characters to ASCII.
40737 (saved_char): New variable.
40738 (grub_ncurses_checkkey): Rewritten completely.
40739 (grub_ncurses_getkey): Likewise.
40740 (grub_ncurses_init): Call raw instead of cbreak.
40741
40742 * normal/menu.c (print_entry): Do not put a space.
40743 (init_page): Renamed to ...
40744 (grub_menu_init_page): ... this. All callers changed.
40745 (edit_menu_entry): Removed.
40746 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
40747
40748 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
40749
40750 * kern/misc.c (grub_vprintf): Call grub_refresh.
40751
40752 * normal/menu.c (DISP_LEFT): Renamed to ...
40753 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
40754 * normal/menu.c (DISP_UP): Renamed to ...
40755 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
40756 * normal/menu.c (DISP_RIGHT): Renamed to ...
40757 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
40758 * normal/menu.c (DISP_DOWN): Renamed to ...
40759 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
40760 * normal/menu.c (DISP_HLINE): Renamed to ...
40761 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
40762 * normal/menu.c (DISP_VLINE): Renamed to ...
40763 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
40764 * normal/menu.c (DISP_UL): Renamed to ...
40765 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
40766 * normal/menu.c (DISP_UR): Renamed to ...
40767 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
40768 * normal/menu.c (DISP_LL): Renamed to ...
40769 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
40770 * normal/menu.c (DISP_LR): Renamed to ...
40771 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
40772 * normal/menu.c (TERM_WIDTH): Renamed to ...
40773 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
40774 * normal/menu.c (TERM_HEIGHT): Renamed to ...
40775 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
40776 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
40777 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
40778 * normal/menu.c (TERM_MARGIN): Renamed to ...
40779 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
40780 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
40781 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
40782 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
40783 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
40784 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
40785 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
40786 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
40787 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
40788 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
40789 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
40790 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
40791 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
40792 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
40793 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
40794 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
40795 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
40796 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
40797 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
40798 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
40799 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
40800 All callers changed.
40801
40802 * include/grub/normal.h: New prototype.
40803
40804 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40805 normal/menu_entry.c.
40806 (normal_mod_SOURCES): Likewise.
40807 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40808 (normal_mod_SOURCES): Likewise.
40809
e6b92c8a 408102005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
40811
40812 * include/grub/normal.h (grub_halt_init): New prototype.
40813 (grub_halt_fini): Likewise.
40814 (grub_reboot_init): Likewise.
40815 (grub_reboot_fini): Likewise.
40816
40817 * util/grub-emu.c: Include signal.h.
40818 (main_env): New global variable.
40819 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
40820 catch C-c.
40821 (grub_machine_fini): New function.
40822 (main): Call grub_halt_init and grub_reboot_init before
40823 grub_main, and grub_reboot_fini and grub_halt_fini after it.
40824 Call setjmp with MAIN_ENV to go back afterwards.
40825 Call grub_machine_fini right before return.
40826
40827 * include/grub/util/misc.h: Include setjmp.h.
40828 (main_env): New prototype.
40829
40830 * include/grub/kernel.h (grub_machine_fini): New prototype.
40831 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
40832 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
40833
40834 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
40835 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
40836 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 40837
e6b92c8a 40838 * util/i386/pc/misc.c: New file.
f19dbdb7 40839
e6b92c8a 40840 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40841 util/i386/pc/misc.c, commands/i386/pc/halt.c and
40842 commands/i386/pc/reboot.c.
40843
c642636f 408442005-02-14 Guillem Jover <guillem@hadrons.org>
40845
40846 * include/grub/dl.h (grub_dl_check_header): New prototype.
40847 (grub_arch_dl_check_header): Change return type to grub_err_t,
40848 remove size parameter and export function. Update all callers.
40849 * kern/dl.c (grub_dl_check_header): New function.
40850 (grub_dl_load_core): Use `grub_dl_check_header' instead of
40851 `grub_arch_dl_check_header'. Check ELF type. Check if sections
40852 are inside the core.
40853 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
40854 independent ELF header checks.
40855 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
40856 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
40857 `grub_dl_check_header' instead of explicit checks. Check for the
40858 ELF type.
40859 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
40860 `grub_dl_check_header' instead of explicit checks. Remove arch
40861 specific ELF header checks.
40862
e6b92c8a 40863 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
40864 argument SIZE.
40865
5eabe94b 408662005-02-13 Hollis Blanchard <hollis@penguinppc.org>
40867
40868 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
40869 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
40870
1b14a681 408712005-02-12 Hollis Blanchard <hollis@penguinppc.org>
40872
40873 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 40874 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 40875 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 40876 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 40877 * partmap/amiga.c (amiga_partition_map_iterate): Return
40878 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
40879 * partmap/apple.c (apple_partition_map_iterate): Likewise.
40880
aca108aa 408812005-02-01 Guillem Jover <guillem@hadrons.org>
40882
40883 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
40884 help info.
40885
c9f9c556 408862005-01-31 Marco Gerards <metgerards@student.han.nl>
40887
40888 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
40889 Removed prototype.
40890 (grub_rescue_cmd_linux): New prototype.
40891 (grub_rescue_cmd_initrd): Likewise.
40892 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
40893 `bi_rec'.
40894 (grub_linux_release_mem): Release the memory for the initrd.
40895 (grub_load_linux): Renamed from this...
40896 (grub_rescue_cmd_linux): ...To this. Changed all callers.
40897 Changed `entry' not to be static. Loop over memory regions to
40898 find another one when the default fails.
40899 (grub_rescue_cmd_initrd): New function.
40900 (grub_linux_init): Remove function.
40901 (grub_linux_fini): Likewise.
40902 (GRUB_MOD_INIT): Register `initrd'.
40903 (GRUB_MOD_FINI): Unregister `initrd'.
40904 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
40905 Function removed.
40906 (grub_linux_normal_fini): Likewise.
40907 (GRUB_MOD_INIT): Register `initrd'.
40908 (GRUB_MOD_FINI): Unregister `initrd'.
40909
990cf3aa 409102005-01-31 Marco Gerards <metgerards@student.han.nl>
40911
40912 * commands/help.c: New file.
40913 * normal/arg.c (show_help): Renamed to...
40914 (grub_arg_show_help): ... this.
40915 * commands/i386/pc/halt.c: New file.
40916 * commands/i386/pc/reboot.c: Likewise.
40917 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
40918 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
40919 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
40920 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
40921 variables.
40922 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40923 `commands/help.c'.
40924 (pkgdata_MODULES): Add `help.mod'.
40925 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
40926 * grub/i386/pc/init.h (grub_reboot): New prototype.
40927 (grub_halt): Likewise.
40928 * include/grub/normal.h (grub_arg_show_help): New prototype.
40929 (grub_help_init): Likewise.
40930 (grub_help_fini): Likewise.
40931 * util/grub-emu.c (main): Initialize and deinitialize the help
40932 command.
40933
40934 * normal/cmdline.c (grub_cmdline_get): Doc fix.
40935
40936 * normal/command.c (grub_command_init): Fixed the description of
40937 the `set' and `unset' commands.
40938
409392005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 40940
40941 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
40942 function.
40943 * commands/ieee1275/halt.c: New file.
40944 * commands/ieee1275/reboot.c: Likewise.
40945 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
40946 `__attribute__ ((unused))'. Some GCS related fixed.
40947 (grub_suspend_init) [GRUB_UTIL]: Function removed.
40948 (grub_suspend_fini): Likewise.
40949 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
40950 and `halt.mod'.
40951 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
40952 (halt_mod_CFLAGS): New variables.
40953 * include/grub/powerpc/ieee1275/ieee1275.h
40954 (grub_ieee1275_interpret): New prototype.
40955
1ab09cc7 409562005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
40957
40958 * include/grub/misc.h (memmove): New prototype.
40959 (memcpy): Likewise.
40960
8b8cbdb2 409612005-01-22 Hollis Blanchard <hollis@penguinppc.org>
40962
40963 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
40964 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
40965
e3741a27 409662005-01-22 Marco Gerards <metgerards@student.han.nl>
40967
40968 * kern/misc.c (grub_strndup): Function rewritten.
40969
776bd780 409702005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
40971
40972 * normal/menu.c (TERM_WIDTH): Macro redefined.
40973 (TERM_TOP_BORDER_Y): Likewise.
40974 (draw_border): Replaced while-loop by a for-loop. Make the number
40975 of lines consistent with the number of lines displayed in
40976 print_entries. Added a margin below the rectangle.
40977 (print_entry): Make the entry fit in the rectangle.
40978 (print_entries): Display the scroll arrows next to the right
40979 border.
40980
78026bce 409812005-01-21 Marco Gerards <metgerards@student.han.nl>
40982
40983 * fs/minix.c (grub_minix_find_file): Reserve more space for
40984 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
40985 `grub_strncpy' to copy `path' into it.
40986
67bbaf0f 409872005-01-21 Marco Gerards <metgerards@student.han.nl>
40988
40989 Add the loopback device, a device via which files can be accessed
40990 as devices.
f19dbdb7 40991
67bbaf0f 40992 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
40993 (pkgdata_MODULES): Add loopback.mod.
40994 (loopback_mod_SOURCES): New variable.
40995 (loopback_mod_CFLAGS): Likewise.
40996 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40997 `disk/loopback.c'.
40998 (pkgdata_MODULES): Add loopback.mod.
40999 (loopback_mod_SOURCES): New variable.
41000 (loopback_mod_CFLAGS): Likewise.
41001 * disk/loopback.c: new file.
41002 * include/grub/normal.h (grub_loop_init): New prototype.
41003 (grub_loop_fini): New prototype.
41004 * util/grub-emu.c (main): Initialize and de-initialize loopback
41005 support.
41006 * include/grub/disk.h (grub_disk_dev_id): Add
41007 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
41008
6f1c18bd 410092005-01-20 Hollis Blanchard <hollis@penguinppc.org>
41010
41011 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
41012 function.
41013 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
41014 (suspend_mod_SOURCES): New variable.
41015 (suspend_mod_CFLAGS): Likewise.
41016 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
41017 New prototype.
41018 * commands/ieee1275/suspend.c: New file.
41019
b38551da 410202005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41021
41022 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 41023 ((unused))' to `__attribute__ ((used))'.
b38551da 41024 (GRUB_MOD_FINI): Likewise.
41025 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
41026 * genmk.rb (PModule): Assign space to common symbols when linking
41027 modules.
41028
777aff39 410292005-01-20 Marco Gerards <metgerards@student.han.nl>
41030
41031 * include/grub/mm.h (grub_mm_init_region): Change the type of the
41032 `unsigned' arguments to `grub_size_t'.
41033 (grub_malloc): Likewise.
41034 (grub_realloc): Likewise.
41035 (grub_memalign): Likewise.
41036 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
41037 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
41038 * util/misc.c (grub_malloc): Likewise.
41039 (grub_realloc): Likewise.
41040 * kern/mm.c (get_header_from_pointer): Change the casts to
41041 `unsigned' into a cast to `grub_size_t'.
41042
41043 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
41044 point to `currnode' when `currnode' is changed.
41045
41046 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
41047 Schottelius <nico-linux@schottelius.org>.
41048
d0ff18e1 410492005-01-09 Hollis Blanchard <hollis@penguinppc.org>
41050
41051 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
41052 (note_path): Remove variable.
41053 (GRUB_IEEE1275_NOTE_NAME): New macro.
41054 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
41055 (grub_ieee1275_note_hdr): New structure.
41056 (grub_ieee1275_note_desc): Likewise.
41057 (grub_ieee1275_note): Likewise.
41058 (load_note): Remove `dir' argument. All callers updated. Remove
41059 `note_img' and `path'. Do not load a file from `note_path'.
41060 Initialize a struct grub_ieee1275_note and write that to `out'.
41061 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
41062
4ca7004c 410632005-01-05 Marco Gerards <metgerards@student.han.nl>
41064
41065 * util/misc.c (grub_util_read_image): Revert last change. It
41066 called `grub_util_read_at', which seeks from the beginning of the
41067 file.
41068
0b412211 410692005-01-04 Hollis Blanchard <hollis@penguinppc.org>
41070
41071 * TODO: Add note about endianness in grub-mkimage.
41072 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
41073 section.
41074 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
41075 (grub_mkimage_SOURCES): New target.
41076 * include/grub/kernel.h (grub_start_addr): Remove variable.
41077 (grub_end_addr): Likewise.
41078 (grub_total_module_size): Likewise.
41079 (grub_kernel_image_size): Likewise.
41080 (GRUB_MODULE_MAGIC): New constant.
41081 (grub_module_info): New structure.
41082 (grub_arch_modules_addr): New prototype.
41083 (grub_get_end_addr): Remove prototype.
41084 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
41085 * include/grub/powerpc/ieee1275/kernel.h: New file.
41086 * include/grub/util/misc.h (grub_util_get_fp_size): New
41087 prototype.
41088 (grub_util_read_at): Likewise.
41089 (grub_util_write_image_at): Likewise.
41090 * kern/main.c (grub_get_end_addr): Remove function.
41091 (grub_load_modules): Call grub_arch_modules_addr instead of using
41092 grub_end_addr. Look for a grub_module_info struct in memory. Use
41093 the grub_module_info fields instead of calling grub_get_end_addr
41094 as loop conditions. Move grub_add_unused_region code here.
41095 (grub_add_unused_region): Remove function.
41096 * kern/i386/pc/init.c: Include grub/cache.h.
41097 (grub_machine_init): Remove call to grub_get_end_addr. Remove
41098 one call to add_mem_region.
41099 (grub_arch_modules_addr): New function.
41100 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
41101 (grub_total_module_size): Likewise.
41102 Include grub/machine/kernel.h.
41103 (grub_arch_modules_addr): New function.
41104 * util/grub-emu.c (grub_end_addr): Remove variable.
41105 (grub_total_module_size): Likewise.
41106 (grub_arch_modules_addr): New function.
41107 * util/misc.c: Include unistd.h.
41108 (grub_util_get_fp_size): New function.
41109 (grub_util_read_at): Likewise.
41110 (grub_util_write_image_at): Likewise.
41111 (grub_util_read_image): Call grub_util_read_at.
41112 (grub_util_write_image): Call grub_util_write_image_at.
41113 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
41114 additional memory in kernel_img for a struct grub_module_info.
41115 Fill in that grub_module_info.
41116 * util/powerpc/ieee1275/grub-mkimage.c: New file.
41117
458786f8 411182005-01-03 Hollis Blanchard <hollis@penguinppc.org>
41119
41120 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
41121 New function.
41122 * include/grub/powerpc/ieee1275/ieee1275.h
41123 (grub_ieee1275_milliseconds): New prototype.
41124 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
41125 Change to 1000.
41126 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
41127 grub_ieee1275_milliseconds.
41128
ac507d1b 411292005-01-03 Hollis Blanchard <hollis@penguinppc.org>
41130
41131 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
41132 variable.
41133 (find_options): New function.
41134 (cmain): Call find_options.
41135 * include/grub/powerpc/ieee1275/ieee1275.h
41136 (grub_ieee1275_realmode): New extern variable.
41137 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
41138 grub_map if grub_ieee1275_realmode is false.
41139
6b8fd1c4 411402004-12-29 Marco Gerards <metgerards@student.han.nl>
41141
41142 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
41143 lines are inserted and make it work like readline. Reported by
41144 Vincent Pelletier <subdino2004@yahoo.fr>.
41145
8514a1e0 411462004-12-28 Marco Gerards <metgerards@student.han.nl>
41147
41148 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
41149
41150 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
41151 `kern/powerpc/cache.S'.
41152
924b6140 411532004-12-27 Marco Gerards <metgerards@student.han.nl>
41154
41155 * genmk.rb: Handle the `Program' class in the main loop. Written
41156 by Johan Rydberg <jrydberg@gnu.org>.
41157 (Program): New class.
41158 (programs): New variable.
41159 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
41160 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
41161 instead of "grub/kernel.h". Include <grub/machine/init.h>.
41162 (help_arch): Function removed.
41163 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
41164 `powerpc/libgcc.h' and `loader.h'.
41165 (pkgdata_PROGRAMS): New variable.
41166 (sbin_UTILITIES): Variable removed.
41167 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
41168 (grubof_SOURCES): Variable re-defined so it only includes the
41169 core functionality.
41170 (grubof_CFLAGS): Remove `-DGRUBOF'.
41171 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
41172 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
41173 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
41174 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
41175 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
41176 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
41177 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
41178 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
41179 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
41180 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
41181 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
41182 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
41183 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
41184 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
41185 (pc_mod_CFLAGS): New variables.
41186 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
41187 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
41188 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
41189 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
41190 Moved from here...
41191 * include/grub/i386/pc/init.h (grub_os_area_addr)
41192 (rub_os_area_size): ... to here.
41193 * include/grub/powerpc/ieee1275/ieee1275.h
41194 (grub_ieee1275_entry_fn): Export symbol.
41195 * include/grub/powerpc/ieee1275/init.h: New file.
41196 * include/grub/powerpc/libgcc.h: Likewise.
41197 * include/grub/cache.h: Likewise.
41198 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
41199 <hollis@penguinppc.org>.
41200 * kern/dl.c: Include <grub/cache.h>.
41201 (grub_dl_flush_cache): New function.
41202 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
41203 for this module.
41204 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
41205 (grub_console_init): Removed prototypes.
41206 (grub_machine_init): Don't initialize the modules anymore.
41207 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
41208 static.
41209 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
41210 Macro undef removed.
41211 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
41212 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
41213 relocation `R_PPC_REL32'. Return an error when the relocation is
41214 unknown.
41215 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
41216 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
41217 * util/misc.c (grub_arch_sync_caches): Likewise.
41218
e4b47e0c 412192004-12-19 Marco Gerards <metgerards@student.han.nl>
41220
41221 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
41222 `symlist.c', add `grubof_symlist.c'.
41223 (symlist.c): Variable removed.
41224 (grubof_HEADERS): Variable added.
41225 (grubof_symlist.c): New target.
41226 (kernel_syms.lst): Use `grubof_HEADERS' instead of
41227 `kernel_img_HEADERS'.
41228 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
41229 * kern/powerpc/dl.c: New file.
41230 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
41231 Function removed.
41232 (grub_arch_dl_relocate_symbols): Likewise.
41233 (grub_register_exported_symbols): Likewise.
41234
4ceb3636 412352004-12-13 Marco Gerards <metgerards@student.han.nl>
41236
41237 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
41238 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
41239 to fail instead. Reported by Vincent Pelletier
41240 <subdino2004@yahoo.fr>.
41241
41242 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
41243 it is not allocated. Reported by Vincent Pelletier
41244 <subdino2004@yahoo.fr>.
41245
41246 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
41247 output so the output looks better.
f19dbdb7 41248
3f1578fe 412492004-12-04 Marco Gerards <metgerards@student.han.nl>
41250
41251 Modulize the partition map support and add support for the amiga
41252 partition map.
f19dbdb7 41253
3f1578fe 41254 * commands/ls.c: Include <grub/partition.h> instead of
41255 <grub/machine/partition.h>.
41256 * kern/disk.c: Likewise.
41257 * kern/rescue.c: Likewise.
41258 * loader/i386/pc/chainloader.c: Likewise.
41259 * normal/cmdline.c: Likewise.
41260 * kern/powerpc/ieee1275/init.c: Likewise.
41261 (grub_machine_init): Call `grub_pc_partition_map_init',
41262 `grub_amiga_partition_map_init' and
41263 `grub_apple_partition_map_init'.
41264 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
41265 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
41266 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
41267 `partition.h' and `pc_partition.h'.
41268 (grub_setup_SOURCES): Remove
41269 `disk/i386/pc/partition.c'. Add `kern/partition.c',
41270 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
41271 (grub_emu_SOURCES): Likewise.
41272 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
41273 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
41274 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
41275 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
41276 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
41277 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
41278 (grubof_SOURCES): Likewise.
41279 * disk/i386/pc/partition.c: File removed.
41280 * disk/powerpc/ieee1275/partition.c: Likewise.
41281 * include/grub/powerpc/ieee1275/partition.h: Likewise.
41282 * include/grub/i386/pc/partition.h: Likewise.
41283 * kern/partition.c: New file.
41284 * partmap/amiga.c: Likewise.
41285 * partmap/apple.c: Likewise.
41286 * partmap/pc.c: Likewise.
41287 * include/grub/partition.h: Likewise..
41288 * include/grub/pc_partition.h: Likewise.
41289 * util/grub-emu.c: Include <grub/partition.h> instead of
41290 <grub/machine/partition.h>.
41291 (main): Call `grub_pc_partition_map_init',
41292 `grub_amiga_partition_map_init' and
41293 `grub_apple_partition_map_init' and deinitialize afterwards.
41294 * util/i386/pc/biosdisk.c: Include `#include
41295 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
41296 `<grub/machine/partition.h>'.
41297 * util/i386/pc/grub-setup.c: Likewise.
41298 * util/i386/pc/biosdisk.c: Likewise.
41299 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
41300 partition information in case of a PC partition.
41301 * util/i386/pc/grub-setup.c: Include `#include
41302 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
41303 `<grub/machine/partition.h>'.
41304 (setup): Only access the PC specific partition information in case
41305 of a PC partition.
41306
0ef4ced9 413072004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 41308
0ef4ced9 41309 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
41310 (grub_longjmp): Likewise.
41311 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
41312 20.
41313 * normal/powerpc/setjmp.S: New file.
41314 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
41315 `normal/powerpc/setjmp.S'.
41316 (grubof_CFLAGS): Add `-DGRUBOF'.
41317 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
41318 [GRUB_UTIL && !GRUBOF].
f19dbdb7 41319
19950e29 413202004-11-16 Marco Gerards <metgerards@student.han.nl>
41321
41322 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
41323 property named `name'. Correctly handle the error returned by
41324 `grub_ieee1275_finddevice' if a device can not be opened.
41325
a2fea427 413262004-11-02 Hollis Blanchard <hollis@penguinppc.org>
41327
41328 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
41329 `actual' for negativity.
41330 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
41331 kern/fshelp.c.
41332
41ea0ea3 413332004-11-01 Marco Gerards <metgerards@student.han.nl>
41334
41335 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
41336 (PAGE_OFFSET): New macro.
41337 (CRTC_ADDR_PORT): Likewise.
41338 (CRTC_DATA_PORT): Likewise.
41339 (START_ADDR_HIGH_REGISTER): Likewise.
41340 (START_ADDR_LOW_REGISTER): Likewise.
41341 (GRAPHICS_ADDR_PORT): Likewise.
41342 (GRAPHICS_DATA_PORT): Likewise.
41343 (READ_MAP_REGISTER): Likewise.
41344 (INPUT_STATUS1_REGISTER): Likewise.
41345 (INPUT_STATUS1_VERTR_BIT): Likewise.
41346 (page): New variable.
41347 (wait_vretrace): New function.
41348 (set_read_map): Likewise.
41349 (set_start_address): Likewise.
41350 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
41351 the right page.
41352 (check_vga_mem): Take the page into account.
41353 (write_char): Likewise.
41354 (write_cursor): Likewise.
41355 (scroll_up): Likewise. Copy the page to the page that is not
41356 shown and switch between both pages.
41357 (grub_vga_putchar): Fix off by one error.
41358 (grub_vga_cls): Wait for the vertical retrace. Take the page into
41359 account.
41360
ad0bd20b 413612004-11-01 Marco Gerards <metgerards@student.han.nl>
41362
41363 Add support for iso9660 (including rockridge).
f19dbdb7 41364
ad0bd20b 41365 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
41366 (iso9660_mod_SOURCES): New variable.
41367 (iso9660_mod_CFLAGS): Likewise.
41368 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
41369 * include/grub/fs.h (grub_iso9660_init): New prototype.
41370 * util/grub-emu.c (main): Call `grub_iso9660_init'.
41371 * fs/iso9660.c: New file.
41372
41373 * include/grub/misc.h (grub_strncat): New prototype.
41374 * kern/misc.c (grub_strncat): New function.
f19dbdb7 41375
ad0bd20b 41376 * fs/hfs.c (grub_hfs_mount): Translate the error
41377 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
41378 * fs/jfs.c (grub_jfs_mount): Likewise.
41379 * fs/ufs.c (grub_ufs_mount): Likewise.
41380
a5477a59 413812004-10-28 Hollis Blanchard <hollis@penguinppc.org>
41382
41383 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
41384 which initialized BAT registers.
41385 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
41386 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
41387 Move from here...
41388 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
41389 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
41390 ... to here.
41391 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
41392 (grub_mapclaim): Likewise.
41393 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
41394 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
41395 hand.
41396
9304c1f8 413972004-10-19 Hollis Blanchard <hollis@penguinppc.org>
41398
41399 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
41400 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
41401 -ffreestanding and -msoft-float.
41402
86f4ae25 414032004-10-15 Hollis Blanchard <hollis@penguinppc.org>
41404
41405 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
41406 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
41407 set in grub_ieee1275_flags.
41408
38912228 414092004-10-14 Hollis Blanchard <hollis@penguinppc.org>
41410
41411 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
41412 prototype.
41413 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
41414 grub_console_init first.
41415 Change the memory range used for grub_ieee1275_claim and
41416 grub_mm_init_region.
41417 Print an error message if the claim fails.
41418 Include <grub/misc.h>.
41419
d1923dc8 414202004-10-13 Hollis Blanchard <hollis@penguinppc.org>
41421
41422 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
41423 Call grub_children_iterate for device nodes of type `scsi',
41424 `ide', or `ata'.
41425 (grub_ofdisk_open): Remove manual device alias resolution.
41426 Fix memory leak when device cannot be opened.
f19dbdb7 41427 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 41428 (grub_children_iterate): New prototype.
41429 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
41430 New function.
41431 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
41432 Return -1 if args.size was -1.
41433
4512e4f3 414342004-10-11 Hollis Blanchard <hollis@penguinppc.org>
41435
41436 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
41437 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
41438 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
41439 Open Firmware's memory for it; claim memory from _start to _end.
41440 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
41441 (_end): New extern.
41442 (_start): Zero BSS from __bss_start to _end.
41443 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
41444 New extern.
41445 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
41446
4d61feb0 414472004-10-11 Hollis Blanchard <hollis@penguinppc.org>
41448
ad0bd20b 41449 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
41450 -1 if args.base was -1.
4d61feb0 41451
026fa2f9 414522004-10-08 Hollis Blanchard <hollis@penguinppc.org>
41453
41454 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
41455 escape sequence instead of a literal ^L. Also call
41456 grub_ofconsole_gotoxy.
41457
9f2220ef 414582004-10-03 Hollis Blanchard <hollis@penguinppc.org>
41459
41460 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
41461 void * arguments to grub_addr_t. All callers updated. Also make
41462 the `result' argument optional.
41463 (grub_ieee1275_release): change void * arguments to grub_addr_t.
41464 All callers updated.
41465
8a572cd7 414662004-09-22 Hollis Blanchard <hollis@penguinppc.org>
41467
41468 * commands/ls.c (grub_ls_list_files): Use the string following the
41469 initial ')', if present, as the filesystem path.
41470 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
41471
41472 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
41473
18aa81f2 414742004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
41475
41476 Make the source code of the menu interface more readable.
f19dbdb7 41477
18aa81f2 41478 * normal/menu.c: Include grub/mm.h.
41479 (TERM_WIDTH): New macro.
41480 (TERM_HEIGHT): Likewise.
41481 (TERM_INFO_HEIGHT): Likewise.
41482 (TERM_MARGIN): Likewise.
41483 (TERM_SCROLL_WIDTH): Likewise.
41484 (TERM_TOP_BORDER_Y): Likewise.
41485 (TERM_LEFT_BORDER_X): Likewise.
41486 (TERM_BORDER_WIDTH): Likewise.
41487 (TERM_MESSAGE_HEIGHT): Likewise.
41488 (TERM_BORDER_HEIGHT): Likewise.
41489 (TERM_NUM_ENTRIES): Likewise.
41490 (TERM_FIRST_ENTRY_Y): Likewise.
41491 (TERM_ENTRY_WIDTH): Likewise.
41492 (TERM_CURSOR_X): Likewise.
41493 (draw_border): Use macros instead of magic numbers.
41494 (print_entry): Likewise.
41495 (print_entries): Likewise.
41496 (run_menu): Likewise. Also, handle the key 'e'.
41497 (run_menu_entry): Ignore empty command lines.
41498 (print_message): Added a new argument EDIT. If EDIT is true,
41499 print a different message.
41500 (init_page): Likewise.
41501 (edit_menu_entry): New function. Not implemented yet.
41502
b47efe30 415032004-09-17 Marco Gerards <metgerards@student.han.nl>
41504
41505 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
41506 can be loaded from normal mode.
f19dbdb7 41507
b47efe30 41508 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
41509 `multiboot.mod'.
41510 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
41511 (multiboot_mod_CFLAGS): New variables.
41512 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 41513 * loader/i386/pc/multiboot_normal.c: Likewise.
41514
b47efe30 41515 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
41516 attribute `unused'.
f19dbdb7 41517
b47efe30 41518 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
41519 `fdiro' to read the mode information from instead of `diro'.
41520
41521 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
41522 looking up a symlink.
41523
41524 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
41525 macro.
41526 * normal/command.c (grub_command_execute): Don't parse the
41527 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
41528 flags of the command.
41529
41530 * normal/menu.c (grub_menu_run): Fix typo.
41531
da75ac71 415322004-09-14 Hollis Blanchard <hollis@penguinppc.org>
41533
41534 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
41535
41536 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
41537 `y + 1' instead of `y - 1'.
41538
41539 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 41540
062b24c2 415412004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
41542
41543 From Hollis Blanchard <hollis@penguinppc.org>:
41544 * kern/misc.c (memmove): New alias for grub_memmove.
41545 (memcmp): New alias for grub_memcmp.
41546 (memset): New alias for grub_memset.
f19dbdb7 41547 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 41548 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 41549 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 41550 (grub_ieee1275_get_property): Likewise.
f19dbdb7 41551
8ddad845 415522004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
41553
41554 Added normal mode command `chainloader' as module chain.mod, which
41555 depends on normal.mod and _chain.mod.
f19dbdb7 41556
8ddad845 41557 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
41558 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
41559 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
41560 Deleted prototype.
41561 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
41562 but arguments parsing moved to ...
41563 (grub_chainloader_cmd): ... here. New function.
41564 * include/grub/i386/pc/chainloader.h: New file.
41565 * loader/i386/pc/chainloader_normal.c: Likewise.
41566
2c1f4ce3 415672004-09-11 Marco Gerards <metgerards@student.han.nl>
41568
41569 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
41570 (grub_mkimage_LDFLAGS): Likewise.
41571 (grub_emu_SOURCES): Likewise.
41572 (kernel_img_HEADERS): Added fshelp.h.
41573 * fs/ext2.c: Include <grub/fshelp.h>.
41574 (FILETYPE_REG): New macro.
41575 (FILETYPE_INO_REG): Likewise.
41576 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
41577 Changed all users.
41578 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
41579 all users.
41580 (grub_fshelp_node): New struct.
41581 (grub_ext2_data): Added member `diropen'. Changed member `inode'
41582 to a pointer.
41583 (grub_ext2_get_file_block): Removed function.
41584 (grub_ext2_read_block): New function.
41585 (grub_ext2_read_file): Replaced parameter `data' by `node'.
41586 This function was written.
41587 (grub_ext2_mount): Read the root inode. Create a diropen struct.
41588 (grub_ext2_find_file): Removed function.
41589 (grub_ext2_read_symlink): New function.
41590 (grub_ext2_iterate_dir): Likewise.
41591 (grub_ext2_open): Rewritten.
41592 (grub_ext2_dir): Rewritten.
41593 * include/grub/fshelp.h: New file.
41594 * fs/fshelp.c: Likewise.
41595
3c52136a 415962004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
41597
41598 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
41599 (print_message): Add a missing newline.
41600 (run_menu): Added timeout support.
41601 (run_menu_entry): New local function.
41602 (grub_menu_run): Added support for booting.
41603
41604 * kern/loader.c (grub_loader_is_loaded): New function.
41605
41606 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
41607 (grub_get_rtc): Exported.
41608
41609 * include/grub/i386/pc/time.h: Include grub/symbol.h.
41610 (grub_get_rtc): Exported.
41611
41612 * include/grub/normal.h (struct grub_command_list): Remove
41613 constant from the member `command'.
41614
41615 * include/grub/loader.h (grub_loader_is_loaded): Declared.
41616
41617 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
41618
41619 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
41620
aa033560 416212004-08-28 Marco Gerards <metgerards@student.han.nl>
41622
41623 Add support for the JFS filesystem.
41624
41625 * fs/jfs.c: New file.
41626 * include/grub/fs.h (grub_jfs_init): New prototype.
41627 (grub_jfs_fini): New prototype.
41628 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
41629 (grub_emu_SOURCES): Likewise.
41630 (pkgdata_MODULES): Add jfs.mod.
41631 (jfs_mod_SOURCES): New variable.
41632 (jfs_mod_CFLAGS): Likewise.
41633 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
41634 (grubof_SOURCES): Likewise.
41635 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
41636
41637 * fs/fat.c (grub_fat_find_dir): Convert the filename little
41638 endian to the host endian.
41639 (grub_fat_utf16_to_utf8): Move function from there...
41640 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 41641 the endianness of the source string anymore.
aa033560 41642 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
41643
94bc45af 416442004-08-24 Marco Gerards <metgerards@student.han.nl>
41645
41646 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
41647 (grub_boot_fini) [GRUB_UTIL]: Likewise.
41648 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
41649 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 41650
94bc45af 41651 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
41652 (grub_hfs_iterate_dir): Make the function static. Add prototypes
41653 for `node_found' and `it_dir'.
41654 (grub_hfs_dir): Add prototype for `dir_hook'.
41655
41656 * fs/minix.c (grub_minix_get_file_block): Add prototype for
41657 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
41658 and `indir32' to silence a gcc warning.
41659
41660 * include/grub/fs.h (grub_hfs_init): New prototype.
41661 (grub_hfs_fini): Likewise.
f19dbdb7 41662
41663
97543f08 416642004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
41665
41666 Each disk device has its own id now. This is useful to make use
41667 of multiple disk devices.
f19dbdb7 41668
97543f08 41669 * include/grub/disk.h (grub_disk_dev_id): New enum.
41670 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
41671 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
41672
41673 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
41674 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
41675
41676 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
41677 GRUB_DISK_DEVICE_OFDISK_ID as an id.
41678
41679 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
41680 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
41681
41682 * include/grub/disk.h (struct grub_disk_dev): Added a new member
41683 "id" which is used by the cache manager.
41684
41685 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
41686 of just "GRUB".
41687
64372eb4 416882004-08-18 Marco Gerards <metgerards@student.han.nl>
41689
41690 * fs/hfs.c: New file.
41691 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
41692 (grub_emu_SOURCES): Likewise.
41693 (pkgdata_MODULES): Add hfs.mod.
41694 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
41695 (grubof_SOURCES): Likewise.
41696 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
41697
41698 * include/grub/misc.h (grub_strncasecmp): Add prototype.
41699 * kern/misc.c (grub_strncasecmp): Add function.
41700
cc61b58f 417012004-08-14 Marco Gerards <metgerards@student.han.nl>
41702
41703 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
41704 with parentheses.
41705
41706 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
41707 (grub_ext2_dir): In case the directory entry type is unknown, read
41708 it from the inode.
41709
0ef123f6 417102004-08-02 Peter Bruin <pjbruin@dds.nl>
41711
41712 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
41713 grub_load_linux instead of grub_rescue_cmd_linux as second
41714 argument of grub_rescue_register_command.
41715
41716 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
41717
a447c5df 417182004-07-27 Marco Gerards <metgerards@student.han.nl>
41719
41720 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
41721 function.
41722 * commands/boot.c: Remove the check for `GRUB_UTIL'.
41723 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
41724 `loader/powerpc/ieee1275/linux.c',
41725 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
41726 * include/grub/powerpc/ieee1275/ieee1275.h
41727 (grub_ieee1275_release): New prototype.
41728 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
41729 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
41730 normal, boot, linux and linux_normal.
41731 * loader/powerpc/ieee1275/linux.c: New file.
41732 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
41733
5a9e3546 417342004-07-12 Marco Gerards <metgerards@student.han.nl>
41735
41736 * normal/arg.c (grub_arg_parse): Correct error handling after
41737 reallocating the argumentlist (check if `argl' is not null instead
41738 of checking if `args' is not null).
41739 * kern/mm.c (grub_realloc): Return the same pointer when using the
41740 same region, instead of returning the header address.
41741
e15199cb 417422004-07-11 Marco Gerards <metgerards@student.han.nl>
41743
41744 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
41745 one block instead of two when looking for the initial partition.
41746 (grub_partition_probe): Initialize the local variable `p' with 0.
41747 Use base 10 for the grub_strtoul call.
41748 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
41749 need for one local variable.
41750 (grub_strtoul): Don't add the new value to `num', instead of that
41751 just assign it.
41752
020616c2 417532004-07-11 Marco Gerards <metgerards@student.han.nl>
41754
41755 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
41756 (pxeboot_img_SOURCES): New variable.
41757 (pxeboot_img_ASFLAGS): Likewise.
41758 (pxeboot_img_LDFLAGS): Likewise.
41759 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
41760 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
41761 <lode_leroy@hotmail.com>.
41762
6c51eb64 417632004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41764
41765 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
41766 there was no input.
41767
cfb12aff 417682004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41769
41770 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
41771 the history buffer logic.
41772
6eabba74 417732004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41774
41775 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
41776 (FILETYPE_INO_SYMLINK): New macros.
41777 (grub_ext2_find_file): Check if the node is a directory using the
41778 inode stat information instead of using the filetype in the
41779 dirent. Exclude the first character of an absolute symlink.
41780 (grub_ext2_dir): Mask out the filetype part of the mode member of
41781 the inode.
41782
66e19ef8 417832004-05-24 Marco Gerards <metgerards@student.han.nl>
41784
41785 Add support for UFS version 1 and 2. Add support for the minix
41786 filesystem version 1 and 2, both the variants with 14 and 30 long
41787 filenames.
f19dbdb7 41788
66e19ef8 41789 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
41790 fs/minix.c.
41791 (grub_emu_SOURCES): Likewise.
41792 (pkgdata_MODULES): Add ufs.mod and minix.mod.
41793 (ufs_mod_SOURCES): New variable.
41794 (ufs_mod_CFLAGS): Likewise.
41795 (minix_mod_SOURCES): Likewise.
41796 (minix_mod_CFLAGS): Likewise.
41797 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
41798 fs/minix.c.
41799 (grubof_SOURCES): Likewise.
41800 * fs/ufs.c: New file.
41801 * fs/minix.c: New file.
41802 * include/grub/fs.h (grub_ufs_init): New prototype.
41803 (grub_ufs_fini): Likewise.
41804 (grub_minix_init): Likewise.
41805 (grub_minix_fini): Likewise.
41806 * util/grub-emu.c (main): Initialize and deinitialize UFS and
41807 minix fs.
41808
cc2e748a 418092004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
41810
41811 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
41812 commands/ls.c, commands/terminal.c, commands/boot.c,
41813 commands/cmp.c and commands/cat.c.
41814 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
41815
41816 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
41817 "env.h"
41818
4b13b216 418192004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
41820
41821 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
41822 and grub_, respectively. Because the conversion is trivial and
41823 mechanical, I omit the details here. Please refer to the CVS
41824 if you need more information.
41825
6a142551 418262004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
41827
41828 * include/pupa: Renamed to ...
41829 * include/grub: ... this.
41830 * util/i386/pc/pupa-mkimage.c: Renamed to ...
41831 * util/i386/pc/grub-mkimage.c: ... this.
41832 * util/i386/pc/pupa-setup.c: Renamed to ...
41833 * util/i386/pc/grub-setup.c: ... this.
41834 * util/pupa-emu.c: Renamed to ...
41835 * util/grub-emu.c: ... this.
41836
e56cdf21 418372004-03-29 Marco Gerards <metgerards@student.han.nl>
41838
41839 Add support for the newworld apple macintosh (PPC). This has been
41840 tested on the powerbook 2000 only. It only adds support for
41841 generic ieee1275 functions, console and disk support. This should
41842 be easy to port to other architectures with support for Open
41843 Firmware.
f19dbdb7 41844
e56cdf21 41845 * configure.ac: Accept the powerpc as host_cpu. In the case of
41846 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
41847 specific tests are only executed while building for the i386.
41848 Inverse test for crosscompile.
41849 * genmk.rb (Utility): Allow assembler files.
41850 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
41851 * conf/powerpc-ieee1275.rmk: New file.
41852 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
41853 * disk/powerpc/ieee1275/partition.c: Likewise.
41854 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
41855 * include/pupa/powerpc/ieee1275/console.h: Likewise.
41856 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
41857 * include/pupa/powerpc/ieee1275/time.h: Likewise.
41858 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
41859 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
41860 * include/pupa/powerpc/ieee1275/loader.h
41861 * include/pupa/powerpc/setjmp.h: Likewise.
41862 * include/pupa/powerpc/types.h: Likewise.
41863 * kern/powerpc/ieee1275/init.c: Likewise.
41864 * kern/powerpc/ieee1275/openfw.c: Likewise.
41865 * term/powerpc/ieee1275/ofconsole.c: Likewise.
41866
41867 These files were written by Johan Rydberg
41868 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 41869
e56cdf21 41870 * boot/powerpc/ieee1275/cmain.c: New file.
41871 * boot/powerpc/ieee1275/crt0.S: Likewise.
41872 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
41873 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
41874
8c8cc205 418752004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
41876
41877 * Makefile.in: Update copyright.
41878 * genmodsrc.sh: Likewise.
41879 * gensymlist.sh: Likewise.
41880 * term/i386/pc/vga.c: Indent correctly.
41881
41882 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
41883 bugreporting address.
41884 * util/i386/pc/pupa-setup.c (usage): Likewise,
41885 (main): Call pupa_ext2_init and pupa_ext2_fini.
41886
f19dbdb7 41887 * fs/fat.c (log2): Renamed to ...
8c8cc205 41888 (fat_log2): ... this.
41889 All callers changed.
41890 * kern/misc.c (memcpy): Alias to pupa_memmove.
41891 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
41892 lvalue cast.
41893 * util/console.c (pupa_ncurses_fini): Return 0.
41894
41895 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
41896 Move fail label here.
41897 [__GNU__]: Don't warn when using stat.
41898 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
41899 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
41900 long int. Use strtol instead of strtoul.
f19dbdb7 41901
db1771cf 419022004-03-14 Marco Gerards <metgerards@student.han.nl>
41903
41904 * commands/boot.c: New file.
41905 * commands/cat.c: Likewise.
41906 * commands/cmp.c: Likewise.
41907 * commands/ls.c: Likewise.
41908 * commands/terminal.c: Likewise.
41909 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
41910 (pupa_register_command): Changed interface to match the new
41911 argument parser.
41912 (pupa_command_execute): Changed (almost rewritten) so it uses
41913 pupa_split_command. Added support for setting variables using the
41914 syntax `foo=bar'.
41915 (rescue_command): Changed to work with the new argument parser.
41916 (terminal_command): Moved from here to commands/terminal.c.
41917 (set_command): New function.
41918 (unset_command): New function.
41919 (insmod_command): New function.
41920 (rmmod_command): New function.
41921 (lsmod_command): New function.
41922 (pupa_command_init): Don't initialize the command terminal
41923 anymore. Initialize the commands set, unset, insmod, rmmod and
41924 lsmod.
41925 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
41926 (kernel_img_HEADERS): Add arg.h and env.h.
41927 (pupa_mkimage_LDFLAGS): Add kern/env.c.
41928 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
41929 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
41930 normal/arg.c.
41931 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
41932 terminal.mod.
41933 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
41934 (boot_mod_SOURCES): New variable.
41935 (terminal_mod_SOURCES): Likewise.
41936 (ls_mod_SOURCES): Likewise.
41937 (cmp_mod_SOURCES): Likewise.
41938 (cat_mod_SOURCES): Likewise.
41939
41940 * normal/arg.c: New file.
41941 * kern/env.c: Likewise.
41942 * include/pupa/arg.h: Likewise.
41943 * include/pupa/env.h: Likewise.
41944 * font/manager.c (font_command): Changed to match argument parsing
41945 interface changes.
41946 (PUPA_MOD_INIT): Likewise.
41947 * hello/hello.c (pupa_cmd_hello): Likewise.
41948 (PUPA_MOD_INIT): Likewise.
41949 * include/pupa/disk.h: Include <pupa/device.h>.
41950 (pupa_print_partinfo): New prototype.
41951 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
41952 (pupa_dl_get_prefix): Likewise.
41953 * include/pupa/misc.h: Include <pupa/err.h>.
41954 (pupa_isgraph): New prototype.
41955 (pupa_isdigit): Likewise.
41956 (pupa_split_cmdline): Likewise.
41957 * include/pupa/normal.h: Include <pupa/arg.h>.
41958 (pupa_command): Changed the prototype of the member `func' to
41959 match the argument parsing interface. Added member `options'.
41960 (pupa_register_command): Updated to match function.
41961 (pupa_arg_parse): New prototype.
41962 (pupa_hello_init) [PUPA_UTIL]: New prototype.
41963 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
41964 (pupa_ls_init) [PUPA_UTIL]: Likewise.
41965 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
41966 (pupa_cat_init) [PUPA_UTIL]: Likewise.
41967 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
41968 (pupa_boot_init) [PUPA_UTIL]: Likewise.
41969 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
41970 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
41971 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
41972 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
41973 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
41974 * kern/disk.c: Include <pupa/file.h>.
41975 (pupa_print_partinfo): New function.
41976 * kern/dl.c: Include <pupa/env.h>.
41977 (pupa_dl_dir): Variable removed.
41978 (pupa_dl_load): Use the environment variable `prefix' instead of
41979 the variable pupa_dl_dir.
41980 (pupa_dl_set_prefix): Function removed.
41981 (pupa_dl_get_prefix): Likewise.
41982 * kern/i386/pc/init.c: Include <pupa/env.h>.
41983 (pupa_machine_init): Use the environment variable `prefix' instead of
41984 using pupa_dl_set_prefix to set the prefix.
41985 * kern/main.c: Include <pupa/env.h>.
41986 (pupa_set_root_dev): Use the environment variable `prefix' instead of
41987 using pupa_dl_get_prefix to get the prefix.
41988 * kern/misc.c: Include <pupa/env.h>.
41989 (pupa_isdigit): New function.
41990 (pupa_isgraph): Likewise.
41991 (pupa_ftoa): Likewise.
41992 (pupa_vsprintf): Added support for printing values of the type
41993 `double'. Make it possible to format variable output when using
41994 formatting like `%1.2%f'.
41995 (pupa_split_cmdline): New function.
41996 * kern/rescue.c: Include <pupa/env.h>.
41997 (next_word): Removed function.
41998 (pupa_rescue_cmd_prefix): Likewise.
41999 (pupa_rescue_cmd_set): New function.
42000 (pupa_rescue_cmd_unset): New function.
42001 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
42002 split the command line instead of splitting it here. Added
42003 support for setting variables using the syntax `foo=bar'. Don't
42004 initialize the prefix command anymore. Initialized the set and
42005 unset commands.
42006 * normal/cmdline.c: Include <pupa/env.h>.
42007 (pupa_tab_complete): Added prototypes for print_simple_completion,
42008 print_partition_completion, add_completion, iterate_commands,
42009 iterate_dev, iterate_part and iterate_dir. Moved code to print
42010 partition information from here to kern/disk.c.
fe6b695a 42011 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 42012 * normal/main.c: Include <pupa/env.h>.
42013 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
42014 instead of using pupa_dl_get_prefix to get the prefix.
42015 * term/i386/pc/vga.c: Include <pupa/arg.h>.
42016 (check_vga_mem): Cast pointers to `void *' to silence a gcc
42017 warning.
42018 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
42019 (pupa_vga_setcolor): Declare unused variables with `__attribute__
42020 ((unused))' to silence a gcc warning.
42021 (pupa_vga_setcolor): Likewise.
42022 (debug_command): Changed to match argument parsing
42023 interface changes.
42024 * util/pupa-emu.c: Include <pupa/env.h>.
42025 (options): Added 0's for unused fields to silence a gcc warning.
42026 (argp): Likewise.
42027 (main): Use the environment variable `prefix' instead of using
42028 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
42029 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
42030 and terminal.
42031
42032 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
42033 * util/misc.c: Include <malloc.h>.
42034 (pupa_malloc): Rewritten so errors are correctly reported.
42035 (pupa_realloc): Likewise.
42036 (pupa_memalign): Likewise.
42037 (pupa_mm_init_region): Declare unused variables with
42038 `__attribute__ ((unused))' to silence a gcc warning.
42039 * normal/i386/setjmp.S: Remove tab at the end of the file to
42040 silence a gcc warning.
42041 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
42042 variables with `__attribute__ ((unused))' to silence a gcc
42043 warning.
42044 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
42045 local variable i unsigned to silence a gcc warning.
42046
42047 * kern/term.c: Include <pupa/misc.h>.
42048 (pupa_more_lines): New variable.
42049 (pupa_more): Likewise.
42050 (pupa_putcode): When the pager is active pause at the end of every
42051 screen.
42052 (pupa_set_more): New function.
42053 * include/pupa/term.h (pupa_set_more): New prototype.
42054
42055
3b1139cb 420562004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
42057
42058 Now this project is GRUB 2 rather than PUPA. The location of
42059 the CVS repository was moved to GRUB's.
f19dbdb7 42060
3b1139cb 42061 * configure.ac: Use bug-grub as the reporting address.
42062 Use GRUB instead of PUPA.
42063 Change the version number to 1.90.
42064
8367695c 420652004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
42066
42067 * genkernsyms.sh: Updated copyright information.
42068 * genmk.rb: Likewise.
42069 * genmodsrc.sh: Likewise.
42070 * gensymlist.sh: Likewise.
42071 * boot/i386/pc/boot.S: Likewise.
42072 * boot/i386/pc/diskboot.S: Likewise.
42073 * disk/i386/pc/biosdisk.c: Likewise.
42074 * disk/i386/pc/partition.c: Likewise.
42075 * font/manager.c: Likewise.
42076 * fs/ext2.c: Likewise.
42077 * fs/fat.c: Likewise.
42078 * include/pupa/boot.h: Likewise.
42079 * include/pupa/device.h: Likewise.
42080 * include/pupa/disk.h: Likewise.
42081 * include/pupa/dl.h: Likewise.
42082 * include/pupa/elf.h: Likewise.
42083 * include/pupa/err.h: Likewise.
42084 * include/pupa/file.h: Likewise.
42085 * include/pupa/font.h: Likewise.
42086 * include/pupa/fs.h: Likewise.
42087 * include/pupa/kernel.h: Likewise.
42088 * include/pupa/loader.h: Likewise.
42089 * include/pupa/misc.h: Likewise.
42090 * include/pupa/mm.h: Likewise.
42091 * include/pupa/net.h: Likewise.
42092 * include/pupa/normal.h: Likewise.
42093 * include/pupa/rescue.h: Likewise.
42094 * include/pupa/setjmp.h: Likewise.
42095 * include/pupa/symbol.h: Likewise.
42096 * include/pupa/term.h: Likewise.
42097 * include/pupa/types.h: Likewise.
42098 * include/pupa/i386/setjmp.h: Likewise.
42099 * include/pupa/i386/types.h: Likewise.
42100 * include/pupa/i386/pc/biosdisk.h: Likewise.
42101 * include/pupa/i386/pc/boot.h: Likewise.
42102 * include/pupa/i386/pc/console.h: Likewise.
42103 * include/pupa/i386/pc/init.h: Likewise.
42104 * include/pupa/i386/pc/kernel.h: Likewise.
42105 * include/pupa/i386/pc/linux.h: Likewise.
42106 * include/pupa/i386/pc/loader.h: Likewise.
42107 * include/pupa/i386/pc/memory.h: Likewise.
42108 * include/pupa/i386/pc/multiboot.h: Likewise.
42109 * include/pupa/i386/pc/partition.h: Likewise.
42110 * include/pupa/i386/pc/time.h: Likewise.
42111 * include/pupa/i386/pc/vga.h: Likewise.
42112 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
42113 * include/pupa/util/getroot.h: Likewise.
42114 * include/pupa/util/misc.h: Likewise.
42115 * include/pupa/util/resolve.h: Likewise.
42116 * kern/device.c: Likewise.
42117 * kern/disk.c: Likewise.
42118 * kern/dl.c: Likewise.
42119 * kern/err.c: Likewise.
42120 * kern/file.c: Likewise.
42121 * kern/fs.c: Likewise.
42122 * kern/loader.c: Likewise.
42123 * kern/main.c: Likewise.
42124 * kern/misc.c: Likewise.
42125 * kern/mm.c: Likewise.
42126 * kern/rescue.c: Likewise.
42127 * kern/term.c: Likewise.
42128 * kern/i386/dl.c: Likewise.
42129 * kern/i386/pc/init.c: Likewise.
42130 * kern/i386/pc/lzo1x.S: Likewise.
42131 * kern/i386/pc/startup.S: Likewise.
42132 * loader/i386/pc/chainloader.c: Likewise.
42133 * loader/i386/pc/linux.c: Likewise.
42134 * loader/i386/pc/multiboot.c: Likewise.
42135 * normal/cmdline.c: Likewise.
42136 * normal/command.c: Likewise.
42137 * normal/main.c: Likewise.
42138 * normal/menu.c: Likewise.
42139 * normal/i386/setjmp.S: Likewise.
42140 * term/i386/pc/console.c: Likewise.
42141 * term/i386/pc/vga.c: Likewise.
42142 * util/console.c: Likewise.
42143 * util/genmoddep.c: Likewise.
42144 * util/misc.c: Likewise.
42145 * util/pupa-emu.c: Likewise.
42146 * util/resolve.c: Likewise.
42147 * util/unifont2pff.rb: Likewise.
42148 * util/i386/pc/biosdisk.c: Likewise.
42149 * util/i386/pc/getroot.c: Likewise.
42150 * util/i386/pc/pupa-mkimage.c: Likewise.
42151 * util/i386/pc/pupa-setup.c: Likewise.
42152
e6eced71 421532004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
42154
42155 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
42156 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
42157 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
42158 reading and reset it after reading.
42159 (pupa_ext2_close): Return PUPA_ERR_NONE.
42160
42161 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
42162 Correct value.
42163 (struct linux_kernel_header): Add kernel_version and
42164 initrd_addr_max.
42165 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
42166 pupa_file_read succeeds.
42167 (pupa_rescue_cmd_initrd): Implement.
42168
5aded270 421692003-12-03 Marco Gerards <metgerards@student.han.nl>
42170
42171 * fs/ext2.c (pupa_ext2_label): New function.
42172 (pupa_ext2_fs): Added label.
42173 * fs/fat.c (pupa_fat_label): New function.
42174 (pupa_fat_fs): Added label.
42175 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
42176
42177 * kern/misc.c (pupa_strndup): New function.
42178 * include/pupa/misc.h (pupa_strndup): New prototype.
42179
42180 * include/pupa/normal.h: Include <pupa/err.h>.
42181 (pupa_set_history): New prototype.
42182 (pupa_iterate_commands): New prototype.
42183 * normal/cmdline.c: Include <pupa/machine/partition.h>,
42184 <pupa/disk.h>, <pupa/file.h>.
42185 (hist_size): New variable.
42186 (hist_lines): Likewise.
42187 (hist_end): Likewise.
42188 (hist_used): Likewise.
42189 (pupa_set_history): New function.
42190 (pupa_history_get): Likewise.
42191 (pupa_history_add): Likewise.
42192 (pupa_history_replace): Likewise.
42193 (pupa_tab_complete): Likewise.
42194 (pupa_cmdline_run): Added tab completion and history buffer. Tab
42195 completion shows partitionnames while completing partitions, this
42196 feature was suggested by Jeff Bailey.
42197 * normal/command.c (pupa_iterate_commands): New function.
42198 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
42199 (pupa_normal_init): Initialize history buffer.
42200 (PUPA_MOD_INIT): Likewise.
42201 (pupa_normal_fini): Free the history buffer.
42202 (PUPA_MOD_FINI): Likewise.
42203
42204 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
42205 key.
42206
42207 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
42208 * configure.ac [i386]: Check for regparam bug.
42209 (NESTED_FUNC_ATTR) [! i386]: Defined.
42210
1f7315a3 422112003-11-17 Marco Gerards <metgerards@student.han.nl>
42212
42213 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
42214 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
42215 (pupa_emu_SOURCES): New variable.
42216 (pupa_emu_LDFLAGS): Likewise.
42217 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
42218 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
42219 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
42220 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
42221 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
42222 (pupa_jmp_buf): New typedef.
42223 (pupa_setjmp) [PUPA_UTIL]: New macro.
42224 (pupa_longjmp) [PUPA_UTIL]: Likewise.
42225 * include/pupa/term.h (struct pupa_term): New member `refresh'.
42226 (pupa_refresh): New prototype.
42227 * include/pupa/util/getroot.h: New file.
42228 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
42229 it.
42230 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
42231 (pupa_rescue_cmd_cat): Likewise.
42232 (pupa_rescue_cmd_ls): Likewise.
42233 (pupa_rescue_cmd_testload): Likewise.
42234 (pupa_rescue_cmd_lsmod): Likewise.
42235 * normal/cmdline.c (pupa_cmdline_get): Likewise.
42236 * normal/menu.c (run_menu): Likewise.
42237 * kern/term.c (pupa_cls): Likewise.
42238 (pupa_refresh): New function.
42239 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
42240 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
42241 * util/console.c: New file.
f19dbdb7 42242
1f7315a3 42243 * util/i386/pc/getroot.c: New file.
42244 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
42245 (pupa_putchar): New function.
42246 (pupa_refresh): Likewise.
42247 (xgetcwd): Function moved to ...
42248 (strip_extra_slashes): Likewise.
42249 (get_prefix): Likewise.
f19dbdb7 42250 * util/i386/pc/getroot.c: ... here.
1f7315a3 42251 (find_root_device): Function moved and renamed to...
42252 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
42253 Changed all callers.
42254 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
42255 and renamed to...
42256 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
42257 Changed all callers.
42258 * util/misc.c (pupa_memalign): New function.
42259 (pupa_mm_init_region): Likewise.
42260 (pupa_register_exported_symbols): Likewise.
42261 (pupa_putchar): Function removed.
42262 * util/pupa-emu.c: New file.
42263
9a5c1ade 422642003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
42265
42266 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
42267 (_multiboot_mod_SOURCES): New variable.
42268 (_multiboot_mod_CFLAGS): Likewise.
42269 * loader/i386/pc/multiboot.c: New file.
42270 * include/pupa/i386/pc/multiboot.h: Likewise.
42271 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
42272 (pupa_multiboot_real_boot): New function.
42273 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
42274 (pupa_multiboot_real_boot): New prototype.
42275 (pupa_rescue_cmd_multiboot): Likewise
42276 (pupa_rescue_cmd_module): Likewise.
42277
42278 * kern/loader.c (pupa_loader_set): Continue when
42279 pupa_loader_unload_func() fails.
42280 (pupa_loader_unset): New function.
42281 * include/pupa/loader.h (pupa_loader_unset): New prototype.
42282
42283 * kern/misc.c (pupa_stpcpy): New function.
42284 * include/pupa/misc.h (pupa_stpcpy): New prototype.
42285
8e72a9c0 422862003-11-12 Marco Gerards <metgerards@student.han.nl>
42287
42288 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
42289 for available extensions.
42290
42291 * include/pupa/i386/pc/time.h: New file.
42292 * kern/disk.c: Include <pupa/machine/time.h>.
42293 (PUPA_CACHE_TIMEOUT): New macro.
42294 (pupa_last_time): New variable.
42295 (pupa_disk_open): Flush the cache when there was a timeout.
42296 (pupa_disk_close): Reset the timer.
42297 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
42298 pupa_currticks.
42299 * util/misc.c: Include <sys/times.h>
42300 (pupa_get_rtc): New function.
42301
c4adbd32 423022003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
42303
42304 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
42305 as blocks.
42306 (pupa_ext2_get_file_block): Use blocks member.
42307
42308 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
42309 first block. Return -1 instead of pupa_errno on error.
42310
bfd30f06 423112003-10-27 Marco Gerards <metgerards@student.han.nl>
42312
42313 * README: In the pupa-mkimage example use _chain instead of chain
42314 and ext2 instead of fat.
42315 * TODO: Replace ext2fs with jfs as an example. Add an item for
42316 adding journal playback for ext2fs.
42317 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
42318 (pkgdata_MODULES): Added ext2.mod.
42319 (ext2_mod_SOURCES): New variable.
42320 (ext2_mod_CFLAGS): Likewise.
42321 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
42322 * include/pupa/misc.h (pupa_strncpy): New prototype.
42323 (pupa_strcat): Likewise.
42324 (pupa_strncmp): Likewise.
42325 * kern/misc.c (pupa_strcat): Enable function.
42326 (pupa_strncpy): New function.
42327 (pupa_strncmp): Likewise.
42328 * fs/ext2.c: New file.
f19dbdb7 42329
bfd30f06 42330 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
42331 when the read failed before retrying.
42332 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
42333 (_FILE_OFFSET_BITS): Likewise.
42334 * configure.ac: Added AC_SYS_LARGEFILE.
42335
98d15063 423362003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
42337
42338 * genmk.rb (PModule#rule): Make sure to get only symbol names
42339 from the output of nm.
59cad637 42340 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 42341
18d9c7cd 423422003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
42343
42344 I forgot to check in these changes for a long time. This adds
42345 incomplete support for VGA console, and this is still very
42346 buggy. Also, a lot of consideration is required for I18N,
42347 UNICODE, and VGA font issues. Therefore, assume that this is
42348 such that "better than nothing".
f19dbdb7 42349
18d9c7cd 42350 * font/manager.c: New file.
42351 * include/pupa/font.h: Likewise.
42352 * include/pupa/i386/pc/vga.h: Likewise.
42353 * term/i386/pc/vga.c: Likewise.
42354 * util/unifont2pff.rb: Likewise.
42355
42356 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
42357 (pkgdata_MODULES): Added vga.mod and font.mod.
42358 (vga_mod_SOURCES): New variables.
42359 (vga_mod_CFLAGS): Likewise.
42360 (font_mod_SOURCES): Likewise.
42361 (font_mod_CFLAGS): Likewise.
42362
42363 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
42364
42365 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 42366 (struct pupa_term): Added init and fini.
18d9c7cd 42367 Changed the argument of putchar to pupa_uint32_t.
42368
42369 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
42370 (pupa_console_real_putchar): New prototype.
42371 (pupa_console_putchar): Removed.
42372 (pupa_console_checkkey): Exported.
42373 (pupa_console_getkey): Likewise.
42374
42375 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
42376 characters.
42377
42378 * kern/term.c (pupa_term_set_current): Rewritten.
42379 (pupa_putchar): Likewise.
42380 (pupa_putcode): New function.
42381
42382 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
42383 (pupa_console_real_putchar): ... this.
42384 (pupa_vga_set_mode): New function.
42385 (pupa_vga_get_font): Likewise.
42386
42387 * normal/command.c: Include pupa/term.h.
42388 (terminal_command): New function.
42389 (pupa_command_init): Register the command "terminal".
42390
42391 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
42392 (DISP_UP): Likewise.
42393 (DISP_RIGHT): Likewise.
42394 (DISP_DOWN): Likewise.
42395 (DISP_HLINE): Likewise.
42396 (DISP_VLINE): Likewise.
42397 (DISP_UL): Likewise.
42398 (DISP_UR): Likewise.
42399 (DISP_LL): Likewise.
42400 (DISP_LR): Likewise.
42401
42402 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 42403
977329f5 424042003-02-08 NIIBE Yutaka <gniibe@m17n.org>
42405
42406 * util/resolve.c (pupa_util_resolve_dependencies): BUG
42407 FIX. Reverse the path_list.
42408
42409 * include/pupa/normal.h: Export pupa_register_command and
42410 pupa_unregister_command.
42411
42412 * hello/hello.c (pupa_cmd_hello): New module.
42413 * conf/i386-pc.rmk: Added hello.mod.
42414
1f5ab428 424152003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
42416
42417 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 42418
1f5ab428 42419 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
42420 (compress_kernel): New variable.
42421 (generate_image): Heavily modified to support compressing a
42422 large part of the core image.
42423
42424 * util/misc.c (pupa_util_read_image): Fix a file descriptor
42425 leak.
42426 (pupa_util_load_image): New function.
42427
42428 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
42429 (pupa_compressed_size): New variable.
42430 (codestart): Enable Gate A20 here.
42431 Decompress the compressed part of the core image.
42432 Rearrange the code to put functions and variables which are
42433 required for initialization in the non-compressed part.
42434 Include lzo1x.S.
42435
42436 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
42437 here.
42438
42439 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
42440
f19dbdb7 42441 * include/pupa/i386/pc/kernel.h
1f5ab428 42442 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
42443 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
42444 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
42445 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
42446 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
42447
42448 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
42449
42450 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
42451 (Utility#rule): Likewise.
42452
42453 * configure.ac: Check if LZO is available.
42454
ce5bf700 424552003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
42456
42457 * include/pupa/normal.h: New file.
42458 * include/pupa/setjmp.h: Likewise.
42459 * include/pupa/i386/setjmp.h: Likewise.
42460 * normal/cmdline.c: Likewise.
42461 * normal/command.c: Likewise.
42462 * normal/main.c: Likewise.
42463 * normal/menu.c: Likewise.
42464 * normal/i386/setjmp.S: Likewise.
f19dbdb7 42465
ce5bf700 42466 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
42467 (pupa_rescue_cmd_initrd): Likewise.
42468
42469 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
42470 Likewise.
42471
42472 * kern/i386/pc/startup.S (translation_table): New variable.
42473 (translate_keycode): New function.
42474 (pupa_console_getkey): Call translate_keycode.
42475
42476 * kern/rescue.c (attempt_normal_mode): New function.
42477 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
42478 it failed, print a message.
42479
42480 * kern/mm.c (pupa_real_malloc): Print more information when a
42481 free magic is broken.
42482 (pupa_free): If the first free header is not free actually, set
42483 it to P.
42484
42485 * kern/main.c (pupa_load_normal_mode): Just load the module
42486 "normal".
42487 (pupa_main): Don't print the message
42488 "Entering into rescue mode..." here.
42489
42490 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
42491 Declared.
42492 (pupa_rescue_cmd_initrd): Likewise.
42493 (pupa_rescue_cmd_initrd): Likewise.
42494
42495 * include/pupa/symbol.h (FUNCTION): Specify the type.
42496 (VARIABLE): Likewise.
42497
42498 * include/pupa/err.h (pupa_err_t): Added
42499 PUPA_ERR_UNKNOWN_COMMAND.
42500
42501 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
42502 (pupa_dl_get_prefix): Likewise.
42503
42504 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
42505 Added _chain.mod and _linux.mod instead of chain.mod and
42506 linux.mod.
42507 (chain_mod_SOURCES): Renamed to ...
42508 (_chain_mod_SOURCES): ... this.
42509 (chain_mod_CFLAGS): Renamed to ...
42510 (_chain_mod_CFLAGS): ... this.
42511 (linux_mod_SOURCES): Renamed to ...
42512 (_linux_mod_SOURCES): ... this.
42513 (linux_mod_CFLAGS): Renamed to ...
42514 (_linux_mod_CFLAGS): ... this.
42515 (normal_mod_SOURCES): New variable.
42516 (normal_mod_CFLAGS): Likewise.
42517 (normal_mod_ASFLAGS): Likewise.
42518
425192003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
42520
42521 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
42522 possible.
42523
fe6b695a 42524 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 42525 recursively.
42526 (pupa_dl_unref): Unrefer depending modules recursively.
42527 Don't call pupa_dl_unload implicitly, because PUPA can crash if
42528 a module is unloaded before one depending on that module is
42529 unloaded.
42530 (pupa_dl_unload): Unload depending modules explicitly,
42531 if possible.
42532
c04da074 425332003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
42534
42535 * include/pupa/i386/pc/linux.h: New file.
42536 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 42537
c04da074 42538 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
42539 Removed.
42540 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
42541 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
42542 of PUPA_CHAINLOADER_BOOT_SECTOR.
42543
42544 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
42545 (pupa_linux_prot_size): New variable.
42546 (pupa_linux_tmp_addr): Likewise.
42547 (pupa_linux_real_addr): Likewise.
42548 (pupa_linux_boot_zimage): New function.
42549 (pupa_linux_boot_bzimage): Likewise.
42550
42551 * kern/i386/pc/init.c (struct mem_region): New structure.
42552 (MAX_REGIONS): New macro.
42553 (mem_regions): New variable.
42554 (num_regions): Likewise.
42555 (pupa_os_area_addr): Likewise.
42556 (pupa_os_area_size): Likewise.
42557 (pupa_lower_mem): Likewise.
42558 (pupa_upper_mem): Likewise.
42559 (add_mem_region): New function.
42560 (compact_mem_regions): Likewise.
42561 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
42562 the size of the conventional memory and that of so-called upper
42563 memory (before the first memory hole).
42564 Instead of adding each found region to free memory, use
42565 add_mem_region and add them after removing overlaps.
42566 Also, add only 1/4 of the upper memory to free memory. The rest
42567 is used for loading OS images. Maybe this is ad hoc, but this
42568 makes it much easier to relocate OS images when booting.
42569
42570 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
42571 (pupa_enter_rescue_mode): Don't register initrd and module.
42572
42573 * kern/mm.c: Include pupa/dl.h.
42574
42575 * kern/main.c: Include pupa/file.h and pupa/device.h.
42576
42577 * kern/loader.c (pupa_loader_load_module_func): Removed.
42578 (pupa_loader_load_module): Likewise.
42579
42580 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
42581 ``.o''.
42582
42583 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
42584 (pupa_linux_tmp_addr): Likewise.
42585 (pupa_linux_real_addr): Likewise.
42586 (pupa_linux_boot_zimage): Likewise.
42587 (pupa_linux_boot_bzimage): Likewise.
42588
42589 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
42590 (pupa_upper_mem): Likewise.
42591 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
42592 module is too dangerous.
42593
42594 * include/pupa/loader.h (pupa_os_area_addr): Declared.
42595 (pupa_os_area_size): Likewise.
42596 (pupa_loader_set): Remove the first argument. Loader doesn't
42597 manage modules or initrd any longer.
42598 (pupa_loader_load_module): Removed.
42599
42600 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
42601 (linux_mod_SOURCES): New variable.
42602 (linux_mod_CFLAGS): Likewise.
42603
a13f9237 426042003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
42605
42606 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
42607 the length of a blocklist correctly.
42608
42609 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
42610 Use ioctl only if the OS file is a block device.
42611 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
42612 not very useful for normal files.
42613
42614 * kern/main.c (pupa_set_root_dev): New function.
42615 (pupa_load_normal_mode): Likewise.
42616 (pupa_main): Call those above.
42617
42618 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
42619 pupa_uint16_t.
42620
42621 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
42622
a5ffe966 426232003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42624
42625 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
42626 (setup): Configure the installed partition information and the
42627 dl prefix.
42628
42629 * loader/i386/pc/chainloader.c (my_mod): New variable.
42630 (pupa_chainloader_unload): New function.
42631 (pupa_rescue_cmd_chainloader): Refer itself.
42632 (PUPA_MOD_INIT): Save its own module in MY_MOD.
42633
42634 * kern/i386/pc/startup.S (install_partition): Removed.
42635 (version_string): Likewise.
42636 (config_file): Likewise.
42637 (pupa_install_dos_part): New variable.
42638 (pupa_install_bsd_part): Likewise.
42639 (pupa_prefix): Likewise.
42640 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
42641
42642 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
42643 and pupa/misc.h.
42644 (make_install_device): New function.
42645 (pupa_machine_init): Set the dl prefix.
42646
42647 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
42648 (buf): Renamed to ...
42649 (linebuf): ... this.
42650 (pupa_rescue_cmd_prefix): New function.
42651 (pupa_rescue_cmd_insmod): Likewise.
42652 (pupa_rescue_cmd_rmmod): Likewise.
42653 (pupa_rescue_cmd_lsmod): Likewise.
42654 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
42655 rmmod and lsmod.
42656
42657 * kern/mm.c (pupa_memalign): If failed even after invalidating
42658 disk caches, unload unneeded modules and retry.
42659
42660 * kern/misc.c (pupa_memmove): New function.
42661 (pupa_memcpy): Removed.
42662 (pupa_strcpy): New function.
42663 (pupa_itoa): Made static.
42664
42665 * kern/dl.c (pupa_dl_iterate): New function.
42666 (pupa_dl_ref): Likewise.
42667 (pupa_dl_unref): Likewise.
42668 (pupa_dl_unload): Return if succeeded or not.
42669 (pupa_dl_unload_unneeded): New function.
42670 (pupa_dl_unload_all): Likewise.
42671 (pupa_dl_init): Renamed to ...
42672 (pupa_dl_set_prefix): ... this.
42673 (pupa_dl_get_prefix): New function.
42674
42675 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
42676 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
42677 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
42678 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
42679 (pupa_install_dos_part): Declared.
42680 (pupa_install_bsd_part): Likewise.
42681 (pupa_prefix): Likewise.
42682 (pupa_boot_drive): Likewise.
42683
42684 * include/pupa/types.h: Fix a typo.
42685
42686 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
42687 pupa_memmove.
42688 (pupa_memmove): Declared.
42689 (pupa_strcpy): Likewise.
42690
42691 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
42692 pupa_mod_init takes one argument, its own module.
42693 (pupa_dl_unload_unneeded): Declared.
42694 (pupa_dl_unload_all): Likewise.
42695 (pupa_dl_ref): Likewise.
42696 (pupa_dl_unref): Likewise.
42697 (pupa_dl_iterate): Likewise.
42698 (pupa_dl_init): Renamed to ...
42699 (pupa_dl_set_prefix): ... this.
42700 (pupa_dl_get_prefix): Declared.
42701
42702 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 42703 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 42704 unloaded.
42705 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
42706 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
42707
42708 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
42709 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
42710
012d7999 427112003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
42712
42713 * util/i386/pc/pupa-setup.c (setup): Define the internal
42714 function find_first_partition_start at the top level, because GCC
42715 3.0.x cannot compile internal functions in deeper scopes
42716 correctly.
42717 (find_root_device): Use lstat instead of stat.
42718 Don't follow symbolic links.
42719 Fix the path-constructing code.
42720
42721 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
42722 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
42723 by a BLKGETSIZE ioctl first, because block devices don't fill
42724 the member st_mode of the structure stat on Linux.
42725 [__linux__] (linux_find_partition): Use a temporary buffer
42726 REAL_DEV for the working space. Copy it to DEV before returning.
42727 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
42728 buffer cache consistent.
42729 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
42730 strncmp. The previous value was merely wrong.
42731 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
42732
42733 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
42734 FAT size is 12. The previous value was merely wrong.
42735
42736 * kern/main.c (pupa_main): Don't split the starting message from
42737 newlines.
42738
42739 * kern/term.c (pupa_putchar): Put CR after LF instead of before
42740 LF, because BIOS goes crazy about character attributes in this
42741 case.
42742
1cc73a62 427432003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
42744
42745 * include/i386/pc/util/biosdisk.h: New file.
42746 * util/i386/pc/biosdisk.c: Likewise.
42747 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 42748
1cc73a62 42749 * Makefile.in (INCLUDE_DISTFILES): Added
42750 include/pupa/i386/pc/util/biosdisk.h.
42751 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
42752 directory util/i386/pc.
42753 (install-local): Added a rule for sbin_UTILITIES.
42754 (uninstall): Likewise.
42755
42756 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
42757
42758 * util/misc.c (xrealloc): New function.
42759 (pupa_malloc): Likewise.
42760 (pupa_free): Likewise.
42761 (pupa_realloc): Likewise.
42762 (pupa_stop): Likewise.
42763 (pupa_putchar): Likewise.
42764
42765 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
42766
42767 * include/pupa/util/misc.h (xrealloc): Declared.
42768
42769 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
42770 macro.
42771 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
42772 (PUPA_BOOT_MACHINE_BPB_END): ... this.
42773
42774 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
42775 [PUPA_UTIL] (pupa_fat_fini): Likewise.
42776
42777 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
42778 way should be implemented.
42779 [PUPA_UTIL] (pupa_fat_fini): Likewise.
42780
42781 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
42782 the size of NAME for safety.
42783 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
42784 0x88.
42785
42786 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
42787 (pupa_setup_SOURCES): Likewise.
42788
42789 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
42790
08b70fe8 427912002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
42792
42793 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
42794 bunch of pushl's from pusha, because this destroys the return
42795 value.
42796
62ddcc8f 427972002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
42798
42799 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
42800 This means that any missing prototypes could be fatal. Also, you
42801 must take care when writing assembly code. See the comments at
42802 the beginning of startup.S, for more details.
f19dbdb7 42803
62ddcc8f 42804 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
42805 compilation mechanism.
42806 (pupa_chainloader_real_boot): Likewise.
42807 (pupa_biosdisk_rw_int13_extensions): Likewise.
42808 (pupa_biosdisk_rw_standard): Likewise.
42809 (pupa_biosdisk_check_int13_extensions): Likewise.
42810 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
42811 (pupa_biosdisk_get_diskinfo_standard): Likewise.
42812 (pupa_get_memsize): Likewise.
42813 (pupa_get_mmap_entry): Likewise.
42814 (pupa_console_putchar): Likewise.
42815 (pupa_console_setcursor): Likewise.
42816 (pupa_getrtsecs): Use pushl instead of push.
42817
42818 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
42819 memory instead of the stack for a mmap entry, because some
42820 BIOSes may ignore the maximum size and overflow.
42821
42822 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
42823
42824 * genmk.rb (PModule#rule): Compile automatically generated
42825 sources with module-specific CFLAGS as well as other sources.
42826
9962ed99 428272002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42828
42829 * configure.ac: Check ld.
42830 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
42831 respectively, before checking endianness and sizes.
42832
42833 * Makefile.in (LD): New variable.
f19dbdb7 42834
abdfc3c5 428352002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42836
42837 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
42838
6a161fa9 428392002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42840
42841 * Changelog: New file.
42842