]> git.proxmox.com Git - grub2.git/blame - ChangeLog
GDB serial and backtrace support.
[grub2.git] / ChangeLog
CommitLineData
ff27c3dd
LK
12012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
3
4 GDB serial and backtrace support.
5
6 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
7 (prot_to_real): Likewise.
8 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
9 * grub-core/Makefile.core.def (backtrace): New module.
10 (gdb): Likewise.
11 * grub-core/gdb/cstub.c: New file.
12 * grub-core/gdb/gdb.c: Likewise.
13 * grub-core/gdb/i386/idt.c: Likewise.
14 * grub-core/gdb/i386/machdep.S: Likewise.
15 * grub-core/gdb/i386/signal.c: Likewise.
16 * grub-core/lib/i386/backtrace.c: Likewise.
17 * include/grub/backtrace.h: Likewise.
18 * include/grub/gdb.h: Likewise.
19 * include/grub/i386/gdb.h: Likewise.
20
212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
22
23 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
24 New function.
25 (add_length): Likewise.
26 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
27 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
28 proto.
29 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
30 __argp_get_display_len.
31
ff27c3dd 322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
33
34 $"..." support in scripts.
35
36 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
37 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
38 * grub-core/script/yylex.l: Likewise.
39 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
40 value.
41
ff27c3dd 422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
43
44 * gentpl.py: Remove obsolete pkglib_DATA handling.
45
ff27c3dd 462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
47
48 Don't transform PACKAGE_TARNAME following a discussion on autoconf
49 mailing list.
50
51 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
52 * util/grub-kbdcomp.in: Likewise.
53 * util/grub-mkconfig.in: Likewise.
54 * util/grub-mkconfig_lib.in: Likewise.
55 * util/grub-mknetdir.in: Likewise.
56 * util/grub-mkrescue.in: Likewise.
57 * util/grub-mkstandalone.in: Likewise.
58 * util/grub-reboot.in: Likewise.
59 * util/grub-set-default.in: Likewise.
60 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
61
ff27c3dd 622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
63
64 Remove GRUB_PREFIX.
65
66 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
67 * util/grub.d/00_header.in: Compute prefix in the only place it's still
68 used for backward compatibility.
69
ff27c3dd 702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
71
72 Add new all_video module.
73
74 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
75 * grub-core/Makefile.core.def (all_video): New module.
76 * grub-core/genmoddep.awk: Generate dependency of all_video from
77 video.lst.
78 * grub-core/lib/fake_module.c: New file.
79 * grub-core/normal/main.c (features): Add feature_all_video_module.
80 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
81 don't do explicit search again.
47454da5 82 insmod all_video in load_video if available.
22c7ce85 83
ff27c3dd 842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
85
86 Another round of string clarification and adding TRANSLATORS comments.
87
ff27c3dd 882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
89
90 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
91
ff27c3dd 922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
93
94 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
95 to grub_ssize_t.
96 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
97 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
98
ff27c3dd 992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
100
101 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
102 trailing newline implicitly. All users updated.
103
ff27c3dd 1042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
105
106 Implement serial on IEEE1275 and EFI.
107
108 * docs/grub.texi (Platform-specific limitations): Fix the columen video
109 on emu. Mention arc and emu as the only platforms without serial
110 support.
111 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
112 ieee1275 platforms.
113 * grub-core/term/efi/serial.c: New file.
114 * grub-core/term/ieee1275/serial.c: Likewise.
115 * grub-core/term/serial.c (grub_serial_find): Disable direct port
116 specification if no ns8250 driver is available.
117 (grub_cmd_serial): Likewise.
118 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
119 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
120 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
121 (grub_efi_parity_type_t): New type.
122 (grub_efi_stop_bits_t): Likewise.
123 (grub_efi_serial_io_interface): New struct.
124 * include/grub/serial.h (grub_serial_port): Make 'broken' field
125 available for all interfaces.
126 Add EFI and IEEE1275 fields.
127 (grub_ofserial_init): New proto.
128 (grub_efiserial_init): Likeiwse.
129 * util/grub.d/00_header.in: Don't check for the presence of serial
130 module.
131
ff27c3dd 1322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
133
134 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
135 name as if it was an alias.
136
114076ef
VS
1372012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
138
139 * grub-core/commands/lsacpi.c (options): Fix typo.
140
6a656b0e
VS
1412012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
142
143 Convert grub-emu to argp.
144
145 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
146 emu.
147 * util/argp_common.c: Rename to ...
148 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
149 Add missing includes.
150 * grub-core/kern/emu/main.c: Convert to argp.
151 * po/POTFILES.in: Regenerate.
152 * util/grub-install.in (usage): Make first letter lowcase in messages
153 for uniformity.
154 * util/grub-setup.c (options): Likewise.
155
1e3f8ae8
VS
1562012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
157
158 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
159 Put back accidently commented-out code.
160
ed167a80
VS
1612012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
164 loop check using Brent algorithm.
165 (grub_hfsplus_btree_search): Likewise.
166
6753c0ec
VS
1672012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
168
169 * util/grub-install.in: Fix usage of wrong device for PreP install.
170
4e27343f
VS
1712012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
172
173 * conf/Makefile.common (CFLAGS_GNULIB): Add
174 -Wno-unsafe-loop-optimizations.
175 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
176 on tools.
177 * grub-core/commands/legacycfg.c: Add pragma to skip
178 -Wunsafe-loop-optimizations.
179 (check_password_md5_real): Fix loop counter type.
180 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
181 reading.
182 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
183 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
184 loop condition.
185 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
186 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
187 * grub-core/net/net.c (grub_net_route_address): Add safety loop
188 condition.
189 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
190 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
191 avoid possible infinite loops.
192 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
193 and -Wunsafe-loop-optimizations.
194 * grub-core/script/yylex.l: Likewise.
195 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
196 (print_glyphs): Avoid infinite loops.
197 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
198
697f18b0
GS
1992012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
200
201 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
202 to avoid infinite loop.
203 (disp_acpi_rsdt_table): Likewise.
204
274416e8
VS
2052012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
206
207 * grub-core/font/font.c (grub_font_load): Add support for default
208 path for fonts ($prefix/fonts).
209 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
210 for checking if string is a path.
211 * grub-core/normal/main.c (features): Add feature_default_font_path.
212 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
213 * util/grub.d/00_header.in: Use default directory if possible.
214 * util/grub-install.in: Install unicode.pf2.
215
b3e08622
VS
2162012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
217
218 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
219 * po/Rules-swiss: New file.
220 * po/swiss.sed: Likewise.
221
fe42ce09
VS
2222012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
223
224 * grub-core/fs/btrfs.c (find_device): Fix typos.
225 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
226 * util/grub-mkrelpath.c (argp_parser): Likewise.
227 Reported by: Yuri Chornoivan.
228
72f1d065
DO
2292012-02-23 Dalet Omega <daletomega@gmail.com>
230
231 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
232 for usual informative messages.
233
c5884973
DO
2342012-02-23 Dalet Omega <daletomega@gmail.com>
235
236 Starfield theme.
237
238 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
239 * conf/Makefile.common: Define starfielddir.
240 * configure.ac: Configure starfield.
241 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
242 * themes/starfield/README: Likewise.
243 * themes/starfield/blob_w.png: Likewise.
244 * themes/starfield/boot_menu_c.png: Likewise.
245 * themes/starfield/boot_menu_e.png: Likewise.
246 * themes/starfield/boot_menu_n.png: Likewise.
247 * themes/starfield/boot_menu_ne.png: Likewise.
248 * themes/starfield/boot_menu_nw.png: Likewise.
249 * themes/starfield/boot_menu_s.png: Likewise.
250 * themes/starfield/boot_menu_se.png: Likewise.
251 * themes/starfield/boot_menu_sw.png: Likewise.
252 * themes/starfield/boot_menu_w.png: Likewise.
253 * themes/starfield/slider_c.png: Likewise.
254 * themes/starfield/slider_n.png: Likewise.
255 * themes/starfield/slider_s.png: Likewise.
256 * themes/starfield/src/blob_nw.xcf: Likewise.
257 * themes/starfield/src/bootmenu/: Likewise.
258 * themes/starfield/src/bootmenu/center.xcf: Likewise.
259 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
260 * themes/starfield/src/bootmenu/side.xcf: Likewise.
261 * themes/starfield/src/slider_c.xcf: Likewise.
262 * themes/starfield/src/slider_n.xcf: Likewise.
263 * themes/starfield/src/slider_s.xcf: Likewise.
264 * themes/starfield/src/terminalbox/: Likewise.
265 * themes/starfield/src/terminalbox/center.xcf: Likewise.
266 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
267 * themes/starfield/src/terminalbox/side.xcf: Likewise.
268 * themes/starfield/starfield.png: Likewise.
269 * themes/starfield/terminal_box_c.png: Likewise.
270 * themes/starfield/terminal_box_e.png: Likewise.
271 * themes/starfield/terminal_box_n.png: Likewise.
272 * themes/starfield/terminal_box_ne.png: Likewise.
273 * themes/starfield/terminal_box_nw.png: Likewise.
274 * themes/starfield/terminal_box_s.png: Likewise.
275 * themes/starfield/terminal_box_se.png: Likewise.
276 * themes/starfield/terminal_box_sw.png: Likewise.
277 * themes/starfield/terminal_box_w.png: Likewise.
278 * themes/starfield/theme.txt: Likewise.
279
17d73325
VS
2802012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
281
282 * util/grub.d/00_header.in: Add missing export theme.
283
dbebaf92
VS
2842012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
285
286 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
287 already included.
288 Reported by: Eren D.
289
3d68bffb
VS
2902012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
291
292 * conf/Makefile.common (grubdatadir): Removed.
293 (Makefile.am): Move eveything grubdata to pkgdata.
294
4b59234d
VS
2952012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
296
297 * grub-core/commands/acpihalt.c (get_sleep_type):
298 Remove unused variable.
299
463dcadc
VS
3002012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
301
302 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
303 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
304 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
305 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
306 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
307 i18n with gettext no-op.
308 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
309 GRUB_ACPI_OPCODE_STRING_CONST.
310 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
311 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
312
e5b90c82
VS
3132012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * po/POTFILES.in: Regenerate.
316
2a704ca9
VS
3172012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
318
319 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
320 -Wno-error=missing-noreturn.
321
84f9d341
VS
3222012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
323
324 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
325 condition to avoid possibly infinite loops.
326 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
327 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
328
d46683f9
VS
3292012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
332 condition to avoid possibly infinite loops.
333
c44866b2
VS
3342012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
337 on show_error.
338
96790539
VS
3392012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
340
341 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
342
1ba7e295
VS
3432012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
344
345 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
346
21ffe8f1
VS
3472012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * util/bin2h.c (usage): Add missing attribute noreturn.
350
0ccb6b3c
VS
3512012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
354 if the size isn't divisible by 512.
355
b00d7fb6
VS
3562012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
357
358 Make list_push and list_remove functions rather than inline functions
359 to decrease size and avoid aliasing violations.
360
361 * include/grub/list.h (grub_list_push): Move to ...
362 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
363 * include/grub/list.h (grub_list_remove): Move to ...
364 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
365
9d369087
VS
3662012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
367
368 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
369 and -Wunused-result.
370
af0250d9
VS
3712012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
372
373 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
374 Reported by: Seth Goldberg
375
aad32b14
VS
3762012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
377
378 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
379
ac96441c
ST
3802012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
381
382 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
383 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
384 command line.
385 * docs/grub.texi (Simple configuration): Document
386 GRUB_CMDLINE_GNUMACH.
387
3882012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
389
390 * conf/Makefile.common (platform_SCRIPTS): New variable.
391 (platform_PROGRAMS): Likewise.
392 * gentpl.py: Mark *,module and *.image for install.
393 * grub-core/gdb_grub.in: Add a notice of expected environment.
394 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
395 (gmodule.pl): Likewise.
396
ac96441c 3972012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
398
399 Replace grub_checkkey with grub_getkey_noblock.
400
401 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
402 (grub_getkey_noblock): ... this. All users updated.
403
ac96441c 4042012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
405
406 * grub-core/kern/emu/console.c: Move to ...
407 * grub-core/term/emu/console.c: ...here.
408 (grub_ncurses_getkey): Fix return value if no key is detected.
409
e51b5666
VS
4102012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
411
412 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
413 (grub_unit_test_fini): Likewise.
414 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
415
4162012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
417
418 * include/grub/test.h (GRUB_UNIT_TEST)
419
d9a62292
VS
4202012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * grub-core/script/execute.c (grub_script_break): Clarify logic.
423 Better error handling.
424 (grub_script_return): Likewise.
425 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
426
77c9182f
VS
4272012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
428
429 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
430 rimplicit redifinition.
431
edb13cf9
VS
4322012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
433
434 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
435 GRUB.
436
a9e9dc7c
VS
4372012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
438
439 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
440 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
441 prompt here.
442
b4ba8e02
VS
4432012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
444
445 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
446 as GRUB_ERR_BUG. Don't malloc if no device is available.
447
dded5540
VS
4482012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
449
450 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
451 Mark calling with invalid term as GRUB_ERR_BUG.
452
0cf69874
VS
4532012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
454
455 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
456 packets rather than raising an error.
457
59bfe502
VS
4582012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
459
460 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
461 in if.
462
db5fc596
VS
4632012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
464
465 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
466 diagnostic to dprintf.
467 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
468
e4b7f404
VS
4692012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
470
471 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
472 device name.
473
e7b02f9e
VS
4742012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
475
476 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
477 (grub_ntfs_iterate_dir): Likewise.
478
0331e102
VS
4792012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
480
481 Efiemu stylistic fixes and gettext.
482
483 * grub-core/efiemu/i386/loadcore32.c
484 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
485 * grub-core/efiemu/i386/loadcore64.c
486 (grub_arch_efiemu_relocate_symbols64): Likewise.
487 * grub-core/efiemu/i386/pc/cfgtables.c
488 (grub_machine_efiemu_init_tables): Likewise.
489 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
490 (grub_efiemu_loadcore_initXX): Add a filename argument.
491 All users updated.
492 Improved error message.
493 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
494 Add a filename argument.
495 All users updated.
496 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
497 Reclassify double relocation as GRUB_ERR_BUG.
498
306fc074
VS
4992012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
500
501 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
502 handling.
503
794d8ef2
VS
5042012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
505
506 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
507 on partition.
508
5092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
510
511 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
512
794d8ef2 5132012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
514
515 Improve string. Gettextize.
516
78dde88e
VS
5172012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
518
519 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
520 utils.
521 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
522
4786a90f
VS
5232012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
524
525 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
526 [GRUB_UTIL]: New function.
527 (insert_array) [GRUB_UTIL]: Store partmaps.
528 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
529 partmaps.
530 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
531 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
532 (probe_abstraction): Print diskfilter and not raid.
533 Reported by: Lennart Sorensen
534
0b6225bd
VS
5352012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
536
537 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
538 * util/grub-mkimagexx.c (MASK3): New define.
539 (add_value_to_slot_20b): Use MASK3.
540 (add_value_to_slot_21): Likewise.
541 (relocate_addresses): Fix format specification.
542 (load_image): Explicitly init symtab_section.
543
b055f8f6
VS
5442012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
547 (grub_util_biosdisk_get_grub_dev): Fix format specification.
548
b77c2fb7
VS
5492012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
550
551 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
552 on powerpc.
553 Reported by: Lennart Sorensen
554
e3ec28ab
VS
5552012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
556
557 * gentpl.py: Add missing license header.
558 * docs/grub.texi: Update copyright year.
559
c8d9ead6
GS
5602012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
561
562 Source grub-mkconfig_lib from the build directory at build time.
563 Suggested by: Vladimir Serbinenko.
564
565 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
566 * util/grub-install.in: Define pkgdatadir if not already set, and source
567 grub-mkconfig_lib from there.
568 * util/grub-kbdcomp.in: Likewise.
569 * util/grub-mkconfig.in: Likewise.
570 * util/grub-mknetdir.in: Likewise.
571 * util/grub-mkrescue.in: Likewise.
572 * util/grub-mkstandalone.in: Likewise.
573 * util/grub-reboot.in: Likewise.
574 * util/grub-set-default.in: Likewise.
575 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
576
ebcecdf1
VS
5772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
578
579 Increase warning level.
580
581 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
582 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
583 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
584 (TARGET_CFLAGS): Likewise.
585 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
586 * grub-core/Makefile.core.def (decompressor_xz): Add
587 -Wno-unreachable-code.
588 (normal): Add -Wno-redundant-decls.
589 (xzio): Add -Wno-unreachable-code.
590 (lzopio): Add -Wno-redundant-decls -Wno-error.
591 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
592 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
593 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
594 * grub-core/kern/dl.c: Add exception to -Wcast-align.
595 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
596 * grub-core/kern/i386/coreboot/init.c: Add exception to
597 -Wsuggest-attribute=noreturn.
598 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
599 * grub-core/kern/ia64/dl_helper.c: Likewise.
600 * grub-core/kern/mips/dl.c: Likewise.
601 * grub-core/kern/sparc64/dl.c: Likewise.
602 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
603 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
604 (memcmp): Likewise.
605 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
606 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
607 * grub-core/loader/mips/linux.c: Likewise.
608 * grub-core/loader/multiboot_elfxx.c: Likewise.
609 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
610 * grub-core/video/sm712.c: Add exception to -Wcast-align.
611 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
612 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
613 fixme.
614 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
615 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
616 Fix prototype.
617
37bb97fe
VS
6182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
619
620 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
621 address.
622
29a3550b
VS
6232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
624
625 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
626 Avoid improper use of strings.
627 (grub_cmd_legacy_initrdnounzip): Likewise.
628
dfdffd0d
VS
6292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
630
631 * include/grub/emu/misc.h (grub_util_warn): Add missing format
632 attribute.
633 (grub_util_info): Likewise.
634 (grub_util_error): Likewise.
635
102fae4a
VS
6362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
639 * util/grub-fstest.c (fstest): Likewise.
640
7e94d044
VS
6412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
642
643 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
644 (grub_md_sha512_real): Likewise.
645 (grub_util_get_geli_uuid): Likewise.
646 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
647 (grub_util_biosdisk_open): Fix format specification.
648 Respect format security.
649 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
650 (xrealloc): Likewise.
651 (xasprintf): Likewise.
652
5ebd9769
VS
6532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * util/import_gcry.py: Include grub/crypto.h in init.c.
656
495fc8c1
VS
6572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
658
659 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
660 (generate_image): Make prefix a const char *.
661 Fix format specifications. Respect format security.
662 Avoid void * arithmetics.
663 Avoid shadowing.
664 (argp_parser): Remove unused variable. Respect format security.
665 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
666 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
667 (count_funcs): Remove unused variable.
668 (relocate_addresses): Fix format specification.
669 Disable x86-64 with elf32. Remove unused variables.
670 (add_fixup_entry): Avoid shadowing.
671 (make_reloc_section): Fix format specification.
672 Use assert.
673 (locate_sections): Fix format specifications.
674 (load_image): Avoid shadowing.
675
043c2ea3
VS
6762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
677
678 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
679 Fix format specifications. Respect format security.
680 Don't translate already translated grub_errmsg.
681 (argp_parser): Remove unused variable
682
3ec65a81
VS
6832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
684
685 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
686
a4d9fe4a
VS
6872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
688
689 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
690 (main): Likewise. Use xmalloc. Respect format security.
691
15b81d49
VS
6922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
693
694 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
695 a const char *.
696 (argp_parser): Remove unused variable.
697
31731fc0
VS
6982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
699
700 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
701 (add_pixel): Make static.
702 (add_font): Likewise.
703 (write_string_section): Make name and str a const char *.
704 (write_be16_section): Make name a const char *.
705 (print_glyphs): Make static.
706 (write_font_ascii_bitmap): Likewise.
707 (write_font_width_spec): Likewise.
708 (write_font_pf2): Likewise.
709 (argp_parser): Remove unused variable.
710 Respect format security.
711 (main): Avoid shadowing. Respect format security.
712
0809527b
VS
7132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
714
715 * util/grub-editenv.c (argp_parser): Make static.
716 (create_envblk_file): Use xmalloc.
717 (open_envblk_file): Likewise.
718 Resepect format security.
719 (set_variables): Respect format security.
720
45b0c8b7
VS
7212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * util/getroot.c (grub_find_device): Respect format security.
724 (get_mdadm_uuid): Remove unused variable.
725 (grub_util_pull_device): Dont call gettext on already translated
726 grub_errmsg.
727 (find_system_device): Remove unused variable.
728 (grub_util_get_grub_dev): Likewise.
729 (grub_make_system_path_relative_to_its_root): Respect format security.
730
1b024b4e
VS
7312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
732
733 * util/grub-fstest.c (execute_command): Make first argument
734 a const char *.
735 (read_file): Avoid shadowing.
736 Reuse underlying error message if device open fails.
737 (cmd_cmp): Respect format security.
738 (root): Make const char *.
739 (fstest): Remove args argument and use global copy.
740 Respect format security.
741 (argp_parser): Make static.
742 (main): Make default_root const char *.
743
5d1d4e28
VS
7442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * util/grub-mount.c (root): Make const char *.
747 (execute_command): Make first argument a const char *.
748 (fuse_init): Respect format security.
749 (argp_parser): Make static. Remove unused variable.
750 (main): Make default_root a const char *.
751 Respect format security.
752
36eb7379
VS
7532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * util/grub-probe.c (probe): Don't call gettext on already translated
756 grub_errmsg.
757 Remove unused variables.
758 (argp_parser): Remove unused variable.
759
76fb2ea9
VS
7602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
761
762 * util/grub-script-check.c (argp_parser): Remove unused variable.
763 (main): Rename read to curread to avoid shadowing.
764
56c98584
VS
7652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
766
767 * util/misc.c (grub_util_write_image_at): Fix format specification.
768 (grub_util_write_image): Likewise.
769 (grub_script_execute_argument_to_string): Removed (unused).
770 (grub_script_execute_menuentry): Likewise.
771 (grub_putchar): Likewise.
772
164ebb48
VS
7732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
774
775 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
776 (FUNCTION) [GRUB_UTIL]: Likewise.
777 (VARIABLE) [GRUB_UTIL]: Likewise.
778
44318d61
VS
7792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
780
781 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
782 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
783
31a26002
VS
7842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
785
786 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
787 buffer.
788
7892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
790
791 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
792 (LzmaEnc_SaveState): Removed (unused).
793 (LzmaEnc_RestoreState): Likewise.
794 (LzmaEnc_InitPriceTables): Made static.
795 (LzmaEnc_Construct): Likewise.
796 (LzmaEnc_FreeLits): Likewise.
797 (LzmaEnc_Destruct): Likewise.
798 (LzmaEnc_Init): Likewise.
799 (LzmaEnc_InitPrices): Likewise.
800 (LzmaEnc_Finish): Likewise.
801 (LzmaEnc_PrepareForLzma2): Removed (unused).
802 (LzmaEnc_MemPrepare): Likewise.
803 (LzmaEnc_GetNumAvailableBytes): Likewise.
804 (LzmaEnc_GetCurBuf): Likewise.
805 (LzmaEnc_CodeOneMemBlock): Likewise.
806
6fa67967
VS
8072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
810 (grub_util_ldm_embed): Likewise.
811
9a7428e6
VS
8122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * util/grub-editenv.c (print_var): Rename name to varname to
815 avoid shadowing.
816 (main): Rename index to curindex to avoid shadowing.
31a26002 817 Make filename a const char *.
9a7428e6 818
4f96abd1
VS
8192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
820
821 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
822 to arg_getline to avoid shadowing.
823
44d10dad
VS
8242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
825
826 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
827 disk_ to avoid shadowing.
828
340ba63e
VS
8292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
830
831 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
832 curindex to avoid shadowing.
833 Make static.
834 (MatchFinder_GetNumAvailableBytes): Make static.
835
22965bce
VS
8362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
837
838 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
839 avoid shadowing.
840
7b5784d4
VS
8412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
842
843 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
844 argument from encrypt to do_encrypt to avoid shadowing.
845
6f48ca01
VS
8462012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
847
848 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
849 incorrect nesting of #if's.
850
a4ea2dff
VS
8512012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
852
853 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
854 checks which are always false on some platforms.
855 (grub_cmd_lsacpi): Likewise.
856 * grub-core/kern/misc.c (grub_strtoul): Likewise.
857 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
858 Likewise.
859
def9fc1b
VS
8602012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
861
862 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
863 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
864
a67b2a04
VS
8652012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
868 re_dfa_t to avoid breaking alignment invariants.
869 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
870 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
871
44c6828d
VS
8722012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
875 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
876
bebe0dd0
VS
8772012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
878
879 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
880 Fix declaration.
881
a9cdb3cf
VS
8822012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
885 conserve alignment invariants.
886 (grub_ehci_ehcc_read16): Likewise.
887 (grub_ehci_oper_read32): Likewise.
888 (grub_ehci_oper_write32): Likewise.
889 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
890 Conserve alignment invariants.
891
ccc3b1b8
VS
8922012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
893
894 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
895 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
896 declarations.
897
987fbd95
VS
8982012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
901 Remove unused variable.
902
0df363f3
VS
9032012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
904
905 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
906 Remove set in if.
907
b2c0c4a6
VS
9082012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
909
910 * include/grub/net.h: Remove double declarations.
911
690c531f
VS
9122012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
913
914 Remove "payload" command in ia64 Linux loader since I couldn't
915 find any evidence of it being used for anything.
916 Replace "relocate" command with an environment variable
917
918 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
919 fields.
920 (ia64_boot_payload): Removed.
921 (last_payload): Likewise.
922 (RELOCATE_OFF): Likewise.
923 (RELOCATE_ON): Likewise.
924 (RELOCATE_FORCE): Likewise.
925 (relocate): Likewise.
926 (free_pages): Don't free payloads.
927 (grub_load_elf64): Use common error messages.
928 Use "linux_relocate" variable.
929 Increase the space after boot_params.
930 (grub_cmd_payload): Removed.
931 (grub_cmd_relocate): Likewise.
932 (grub_cmd_fpswa): Improve messages.
933 (cmd_payload): Removed.
934 (cmd_relocate): Likewise.
935 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
936 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
937
01783768
VS
9382012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
939
940 Convert UHCI to DMA framework.
941
942 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
943 (grub_uhci_pci_iter): Fill new members
944 (grub_alloc_td): Use P2V and V2P functions.
945 (grub_free_queue): Likewise.
946 (grub_alloc_qh): Likewise.
947 (grub_uhci_setup_transfer): Likewise.
948 (grub_uhci_check_transfer): Likewise.
949
43206939
VS
9502012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
953 Remove assignment in if while on it.
954
571e140e
VS
9552012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
956
957 * util/grub-mkstandalone.in: Fix modules directory.
958
a9d96eeb
VS
9592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
962 on i386-pc target.
963 (argp_parser): Accept "auto" as compression specification.
964
e4e37e8d
VS
9652012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
966
967 Fix `help' with unloaded modules.
968
969 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
970 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
971 (grub_dyncmd_dispatcher): Small stylistic fix.
972 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
973 explicit help is requested.
974
e1ea3ade
VS
9752012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
976
977 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
978 Explicitly init restart while on it.
979
27556881
VS
9802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
983 uninited variable.
984
d65f6b36
VS
9852012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
986
987 * util/grub-mknetdir.in: Use . rather than source for POSIX
988 compatibility.
989
0a1e473c
VS
9902012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
991
992 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
993
ce6647c8
VS
9942012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
997 variable.
998
66747894
VS
9992012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
1002 without quotes.
1003
71645f6e
VS
10042012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
1007
0e1c1f61
VS
10082012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
1011 iteration of partitions.
1012
9c4b5c13
VS
10132012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1014
1015 Improve gettext support. Stylistic fixes and error handling fixes while
1016 on it.
1017
215c90cb
VS
10182012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1019
1020 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
1021 part. Instead setup the correct stack in RM.
1022 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
1023 for stack.
1024 * include/grub/i386/relocator_private.h: New file.
1025
b5c1f9bf
VS
10262012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
1029 argument.
1030 * util/grub-fstest.c (options): Add missing DEVICE part.
1031
b525fd83
VS
10322012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 Clarify and unify messages.
1035
1036 * grub-core/commands/hashsum.c (options): Unify messages.
1037 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
1038 literal-only message as translatable.
1039 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
1040 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
1041 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
1042 commands.
1043 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
1044 key, not the key used to unlock. Clarify what it's used for.
1045 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
1046 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
1047 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
1048 * util/grub-editenv.c (options): Unify "verbose" message.
1049 * util/grub-fstest.c (read_file): Unify error message.
1050 (fstest): Add quotes around commands.
1051 (options): Unify "verbose" message.
1052 * util/grub-install.in: Add quotes around variable name.
1053 * util/grub-kbdcomp.in: Unify error message.
1054 * util/grub-mkfont.c (main): Likewise.
1055 * util/grub-mkrescue.in: Likewise.
1056 * util/grub-mklayout.c (options): Unify "verbose" message.
1057 * util/grub-mkstandalone.in: Unify help and verbose messages.
1058 * util/grub-mount.c (options): Unify "verbose" message.
1059 * util/grub-probe.c (options): Likewise.
1060 * util/grub-script-check.c (options): Likewise.
1061 * util/grub-setup.c (setup): Unify no-terminator message.
1062 (options): Use DEVICE and not DEV.
1063 Unify "verbose" message.
1064 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
1065
0ae70393
VS
10662012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 Improve and unify messages.
1069
1070 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
1071 name. All users updated.
1072 Print filename in error.
1073 (read_device_map): Print filename in error.
1074 * util/getroot.c (grub_guess_root_devices): Print filename in error.
1075 (grub_util_get_os_disk): Likewise.
1076 (grub_util_biosdisk_get_grub_dev): Likewise.
1077 (grub_util_check_block_device): Likewise.
1078 (grub_util_check_char_device): Likewise.
1079 (grub_make_system_path_relative_to_its_root): Likewise.
1080 * util/grub-editenv.c (create_envblk_file): Likewise.
1081 (open_envblk_file): Likewise.
1082 (write_envblk): Likewise.
1083 * util/grub-fstest.c (cmd_cp): Likewise.
1084 (cmd_cat): Likewise.
1085 (cmd_cmp): Likewise.
1086 * util/grub-menulst2cfg.c (main): Likewise.
1087 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
1088 (write_font_width_spec): Likewise.
1089 (write_font_pf2): Likewise.
1090 * util/grub-mkimage.c (generate_image): New argument outname.
1091 All users updated.
1092 Remove unreacheable message.
1093 (options): Unify messages.
1094 (help_filter): Likewise.
1095 * util/grub-mklayout.c (usage): Removed (unused).
1096 (main): Print filename in error.
1097 * util/grub-mkrescue.in: Fix wrong quoting.
1098 * util/grub-setup.c (setup): Print filename in error.
1099 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
1100 (check_sas): Likewise.
1101 * util/misc.c (grub_util_get_fp_size): Removed.
1102 (grub_util_get_image_size): Print filename in error.
1103 (grub_util_read_at): Removed.
1104 (grub_util_read_image): Print filename in error.
1105 (grub_util_load_image): Likewise.
1106 (grub_util_write_image_at): New argument filename. All users updated.
1107 Print filename in error.
1108 (grub_util_write_image): New argument filename. All users updated.
1109 Print filename in error.
1110 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
1111 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
1112
0a96117d
VS
11132012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 * grub-core/Makefile.core.def (pxechain): New module.
1116 * grub-core/loader/i386/pc/pxechainloader.c: New file.
1117 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
1118 function.
1119 (grub_pc_net_config_real): Use grub_pxe_get_cached.
1120 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
1121
aca002f7
VS
11222012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
1125 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
1126 * include/grub/err.h (grub_error_saved): New struct.
1127 (grub_errmsg): Make array size explicit.
1128 * include/grub/misc.h (grub_error_save): New function.
1129 (grub_error_load): Likewise.
1130 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
1131 (grub_error_push): Update `errno' member name.
1132 (grub_error_pop): Likewise
1133 * grub-core/net/tftp.c (tftp_data): New member save_err.
1134 (tftp_receive): Save error.
1135 (tftp_open): Restore error.
1136
a51dab13
VS
11372012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
1140 to real mode down to execute A20-related code in protected mode as
1141 intended.
1142
eb6e6649
GS
11432012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
1144
1145 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
1146 NULL when the argument `level' has an unexpected value.
1147
92cd0f6e
VS
11482012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 Move platform-dependent files from $prefix to $prefix/$platform.
1151
1152 * config.h.in (GRUB_TARGET_CPU): New definition.
1153 (GRUB_PLATFORM): Likewise.
1154 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
1155 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
1156 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
1157 * grub-core/kern/dl.c (grub_dl_load): Likewise.
1158 * grub-core/normal/autofs.c (read_fs_list): Likewise.
1159 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
1160 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
1161 * grub-core/normal/term.c (read_terminal_list): Likewise.
1162 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
1163 $prefix/locale.
1164 (grub_gettext_init_ext): Likewise.
1165 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
1166 grub_platform.
1167 * util/grub-install.in: Update directories.
1168 * util/grub-mknetdir.in: Likewise.
1169 * util/grub-mkrescue.in: Likewise.
1170
db606889
VS
11712012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
1174 grub_error framework. All users updated.
1175
c39992a4
VS
11762012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1177
1178 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
1179 lists (by always binsearching), improve caching (cache strings
1180 used for binsearch, not only results), improve
1181 maintainability (by using more structured binary search) and correct
1182 error handling.
1183
1e5ec32f
VS
11842012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 * grub-core/script/execute.c (grub_script_return): Fix warning.
1187
ac576cde
VS
11882012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 * grub-core/script/execute.c (grub_script_return): Fix potential
1191 NULL-dereference.
1192 Reported by: Jim Meyering.
1193
498453f6
VS
11942012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1195
1196 * po/POTFILES.in: Regenerate.
1197 * util/grub-install.in: Gettextize the strings missed in first pass.
1198
8be63f2e
VS
11992012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 * Makefile.util.def (grub-mkdevicemap): Removed.
1202 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
1203 * include/grub/util/deviceiter.h: Removed.
1204 * util/deviceiter.c: Likewise.
1205 * util/getroot.c (grub_util_get_os_disk): New function.
1206 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
1207 replacement for EFI.
1208 * util/grub-mkdevicemap.c: Removed.
1209 * util/grub-probe.c (probe): Handle PRINT_DISK.
1210 (argp_parser): Handle -t disk.
1211
8e1e4e39
VS
12122012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1213
1214 * util/grub-mkfont.c: Migrate to argp.
1215 * util/grub-mklayout.c: Likewise.
1216 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1217 * util/grub-mkrelpath.c: Likewise.
1218 * util/grub-probe.c: Likewise.
1219 * util/grub-script-check.c: Likewise.
1220
4459819a
VS
12212012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1222
1223 * util/grub-reboot.in: Add missing datarootdir.
1224 Add missing newline.
1225 * util/grub-set-default.in: Add missing datarootdir.
1226 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
1227 * util/grub-mkrescue.in: Likewise.
1228
f65741c7
VS
12292012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1230
1231 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
1232
c1a33466
VS
12332012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1234
1235 * util/grub-kbdcomp.in: Add decent help and gettextize.
1236 * docs/man/grub-kbdcomp.h2m: New file.
1237
c76899a0
VS
12382012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 Migrate grub-mkimage.c to argp.
1241
1242 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
1243 (grub-setup): Likewise.
1244 * util/grub-setup.c (print_version): Move to ...
1245 * util/argp_common.c (print_version): ... here.
1246 * util/grub-setup.c (argp_program_version_hook): Move to ...
1247 * util/argp_common.c (argp_program_version_hook): ... here.
1248 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
1249 safety.
1250 * util/grub-mkimage.c (main): Migrate to argp.
1251
57db0757
VS
12522012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1253
1254 * util/grub-mkrescue.in: Use same message as
1255 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
1256 for better translations.
1257
18534ad9
VS
12582012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
1261 options with generic grub-mkrescue.in with the goal of future
1262 merge.
1263
c84ba308
VS
12642012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 * grub-core/kern/mm.c: Add missing include of i18n.h
1267 * grub-core/lib/relocator.c: Likewise.
1268
347998c2
VS
12692012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1270
1271 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
1272 error.
1273 (allocate_pages): Check return value.
1274 Replace fatal with error.
1275 (grub_linux_boot): Replace printf with dprintf.
1276 Check find_mmap_size return value.
1277 Replace fatal with error.
1278 Don't call grub_machine_fini.
1279 (grub_load_elf64): Replace printf with dprintf.
1280 (grub_cmd_linux): Likewise.
1281 (grub_cmd_initrd): Likewise.
1282 (grub_cmd_payload): Likewise.
1283
c779226e
VS
12842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1285
1286 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
1287 message.
1288 * grub-core/video/radeon_fuloong2e.c
1289 (grub_video_radeon_fuloong2e_setup): Likewise.
1290 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
1291 * grub-core/video/video.c (grub_video_set_mode): Don't override
1292 standard out of memory message.
1293
dc87d45a
GS
12942012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1295
1296 NetBSD disk wedge support.
1297
1298 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
1299 [__NetBSD__]: Handle NetBSD disk wedges.
1300 * util/getroot.c (convert_system_partition_to_system_disk)
1301 [__NetBSD__]: Likewise.
1302
055f856f
MW
13032012-02-03 Mark Wooding <mdw@distorted.org.uk>
1304
1305 * util/grub-mkconfig.in: Use umask rather than chmod to create
1306 grub.cfg.new to avoid insecure grub.cfg.
1307
4a9f8346
VS
13082012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1309
1310 * grub-core/commands/ls.c: Gettextize.
1311 * grub-core/commands/setpci.c: Likewise.
1312 * grub-core/commands/videotest.c: Likewise.
1313 * grub-core/disk/geli.c: Likewise.
1314 * grub-core/kern/mm.c: Likewise.
1315 * grub-core/lib/relocator.c: Likewise.
1316 * grub-core/loader/efi/appleloader.c: Likewise.
1317 * grub-core/loader/i386/xnu.c: Likewise.
1318 * grub-core/loader/ia64/efi/linux.c: Likewise.
1319 * grub-core/loader/xnu.c: Likewise.
1320 * grub-core/net/dns.c: Likewise.
1321 * grub-core/net/net.c: Likewise.
1322 * grub-core/script/lexer.c: Likewise.
1323 * grub-core/script/parser.y: Likewise.
1324 * grub-core/script/yylex.l: Likewise.
1325 * util/getroot.c: Likewise.
1326 * util/grub-setup.c: Likewise.
1327
a646a366
VS
13282012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
1331 number.
1332
54e2be26
VS
13332012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
1336
f7c71e68
VS
13372012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1338
1339 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
1340 macro.
1341 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
1342 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
1343
a32d5c71
VS
13442012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
1347 * util/grub-install.in: Gettextize.
1348 * util/grub-mkconfig.in: Likewise.
1349 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
1350 if not available.
1351 (grub_warn): Gettextize.
1352 * util/grub-mknetdir.in: Gettextize.
1353 * util/grub-mkrescue.in: Likewise.
1354 * util/grub-mkstandalone.in: Likewise.
1355 * util/grub-reboot.in: Likewise.
1356 * util/grub-set-default.in: Likewise.
1357 * util/grub.d/00_header.in: Likewise.
1358 * util/grub.d/10_hurd.in: Likewise.
1359 * util/grub.d/10_kfreebsd.in: Likewise.
1360 * util/grub.d/10_linux.in: Likewise.
1361 * util/grub.d/10_netbsd.in: Likewise.
1362 * util/grub.d/10_windows.in: Likewise.
1363 * util/grub.d/20_linux_xen.in: Likewise.
1364 * util/grub.d/30_os-prober.in: Likewise.
1365 * po/POTFILES-shell.in: Regenerate.
1366
69edd81a
RL
13672012-02-03 Richard Laager <rlaager@wiktel.com>
1368
1369 * util/grub-mkimage.c (main): Fix format-security warning.
1370 * util/grub-mkrelpath.c (main): Likewise.
1371 * util/grub-probe.c (main): Likewise.
1372
65f08dbf
RL
13732012-02-03 Richard Laager <rlaager@wiktel.com>
1374
1375 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
1376 failure.
1377 Put back lost PRINT_DRIVE.
1378
e9084abe
RL
13792012-02-03 Richard Laager <rlaager@wiktel.com>
1380
1381 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
1382 (grub_guess_root_devices): Replace strlen with sizeof.
1383 Avoid crash.
1384 (find_root_devices_from_poolname): Remove unused variable.
1385 Handle raidzN.
1386
cf5f7ee7
VS
13872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1388
1389 Support install on multi-device filesystems.
1390
1391 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
1392 (grub_guess_root_devices): ...this. Return char **. All users updated.
1393 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
1394 Removed.
1395 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
1396 (find_root_devices_from_poolname): ... here.
1397 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
1398 Support zfs-fuse.
1399 (grub_guess_root_device): Rename to ...
1400 (grub_guess_root_devices): ... this. Return char **. All users updated.
1401 * util/grub-install.in: Handle multi-device filesystems.
1402 * util/grub-probe.c (probe). Make device_names a char **. Add delim
1403 argument. All users updated.
1404 Handle multi-device filesystems.
1405 Use 'delim' as separator.
1406 Remove device check to allow filesystems on file.
1407 (main): Support -0 argument. Handle multi-device.
1408 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
1409 Fix a cross-device check while on it.
1410 (arguments): Remove root_dev.
1411 (argp_parser): Remove -r.
1412 (main): Remove root_dev.
1413
2f53a9ed
VS
14142012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1415
1416 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
1417
17e1d934
VS
14182012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
1421 symbol.
1422 Reported by: NODA, Kai <nodakai>.
1423
d3e3fab5
VS
14242012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 Fix ehci on amd64.
1427
1428 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
1429 pointers.
1430 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
1431 (grub_ehci_setup_qh): Likewise.
1432 (grub_ehci_find_qh): Likewise.
1433 (grub_ehci_transaction): Likewise.
1434 (grub_ehci_setup_transfer): Likewise.
1435 (grub_ehci_check_transfer): Likewise.
1436 (grub_ehci_portstatus): Likewise.
1437 (grub_ehci_detect_dev): Likewise.
1438 (grub_ehci_transfer_controller_data): New field td_last_phys.
1439 (grub_ehci_setup_transfer): Fill td_last_phys.
1440 (grub_ehci_check_transfer): Use td_last_phys.
1441
3008675b
SG
14422012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
1443
1444 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
1445 if no submenu is present.
1446
fc9b5652
AN
14472012-02-01 Aleš Nesrsta <starous@volny.cz>
1448
1449 CBI support.
1450
1451 * include/grub/usb.h (grub_usbms_protocol_t): New values
1452 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
1453 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
1454 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
1455 (grub_usbms_dev): Add subclass, protocol and intrpt.
1456 Remove in_maxsz and out_maxsz.
1457 (grub_usbms_reset): Rename to ...
1458 (grub_usbms_bo_reset): .. this.
1459 (grub_usbms_cbi_cmd): New function.
1460 (grub_usbms_cbi_reset): Likewise.
1461 (grub_usbms_reset): Likewise.
1462 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
1463 (grub_usbms_transfer): Rename to ...
1464 (grub_usbms_transfer_bo): ... this.
1465 (grub_usbms_transfer_cbi): Likewise.
1466 (grub_usbms_transfer): Likewise.
1467
a2b81d53
AN
14682012-02-01 Aleš Nesrsta <starous@volny.cz>
14692012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
1472 the support for the CS5536 modification thereos and few bugfixes.
1473
1474 * grub-core/Makefile.core.def (ehci): New module.
1475 * grub-core/bus/usb/ehci.c: New file.
1476 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
1477 port and hubaddr. All users updated.
1478 Save port and hubaddr into dev structure.
1479 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
1480 define.
1481 * include/grub/pci.h (grub_dma_phys2virt): New function.
1482 (grub_dma_virt2phys): Likewise.
1483 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
1484
b1d51f02
VS
14852012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1486
1487 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
1488 check as some mkfs implementations omit it.
1489
fc694106
VS
14902012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1491
1492 * docs/grub.texi (Unicode): Mention identifier and space limitations.
1493
6c0920e3
VS
14942012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
1497 Add new member volname2.
1498 (grub_jfs_label): Use volname2 if available.
1499
d1a46f9a
VS
15002012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
1503 over last_mounted as seen in image generated by mkfs.nilfs2.
1504 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
1505
dec8ed14
VS
15062012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
1509 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
1510 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
1511
7397c69b
VS
15122012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
1515 over the sector.
1516
b3fe42ad
VS
15172012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
1520 subvolume name (by removing a bogus and useless check).
1521
10476bb0
VS
15222012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1523
1524 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
1525 sizeof while on it.
1526
9c08ad87
VS
15272012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1528
1529 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
1530 (grub_scsi_read_capacity10): ... this.
1531 (grub_scsi_read_capacity16): New function.
1532 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
1533 0xffffffff.
1534 Fix off-by-one error.
1535 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
1536 64-bit unsigned.
1537 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
1538 (grub_scsi_read_capacity10): ... this.
1539 (grub_scsi_read_capacity_data): Rename to ...
1540 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
1541 (grub_scsi_read_capacity16): New struct.
1542 (grub_scsi_read_capacity16_data): Likewise.
1543 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
1544 grub_scsi_cmd_read_capacity10.
1545 New command grub_scsi_cmd_read_capacity16.
1546
bc8d0f45
VS
15472012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 SCSI >2TiB support.
1550
1551 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
1552 (grub_scsi_write16): Likewise.
1553 (grub_scsi_read): Use read16 when necessary.
1554 (grub_scsi_write): Likewise.
1555 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
1556 (grub_scsi_write16): Likewise.
1557 (grub_scsi_cmd_t): Add READ16 and WRITE16.
1558
cc774926
VS
15592012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1560
1561 SCSI write support (for usbms mainly).
1562
1563 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
1564 a const pointer.
1565 (grub_scsi_write): Implement.
1566 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
1567
67639fd7
VS
15682012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1569
1570 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
1571 variable.
1572
9079d3ed
VS
15732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 * grub-core/lib/posix_wrap/string.h (memchr): New function.
1576
c6a6f204
VS
15772012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1578
1579 * po/POTFILES.in: Regenerate.
1580
ecbf8cd1
VS
15812012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
1584 with grub_printf to avoid unnecessary fatal failure.
1585
0b3b3b38
VS
15862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
1589 (INT_MAX): Likewise.
1590 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
1591 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
1592 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
1593 (strcpy): Likewise.
1594 (strstr): Likewise.
1595 (strchr): Likewise.
1596 (strncpy): Likewise.
1597 (strcat): Likewise.
1598 (strncat): Likewise.
1599 (strcoll): Likewise.
1600 * include/grub/types.h (GRUB_SHRT_MAX): New define.
1601 (GRUB_INT_MAX): Likewise.
1602
db7337a3
VS
16032012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
1606 unexpected error.
1607 (optimize_utf8): Likewise.
1608 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
1609
f37c87e1
VS
16102012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 * grub-core/boot/i386/pc/lnxboot.S: Use
1613 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
1614 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
1615 location.
1616 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
1617 definition.
1618 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
1619
63fe43f3
VS
16202012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1621
1622 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
1623 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
1624 now to avoid double free.
1625 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
1626 hostdisk.
1627 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
1628 * util/grub-probe.c (escape_of_path): Always return a new copy.
1629 (print_full_name): Escape path.
1630 (probe): Don't call grub_util_devname_to_ofpath on NULL.
1631 Fix hints on abstractions.
1632
ebe2c961
VS
16332012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1634
1635 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
1636 Don't add "root" line if no compatibility hont is available.
1637 Suggested by: Seth Goldberg.
1638
2b5336a2
VS
16392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1640
1641 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
1642 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
1643 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
1644 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
1645
74310bd8
VS
16462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
1649
c30582ba
VS
16502012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 * util/grub-pe2elf.c (ehdr): Make static.
1653 (shdr): Likewise.
1654 (num_sections): Likewise.
1655 (offset): Likewise.
1656
5f47782c
VS
16572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 Eliminate ofpath limits and possible overflows.
1660
1661 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
1662 (OF_PATH_MAX): Removed.
1663 (MAX_DISK_CAT): New const.
1664 (find_obppath): Use allocated rather than preallocated buffer.
1665 Return result. Argument of_path removed. All users updated.
1666 Add missing fdstat.
1667 (xrealpath): New function.
1668 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
1669 Allocate rather than use preallocated buffer. All users updated.
1670 (__of_path_common): Use allocated rather than preallocatecd buffer.
1671 Return result. Argument of_path removed. All users updated.
1672 (vendor_is_ATA): Read only needed part form the file.
1673 (check_sas): Allocate depending on contents rather than fixed.
1674 (main) [STANDALONE]: Handle NULL result.
1675
f990cbf9
VS
16762012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 * grub-core/normal/completion.c (iterate_dev): Close the disk.
1679
9c6e84b8
VS
16802012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 Cryptodisk write support.
1683
1684 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
1685 (grub_cryptodisk_decrypt): Moved logic to ...
1686 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
1687 (grub_cryptodisk_write): Implement.
1688 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
1689 (grub_util_fd_write): ... this. Make global.
1690 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
1691
87cf9744
VS
16922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1693
1694 * include/grub/list.h (grub_list_remove): Don't crash if element is
1695 removed twice.
1696
ca8c0baf
VS
16972012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1698
1699 Rename ofconsole to console.
1700
1701 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
1702 as sysnonym to console.
1703 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
1704 * grub-core/term/ieee1275/console.c: ... this. All users updated.
1705 Rename grub_ofconsole_ to grub_console_. All users updated
1706 (grub_console_term_output): Rename "ofconsole" to "console".
1707 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
1708 as "console".
1709
64c8b8f6
VS
17102012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1711
1712 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
1713 handling.
1714 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
1715 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
1716 GRUB_DISK_DEVICE_FILE_ID.
1717
f6c434d5
VS
17182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1719
1720 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
1721 and improve performance.
1722
5858b42d
VS
17232012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
1726 missing ieee1275/ prefix on whole disk.
1727
4ed3c26b
VS
17282012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1729
1730 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
1731 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
1732
df71143e
VS
17332012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
1736
076e7c0f
VS
17372012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 Merge common RAID and LVM logic to an abstract diskfilter.
1740 Add LDM support using the same framework.
1741
1742 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
1743 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
1744 (libgrubmods): Remove grub-core/disk/raid.c and
1745 grub-core/partmap/gpt.c.
1746 * grub-core/Makefile.core.def (ldm): New module.
1747 (raid): Renamed to diskfilter. All users updated.
1748 * grub-core/disk/raid.c: Moved to ...
1749 * grub-core/disk/diskfilter.c: ... here.
1750 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
1751 (lv_num): New var.
1752 (find_array): Renamed to ...
1753 (find_lv): ... this. Support multi-LV. Skip nameless LVs
1754 (grub_is_array_readable): Renamed to ...
1755 (grub_is_lv_readable): ... this. Support multinode hierarchy.
1756 (insert_array): New argument id.
1757 (is_node_readable): New function.
1758 (scan_device): Rename to ...
1759 (scan_disk): .. this. Restrict to one disk.
1760 (scan_devices): New function.
1761 (grub_diskfilter_iterate): Support multi-LV.
1762 Skip invisible and nameless LVs.
1763 (grub_diskfilter_memberlist): Support multi-LV.
1764 (grub_diskfilter_read_node): New function.
1765 (grub_raid_read): Most of logic moved to ...
1766 (read_segment): ... here
1767 (read_lv): New function.
1768 (grub_diskfilter_get_vg_by_uuid): New function.
1769 (grub_diskfilter_make_raid): Likewise.
1770 * grub-core/disk/ldm.c: New file.
1771 * grub-core/disk/lvm.c (vg_list): Removed.
1772 (lv_count): Likewise.
1773 (scan_depth): Likewise.
1774 (is_lv_readable): Likewise.
1775 (grub_lvm_getvalue): Advance pointer past the number.
1776 (find_lv): Removed.
1777 (do_lvm_scan): Refactored into ...
1778 (grub_lvm_detect): ... this. Support raid.
1779 (grub_lvm_iterate): Removed.
1780 (grub_lvm_memberlist): Likewise.
1781 (grub_lvm_open): Likewise.
1782 (grub_lvm_close): Likewise.
1783 (read_lv): Likewise.
1784 (read_node): Likewise.
1785 (is_node_readable): Likewise.
1786 (is_lv_readable): Likewise.
1787 (grub_lvm_read): Likewise.
1788 (grub_lvm_write): Likewise.
1789 (grub_lvm_dev): Use diskfilter
1790 (GRUB_MOD_INIT): Likewise.
1791 (GRUB_MOD_FINI): Likewise.
1792 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
1793 new interface.
1794 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
1795 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1796 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
1797 grub_diskfilter_read_node.
1798 Fix a bug with xor.
1799 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
1800 grub_diskfilter_read_node.
1801 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
1802 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
1803 (grub_disk_dev_iterate): Move from here...
1804 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
1805 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1806 Make global.
1807 (grub_hostdisk_find_partition_start): Likewise.
1808 (grub_hostdisk_os_dev_to_grub_drive): New function.
1809 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
1810 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
1811 * util/getroot.c (make_device_name): ... here.
1812 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1813 Move to ...
1814 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
1815 * grub-core/kern/emu/hostdisk.c
1816 (convert_system_partition_to_system_disk): Move to ...
1817 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
1818 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
1819 * util/getroot.c (device_is_wholedisk): ... here.
1820 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
1821 * util/getroot.c (find_system_device): ... here.
1822 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
1823 Move to ...
1824 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
1825 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1826 Move to ...
1827 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
1828 Handle LDM.
1829 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
1830 Move to ...
1831 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
1832 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
1833 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
1834 DISKFILTER.
1835 * include/grub/raid.h: Renamed to ...
1836 * include/grub/diskfilter.h: ... this.
1837 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
1838 (GRUB_RAID_LAYOUT_*): Make into array.
1839 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
1840 (grub_diskfilter_vg): New struct.
1841 (grub_diskfilter_pv_id): Likewise.
1842 (grub_raid_member): Removed.
1843 (grub_raid_array): Likewise.
1844 (grub_diskfilter_pv): New struct.
1845 (grub_diskfilter_lv): Likewise.
1846 (grub_diskfilter_segment): Likewise.
1847 (grub_diskfilter_node): Likewise.
1848 (grub_diskfilter_get_vg_by_uuid): New proto.
1849 (grub_raid_register): Inline.
1850 (grub_diskfilter_unregister): Likewise.
1851 (grub_diskfilter_make_raid): New proto.
1852 (grub_diskfilter_vg_register): Likewise.
1853 (grub_diskfilter_read_node): Likewise.
1854 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
1855 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
1856 (grub_util_is_ldm): Likewise.
1857 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
1858 (grub_hostdisk_find_partition_start): Likewise.
1859 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
1860 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
1861 New definition.
1862 (grub_gpt_partition_map_iterate): New proto.
1863 * include/grub/lvm.h (grub_lvm_vg): Removed.
1864 (grub_lvm_pv): Likewise.
1865 (grub_lvm_lv): Likewise.
1866 (grub_lvm_segment): Likewise.
1867 (grub_lvm_node): Likewise.
1868 * util/getroot.c [...]
1869 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
1870 (probe_abstraction): Likewise.
1871 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
1872 (main): Remove dead logic.
1873
8a7f9b9c
VS
18742012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
1875
1876 Simplify root device discover and don't fail when trying to open
1877 incorrect devices.
1878
1879 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
1880 function.
1881 (get_diskname_from_path): Likewise.
1882 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
1883 of iterating.
1884
30545b85
VS
18852012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
1888
28ea58cf
VS
18892012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
1892 pastthe end.
1893
692dabca
VS
18942012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * util/grub-install.in: Add missing \.
1897 Reported by: gentoofan
1898
f6e4ea70
VS
18992012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
1902 (direct_read): Use correct compressed size.
1903 (grub_squash_read_data): Likewise.
1904
19052012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
1906
1907 * docs/grub.texi (Platform limitations): New section.
1908 (Platform-specific operations): Likewise.
1909 * docs/grub-dev.texi (Porting): Likewise.
1910
76261110
VS
19112012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1912
1913 IEEE1275 disk write support.
1914
1915 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
1916 const void *.
1917 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
1918 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
1919 and seek loginc to ...
1920 (grub_ofdisk_prepare): ... here.
1921 (grub_ofdisk_write): Implement.
1922
fc36d603
VS
19232012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 ARC disk write support.
1926
1927 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
1928 (reopen): New argument writable. All users updated.
1929 Handle required access mode.
1930 (grub_arcdisk_write): Implement.
1931 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
1932 (grub_arc_firmware_vector): Make buffer to write a const buffer.
1933
e06c2e7a
VS
19342012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1935
1936 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
1937 (read_sblock): Don't attempt to read superblocks outside the disk size.
1938
ff447958
VS
19392012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1940
1941 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
1942 first superblock to find the second one when possible.
1943
9e88df39
VS
19442012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 * util/grub-install.in: Fix an ARC bug.
1947 Print a warning if no platform-specific setup is available.
1948
bb26e4ff
VS
19492012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1950
1951 Use static allocation rather than scratch pointer in reed_solomon.
1952 It decreases its size significantly and avoids a variable in .text.
1953
1954 * grub-core/lib/reed_solomon.c (scratch): Removed.
1955 (chosenstat): New const or static array.
1956 (sigma): Likewise.
1957 (errpot): Likewise.
1958 (errpos): Likewise.
1959 (sy): Likewise.
1960 (mstat): Likewise.
1961 (errvals): Likewise.
1962 (eqstat): Likewise.
1963 (pol_evaluate): Replace x with log_x argument. All users updated.
1964 (syndroms): Removed.
1965 (gauss_solve): Use statically allocated arrays.
1966 (rs_recover): Likewise.
1967 Calculate syndroms directly.
1968 (decode_block): Use statically allocated arrays.
1969 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
1970 (main) [TEST]: Allow -DTEST -DSTANDALONE.
1971
2e13ede5
VS
19722012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1973
1974 Eliminate fixed limit on reed solomon decoder length.
1975
1976 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
1977 rather than hardcoding the address.
1978 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
1979 no_reed_solomon_length.
1980 Move gate_a20 to no-reed-solomon part.
1981 Don't force a particular size of no reed-solomon part.
1982 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
1983 Removed.
1984 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
1985 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
1986
f8a9ab12
VS
19872012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1988
1989 * grub-core/commands/wildcard.c (match_files): Handle filenames
1990 without explicit device.
1991 (wildcard_expand): Don't add explicit device if not already present.
1992 * tests/grub_script_echo1.in: Add a new expansion test.
1993
87edb894
VS
19942012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1995
1996 Replace single-linked with double-linked lists. It results in more
1997 compact and more efficient code.
1998
1999 * grub-core/kern/list.c (grub_list_push): Moved from here ...
2000 * include/grub/list.h (grub_list_push): ... to here. Set prev.
2001 (grub_list_remove): Moved from here ...
2002 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
2003 (grub_prio_list_insert): Set prev.
2004 * include/grub/list.h (grub_list): Add prev. All users updated.
2005
48b391e9
VS
20062012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2007
2008 Handle newer autotools. Add some missing quotes while on it.
2009
2010 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
2011 (pkglib_DATA): Move grub-mkconfig_lib from here ...
2012 (pkgdata_DATA): ... here.
2013 * Makefile.util.def (update-grub_lib): Removed.
2014 * conf/Makefile.common (pkglib_DATA): Removed.
2015 (pkglib_SCRIPTS): Likewise.
2016 (pkgdata_DATA): New variable.
2017 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
2018 needed.
2019 Add missing quotes.
2020 Remove unused variable while on it.
2021 * tests/util/grub-shell.in: Likewise.
2022 * util/grub-install.in: Likewise.
2023 * util/grub-mkconfig.in: Likewise.
2024 * util/grub-mknetdir.in: Likewise.
2025 * util/grub-mkrescue.in: Likewise.
2026 * util/grub-mkstandalone.in: Likewise.
2027 * util/grub.d/00_header.in: Likewise.
2028 * util/grub.d/10_hurd.in: Likewise.
2029 * util/grub.d/10_illumos.in: Likewise.
2030 * util/grub.d/10_kfreebsd.in: Likewise.
2031 * util/grub.d/10_linux.in: Likewise.
2032 * util/grub.d/10_netbsd.in: Likewise.
2033 * util/grub.d/10_windows.in: Likewise.
2034 * util/grub.d/20_linux_xen.in: Likewise.
2035 * util/grub.d/30_os-prober.in: Likewise.
2036 * util/update-grub_lib.in: Removed.
2037
20382012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
2039
2040 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
2041 a workaround for intel problem.
2042
66832792
PRP
20432012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
20442012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
20452012-01-23 pfsmorigo
2046
2047 * util/grub-install.in: Support dd'in into PreP partition.
2048 * util/grub-probe.c (probe): Support discovering partition type.
2049 (main): Support -t msdos_parttype.
2050
7816a17e
VS
20512012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
2054 infinite recursion using counter.
2055 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
2056 init to skip it if the magic check fails.
2057 (dec_stream_header): Init s->crc32.
2058
8f9d3a8c
ZB
20592012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20602012-01-22 Zachary Bedell <pendorbound@gmail.com>
20612012-01-22 Richard Laager <rlaager@wiktel.com>
2062
2063 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
2064 All users updated.
2065 (find_bestub): Determine correct size.
2066 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
2067 (scan_disk): Align the size down.
2068 Call check pool before find_bestub to have ashift.
2069
b055dd32
VS
20702012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
2073 dprintf in no-malloc zone.
2074
d779e9bd
ML
20752012-01-22 Mario Limonciello <mario_limonciello@dell.com>
2076
2077 * configure.ac: Add back in test for limits.h.
2078
b508af69
VS
20792012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2080
2081 Support 4K-sector NTFS.
2082
2083 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
2084 (grub_ntfs_data): Remove blocksize.
2085 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
2086 Remove data argument. All users updated.
2087
dad9c8b5
VS
20882012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2089
2090 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
2091 being in .text to avoid dprel references.
2092 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
2093 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
2094 (grub_arch_highmemsize): Likewise.
2095 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
2096 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
2097 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
2098
d43a777e
VS
20992012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
2102
2103 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
2104 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
2105
34e4208f
VS
21062012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
2109 GRUB_UTIL.
2110 (grub_set_datetime_cmos): Likewise.
2111
3ec0fc1c
VS
21122012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 Make XZ compression parameters dependent on target and not host CPU.
2115
2116 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
2117 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
2118
22489834
VS
21192012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
2122 set but not used variable.
2123
8502fbca
VS
21242012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
2127 created when no uuid support is compiled into mkfs.reiser.
2128
76df2068
VS
21292012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
2132 (utf8_to_macroman): Do the opposite.
2133 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
2134
64e3f8f6
VS
21352012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2136
2137 * configure.ac: Refise build qemu_mips w/o unifont.
2138
9c271078
VS
21392012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 Eliminate grub_min/grub_max prone to overflow usage.
2142
2143 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
2144 (poll_nonroot_hub): Likewise.
2145 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
2146 (grub_affs_label): Likewise.
2147 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
2148 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
2149 (grub_hfs_label): Likewise.
2150 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
2151 * grub-core/fs/zfs/zfs.c (MIN): Remove.
2152 (zap_leaf_array_equal): Use grub_size. Remove MIN.
2153 (zap_leaf_array_get): Likewise.
2154 (dnode_get_path): Likewise.
2155 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
2156 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
2157 * grub-core/script/execute.c (grub_script_break): Likewise.
2158 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
2159 grub_max.
2160 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
2161 * include/grub/misc.h (grub_min): Removed.
2162 (grub_max): Likewise.
2163
80662dbc
VS
21642012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2165
2166 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
2167 direct.inode = 0.
2168
e6da1467
VS
21692012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
2172
b1ac4cb1
VS
21732012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
2176
b4bf7c3b
VS
21772012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
2180 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
2181
8ee1101a
VS
21822012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2183
2184 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
2185 rather than a hack for grub_strncasemap.
2186
21872012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2188
2189 Support multiple initrds
2190 Note: part of this was accidently committed in r3739.
2191
2192 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
2193 initrd.
2194 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
2195 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
2196 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2197 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2198 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2199
4d1e2bc9
VS
22002012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
2203 disks with unknown size.
2204 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
2205
75b49ebe
VS
22062012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 Remove defines pertaining to arbitrary limits not affecting GRUB
2209 anymore.
2210
2211 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
2212 (EXT2_MAX_SYMLINKCNT): Likewise.
2213 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
2214 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
2215 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
2216 (GRUB_PXE_MAX_BLKSIZE): Likewise.
2217 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
2218 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
2219 (DN_MAX_OBJECT_SHIFT): Likewise.
2220 (DN_MAX_OFFSET_SHIFT): Likewise.
2221 (DN_MAX_OBJECT): Likewise.
2222 (DNODES_PER_LEVEL_SHIFT): Likewise.
2223 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
2224 (SPA_MAXBLOCKSIZE): Likewise.
2225 (SPA_BLOCKSIZES): Likewise.
2226 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
2227 (MZAP_MAX_BLKSZ): Likewise.
2228
74a1dce7
VS
22292012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2230
2231 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
2232 handle NULL appropriately.
2233 Remove MIN.
2234
30c7d3ce
VS
22352012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 Fix efiemu.
2238
2239 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
2240 cpu/types.h.
2241 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
2242 * configure.ac: Fix efiemu check.
2243
3c76ea0c
VS
22442012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
2247 grub_probe.
2248 Reported by: adamwill
2249
7e532280
SG
22502012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
2251
2252 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
2253
30492374
VS
22542012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2255
2256 Fix handling of wide characters in gfxterm.
2257
2258 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
2259 (clear_char): Likewise.
2260 (paint_char): Skip code == NULL chars.
2261 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
2262
e70cb72f
VS
22632012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 * grub-core/normal/charset.c: Move comment to right place.
2266
5c827cf9
VS
22672012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2268
2269 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
2270 (GRUB_AFFS_FLAG_FFS): Put back where it was.
2271 (grub_affs_mount): Revert the correct version checking.
2272
53603892
VS
22732012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * docs/grub.texi (Unicode): Mention several other unsupported features.
2276
ff094b9b
VS
22772011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
2280 case statements as compile-time one.
2281 (direct_read): Prevent spurious warnings.
2282 (grub_squash_read_data): Likewise.
2283
c029da8a
VS
22842011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2285
2286 Various squash4 fixes and LZO and XZ support.
2287
2288 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
2289 Add xzembed source files.
2290 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
2291 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
2292 (grub_squash_inode): New subtype long_dir.
2293 (SQUASH_TYPE_LONG_DIR): New inode type.
2294 (COMPRESSION): New enum.
2295 (XZBUFSIZ): New const.
2296 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
2297 (read_chunk): Use data->decompress.
2298 (zlib_decompress): New function.
2299 (lzo_decompress): Likewise.
2300 (xz_decompress): Likewise.
2301 (squash_mount): Set new data fields.
2302 (grub_squash_iterate_dir): Handle long dir.
2303 (squash_unmount): Free xzdec and xzbuf.
2304 (grub_squash_open): Check ino type.
2305 (direct_read): Stylistic fixes. Use data->decompress.
2306 (grub_squash_read_data): Likewise.
2307 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
2308 (get_byte): Likewise.
2309 (grub_zlib_disk_read): Removed.
2310 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
2311 (GRUB_POSIX_BOOL_DEFINED): New define.
2312 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
2313 * grub-core/lib/xzembed/xz.h: Addmissing includes.
2314 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
2315 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
2316
7a45a539
VS
23172011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 Don't override more informative errors.
2320
2321 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
2322 * grub-core/font/font.c (open_section): Likewise.
2323 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
2324 filename. Don't override errors.
2325 (grub_cmd_openbsd_ramdisk): Don't override errors.
2326 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
2327 (grub_cmd_initrd): Likewise.
2328 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2329 (grub_cmd_initrd): Likewise.
2330 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
2331 (grub_cmd_linux): Likewise.
2332 (grub_cmd_initrd): Likewise.
2333 (grub_cmd_payload): Likewise.
2334 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2335 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
2336 (grub_cmd_module): Likewise.
2337 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2338 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2339 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
2340 (grub_cmd_xnu_mkext): Likewise.
2341 (grub_cmd_xnu_ramdisk): Likewise.
2342 (grub_xnu_check_os_bundle_required): Likewise.
2343 (grub_xnu_load_kext_from_dir): Likewise.
2344 (grub_cmd_xnu_kextdir): Likewise.
2345 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
2346
b2d004db
VS
23472011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
2350 as 1024 in block size field. Found on one of my test images.
2351 Small optimisation while on it.
2352
ec000eac
VS
23532011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
2356 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
2357 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
2358 performance fixes while on it.
2359 (grub_sfs_close): Fix memory leak while on it.
2360 (grub_sfs_label): Convert Latin1 to UTF-8.
2361
f50e1165
VS
23622011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
2365 space to avoid overflows.
2366 (grub_hfs_label): Convert from macroman to UTF-8.
2367
2ae254de
VS
23682011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2369
2370 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
2371
0108f491
VS
23722011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
2375
f45f5f89
VS
23762011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2377
2378 * unicode: Import Unicode 6.0 data.
2379
4d8c4765
VS
23802011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2381
63fa8ef9
VS
2382 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
2383 outside of range.
2384
23852011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
2388
2389 * include/grub/charset.h (grub_getend): New function.
2390 * grub-core/script/function.c (grub_script_function_find): Use
2391 grub_getend.
2392 * grub-core/normal/completion.c (add_completion): Likewise.
2393
f3cb4a4e
VS
23942011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
2397 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
2398 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
2399 (GRUB_UNICODE_TAG_END): Likewise.
2400 (GRUB_UNICODE_LAST_VALID): Likewise.
2401
5da8dbc5
VS
24022011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
2405 len and make it smaller. All users updated.
2406 * util/import_unicode.py: Put length and not end character.
2407 Check length.
2408
8569f13d
VS
24092011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2410
2411 Make better Unicode-compliant and unify some UTF-8 code pathes.
2412
2413 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
2414 valid character.
2415 (grub_is_valid_utf8): Use grub_utf8_process.
2416 Check resulting code range.
2417 (grub_utf8_to_ucs4): Use grub_utf8_process.
2418 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
2419 valid character.
2420
cc4fddf5
VS
24212011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
2424
bbc47747
VS
24252011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 * docs/grub.texi (Filesystems): Mention AFS.
2428
f63d6bf4
VS
24292011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 * docs/grub.texi (Filesystems): Clarify restrictions.
2432 (Regexp): Mention non-Unicode regexp behaviour.
2433 (Other): Mention non-Unicode matching behaviour.
2434
74bbf0db
VS
24352011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2436
f63d6bf4 2437 Make HFS implementation use MacRoman.
74bbf0db
VS
2438
2439 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
2440 (macroman): New const array.
2441 (macroman_to_utf8): New function.
2442 (utf8_to_macroman): Likewise.
2443 (grub_hfs_find_dir): Use utf8_to_macroman.
2444 (grub_hfs_dir): Use macroman_to_utf8.
2445 Set case_insensitive.
2446
4ea0316e
VS
24472011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
2450
d3c13cbd
VS
24512011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 Integrate hints into autogeneration scripts.
2454
2455 * docs/grub.texi (Filesystems): Add a hostdisk example.
2456 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
2457 (grub-probe): Add ofpath.
2458 * gentpl.py: Remove group nosparc64.
2459 * grub-core/commands/search.c (cache_entry): New struct.
2460 (cache): New var.
2461 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
2462 * grub-core/commands/search_wrap.c (options): Add platform-specific
2463 hint options.
2464 (grub_cmd_search): Handle platform-specific hints.
2465 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
2466 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
2467 (grub_util_biosdisk_data): Likewise.
2468 (grub_util_biosdisk_open): Set device_map.
2469 (read_device_map): Handle "" as indication of no map.
2470 Set device_map.
2471 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
2472 (grub_util_biosdisk_get_compatibility_hint): New function.
2473 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
2474 * include/grub/emu/hostdisk.h
2475 (grub_util_biosdisk_get_compatibility_hint): New proto.
2476 * util/grub-install.in: Don't call grub-mkdevicemap.
2477 Add platform-specific hint to load.cfg.
2478 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
2479 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
2480 hints. Set root preliminary to compatibility hint, not to OS name.
2481 * util/grub-probe.c (PRINT_*): Add hints.
2482 (print): Make static.
2483 (escape_of_path): New function.
2484 (guess_bios_drive): Likewise.
2485 (guess_efi_drive): Likewise.
2486 (guess_baremetal_drive): Likewise.
2487 (print_full_name): Likewise.
2488 (probe): Handle hints.
2489 (main): Likewise.
2490 * util/ieee1275/devicemap.c: Removed.
2491 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
2492 updated.
2493 (grub_util_devname_to_ofpath): Return NULL on failure.
2494
2495 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
2496 resource leak.
2497 * util/getroot.c (grub_util_pull_device): Fix memory leak.
2498
2499 * po/POTFILES.in: Regenerated.
2500
2501 Allow purely long options
2502
2503 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
2504 (SHORT_ARG_USAGE): Likewise.
2505 (grub_arg_show_help): Compare opt with help_options.
2506 (parse_option): Receive opt as argument. If makes big simplificatons.
2507 All users updated
2508
00ce2df3
VS
25092011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2510
2511 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
2512 Restructure to avoid warning.
2513
e77e325f
VS
25142011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2515
2516 * util/grub-install.in: Account for possible escaped comma in device
2517 name.
2518
165099ea
VS
25192011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2520
2521 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
2522 channel.
2523
ce4a999d
VS
25242011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
2527 allocation and zero-setting.
2528 (grub_ieee1275_get_devname): Check that alias is complete.
2529
379586ad
VS
25302011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
2533 unaligned segments.
2534
9197b0ad
VS
25352011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
2538 prefix.
2539 (grub_ofdisk_open): Check and discard ieee1275 prefix.
2540 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2541 Add ieee1275 prefix.
2542
edddb7f9
VS
25432011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2544
2545 * docs/grub.texi (Filesystems): Update.
2546
a1a8b1b9
VS
25472011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 Support odc, newc and bigendian cpio formats.
2550
2551 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
2552 * grub-core/Makefile.core.def (newc): New module.
2553 (odc): Likewise.
2554 (cpio_be): Likewise.
2555 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
2556 (MAGIC): Likewise.
2557 (MAGIC2): Likewise.
2558 (head) [MODE_ODC]: Adapt for the format.
2559 (head) [MODE_NEWC]: Likewise.
2560 (head) [!MODE_*]: Write fields of interest as arrays.
2561 (MAGIC_USTAR): Removed.
2562 (read_number) [MODE_NEWC]: Change to hex.
2563 (read_number) [!MODE_*]: Parse binary arrays.
2564 (grub_cpio_find_file): Factor out the code for better structure and
2565 always use read_number.
2566 (grub_cpio_mount): Use MAGIC and MAGIC2.
2567 (grub_cpio_dir): Exit on first hook non-0 return.
2568 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
2569 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
2570 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
2571 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
2572 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
2573 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
2574 * grub-core/fs/newc.c: New file.
2575 * grub-core/fs/odc.c: Likewise.
2576 * grub-core/fs/cpio_be.c: Likewise.
2577
58eba9ee
VS
25782011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 Fix handling of tar numbers occupying the whole field.
2581
2582 * grub-core/fs/cpio.c (read_number): New function.
2583 (grub_cpio_find_file): Use read_number instead of strtoull.
2584
a54a0e12
VS
25852011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2586
2587 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
2588 occupying the whole field size.
2589
a6120aca
LA
25902011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
2591
2592 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
2593
a93964ce
VS
25942011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2595
2596 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
2597
3ea1ca46
SG
25982011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
2599
2600 * grub-core/Makefile.core.def (lzma_decompress): Add missing
2601 TARGET_IMG_LDFLAGS.
2602
b87f7ef2
VS
26032011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 * util/getroot.c (ESCAPED_PATH_MAX): New define.
2606 (mountinfo_entry): Increase the field size to take escaping into
2607 account.
2608 (find_root_device_from_libzfs): Add one byte to size of strings for
2609 security.
2610
62092395
VS
26112011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
2614 an assert.
2615 * util/grub-setup.c (setup): Likewise.
2616
1f0b1a77
VS
26172011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
2620 _LzmaDecodeA.
2621
8eba9997
VS
26222011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 * docs/grub.texi (Internationalisation): New section.
2625
dd0c91e9
VS
26262011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * docs/grub.texi (Loopback booting): New section.
2629
26302011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
2631
2632 * util/grub-mkstandalone.in: Fix minor typo errors.
2633
198e150a
VS
26342011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
2637
2638 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
2639 net/icmp.c and net/icmp6.c.
2640 (http): New module.
2641 (priority_queue): Likewise.
2642 * grub-core/io/bufio.c: Rewritten.
2643 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
2644 TYPE_WITH_CONFIGFILE_OPTION.
2645 (legacy_commands): Add bootp and dhcp.
2646 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
2647 (grub_legacy_parse): Likewise.
2648 * grub-core/lib/priority_queue.c: New file.
2649 * grub-core/net/arp.c: Add missing license header.
2650 (arp_find_entry): Removed.
2651 (arp_find_entry): Likewise.
2652 (grub_net_arp_resolve): Rename to ...
2653 (grub_net_arp_send_request): ...this.
2654 (grub_net_arp_receive): New card argument.
2655 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
2656 Set router and DNS server.
2657 (grub_net_configure_by_dhcp_ack): Handle routing information.
2658 (grub_cmd_bootp): Set checksum.
2659 (grub_bootp_init): Remove net_dhcp.
2660 * grub-core/net/dns.c: New file.
2661 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
2662 completion.
2663 (get_card_packet): Handle allocation.
2664 (grub_efinet_findcards): Set mtu.
2665 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
2666 (get_card_packet): Handle allocation.
2667 (emucard): Set mtu.
2668 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
2669 (GRUB_MOD_INIT): Set mtu.
2670 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
2671 mtu.
2672 (get_card_packet): Handle allocation.
2673 (grub_ofnet_findcards): Set mtu.
2674 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
2675 assert.
2676 (grub_net_recv_ethernet_packet): Handle IPv6.
2677 * grub-core/net/http.c: New file.
2678 * grub-core/net/icmp.c: Likewise.
2679 * grub-core/net/icmp6.c: Likewise.
2680 * grub-core/net/ip.c (ip6addr): New type.
2681 (ip6hdr): Likewise.
2682 (reassemble): Likewise.
2683 (cmp): New function.
2684 (reassembles): New variable.
2685 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
2686 (id): New variable.
2687 (send_fragmented): New function.
2688 (grub_net_send_ip_packet): Rename to ...
2689 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
2690 Handle non-UDP.
2691 (grub_net_recv_ip_packets): Rename to ...
2692 (handle_dgram): ... this. Check checksum. Handle non-UDP.
2693 (free_rsm): New function.
2694 (free_old_fragments): Likewise.
2695 (grub_net_recv_ip4_packets): New function.
2696 (grub_net_send_ip6_packet): Likewise.
2697 (grub_net_send_ip_packet): Likewise.
2698 (grub_net_recv_ip6_packets): Likewise.
2699 (grub_net_recv_ip_packets): Likewise.
2700 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
2701 (LINK_LAYER_CACHE_SIZE): New const.
2702 (link_layer_find_entry): New function.
2703 (grub_net_link_layer_add_address): Likewise.
2704 (grub_net_link_layer_resolve_check): Likewise.
2705 (grub_net_link_layer_resolve): Likewise.
2706 (grub_net_ipv6_get_slaac): Likewise.
2707 (grub_net_ipv6_get_link_local): Likewise.
2708 (grub_cmd_ipv6_autoconf): Likewise.
2709 (parse_ip): Handle one number representation.
2710 (parse_ip6): New functoion.
2711 (match_net): Handle IPv6.
2712 (grub_net_resolve_address): Handle IPv6 and DNS.
2713 (grub_net_resolve_net_address): Handle IPv6.
2714 (route_cmp): New function.
2715 (grub_net_route_address): Find best route.
2716 (grub_net_addr_to_str): Handle IPv6.
2717 (grub_net_addr_cmp): New function.
2718 (grub_net_add_addr): Register local route.
2719 (print_net_address): Handle net address.
2720 (grub_net_poll_cards): Retransmit TCP.
2721 (grub_net_poll_cards_idle_real): Likewise.
2722 (have_ahead): New function.
2723 (grub_net_seek_real): Use underlying seek.
2724 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
2725 * grub-core/net/tcp.c: New file.
2726 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
2727 (cmp): New function.
2728 (ack): Likewise.
2729 (tftp_receive): Handle unordered input.
2730 (destroy_pq): New function.
2731 (tftp_close): Close pq.
2732 * grub-core/net/udp.c: Put missing license header.
2733 (grub_net_udp_socket): New function.
2734 (udp_socket_register): Likewise.
2735 (grub_net_udp_close): Likewise.
2736 (grub_net_recv_udp_packet): Check checksum.
2737 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
2738 * include/grub/misc.h (grub_memchr): New function.
2739 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
2740 (grub_net_card_driver): Return buf in recv.
2741 (grub_net_slaac_mac_list): New struct.
2742 (grub_network_level_protocol_id): Add ipv6.
2743 (grub_net_network_level_addr): Likewise.
2744 (grub_net_network_level_net_addr): Likewise.
2745 (grub_net_app_protocol): Add seek.
2746 (grub_net_socket): Removed.
2747 (grub_net_sockets): Likewise.
2748 (grub_net_socket_register): Likewise.
2749 (grub_net_socket_unregister): Likewise.
2750 (FOR_NET_SOCKETS): Likewise.
2751 (grub_net_add_addr): Add const.
2752 (GRUB_NET_BOOTP_*): New enum.
2753 (grub_net_addr_cmp): New proto.
2754 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
2755 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
2756 (grub_net_hwaddr_to_str): NEw proto.
2757 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
2758 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
2759 (grub_dns_init): New proto.
2760 (grub_dns_fini): Likewise.
2761 (grub_net_tcp_retransmit): Likewise.
2762 (grub_net_link_layer_add_address): Likewise.
2763 (grub_net_link_layer_resolve_check): Likewise.
2764 (grub_net_link_layer_resolve): Likewise.
2765 (grub_net_dns_lookup): Likewise.
2766 (grub_net_add_dns_server): Likewise.
2767 (grub_net_remove_dns_server): Likewise.
2768 (GRUB_NET_TRIES): New const.
2769 (GRUB_NET_INTERVAL): Likewise.
2770 * include/grub/net/arp.h: Mostly rewritten.
2771 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
2772 * include/grub/net/ip.h: Mostly rewritten.
2773 * include/grub/net/netbuff.h: Indent.
2774 * include/grub/net/tcp.h: New file.
2775 * include/grub/net/udp.h: Mostly rewritten.
2776 * include/grub/priority_queue.h: New file.
2777 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
2778 (grub_swap_bytes64_compile_time): Likewise.
2779 (grub_cpu_to_be16_compile_time): Likewise.
2780 (grub_cpu_to_be32_compile_time): Likewise.
2781 (grub_cpu_to_be64_compile_time): Likewise.
2782 (grub_be_to_cpu64_compile_time): Likewise.
2783
215c1800
VS
27842011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
2787 UINT_TO_PTR with cast.
2788
c17e546c
VS
27892011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2790
2791 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
2792 don't use them.
2793
ff6b18b6
VS
27942011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2795
2796 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
2797 already there.
2798
70ffcc93
VS
27992011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
2802 confusing ipxe.
2803
e5f4d260
VS
28042011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
2807 Add missing const attribute.
2808 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
2809 Likewise.
2810 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
2811 Likewise.
2812
8e54b4b7
VS
28132011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2814
2815 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
2816 misaligned access.
2817 (serpent_setkey): Likewise.
2818 (serpent_encrypt_internal): Likewise.
2819 (serpent_decrypt_internal): Likewise.
2820 (serpent_encrypt): Don't put an alignment-increasing cast.
2821 (serpent_decrypt): Likewise.
2822 (serpent_test): Likewise.
2823
813c0a2b
VS
28242011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2825
2826 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
2827
f2b60fbd
VS
28282011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
2831
2832 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
2833 grub_addr_t casts.
2834 (PTR_TO_UINT64): Likewise.
2835 (PTR_TO_UINT32): Likewise.
2836
5ef5c511
VS
28372011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 * util/grub-mkimage.c (generate_image): Decrease the higher limit
2840 because of stack.
2841 * util/grub-setup.c (setup): Don't add redundancy past the higher load
2842 limit.
2843
c476e6df
VS
28442011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2845
2846 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
2847 text_width > available width a bit more gracefully.
2848
384ad7cc
VS
28492011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2850
2851 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
2852 current address calculation.
2853
96f8caf8
VS
28542011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2855
2856 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
2857 stack.
2858 (encode_block): Likewise.
2859
276b7a8b
VS
28602011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
2863 certainety.
2864
e3fd394a
VS
28652011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
2868 non-RS part to avoid RS messing with GDT.
2869 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
2870 Increase to suit in realmode routines.
2871
28722011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2873
2874 * grub-core/kern/i386/realmode.S: Increase alignment.
2875 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
2876
ee9c2e7a
VS
28772011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2878
2879 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
2880 be deterministic.
2881 (syndroms): Compute 0 syndrom.
2882 (rs_recover): Use 0 syndrom.
2883
7a7f7cc9
VS
28842011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
2887
a14b16d1
VS
28882011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
2891 brackets.
2892
9f59e9fc
VS
28932011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2894
ca1b552c
VS
2895 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
2896 account.
2897 (get_top_pad): Likewise.
2898 (get_right_pad): Likewise.
2899 (get_bottom_pad): Likewise.
2900
29012011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2902
2903 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 2904
e739d698
VS
29052011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
2908 attribute as the structure isn't guaranteed to be properly aligned.
2909 (grub_efi_pci_device_path): Likewise.
2910 (grub_efi_pccard_device_path): Likewise.
2911 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
2912 specify the size of `memory_type'.
2913 (grub_efi_vendor_device_path): Likewise.
2914 (grub_efi_controller_device_path): Likewise.
2915 (grub_efi_acpi_device_path): Likewise.
2916 (grub_efi_expanded_acpi_device_path): Likewise.
2917 (grub_efi_atapi_device_path): Likewise.
2918 (grub_efi_scsi_device_path): Likewise.
2919 (grub_efi_fibre_channel_device_path): Likewise.
2920 (grub_efi_1394_device_path): Likewise.
2921 (grub_efi_usb_device_path): Likewise.
2922 (grub_efi_usb_class_device_path): Likewise.
2923 (grub_efi_i2o_device_path): Likewise.
2924 (grub_efi_mac_address_device_path): Likewise.
2925 (grub_efi_ipv4_device_path): Likewise.
2926 (grub_efi_ipv6_device_path): Likewise.
2927 (grub_efi_infiniband_device_path): Likewise.
2928 (grub_efi_uart_device_path): Likewise.
2929 (grub_efi_vendor_messaging_device_path): Likewise.
2930 (grub_efi_hard_drive_device_path): Likewise.
2931 (grub_efi_cdrom_device_path): Likewise.
2932 (grub_efi_vendor_media_device_path): Likewise.
2933 (grub_efi_file_path_device_path): Likewise.
2934 (grub_efi_protocol_device_path): Likewise.
2935 (grub_efi_piwg_device_path): Likewise.
2936 (grub_efi_bios_device_path): Likewise.
2937
cb8f88ea
VS
29382011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2939
2940 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
2941 (grub_ucs4_to_utf8_alloc): Likewise.
2942 (grub_ucs4_to_utf8): Likewise.
2943 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
2944 (grub_ucs4_to_utf8_alloc): Likewise.
2945
309e5352
VS
29462011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2947
2948 AFFS never uses unicode.
2949
2950 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
2951 (grub_latin1_to_utf8): New inline function.
2952 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
2953
e7987e1b
VS
29542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2955
2956 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
2957 overflow.
2958
efc2616e
VS
29592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
2962 (grub_squash_dirent_header): Likewise.
2963 (read_chunk): Don't double swap.
2964 (grub_squash_iterate_dir): Fix swap sizes.
2965
3c349f5a
VS
29662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2967
2968 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
2969
b453412d
VS
29702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
2973 (grub_hfs_iterate_dir): Likewise.
2974
12e9d4d1
VS
29752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 Fix video on platforms where unaligned access is forbidden.
2978 Make several optimisations while on it.
2979
2980 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
2981 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
2982 (grub_video_fbblit_replace_32bit_1bit): Likewise.
2983 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
2984 Disable.
2985 (grub_video_fbblit_replace_16bit_1bit):
2986 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
2987 (grub_video_fbblit_replace_8bit_1bit): Likewise.
2988 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
2989 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
2990 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
2991 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
2992 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
2993 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
2994 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
2995 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
2996 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
2997 (grub_video_fbblit_replace_index_RGB888): Likewise.
2998 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
2999 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
3000 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
3001 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
3002 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
3003 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
3004 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
3005 Disable.
3006 (grub_video_fbblit_blend_XXX565_1bit):
3007 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
3008 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
3009 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
3010 void *.
3011 * grub-core/video/fb/video_fb.c (common_blitter)
3012 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
3013 (grub_video_fb_create_render_target_from_pointer)
3014 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
3015 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
3016 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
3017 definition.
3018 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
3019
ace96609
VS
30202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
3023 HH22 and HM10 relocations.
3024
fd261d73
VS
30252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
3028
e59b7857
VS
30292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
3032 allocation succeeded.
3033
9b4baaa4
VS
30342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
3037 argument a u8 pointer. All users updated.
3038 Handle unaligned buffers.
3039
dc713193
VS
30402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
3043 add_part to workaround compiler bug.
3044
30dd48c2
VS
30452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3046
3047 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
3048
0c6087a8
VS
30492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
3052 Reserve alignment invariants.
3053 (grub_multiboot_load): Likewise.
3054 (retrieve_video_parameters): Likewise.
3055 (grub_multiboot_make_mbi): Likewise.
3056
c2e77777
VS
30572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
3060 incorrect pointer.
3061
b70b6d11
VS
30622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
3065 (grub_pata_pio_write): Likewise.
3066
02a2bf83
VS
30672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 Add noreturn attributes and remove unreachable code.
3070
3071 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
3072 code.
3073 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
3074 code. Mark as noreturn.
3075 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
3076 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
3077 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
3078 unreachable code.
3079 * grub-core/kern/main.c (grub_main): Mark as noreturn.
3080 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
3081 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
3082 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
3083 * include/grub/kernel.h (grub_main): Mark as noreturn.
3084 * include/grub/reader.h (grub_rescue_run): Likewise.
3085
2019d09e
VS
30862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
3089 redundant declaration.
3090
d1c501ee
VS
30912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 * include/grub/net.h (grub_net_network_level_interfaces): Remove
3094 redundant declaration.
3095 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
3096
61664420
VS
30972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3098
3099 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
3100 to ensure alignment.
3101 (grub_hdparm_print_identify): Make argument uint16 * to ensure
3102 alignment. Ensure tmp alignment.
3103 (grub_cmd_hdparm): Ensure buf alignment.
3104 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
3105 to ensure alignment.
3106 (grub_ata_dumpinfo): Ensure text alignment.
3107 (grub_atapi_identify): Preserve alignment invariant.
3108 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
3109
0d51ee20
VS
31102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3111
3112 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
3113 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
3114 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
3115 * include/grub/misc.h (grub_reboot)
3116 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
3117 (grub_halt) [__mips__]: Likewise.
3118
753ef8c1
VS
31192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3120
3121 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
3122 Remove redundant declaration.
3123 (grub_mmap_get_post64): Likewise.
3124 (grub_mmap_get_upper): Likewise.
3125 (grub_mmap_get_lower): Likewise.
3126
85c85365
VS
31272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
3130 uint32_t * to ensure alignment.
3131 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
3132
a23f2cc4
VS
31332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3134
93018f64
VS
3135 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
3136 uint16_t * to ensure alignment.
3137 (sun_pc_partition_map_iterate): Make `block' a union to ensure
3138 alignment.
3139
31402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
3143 to ensure alignment.
3144 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
3145
58acccd6
VS
31462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3147
3148 * grub-core/fs/ntfs.c (u16at): Make into inline function.
3149 Handle unaligned pointers.
3150 (u32at): Likewise.
3151 (u64at): Likewise.
3152 (fixup): Use byte access instead of v16at.
3153 (find_attr): Fix imporper usage of v32at.
3154 (read_data): Likewise.
3155 (list_file): Handle byte-swapping and unaligned strings.
3156 (grub_ntfs_label): Likewise.
3157
9b05cad7
VS
31582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3159
3160 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
3161 as it's not necessarily aligned.
3162
b3950b84
VS
31632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3164
3165 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
3166 redundant declaration.
3167 (grub_serial_init): Likewise.
3168 (grub_terminfo_init): Likewise.
3169
fcd232b7
VS
31702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3171
3172 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
3173 function.
3174 (ZAP_HASH_IDX): Likewise.
3175 (ZAP_LEAF_HASH_SHIFT): Likewise.
3176 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
3177 (LEAF_HASH): Likewise.
3178 (ZAP_LEAF_NUMCHUNKS): Likewise.
3179 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
3180 alignment invariants. Return pointer. All users updated.
3181 (ZAP_LEAF_ENTRY): Make into inline function.
3182 (NBBY): Removed.
3183 (xor): LIkewise.
3184 (xor_out): Use grub_crypto_xor.
3185 (dnode_get_path): Use grub_get_unaligned.
3186 (nvlist_find_value): Likewise.
3187 (grub_zfs_nvlist_lookup_uint64): Likewise.
3188 (grub_zfs_nvlist_lookup_string): Likewise.
3189 (get_nvlist_size): Likewise.
3190 (grub_zfs_open): Likewise.
3191 (fill_fs_info): Likewise.
3192 (grub_zfs_dir): Likewise.
3193 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
3194 alignment invariants.
3195 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
3196 necessarily aligned.
3197
f138623a
VS
31982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3199
3200 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
3201
564840dc
VS
32022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3203
3204 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
3205 arithmetic to conserve alignment invariants.
3206
9b40df20
VS
32072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
3210 redundant declaration.
3211 (grub_efiemu_mm_obtain_request): Likewise.
3212 (grub_efiemu_prepare): Likewise.
3213
d1c930f9
VS
32142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
3217 to match types.
3218
4c5f3056
VS
32192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
3222 case of aunaligned recptr.
3223 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
3224 alignment.
3225 (grub_hfsplus_btree_search): Handle unaligned index.
3226
728cba91
VS
32272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3228
3229 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
3230 to get freetag and skip.
3231
eb561f31
VS
32322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3233
3234 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
3235 array.
3236 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
3237 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
3238
20993fbb
VS
32392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3240
3241 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
3242 name for checksum and fix allocation algorithm.
3243
1f313b94
VS
32442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * include/grub/types.h (grub_properly_aligned_t): New type.
3247 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
3248 (grub_get_unaligned16): Add explicit casts.
3249 (grub_get_unaligned32): Likewise.
3250 (grub_get_unaligned64): Likewise.
3251 (grub_set_unaligned16): New function.
3252 (grub_set_unaligned32): Likewise.
3253
47ae27ec
VS
32542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
3257
78c2cd1c
VS
32582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3259
3260 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
3261 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
3262 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
3263
53072f9b
VS
32642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3265
3266 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
3267 conditionals.
3268
055dc239
VS
32692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
3272 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
3273
496bd074
VS
32742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3275
3276 Unify and improve RAID and crypto xor.
3277
3278 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
3279 changed to grub_crypto_xor
3280 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
3281 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
3282 Use bigger types when possible.
3283
ef6e4335
VS
32842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3285
3286 * grub-core/disk/raid.c (scan_devices): Fix condition.
3287
5d048bf2
VS
32882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
3291 Make name a const ptr.
3292
ee533335
VS
32932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
3296 first argument a const pointer.
3297 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
3298 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
3299 proto.
3300 (grub_children_iterate): Likewise.
3301 (grub_machine_mmap_iterate): Remove redundant declaration.
3302
cc8f3668
VS
33032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3304
3305 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
3306 (grub_cmd_acpi) [!x86]: Disable EBDA.
3307
c5fc563a
VS
33082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 Enable UTF8 in gnulib regexp.
3311
3312 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
3313 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
3314 (isupper): Use grub_isupper.
3315 (isascii): New inline function.
3316 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
3317 * grub-core/lib/posix_wrap/wctype.h: Likewise.
3318 * grub-core/normal/charset.c (grub_utf8_process): New function.
3319 (grub_utf8_to_utf16): Use grub_utf8_process.
3320 (grub_encode_utf8_character): New function.
3321 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
3322 * include/grub/charset.h (grub_utf8_process): New declaration.
3323 (grub_encode_utf8_character): Likewise.
3324 * include/grub/misc.h (grub_islower): New inline function.
3325 (grub_isupper): Likewise.
3326 (grub_strchrsub): Moved down to fix the definitions.
3327
0af2346f
VS
33282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3329
3330 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
3331 specification.
3332
74dbd244
VS
33332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3334
3335 * include/grub/loader.h (grub_loader_register_preboot_hook):
3336 Use struct preboot * and not void * for handle. All users updated.
3337 (grub_loader_unregister_preboot_hook): Likewise.
3338
1bc8f60d
VS
33392011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
3342 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
3343 UTF-16-BE. All users updated.
3344 (grub_hfsplus_cmp_catkey): Fix unicode handling.
3345 (grub_hfsplus_iterate_dir): Likewise.
3346 (grub_hfsplus_label): Likewise.
3347
48d6e456
VS
33482011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
3351
bf3a3857
VS
33522011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 Add missing const qualifiers.
3355
3356 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
3357 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
3358 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
3359 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
3360 (grub_lvm_check_flag): Likewise.
3361 * grub-core/efiemu/i386/coredetect.c
3362 (grub_efiemu_get_default_core_name): Likewise
3363 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
3364 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
3365 * grub-core/fs/ntfs.c (fixup): Likewise.
3366 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
3367 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
3368 (fzap_lookup): Likewise.
3369 (zap_lookup): Likewise.
3370 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
3371 * grub-core/lib/legacy_parse.c (check_option): Likewise.
3372 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
3373 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
3374 (grub_freebsd_add_meta_module): Likewise.
3375 (grub_cmd_freebsd_module): Likewise.
3376 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
3377 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
3378 (grub_xnu_writetree_get_size): Likewise.
3379 (grub_xnu_writetree_toheap_real): Likewise.
3380 (grub_xnu_find_key): Likewise.
3381 (grub_xnu_create_key): Likewise.
3382 (grub_xnu_create_value): Likewise.
3383 (grub_xnu_register_memory): Likewise.
3384 (grub_xnu_check_os_bundle_required): Likewise.
3385 (grub_xnu_scan_dir_for_kexts): Likewise.
3386 (grub_xnu_load_kext_from_dir): Likewise.
3387 * grub-core/normal/color.c (color_list): Likewise.
3388 * grub-core/normal/completion.c (current_word): Likewise.
3389 * grub-core/normal/menu_entry.c (insert_string): Likewise.
3390 * grub-core/term/serial.c (grub_serial_find): Likewise.
3391 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
3392 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
3393 Likewise.
3394 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
3395 (grub_freebsd_add_meta_module): Likewise.
3396 * include/grub/lib/arg.h (grub_arg_option): Likewise.
3397 * include/grub/net.h (grub_net_card_driver): Likewise.
3398 (grub_net_card): Likewise.
3399 (grub_net_app_protocol): Likewise.
3400 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
3401 * include/grub/serial.h (grub_serial_find): Likewise.
3402 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
3403 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
3404 (grub_xnu_create_value): Likewise.
3405 (grub_xnu_find_key): Likewise.
3406 (grub_xnu_scan_dir_for_kexts): Likewise.
3407 (grub_xnu_load_kext_from_dir): Likewise.
3408
3409 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
3410 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
3411 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
3412 Moved from here ...
3413 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
3414
112b4837
CW
34152011-11-28 Colin Watson <cjwatson@ubuntu.com>
3416
3417 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
3418
49e891ac
VS
34192011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
3420
3421 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
3422 (read_device): Fix size calculation.
3423
fd258e5c
RM
34242011-11-25 Robert Millan <rmh@gnu.org>
3425
3426 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
3427 (find_root_device_from_libzfs): Add zpool output parser to be used
3428 as fallback when libzfs isn't available.
3429
78845dc2
SG
34302011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
3431
3432 * po/Makefile.in.in: Add missing escape-continuation.
3433
adac5211
VS
34342011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
3437
10b64f1c
VS
34382011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
3441
bb416954
VS
34422011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
3445
bdfe9eeb
VS
34462011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
3449
581ffa8a
VS
34502011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 * grub-core/lib/adler32.c: Add missing license specification.
3453 * grub-core/lib/crc64.c: Likewise.
3454 * grub-core/loader/i386/pc/plan9.c: Likewise.
3455 * grub-core/partmap/plan.c: Likewise.
3456
2536cf64
LK
34572011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
3458
3459 Add facility to debug GRUB with gdb under qemu.
3460
3461 * grub-core/gdb_grub.in: New file.
3462 * grub-core/gmodule.pl.in: Likewise.
3463 * grub-core/Makefile.core.def (gmodule.pl): New script.
3464 (gdb_grub): Likewise.
3465
bc108a4a
VS
34662011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3467
3468 * util/grub-mount.c (argp_parser): Accept relative pathes.
3469 * util/grub-fstest.c (argp_parser): Likewise.
3470
111c1778
VS
34712011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3472
3473 Plan9 support.
3474
3475 * Makefile.util.def (libgrubmods): Add
3476 grub-core/partmap/plan.c.
3477 * docs/grub.texi: Notice Plan9 support.
3478 * grub-core/Makefile.core.def (plan9): New module.
3479 (part_plan): Likewise.
3480 * grub-core/loader/i386/pc/plan9.c: New file.
3481 * grub-core/partmap/plan.c: Likewise.
3482 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
3483 define.
3484 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
3485 * include/grub/mm.h (grub_extend_alloc): New inline function.
3486
c30be3b6
VS
34872011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3488
3489 Make Reed-Solomon faster by using power of generator representation of
3490 GF(256)*.
3491
3492 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
3493 (gf_double_t): Likewise.
3494 (gf_invert): Removed.
3495 (gf_powx): New array.
3496 (gf_powx_inv): Likewise.
3497 (scratch): Move higher.
3498 (gf_reduce): Removed.
3499 (gf_mul): Use powx.
3500 (gf_invert): Likewise.
3501 (init_inverts): Replaced with ...
3502 (init_powx): ...this. All users updated.
3503 (pol_evaluate): Replace multiplications with additions.
3504 (rs_encode): Likewise.
3505 (gauss_eliminate): Call gf_invert.
3506 (grub_reed_solomon_add_redundancy): Call init_powx.
3507 (grub_reed_solomon_recover): Call init_powx unconditionally.
3508
fa5aeffc
VS
35092011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
3512
a346b81c
VS
35132011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
3516 disk->partiton for safety.
3517
d89ee414
VS
35182011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
3521 Fix a memory leak.
3522 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
3523
91ee7b6d
VS
35242011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
3527
91e5a33d
VS
35282011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
3531
9edd7be2
VS
35322011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 Fix spaces handling in proc/self/mountinfo.
3535
3536 * util/getroot.c (unescape): New function.
3537 (grub_find_root_device_from_mountinfo): Use unescape.
3538
ba102053
VS
35392011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3540
3541 Support ZFS embedding.
3542
3543 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
3544 (grub_zfs_fs): Register grub_zfs_embed.
3545
aa94b870
VS
35462011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3547
3548 Fix MIPS compilation.
3549
3550 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
3551 * include/grub/offsets.h: Rename decompressor fields from
3552 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
3553 * util/grub-mkimage.c (image_targets): Use new names.
3554
5fbdac14
VS
35552011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3556
3557 Defer multiboot device parsing until we're in compressed part.
3558
3559 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
3560 bsd_part. setdevice has fallen into disuse.
3561 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
3562 (bsd_part): Likewise.
3563 (boot_dev): New variable.
3564 (multiboot_trampoline): Don't parse multiboot device.
3565 Pass multiboot device in %edx.
3566 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
3567 grub_boot_device.
3568 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
3569 Likewise.
3570 * grub-core/kern/i386/pc/startup.S: Save edx.
3571 (grub_boot_drive): Removed.
3572 (grub_install_dos_part): Likewise.
3573 (grub_install_bsd_part): Likewise.
3574 (grub_boot_device): New variable.
3575 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
3576 (grub_install_bsd_part): Likewise.
3577 (grub_boot_drive): Likewise.
3578 (grub_boot_device): New variable.
3579 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
3580 Removed.
3581 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
3582 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
3583 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
3584 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
3585 * util/grub-install.in: Remove redundant condition.
3586
691cbb58
VS
35872011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 Fix bug introduced by previous commit.
3590
3591 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
3592
60240b8b
VS
35932011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3594
3595 Use decompressors framework on i386-pc. It increases core size
3596 by 46 bytes but improves compatibility and maintainability.
3597
3598 * grub-core/Makefile.core.def (lzma_decompress): New image.
3599 (kernel): Add i386_pc_ldflags.
3600 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
3601 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
3602 to real_to_prot, prot_to_real and device info.
3603 * include/grub/offsets.h: Renamed decompressor offsets.
3604 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
3605 (image_target_desc): Remove raw_size and rename decompressor fields.
3606 (compress_kernel): Handle lzma.
3607 (generate_image): Handle decompressors on i386-pc.
3608
e9d3421c
VS
36092011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3610
3611 * configure.ac: Add -fno-asynchronous-unwind-tables.
3612
2b23074a
VS
36132011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3614
3615 Move assembly code to C by using intwrap. It increases core size
3616 by 88 bytes but improves compatibility and maintainability.
3617
3618 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
3619 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
3620 ... here. Translated to C.
3621 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
3622 * grub-core/term/i386/pc/console.c (grub_console_getkey):
3623 ... here. Translated to C.
3624 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
3625 * grub-core/term/i386/pc/console.c (grub_console_getxy):
3626 ... here. Translated to C.
3627 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
3628 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
3629 ... here. Translated to C.
3630 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
3631 * grub-core/term/i386/pc/console.c (grub_console_cls):
3632 ... here. Translated to C.
3633 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
3634 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
3635 ... here. Translated to C.
3636 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
3637 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
3638 Translated to C.
3639 * grub-core/term/i386/pc/console.c (int10_9): New function.
3640 (grub_console_putchar): Likewise.
3641 * include/grub/i386/pc/console.h: Removed the not anymore shared
3642 functions.
3643
678f4b67
VS
36442011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3645
3646 Move grub_chainloader_real_boot out of the kernel.
3647
3648 * grub-core/Makefile.am: Remove machine/loader.h.
3649 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
3650 Removed.
3651 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
3652 variable.
3653 (grub_relocator16_keep_a20_enabled): Likewise.
3654 (grub_relocator16_boot): Fill new variables.
3655 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
3656 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
3657 relocator.
3658 (grub_chainloader_unload): Likewise.
3659 (grub_chainloader_cmd): Likewise.
3660 * include/grub/i386/pc/loader.h: Removed.
3661 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
3662 and esi. All initialisers updated.
3663
4626edf6
VS
36642011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
36652011-11-12 Colin Watson <cjwatson@ubuntu.com>
3666
3667 * Makefile.util.def (grub-mount): New util.
3668 * .bzrignore: Add grub-mount.
3669 * configure.ac: Check for fuse and enable grub-mount if available.
3670 * docs/man/grub-mount.h2m: New file.
3671 * util/grub-mount.c: Likewise.
3672
10f0117b
VS
36732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3674
3675 * grub-core/commands/efi/fixvideo.c: Gettextize.
3676 * grub-core/commands/hashsum.c: Likewise.
3677 * grub-core/commands/i386/cmostest.c: Likewise.
3678 * grub-core/commands/i386/pc/drivemap.c: Likewise.
3679 * grub-core/commands/i386/pc/lsapm.c: Likewise.
3680 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3681 * grub-core/commands/lsmmap.c: Likewise.
3682 * grub-core/commands/menuentry.c: Likewise.
3683 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3684 * grub-core/commands/setpci.c: Likewise.
3685 * grub-core/loader/i386/bsd.c: Likewise.
3686 * grub-core/loader/i386/linux.c: Likewise.
3687 * util/getroot.c: Likewise.
3688 * util/grub-editenv.c: Likewise.
3689 * util/grub-fstest.c: Likewise.
3690 * util/grub-mkfont.c: Likewise.
3691 * util/grub-mkimage.c: Likewise.
3692 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3693 * util/grub-pe2elf.c: Likewise.
3694 * util/grub-probe.c: Likewise.
3695 * util/grub-setup.c: Likewise.
3696 * util/ieee1275/ofpath.c: Likewise.
3697 * util/misc.c: Likewise.
3698 * util/raid.c: Likewise.
3699
566f779b
RM
37002011-11-11 Robert Millan <rmh@gnu.org>
3701
3702 * util/getroot.c (grub_util_get_geom_abstraction): Remove
3703 __attribute__((unused)) from `os_dev', which *is* being used.
3704
b50787de
VS
37052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3706
3707 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
3708 forgotten define.
3709 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
3710 GRUB_IA64_DL_GOT_ALIGN.
3711 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
3712 GRUB_IA64_DL_TRAMP_ALIGN.
3713
119d11c8
VS
37142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 Replace grub_fatal with normal errors in i386 linux loader.
3717
3718 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
3719 (allocate_pages): Check find_efi_mmap_size return value.
3720 (grub_e820_add_region): Return error.
3721 (grub_linux_boot): Check mmap return value.
3722
6e0632e2
VS
37232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 * grub-core/commands/acpihalt.c: Gettextized.
3726 * grub-core/commands/cacheinfo.c: Likewise.
3727 * grub-core/commands/cmp.c: Likewise.
3728 * grub-core/commands/efi/loadbios.c: Likewise.
3729 * grub-core/commands/gptsync.c: Likewise.
3730 * grub-core/commands/ieee1275/suspend.c: Likewise.
3731 * grub-core/commands/legacycfg.c: Likewise.
3732 * grub-core/commands/memrw.c: Likewise.
3733 * grub-core/commands/minicmd.c: Likewise.
3734 * grub-core/commands/parttool.c: Likewise.
3735 * grub-core/commands/time.c: Likewise.
3736 * grub-core/commands/videoinfo.c: Likewise.
3737 * grub-core/disk/geli.c: Likewise.
3738 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
3739 * grub-core/disk/luks.c: Likewise.
3740 * grub-core/disk/lvm.c: Likewise.
3741 * grub-core/font/font_cmd.c: Likewise.
3742 * grub-core/fs/zfs/zfscrypt.c: Likewise.
3743 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3744 * grub-core/gfxmenu/view.c: Likewise.
3745 * grub-core/kern/emu/hostdisk.c: Likewise.
3746 * grub-core/kern/emu/main.c: Likewise.
3747 * grub-core/kern/emu/misc.c: Likewise.
3748 * grub-core/kern/emu/mm.c: Likewise.
3749 * grub-core/kern/mips/arc/init.c: Likewise.
3750 * grub-core/kern/mips/loongson/init.c: Likewise.
3751 * grub-core/kern/partition.c: Likewise.
3752 * grub-core/lib/i386/halt.c: Likewise.
3753 * grub-core/lib/mips/arc/reboot.c: Likewise.
3754 * grub-core/lib/mips/loongson/reboot.c: Likewise.
3755 * grub-core/loader/i386/pc/chainloader.c: Likewise.
3756 * grub-core/loader/i386/xnu.c: Likewise.
3757 * grub-core/loader/multiboot.c: Likewise.
3758 * grub-core/net/bootp.c: Likewise.
3759 * grub-core/net/net.c: Likewise.
3760 * grub-core/normal/term.c: Likewise.
3761 * grub-core/partmap/bsdlabel.c: Likewise.
3762 * grub-core/parttool/msdospart.c: Likewise.
3763 * grub-core/term/gfxterm.c: Likewise.
3764 * grub-core/term/terminfo.c: Likewise.
3765 * grub-core/video/i386/pc/vbe.c: Likewise.
3766 * util/grub-menulst2cfg.c: Likewise.
3767 * util/grub-mkdevicemap.c: Likewise.
3768 * util/grub-mklayout.c: Likewise.
3769 * util/grub-mkrelpath.c: Likewise.
3770 * util/grub-script-check.c: Likewise.
3771 * util/ieee1275/grub-ofpathname.c: Likewise.
3772 * util/resolve.c: Likewise.
3773
073aa7a9
VS
37742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3775
3776 Support %1$d syntax.
3777
3778 * tests/printf_unit_test.c: New file.
3779 * Makefile.util.def (printf_test): New test.
3780 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
3781
c76b5417
VS
37822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3783
3784 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
3785 fix.
3786
df067ad1
VS
37872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3788
3789 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
3790 dprintf.
3791 * grub-core/font/font.c (grub_font_load): Likewise.
3792
5b289bc5
VS
37932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 * util/grub-macho2img.c: Add comment concerning gettext.
3796 * grub-core/lib/legacy_parse.c: Likewise.
3797
c1860f87
VS
37982011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
3801 (grub_xvasprintf): Likewise.
3802
d35d0d37
VS
38032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 Add const keyword to grub_env_get and gettextize week days.
3806
3807 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
3808 (grub_read_hook_datetime): Return const char *.
3809 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
3810 updated.
3811 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
3812 Mark for gettext.
3813 (grub_get_weekday_name): Return const char *. Call gettext.
3814 * grub-core/script/argv.c (grub_script_argv_append): Receive const
3815 char * and len as the argument. All users updated.
3816 (grub_script_argv_split_append): Receive const char *.
3817 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
3818 * include/grub/env.h (grub_env_get): Likewise.
3819 (grub_env_read_hook_t): Return const char *.
3820 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
3821 (grub_script_argv_split_append): Likewise.
3822
9aed8a71
VS
38232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3824
3825 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
3826
067fdf00
VS
38272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
3830 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
3831
a8bd9d39
VS
38322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
3835 Fix prototype.
3836
f7ce5baf
VS
38372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3838
3839 Fix mips compilation.
3840
3841 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
3842 normal decoder.
3843 (hashes): Use in embed decoder as well (for sizes).
3844 (dec_stream_header): Fix embed decompressor logic.
3845 (dec_stream_footer): Likewise.
3846
9bb182f3
VS
38472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3848
3849 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
3850 an error and not a fatal on unrecognised relocation types.
3851
63a9e6f6
VS
38522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3853
3854 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
3855 Issue error rather than printf on unknown arguments.
3856
4c458569
VS
38572011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
3860 Make buf a const.
3861
e2d22baf
VS
38622011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
3865 Fix module name.
3866
53dc8590
VS
38672011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3868
3869 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
3870 leftover debug printf.
3871
6c189294
VS
38722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3873
3874 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
3875
f7688369
VS
38762011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3877
3878 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
3879 A stylistic fix.
3880
11a775a3
VS
38812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
3884
33f784e8
SL
38852011-11-10 Shea Levy <slevy@tieronedesign.com>
3886
3887 Allow all modules to perform serial IO
3888
3889 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
3890 * include/grub/serial.h (grub_serial_port_configure): New inline
3891 function.
3892 (grub_serial_port_fetch): Likewise.
3893 (grub_serial_port_put): Likewise.
3894 (grub_serial_port_fini): Likewise.
3895 (grub_serial_find): New proto.
3896
f6276525
VS
38972011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3898
3899 Put symlink at the end of the node and fix a potential
3900 memory corruption.
3901
3902 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
3903 Make symlink into an array.
3904 (set_rockridge): Set have_symlink and alloc_dirents.
3905 (grub_iso9660_read_symlink): Use new layout.
3906 (grub_iso9660_iterate_dir): Fix memory corruption.
3907 Use new layout.
3908 (grub_iso9660_dir): Set have_symlink.
3909 (grub_iso9660_open): Likewise.
3910
c3591189
VS
39112011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3912
3913 Remove local keyword.
3914
3915 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
3916 (version_test_gt): Likewise.
3917 (version_find_latest): Likewise.
3918 (gettext_printf): Likewise.
3919 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
3920
cb544caa
VS
39212011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
3924
45bd824d
VS
39252011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 Fix ZFS memory and resource leaks.
3928
3929 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
3930 All users updated.
3931 Free type on exit.
3932 (fill_vdev_info): New parameter inserted. All users updated.
3933 (check_pool_label): Likewise.
3934 (scan_disk): Likewise.
3935 (scan_devices): Close non-inserted disks.
3936 (fzap_iterate): Free l.
3937 (unmount_device): Free children descripto memory.
3938
ad9a2f44
VS
39392011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3940
3941 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
3942 argument (access out of bounds).
3943
6b68db81
VS
39442011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
3947 >= 6 drives.
3948
28840fda
VS
39492011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3950
3951 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
3952 Fix declaration.
3953
8a5a3a5b
VS
39542011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3955
3956 Fix several memory leaks.
3957
3958 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
3959 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
3960 (grub_cpio_dir): Likewise.
3961 * grub-core/fs/fat.c (grub_fat_label): Likewise.
3962 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
3963 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
3964 (grub_romfs_label): Likewise.
3965 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
3966 (squash_unmount): New function.
3967 (grub_squash_dir): Fix memory leak.
3968 (grub_squash_open): Likewise.
3969 (grub_squash_read): Likewise.
3970 (grub_squash_mtime): Likewise.
3971 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
3972 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
3973 * util/grub-fstest.c (fstest): Likewise.
3974
57b01250
VS
39752011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3976
3977 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
3978 avoid accessing beyond the array.
3979
19e81ba7
VS
39802011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
3983
52b656c0
VS
39842011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3985
3986 Several AFFS fixes.
3987
3988 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
3989 (GRUB_AFFS_FLAG_FFS): Removed.
3990 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
3991 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
3992 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
3993 (grub_fshelp_node): Make block 32-bit.
3994 Add block_cache and last_block_cache.
3995 (grub_affs_read_block): Fill and use block cache.
3996 (grub_affs_read_file): Removed.
3997 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
3998 boot block.
3999 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
4000 safety.
4001 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
4002 space.
4003 (grub_affs_close): Free block cache.
4004 (grub_affs_read): Use grub_fshelp_read_file directly.
4005
438a746a
VS
40062011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
4009 with no error set.
4010
49a45021
VS
40112011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
4014 used variable.
4015 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
4016 Likewise.
4017
3ae17eb8
VS
40182011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
4021
4022 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
4023 byteswap when needed.
4024
27610c38
VS
40252011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 Fix FreeBSD compilation.
4028
4029 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
4030 to avoid circular dependency.
4031 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
4032 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
4033 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
4034
4a19b601
VS
40352011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4036
4037 Fix ZFS crypto error types.
4038
4039 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
4040 (grub_gcm_decrypt): Likewise.
4041 (grub_zfs_load_key_real): Fix error code type. Handle possible error
4042 from PBKDF2.
4043
958ee221
VS
40442011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 Illumos support.
4047
4048 * Makefile.util.def (10_illumos): New script.
4049 * configure.ac: Set COND_HOST_ILLUMOS.
4050 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
4051 Support Illumos calls.
4052 (find_partition_start) [__sun__]: Likewise.
4053 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
4054 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
4055 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
4056 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
4057 device.
4058 * util/grub-probe.c (probe) [__sun__]: Do character check.
4059 * util/grub.d/10_illumos.in: New file.
4060
cac14fb6
VS
40612011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4062
4063 Support escaped commas in hostdisk.
4064
4065 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
4066 (find_grub_drive): Use unescape_cmp.
4067 (make_device_name): Escape commas.
4068
78e08dc3
VS
40692011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
4072
9f421dd1
VS
40732011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4074
4075 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
4076 variable.
4077
ed64e9e2
VS
40782011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4079
4080 Support trampoline jumps on powerpc.
4081
4082 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
4083 __ia64__ path.
4084 (grub_dl_load_segments): Set mod->sz.
4085 (grub_dl_flush_cache): Flush whole space occupied by module, not just
4086 segments.
4087 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
4088 (jump): Likewise.
4089 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
4090 function.
4091 (trampoline): New struct.
4092 (trampoline_template): New const.
4093 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
4094 * include/grub/dl.h (grub_dl): Add sz element.
4095 [__powerpc__]: Follow __ia64__.
4096 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
4097 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
4098 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
4099 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
4100
3084ede4
VS
41012011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4102
4103 ZFS crypto support.
4104
4105 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
4106 * grub-core/Makefile.core.def (zfscrypt): New module.
4107 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
4108 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
4109 it. All users updated.
4110 (grub_zfs_decrypt): New var.
4111 (grub_zfs_load_key): Likewise.
4112 (zio_checksum_functions): Add SHA256+MAC.
4113 (zio_checksum_verify): Handle incomplete comparison due to MAC.
4114 (zio_read): Handle encrypted blocks.
4115 (zap_verify): Remove incorrect check.
4116 (fzap_iterate): Handle non-standard fzap.
4117 (zap_iterate): Likewise.
4118 (zap_iterate_u64): New function.
4119 (dnode_get_fullpath): Load keys.
4120 * grub-core/fs/zfs/zfscrypt.c: New file.
4121 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
4122 (grub_crypto_ecb_encrypt): Make input const.
4123 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
4124 (grub_crypto_ecb_encrypt): Make input const.
4125 (GRUB_CIPHER_AES): New macro.
4126 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
4127 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
4128 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
4129 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
4130 prefix. All users updated.
4131 (grub_zfs_add_key): New proto.
4132 (grub_zfs_decrypt): Likewise.
4133 (grub_zfs_load_key): Likewise.
4134 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
4135 * util/grub-fstest.c (options): Add -K option.
4136 (argp_parser): Likewise.
4137
b632b404
VS
41382011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 Support zle compression on ZFS.
4141
4142 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
4143 (decomp_table): Add zle.
4144 * include/grub/zfs/zio.h (zio_compress): Add zle.
4145
c7ba4f69
VS
41462011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4147
4148 Support BtrFS embedding.
4149
4150 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
4151 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
4152 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
4153 * util/grub-setup.c (setup): Use fs embedding if available.
4154 Add additional sanity check.
4155
455377d9
VS
41562011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4157
4158 * util/grub-install.in: Fix condition for config_opt.
4159
c2fd16ca
VS
41602011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4161
4162 Support third redundancy strip on raidz3.
4163
4164 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
4165 Return error on singularity. All users updated.
4166 (read_device): Don't stop on 3rd failure on raidz3.
4167
8622923b
VS
41682011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4169
4170 Support case-insensitive ZFS subvolumes.
4171
4172 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
4173 All users updated.
4174 (zap_hash): Likewise.
4175 (name_cmp): New function.
4176 (zap_leaf_array_equal): New parameter case_insensitive.
4177 All users updated.
4178 (zap_leaf_lookup): Likewise.
4179 (fzap_lookup): Likewise.
4180 (zap_lookup): Likewise.
4181 (dnode_get_path): New parameter case_insensitive. Retrieve case
4182 sensitiviness of a volume. All users updated.
4183 (dnode_get_fullpath): New parameter case_insensitive.
4184 All users updated.
4185 (grub_zfs_dir): Set info.case_insensitiveness.
4186
95f2e860
VS
41872011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4188
4189 Support second redundancy strip on raidz(2,3).
4190
4191 * grub-core/fs/zfs/zfs.c (powx): New array.
4192 (powx_inv): Likewise.
4193 (poly): New const.
4194 (xor_out): New function.
4195 (gf_mul): Likewise.
4196 (recovery): Likewise.
4197 (read_device): Use second redundancy strip.
4198
11ee4389
VS
41992011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4200
4201 Use a power of generator representation of GF(256) multiplication group
4202 to save space time and complexity.
4203
4204 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
4205 (raid6_table2): Likewise.
4206 (powx): New array.
4207 (powx_inv): Likewise.
4208 (poly): New const.
4209 (grub_raid_block_mul): Replace with ...
4210 (grub_raid_block_mulx): ...this.
4211 (grub_raid6_init_table): Rewritten.
4212 (grub_raid6_recover): Use power of generator representation.
4213
09e2763f
VS
42142011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
4217 for the right device.
4218
8bec9a28
VS
42192011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
4222 expected by grub-mkimage and it's more clear since there is no implicit
4223 padding.
4224
dbd3a32e
VS
42252011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4226
4227 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
4228 disk.
4229 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
4230
182c872a
PMH
42312011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
4232
4233 * util/grub-mkrescue.in: Fix handling xorriso option.
4234
1e51cabd
VS
42352011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4236
4237 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
4238 NULL.
4239
9cc3581d 42402011-11-03 crocket <crockabiscuit@gmail.com>
4241
4242 * util/grub.d/10_linux.in: Add Slackware initrd naming.
4243
158dc1ea
VS
42442011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4245
4246 XZ CRC64 and SHA256 support.
4247
4248 * Makefile.util.def (libgrubmods): Add crc64.c.
4249 * grub-core/Makefile.core.def (crc64): New module.
4250 * grub-core/lib/crc64.c: New file.
4251 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
4252 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
4253 Fix the type.
4254 (MAX_HASH_SIZE): New define.
4255 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
4256 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
4257 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
4258 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
4259 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
4260 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
4261 Handle non-crc32 hashes.
4262 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
4263 (dec_stream_header): Handle non-crc32 hashes.
4264 (dec_stream_footer): Likewise.
4265 (dec_block_header): Likewise.
4266 (dec_main): Likewise.
4267 (xz_dec_init): Likewise.
4268 (xz_dec_reset): Likewise.
4269 (xz_dec_end): Likewise.
4270 * util/import_gcry.py: Add CRC64 line.
4271
9d9b3d2f
VS
42722011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4273
4274 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
4275 as well.
4276
7d0ac931
VS
42772011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4278
4279 Make reiserfs label retrieval similar to other *_label functions.
4280
4281 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
4282 (REISERFS_MAX_LABEL_LENGTH): Removed.
4283 (REISERFS_LABEL_OFFSET): Likewise.
4284 (grub_reiserfs_label): Rewritten.
4285
42862011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
4289 field.
4290
cf5ba824
VS
42912011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4292
4293 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
4294
17744004
VS
42952011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
4296
4297 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
4298 drive failure on both raidz and raidz2.
4299
aca5aefc
VS
43002011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
4301
4302 Fix RAIDZ(2) for >= 5 devices.
4303
4304 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
4305 asize argument. All users updated.
4306
ce8ca56e
VS
43072011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4308
4309 Fix RAIDZ(2).
4310
4311 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
4312 (fill_vdev_info_real): Set ashift.
4313 (read_device): Rewrite RAIDZ part based on reverse engineering.
4314
7c01e783
VS
43152011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
4318 don't report potentially unavialiable fields in debug output.
4319 (find_path): Fix double-free and memory leak.
4320
ce109e84
VS
43212011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4322
4323 Read label on UFS1.
4324
4325 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
4326 (grub_ufs_fs): Always set .label.
4327
87661123
VS
43282011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 Use shifts in UFS.
4331
4332 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
4333 (grub_ufs_data): New field log2_blksz.
4334 (grub_ufs_read_file): Use shifts.
4335 (grub_ufs_mount): Check block size and logarithm it.
4336
46bc1dc2
VS
43372011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
4340 long symlinks.
4341
19ee2987
VS
43422011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 Handle symlinks and long names on tar and cpio.
4345
4346 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
4347 (ATTR_FILE): Likewise.
4348 (ATTR_DIR): Likewise.
4349 (ATTR_LNK): Likewise.
4350 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
4351 (grub_cpio_find_file): Fill mode, handle linkname field as well as
4352 L and K entries.
4353 (grub_cpio_mount): Zero-fill data.
4354 (handle_symlink): New function.
46bc1dc2
VS
4355 (grub_cpio_dir): Handle symlinks.
4356 (grub_cpio_open): Likewise.
4357 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 4358
c83a08d8
VS
43592011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4360
4361 Fix iso9660 filename limitations and fix memory leaks.
4362
4363 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
4364 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
4365
45cdd3ea
VS
43662011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4367
4368 Fix JFS file name length limitations.
4369
4370 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
4371 (grub_jfs_diropen): Fix maximum filename length.
4372 (grub_jfs_getent): Fix filename length.
4373 (grub_jfs_lookup_symlink): Fix size checks.
4374
94ef05c2
VS
43752011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
4378 string.
4379
785ab8c7
VS
43802011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4381
eb0b6b45
VS
4382 Leverage BFS implementation to read AFS.
4383
4384 * Makefile.util.def (libgrubmods): Add afs.c.
4385 * grub-core/Makefile.core.def (afs): New module
4386 * grub-core/fs/afs.c: New file.
4387 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
4388
43892011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4390
4391 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 4392
c4a1628f
VS
43932011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 * grub-core/fs/bfs.c: Run indent.
4396
5825b379
VS
43972011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4398
4399 BFS implementation based on the specification.
4400
4401 * grub-core/fs/bfs.c: New file.
4402 * Makefile.util.def (libgrubmods): Add bfs.c.
4403 * grub-core/Makefile.core.def (bfs): New module.
4404
42b2a706
VS
44052011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4406
4407 * util/grub-fstest.c (cmd_cp): Clarify error message.
4408 (cmd_cmp): Likewise.
4409
61b99bfc
YB
44102011-10-30 Yves Blusseau <blusseau@zetam.org>
4411
4412 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
4413 and befs_be.
4414
faba3d16
VS
44152011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
4416
4417 Remove afs and befs because of copyright problem.
4418
4419 * grub-core/fs/afs.c: Removed.
4420 * grub-core/fs/afs_be.c: Removed.
4421 * grub-core/fs/befs.c: Removed.
4422 * grub-core/fs/befs_be.c: Removed.
4423 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
4424 * grub-core/Makefile.core.def (afs): Removed.
4425 (afs_be): Likewise.
4426 (befs): Likewise.
4427 (befs_be): Likewise.
4428
c39224b0
VS
44292011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4430
4431 Prefer rockridge over Joliet.
4432
4433 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
4434 to ...
4435 (set_rockridge): ... here.
4436 (grub_iso9660_mount): Check rockridge on the primary label when
4437 discovering. Ignore Joliet if Rockridge is present.
4438
e551115a
VS
44392011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4440
4441 Use shifts in nilfs2.
4442
4443 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
4444 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
4445 (grub_nilfs2_palloc_entries_per_group): Replace with ...
4446 (grub_nilfs2_log_palloc_entries_per_group): ... this.
4447 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
4448 (grub_nilfs2_entries_per_block): Replaced with ...
4449 (grub_nilfs2_log_entries_per_block_log): ... this.
4450 (grub_nilfs2_blocks_per_group): Replaced with ...
4451 (grub_nilfs2_blocks_per_group_log): ... this.
4452 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
4453 (grub_nilfs2_blocks_per_desc_block_log): ... this.
4454 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
4455 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
4456 (grub_nilfs2_palloc_entry_offset): Replaced ...
4457 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
4458 (grub_nilfs2_dat_translate): Use shifts.
4459 (grub_nilfs2_read_inode): Likewise.
4460 (GRUB_MOD_INIT): Ensure that logs are correct.
4461
564dd58c
VS
44622011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4463
4464 Use shifts in minix filesystem.
4465
4466 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
4467 (GRUB_MINIX_ZONE2SECT): Likewise.
4468 (grub_minix_data): Replace block_size with log_block_size.
4469 (grub_minix_read_file): Use shifts.
4470 (grub_minix_mount): Check block size and take a logarithm.
4471
ed9ba06d
VS
44722011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4473
4474 Use shifts in squash4.
4475
4476 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
4477 (squash_mount): Check block size and take logarithm.
4478 (direct_read): Use shifts.
4479
ad03fe76
VS
44802011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 Correct befs block counting logic.
4483
4484 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
4485 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
4486 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
4487 (grub_afs_read_inode): Use block_shift.
4488 (RANGE_SHIFT): New definition.
4489 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
4490 unexpected conditions, use shifts and appropriate types.
4491 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
4492
6563f63d
VS
44932011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4494
4495 * grub-core/disk/raid.c (scan_devices): Check partition.
4496 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
4497
5b1ae25f
VS
44982011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4499
4500 Support BFS (befs) UUID.
4501
4502 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
4503 (grub_afs_small_data_element_header): New struct.
4504 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
4505 (grub_afs_read_attribute) [MODE_BFS]: New function.
4506 (grub_afs_iterate_dir): Allocate for complete inode.
4507 (grub_afs_mount): Likewise.
4508 (grub_afs_uuid) [MODE_BFS]: New function.
4509 (grub_afs_fs) [MODE_BFS]: Add .uuid.
4510
f8d82408
VS
45112011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
4514 (zfs_unmount): Fix memory leak.
4515
5773fb64
VS
45162011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4517
4518 Support NTFS reparse points.
4519
4520 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
4521 (symlink_descriptor): New struct.
4522 (grub_ntfs_read_symlink): New function.
4523 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
4524 (grub_ntfs_open): Likewise.
4525
91c3fdde
VS
45262011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4527
4528 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
4529
3be82e10
VS
45302011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4531
4532 fstest xnu_uuid subcommand.
4533
4534 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
4535 grub-core/commands/xnu_uuid.c.
4536 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
4537 (fstest): Handle xnu_uuid.
4538 (options): Document xnu_uuid.
4539 (argp_parser): Parse xnu_uuid.
4540
8e32442e
VS
45412011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4542
4543 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
4544 -l argument. Add newline at the end if printing.
4545 (GRUB_MOD_INIT): Document -l.
4546
52a05075
VS
45472011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4548
4549 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
4550
1869edb5
VS
45512011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4552
4553 ZFS multi-device and version 33 support.
4554
4555 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
4556 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
4557 (grub_zfs_data): Add multidev-ice-related fields.
4558 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
4559 (dva_get_offset): Make dva const.
4560 (zfs_fetch_nvlist): New function.
4561 (fill_vdev_info_real): Likewise.
4562 (fill_vdev_info): Likewise.
4563 (check_pool_label): Likewise.
4564 (scan_disk): Likewise.
4565 (scan_devices): Likewise.
4566 (read_device): Likewise.
4567 (read_dva): Likewise.
4568 (zio_read_gang): Use read_dva.
4569 (zio_read_data): Likewise.
4570 (zap_leaf_lookup): Add missing endian conversion.
4571 (zap_verify): Add missing endian conversion. All users updated.
4572 (fzap_lookup): Likewise.
4573 (fzap_iterate): Likewise.
4574 (dnode_get_path): Handle SA bonus.
4575 (nvlist_find_value): Make input const. All users updated.
4576 (unmount_device): New function.
4577 (zfs_unmount): Use unmount_device.
4578 (zfs_mount): Use scan_disk.
4579 (zfs_mtime): New function.
4580 (grub_zfs_open): Handle system attributes.
4581 (fill_fs_info): Likewise.
4582 (grub_zfs_dir): Likewise.
4583 (grub_zfs_fs): Add mtime.
4584 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
4585 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
4586 (SA_MTIME_OFFSET): Likewise.
4587 (SA_SYMLINK_OFFSET): Likewise.
4588 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
4589 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
4590 (fstest): Support zfsinfo.
4591 (argp_parser): Likewise.
4592
186b4028
VS
45932011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
4596 error.
4597
45982011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
4599
4600 ZFS fixes.
4601
4602 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
4603 sharing the same block. Iterate over correct number of indices.
4604 (dnode_get_path): Handle symlinks correctly.
4605
c0584900
VS
46062011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
4609
67e2bd71
VS
46102011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4611
4612 Read label on HFS+.
4613
4614 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
4615 (grub_hfsplus_btree_search): Fix types.
4616 (grub_hfsplus_label): Implement.
4617
e9cc6b7b
VS
46182011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4619
4620 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
4621
19832ddb
VS
46222011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4623
4624 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
4625
66b40850
VS
46262011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4627
4628 Fix symlink handling on iso9660.
4629
4630 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
4631 All users updated.
4632 (grub_iso9660_susp_iterate): Accept zero-size iterate.
4633 (grub_iso9660_read_symlink): Moved most of code ...
4634 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
4635
db821363
VS
46362011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4637
4638 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4639 Use union to avoid breaking strict-aliasing rules.
4640
e1211949
VS
46412011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 Support multi-extent iso files.
4644
4645 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
4646 Add node.
4647 (grub_fshelp_node): Revamp. All users updated.
4648 (FLAG_*): New enum.
4649 (read_node): New function.
4650 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
4651 All users updated.
4652 (grub_iso9660_mount): Don't attempt to read sua when there is none.
4653 (get_node_size): New function.
4654 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
4655 entries.
4656 Fix memory leak on . and ..
4657 (grub_iso9660_read): Use read_node.
4658 (grub_iso9660_close): Free node.
4659
d4888031
VS
46602011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4661
4662 Fix tar 4G limit and handle paths containing dot.
4663
4664 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
4665 (canonicalize): New function.
4666 (grub_cpio_find_file): Use canonicalize. Store offs in
4667 grub_disk_addr_t.
4668 (grub_cpio_dir): Use grub_disk_addr_t.
4669 (grub_cpio_open): Likewise.
4670
9f12e664
VS
46712011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 Fix handling of uncompressed blocks on squashfs and break 4G limit.
4674
4675 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
4676 unused flags.
4677 (grub_squash_inode): Add long_file and block_size.
4678 (grub_squash_cache_inode): New struct.
4679 (grub_squash_dirent): Make types into enum.
4680 (SQUASH_TYPE_LONG_REGULAR): New type.
4681 (grub_squash_frag_desc): Add field size.
4682 (SQUASH_BLOCK_FLAGS): New enum.
4683 (grub_squash_data): Use grub_squash_cache_inode.
4684 (grub_fshelp_node): Make ino_chunk 64-bit.
4685 (read_chunk): Minor argument change. All users updated.
4686 (squash_mount): Use correct le_to_cpu.
4687 (grub_squash_open): Handle LONG_REGULAR.
4688 (direct_read): New function.
4689 (grub_squash_read_data): Handle blocks correctly.
4690
9f326fba
VS
46912011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
4694
f4d9b64b
VS
46952011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4696
4697 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
4698
5bbd28b8
VS
46992011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4700
4701 Fix 2G limit on ZFS.
4702
4703 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
4704 types.
4705 (uberblock_verify): Likewise.
4706 (dmu_read): Likewise.
4707 (grub_zfs_read): Likewise. Remove invalid cast.
4708
68c72069
VS
47092011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4710
4711 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
4712 (grub_jfs_blkno): Fix incorrect shift.
4713 (grub_jfs_read_file): Use more appropriate types.
4714
6e536dc8
VS
47152011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4716
4717 Support triple indirect on minix2 and minix3.
4718
4719 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
4720 Declare triple_indir_zone.
4721 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
4722 indirect.
4723
e0864e7a
VS
47242011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4725
4726 Minix FS fixes.
4727
4728 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
4729 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
4730 Rename ctime to mtime. All users updated.
4731 (grub_minix_get_file_block): Fix types and double indirect computations.
4732
89481cab
VS
47332011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4734
4735 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
4736 if no label is found.
4737 (grub_fat_iterate_dir): Fix file size type.
4738 (grub_fat_iterate_dir): Likewise.
4739
f646e143
VS
47402011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
4743 save some space.
4744 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
4745 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
4746
534d769e
VS
47472011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4748
4749 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
4750
e084ba18
VS
47512011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4752
4753 * util/import_gcry.py: Accept space between # and include.
4754
3471ecdf
VS
47552011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
4758
124df5f6
VS
47592011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 Fine grainely disable warnings on lexer. Remove Wno-error on it.
4762
4763 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
4764 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
4765 yylex_strncpy.
4766 * grub-core/script/yylex.l: Add fine-grained #pragma.
4767
4defb8d5
VS
47682011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4769
4770 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
4771 New inline function.
4772 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
4773 Likewise.
4774 (memset) [GRUB_UTIL]: Likewise.
4775 (memcmp) [GRUB_UTIL]: Likewise.
4776
4e94ae65
VS
47772011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
4780 inline function rather than a define.
4781
18c575e5
VS
47822011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4783
4784 * util/grub-setup.c: Add missing include.
4785
f8bc22a8
VS
47862011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4787
4788 * util/ieee1275/grub-ofpathname.c: Add missing include.
4789
3ce69fc9
VS
47902011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4791
4792 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
4793 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
4794 Likewise.
4795
d1e293bb
VS
47962011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4797
4798 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
4799 grub_memcmp usage.
4800
7a5c54a4
VS
48012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4802
4803 * util/grub-install.in: Add datarootdir as per automake manual
4804 suggestion.
4805 * util/grub-mknetdir.in: Likewise.
4806
48072011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
4808
4809 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
4810 suggestion.
4811 * util/grub.d/10_kfreebsd.in: Likewise.
4812 * util/grub.d/10_linux.in: Likewise.
4813 * util/grub.d/10_netbsd.in: Likewise.
4814 * util/grub.d/10_windows.in: Likewise.
4815 * util/grub.d/20_linux_xen.in: Likewise.
4816
766f7d08
VS
48172011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4818
4819 Remove redundant grub_kernel_image_size.
4820
4821 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
4822 _edata and _start.
4823 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
4824 the small code. It moves it only by few bytes but simplifies the code.
4825 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
4826 _start.
4827 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
4828 (grub_kernel_image_size): Removed.
4829 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
4830 (grub_kernel_image_size): Removed.
4831 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
4832 compiled with Apple toolchain.
4833 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
4834 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
4835 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
4836 (grub_total_module_size): Likewise.
4837 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
4838 Removed.
4839 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
4840 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
4841 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
4842 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
4843 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
4844 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
4845 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
4846 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
4847 Removed.
4848 (grub_total_module_size): Removed.
4849 * util/grub-mkimage.c (image_target_desc): Remove image_size.
4850 (image_targets): Likewise.
4851 Set .compressed_size to no field on sparc.
4852 (generate_image): Remove kernel_image_size handling.
4853
fcf1d672
SJ
48542011-10-19 Szymon Janc <szymon@janc.net.pl>
4855
4856 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
4857 NULL pointer dereference.
4858
de9c615e
VS
48592011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4860
4861 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
4862 done with a dedicated section.
4863
4864 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
4865 Ensure the correct position of boot_path.
4866 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
4867 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
4868 other fields.
4869 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
4870 * include/grub/boot.h: Removed. All references removed.
4871 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
4872 Removed.
4873 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
4874
e55599dc
VS
48752011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
4878 name.
4879
36dd20ad
VS
48802011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
4883
f8f72eb8
VS
48842011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4885
4886 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4887 Don't add the bogus brackets.
4888
a374751b
VS
48892011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4890
4891 ExFAT support.
4892
4893 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
4894 * grub-core/Makefile.core.def (exfat): New module.
4895 * grub-core/fs/exfat.c: New file.
4896 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
4897 (GRUB_FAT_ATTR_*): Make into an enum.
4898 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
4899 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
4900 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
4901 (GRUB_FAT_MAXFILE): Removed.
4902 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
4903 (grub_current_fat_bpb_t): New type.
4904 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
4905 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
4906 (grub_fat_dir_node_t): New type.
4907 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
4908 (fat_log2) [MODE_EXFAT]: Removed.
4909 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
4910 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
4911 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
4912 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
4913 (grub_fat_label) [MODE_EXFAT]: New function.
4914 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
4915 reserved_first_sector to 0.
4916
544c2487
VS
49172011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 Move grub_reboot out of the kernel.
4920
4921 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
4922 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
4923 * grub-core/lib/efi/reboot.c: ... here.
4924 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
4925 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
4926 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
4927 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
4928 * grub-core/lib/i386/reboot_trampoline.S: ... here.
4929 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
4930 * grub-core/lib/ieee1275/reboot.c: ... here.
4931 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
4932 * grub-core/lib/mips/arc/reboot.c: ... here.
4933 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
4934 * grub-core/lib/mips/loongson/reboot.c: ...here.
4935 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
4936 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
4937 * include/grub/emu/misc.h (grub_reboot): New function declaration.
4938 * include/grub/i386/reboot.h: New file.
4939 * include/grub/mips/loongson/ec.h: Fix includes.
4940 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
4941 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
4942 * grub-core/lib/i386/reboot.c: New file.
4943
a97501d2
VS
49442011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4945
4946 Make grub_prefix into module to fix the arbitrary limit and save
4947 some space.
4948
4949 * grub-core/kern/emu/main.c (grub_prefix): Removed.
4950 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
4951 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
4952 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
4953 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
4954 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
4955 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
4956 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
4957 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
4958 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
4959 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
4960 * include/grub/ia64/efi/kernel.h: Removed.
4961 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
4962 (grub_prefix): Removed.
4963 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
4964 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
4965 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
4966 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
4967 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
4968 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
4969 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
4970 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
4971 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
4972 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
4973 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
4974 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
4975 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
4976 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
4977 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
4978 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
4979 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
4980 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
4981 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
4982 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
4983 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
4984 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
4985 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
4986 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
4987 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
4988 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
4989 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
4990 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
4991 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
4992 from module.
4993 * util/grub-mkimage.c (image_target_desc): Removed prefix and
4994 prefix_end.
4995 (image_targets): Likewise.
4996 (generate_image): Put prefix as a module.
4997
39705fad
VS
49982011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4999
5000 Replace grub_module_iterate with FOR_MODULES.
5001
5002 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
5003 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
5004 (grub_efi_modules_addr): ...this.
5005 * grub-core/kern/efi/init.c (grub_modbase): New variable.
5006 (grub_efi_init): Set grub_modbase.
5007 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
5008 (grub_modbase): New variable.
5009 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
5010 (grub_modbase): New variable.
5011 (grub_machine_init): Set grub_modbase.
5012 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
5013 (grub_modbase): New variable.
5014 (grub_machine_init): Set grub_modbase.
5015 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
5016 (grub_modbase): New variable.
5017 (grub_machine_init): Set grub_modbase.
5018 * grub-core/kern/main.c (grub_module_iterate): Remove.
5019 (grub_modules_get_end): Use grub_modbase.
5020 (grub_load_modules): Use FOR_MODULES.
5021 (grub_load_config): Likewise.
5022 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
5023 (grub_modbase): New variable.
5024 (grub_machine_init): Set grub_modbase.
5025 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
5026 (grub_modbase): New variable.
5027 (grub_machine_init): Set grub_modbase.
5028 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
5029 Removed.
5030 (grub_modbase): New variable.
5031 (grub_machine_init): Set grub_modbase.
5032 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
5033 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
5034 (grub_module_iterate): Likewise.
5035 (grub_modbase): New variable declaration.
5036 (FOR_MODULES): New macro.
5037
2afb7f6c
VS
50382011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5039
5040 * configure.ac: Check for __ctzdi2 and __ctzsi2.
5041 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
5042
366e34fa
VS
50432011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5044
5045 Fix few obvious type discrepancies.
5046
5047 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
5048 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
5049 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
5050 variable.
5051 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
5052 and connected types.
5053 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
5054 offset.
5055 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
5056 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
5057 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
5058 and connected types.
5059
177b960e
VS
50602011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 Fix python 3.x incompatibilities.
5063
5064 * gentpl.py: Put brackets around print strings.
5065 * util/import_gcry.py: Open explicitly as utf-8.
5066 Use in instead of has_key.
5067
3b619ae1
VS
50682011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5069
5070 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
5071 (GRUB_XFS_INO_AGBITS): Make into inline function.
5072 (GRUB_XFS_INO_INOINAG): Likewise.
5073 (GRUB_XFS_INO_AG): Likewise.
5074 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
5075 (GRUB_XFS_EXTENT_OFFSET): Likewise.
5076 (GRUB_XFS_EXTENT_BLOCK): Likewise.
5077 (GRUB_XFS_EXTENT_SIZE): Likewise.
5078 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
5079 (GRUB_XFS_NEXT_DIRENT): Likewise.
5080 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
5081 (grub_xfs_read_file): Fix offset type.
5082
8bcebcb8
RM
50832011-10-15 Robert Millan <rmh@gnu.org>
5084
5085 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
5086
0017e5ef
RM
50872011-10-15 Robert Millan <rmh@gnu.org>
5088
5089 Fix build problem on FreeBSD and GNU/kFreeBSD.
5090
5091 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
5092
d8919552
VS
50932011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5094
5095 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
5096
5097 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
5098 types.
5099 (grub_hfsplus_btree_recoffset): Likewise.
5100 (grub_hfsplus_btree_recptr): Likewise.
5101 (grub_hfsplus_find_block): Likewise.
5102 (grub_hfsplus_btree_search): Likewise.
5103 (grub_hfsplus_read_block): Likewise.
5104 (grub_hfsplus_read_file): Likewise.
5105 (grub_hfsplus_mount): Likewise.
5106 (grub_hfsplus_btree_iterate_node): Likewise.
5107 (grub_hfsplus_btree_search): Likewise.
5108 (grub_hfsplus_iterate_dir): Likewise.
5109 (grub_hfsplus_read): A small code simplification.
5110
c81296b6
VS
51112011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5112
5113 * grub-core/kern/emu/hostdisk.c
5114 (convert_system_partition_to_system_disk): Don't assume that children
5115 of mapper nodes are mapper nodes.
5116
0eb8ffb1
VS
51172011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5118
5119 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
5120 * include/grub/misc.h (grub_isxdigit): New function.
5121 * grub-core/video/colors.c (my_isxdigit): Removed. All users
5122 switched to grub_isxdigit.
5123 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
5124 number starting with a letter.
5125
a98f4a08
RM
51262011-10-09 Robert Millan <rmh@gnu.org>
5127
5128 LVM support for FreeBSD and GNU/kFreeBSD.
5129
5130 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
5131 GNU/kFreeBSD.
5132 (LVM_DEV_MAPPER_STRING): Move from here ...
5133 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
5134 * util/getroot.c: Include `<grub/util/lvm.h>'.
5135 (grub_util_get_dev_abstraction): Enable
5136 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
5137 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
5138 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
5139 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
5140 support it.
5141 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
5142 GNU/kFreeBSD.
5143 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
5144 when LVM abstraction is required for ${GRUB_DEVICE}.
5145
050e8e90
SJ
51462011-10-06 Szymon Janc <szymon@janc.net.pl>
5147
5148 Add support for LZO compression in GRUB:
5149 - import of minilzo library,
5150 - LZO decompression for btrfs,
5151 - lzop files decompression.
5152
5153 * grub-core/io/lzopio.c: New file.
5154 * grub-core/lib/adler32.c: Likewise.
5155 * grub-core/lib/minilzo/lzoconf.h: Likewise.
5156 * grub-core/lib/minilzo/lzodefs.h: Likewise.
5157 * grub-core/lib/minilzo/minilzo.c: Likewise.
5158 * grub-core/lib/minilzo/minilzo.h: Likewise.
5159 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
5160 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
5161 grub-core/lib/minilzo/minilzo.c to common.
5162 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
5163 cflags in cppflags.
5164 * grub-core/Makefile.core.def (btrfs): Likewise.
5165 * grub-core/Makefile.core.def (lzopio): New module.
5166 (adler32): Likewise.
5167 * grub-core/fs/btrfs.c: Include minilzo.h.
5168 (GRUB_BTRFS_COMPRESSION_LZO): New define.
5169 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
5170 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
5171 (grub_btrfs_lzo_decompress): New function.
5172 (grub_btrfs_extent_read): Add support for LZO compression type.
5173 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
5174 (GRUB_USHRT_MAX): Likewise.
5175 (GRUB_UINT_MAX): Likewise.
5176 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
5177 (UINT_MAX): Likewise.
5178 (CHAR_BIT): Likewise.
5179 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
5180 grub-core/lib/posix_wrap/limits.h
5181 (UCHAR_MAX): Likewise.
5182 * include/grub/file.h (grub_file_filter_id): New compression filter
5183 GRUB_FILE_FILTER_LZOPIO.
5184 * include/grub/file.h (grub_file_filter_id): Set
5185 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
5186 * include/grub/types.h (grub_get_unaligned16): New function.
5187 (grub_get_unaligned32): Likewise.
5188 (grub_get_unaligned64): Likewise.
5189 * util/import_gcry.py (cryptolist): Add adler32.
5190
0eb8ffb1
VS
51912011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
5192
5193 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
5194 in perspective decreases the complexity of build system and fixes
5195 compilation right now.
5196
ce79cc99 51972011-10-01 Ales Nesrsta <starous@volny.cz>
5198
5199 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
5200 (fixed problem related to using UHCI with coreboot).
5201
8667a314
BC
52022011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
5203
5204 * gentpl.py: Use Autogen macros so that the output template file
5205 (Makefile.tpl) size is reduced.
5206
fc5efcc0
MK
52072011-09-29 Mads Kiilerich <mads@kiilerich.com>
5208
5209 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
5210 extra_dist.
5211
d1ab689d
ML
52122011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5213
5214 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
5215 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
5216
c05de032
ML
52172011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5218
5219 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
5220 _fullpath.
5221
cca7ccd8
ML
52222011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5223
5224 Remove extra declaration of sleep for mingw32.
5225
5226 * util/misc.c (sleep) [__MINGW32__]: Removed.
5227 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
5228
e0b0dc83
GS
52292011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
5230
5231 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
5232 type and packname.
5233 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
5234 Resurrected.
5235 (NETBSD_BTINFO_BOOTWEDGE): New definition.
5236 (grub_netbsd_btinfo_bootwedge): New struct.
5237 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5238 New function.
5239 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
5240
91a1a164
TH
52412011-09-28 Thomas Haller <thomas.haller@fen-net.de>
5242
5243 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
5244 loader.
5245
2ded951e
AB
52462011-09-28 Andreas Born <futur.andy@googlemail.com>
5247
5248 Fix incorrect identifiers in bash-completion.
5249
5250 * util/bash-completion.d/grub-completion.bash.in
5251 (_grub_mkpasswd-pbkdf2): Rename to ...
5252 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
5253 (_grub_script-check): Rename to ...
5254 (_grub_script_check): ... this. All users updated.
5255
69915030
VS
52562011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5257
5258 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
5259 Return 0 if disk isn't biosdisk.
5260
20fd15f9
GS
52612011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
5262
5263 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
5264 on NetBSD.
5265 * Makefile.util.def (grub-fstest): Likewise.
5266
1a7d7db9
GS
52672011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
5268
5269 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
5270 Get sector size from disk label.
5271
2221ab6c
CW
52722011-09-05 Colin Watson <cjwatson@ubuntu.com>
5273
5274 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
5275 */README* as well as README*.
5276 Reported by: Axel Beckert.
5277
ca51c4a0
VS
52782011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5279
5280 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
5281 case of less than 256 MiB of RAM.
5282
ab80f326
VS
52832011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5284
5285 * grub-core/commands/wildcard.c (make_regex): Handle @.
5286
4155e697
VS
52872011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5288
5289 * util/grub-install.in: Move cryptodisk logic to appropriate place.
5290
ab178c08
SJ
52912011-08-21 Szymon Janc <szymon@janc.net.pl>
5292
5293 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
5294 AC_LANG_CONFTEST macros.
5295
7dc3c686
SJ
52962011-08-20 Szymon Janc <szymon@janc.net.pl>
5297
5298 Add grub-fstest option to uncompress data for commands.
5299
5300 * util/grub-fstest.c (uncompress): New var.
5301 (options): New option -u.
5302
fe8d4a7b
SJ
53032011-08-20 Szymon Janc <szymon@janc.net.pl>
5304
5305 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
5306 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
5307
a5219af1
SJ
53082011-08-20 Szymon Janc <szymon@janc.net.pl>
5309
5310 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
5311 file type was not recognized correctly (not gzip or corrupted).
5312
f87abff5
VS
53132011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5314
5315 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
5316 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
5317
d94497ea
VS
53182011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5319
5320 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
5321 loongson.
5322 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
5323 video_radeon_fuloong2e.
5324 * grub-core/video/radeon_fuloong2e.c: New file.
5325 * include/grub/video.h (grub_video_id_t): Add new ID
5326 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
5327
0d1fd011
VS
53282011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
5331 define.
5332 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
5333 that PRID matches the detected subplatform and reset the subplatform
5334 if it doesn't.
5335
84beb0ee
VS
53362011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5337
5338 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
5339
1227c133
VS
53402011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5341
5342 Fix PCI iterating on functions >= 4.
5343
5344 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
5345 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
5346 Removed.
5347 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
5348 (grub_pci_read): Fix bitmask.
5349 (grub_pci_read_word): Likewise.
5350 (grub_pci_read_byte): Likewise.
5351 (grub_pci_write): Likewise.
5352 (grub_pci_write_word): Likewise.
5353 (grub_pci_write_byte): Likewise.
5354
9594c689
VS
53552011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
5358 can still be specified in TARGET_CFLAGS)
5359
14a2562c
VS
53602011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5361
5362 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
5363
5364 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
5365 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
5366 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
5367 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
5368 (FULOONG): Rename to ...
5369 (FULOONG2F): ... this. All users updated.
5370 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
5371 (machtype_fuloong2f_str): ... this.
5372 (machtype_fuloong2e_str): New string.
5373 Check for machtype_fuloong2e_str.
5374 * grub-core/loader/mips/linux.c (loongson_machtypes)
5375 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
5376 * grub-core/term/serial.c (loongson_defserial)
5377 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
5378 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
5379 loongson_defserial.
5380 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
5381 Rename to ...
5382 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
5383 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
5384 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
5385 to IMAGE_FULOONG2F_FLASH. All users updated.
5386 (image_targets): Rename images.
5387 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
5388
b526cbb6
SJ
53892011-08-19 Szymon Janc <szymon@janc.net.pl>
5390
5391 Make enable of disk cache statistics code configurable.
5392
5393 * configure.ac: --enable-cache-stats added.
5394 * config.h.in (DISK_CACHE_STATS): New define.
5395 * grub-core/Makefile.core.def (cacheinfo): New command.
5396 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
5397 * grub-core/commands/cacheinfo.c: New file.
5398 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
5399 moved to cacheinfo.c.
5400 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
5401 debug code.
5402 * include/grub/disk.h: Likewise.
5403
fb739ccd
SJ
54042011-08-19 Szymon Janc <szymon@janc.net.pl>
5405
5406 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
5407 * grub-core/Makefile.am: Likewise.
5408
2bba8cfd
VS
54092011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5410
5411 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
5412 non-zero pull.
5413
43526629
VS
54142011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5415
5416 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
5417 All users updated.
5418 (grub_jfs_lookup_symlink): Use correct starting inode.
5419
5c144cc8
VS
54202011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5421
5422 * util/grub-setup.c (main): Add missing gcry initialisation.
5423
b1257f65
VS
54242011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5425
5426 Don't accept text modes on EFI when booting Linux.
5427
5428 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
5429 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
5430
828bc390
ML
54312011-08-15 Mario Limonciello <mario_limonciello@dell.com>
54322011-08-15 Colin Watson <cjwatson@ubuntu.com>
5433
5434 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
5435 use of "/path/.." as in grub-install for EFI as well as handling
5436 symlinks correctly.
5437 Fixes Debian bug #637768.
5438
5f60ccac
CW
54392011-08-15 Colin Watson <cjwatson@ubuntu.com>
5440
5441 * util/grub-probe.c: Remove duplicate #include.
5442
6dc212f9
RM
54432011-08-10 Robert Millan <rmh@gnu.org>
5444
5445 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
5446
5447 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
5448 function.
5449 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
5450 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
5451
66816d85
RM
54522011-08-03 Robert Millan <rmh@gnu.org>
5453
5454 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
5455 la_array as packed.
5456 Reported by: Zachary Bedell
5457
20168fca
CW
54582011-07-26 Colin Watson <cjwatson@ubuntu.com>
5459
5460 * configure.ac: The Loongson port requires grub-mkfont due to its
5461 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
5462 be built.
5463
303b6246
CW
54642011-07-26 Colin Watson <cjwatson@ubuntu.com>
5465
5466 * util/grub-install.in: Don't source grub-mkconfig_lib until after
5467 processing arguments (otherwise help2man fails when GRUB has not yet
5468 been installed).
5469
6795300e
VS
54702011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5471
41aa28ea
VS
5472 New script grub-mkstandalone.
5473
5474 * Makefile.util.def (grub-mkstandalone): New script.
5475 * docs/man/grub-mkstandalone.h2m: New file.
5476 * util/grub-mkstandalone.in: Likewise.
5477
54782011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 Support ATA disks with 4K sectors.
6795300e
VS
5481
5482 * include/grub/ata.h (grub_ata): New member log_sector_size.
5483 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
5484 (grub_ata_identify): Read sector size.
5485 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
5486
92227597
VS
54872011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5488
5489 * util/grub-install.in: Don't use uhci outside of x86.
5490
c77069f5
VS
54912011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5492
5493 * util/grub-mkrescue.in: Add missing quotes.
5494
54952011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
5496
5497 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
5498 dereference.
5499
583168a2
VS
55002011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
5503
6be1c01f
VS
55042011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 * include/grub/video.h: add missing EXPORT_FUND on
5507 grub_video_edid_checksum and grub_video_edid_preferred_mode.
5508
a1167439
VS
55092011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5510
5511 * include/grub/mips/kernel.h: Fix define conflict.
5512
bf66054f
VS
55132011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
5516 all four ways.
5517
8fc4fa45
CW
55182011-07-21 Colin Watson <cjwatson@ubuntu.com>
5519
5520 Preferred resolution detection for VBE.
5521
5522 * grub-core/video/video.c (grub_video_edid_checksum): New function.
5523 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
5524 the Flat Panel extension, in line with the X.org VESA driver.
5525 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
5526 New function.
5527 (grub_vbe_bios_get_ddc_capabilities): Likewise.
5528 (grub_vbe_bios_read_edid): Likewise.
5529 (grub_vbe_get_preferred_mode): Likewise.
5530 (grub_video_vbe_setup): When the mode is "auto", try to get the
5531 preferred mode from VBE, and use the largest mode that is no larger
5532 than the preferred mode (some BIOSes expose a preferred mode that is
5533 not in their mode list!). If this fails, fall back to 640x480 as a
5534 safe conservative choice.
5535 (grub_video_vbe_get_edid): New function.
5536 (grub_video_vbe_adapter): Add get_edid.
5537 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
5538 (struct grub_video_adapter): Add get_edid.
5539 (grub_video_edid_checksum): Add prototype.
5540 (grub_video_edid_preferred_mode): Likewise.
5541 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
5542 structure.
5543
5544 * grub-core/commands/videoinfo.c (print_edid): New function.
5545 (grub_cmd_videoinfo): Print EDID if available.
5546
5547 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
5548 is more appropriate on a wider range of platforms than 640x480.
5549 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
5550 documentation.
5551
ca5572a9
VS
55522011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5553
5554 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
5555
e4bcf625
VS
55562011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5557
5558 * po/POTFILES.in: Regenerate.
5559
c4edd548
VS
55602011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5561
5562 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
5563 incorrect memory usage.
5564
16a2bab0
VS
55652011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 * util/grub-install.in: Source grub-mkconfig_lib.
5568
2e418de6
VS
55692011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
5570
5571 Remove getroot.c from core on emu platform.
5572
5573 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
5574 kern/emu/raid.c.
5575 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
5576 useless.
5577 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
5578 * util/getroot.c (get_win32_path): ... here.
5579 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
5580 * util/getroot.c (fini_libzfs): ... here.
5581 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
5582 * util/getroot.c (grub_get_libzfs_handle): ... here.
5583 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
5584 Moved from here...
5585 * util/getroot.c (grub_find_zpool_from_dir): ... here.
5586 * grub-core/kern/emu/misc.c
5587 (grub_make_system_path_relative_to_its_root): Moved from here...
5588 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
5589 * grub-core/kern/emu/getroot.c: Moved from here ...
5590 * util/getroot.c: ... here. All users updated.
5591 * grub-core/kern/emu/raid.c: Moved from here ...
5592 * util/raid.c: ... here. All users updated.
5593
def9832a
VS
55942011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
5595
5596 * po/POTFILES.in: Regenerate.
5597
cd8fe79a
VS
55982011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5599
5600 Fix compilation on GNU/Linux.
5601
5602 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
5603 Disable geli.
5604 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
5605 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
5606 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
5607
a251b719
VS
56082011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
56092011-07-07 Michael Gorven <michael@gorven.za.net>
56102011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
5611
5612 LUKS and GELI support.
5613
5614 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
5615 grub-core/disk/luks.c, grub-core/disk/geli.c,
5616 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
5617 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
5618 grub-core/lib/arg.c.
5619 (libgrubmods.a): Remove gcrypts cflags and cppflags.
5620 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
5621 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
5622 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
5623 (grub-bin2h): Add libgcry.a.
5624 (grub-mkimage): Likewise.
5625 (grub-mkrelpath): Likewise.
5626 (grub-script-check): Likewise.
5627 (grub-editenv): Likewise.
5628 (grub-mkpasswd-pbkdf2): Likewise.
5629 (grub-pe2elf): Likewise.
5630 (grub-fstest): Likewise.
5631 (grub-mkfont): Likewise.
5632 (grub-mkdevicemap): Likewise.
5633 (grub-probe): Likewise.
5634 (grub-ofpath): Likewise.
5635 (grub-mklayout): Likewise.
5636 (example_unit_test): Likewise.
5637 (grub-menulst2cfg): Likewise.
5638 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
5639 * grub-core/Makefile.core.def (cryptodisk): New module.
5640 (luks): Likewise.
5641 (geli): Likewise.
5642 * grub-core/disk/AFSplitter.c: New file.
5643 * grub-core/disk/cryptodisk.c: Likewise.
5644 * grub-core/disk/geli.c: Likewise.
5645 * grub-core/disk/luks.c: Likewise.
5646 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
5647 grub_util_is_lvm.
5648 (grub_util_get_dm_abstraction): New function.
5649 (grub_util_follow_gpart_up): Likewise.
5650 (grub_util_get_geom_abstraction): Likewise.
5651 (grub_util_get_dev_abstraction): Use new functions.
5652 (grub_util_pull_device): Pull GELI and LUKS.
5653 (grub_util_get_grub_dev): Handle LUKS and GELI.
5654 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
5655 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
5656 (follow_geom_up): Removed.
5657 (grub_util_fd_seek): New function.
5658 (open_device): Use grub_util_fd_seek.
5659 (nread): Rename to ..
5660 (grub_util_fd_read): ... this. All users updated.
5661 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
5662 (grub_crypto_cbc_decrypt): Likewise.
5663 (grub_crypto_hmac_write): Likewise.
5664 (grub_crypto_hmac_buffer): Likewise.
5665 (grub_password_get): Extend to util.
5666 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
5667 New member modname.
5668 (gcry_md_spec) [GRUB_UTIL]: Likewise.
5669 * include/grub/cryptodisk.h: New file.
5670 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
5671 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
5672 LUKS and GELI.
5673 (grub_util_follow_gpart_up): New proto.
5674 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
5675 (grub_util_fd_read): Likewise.
5676 (grub_cryptodisk_cheat_mount): Likewise.
5677 (grub_util_cryptodisk_print_uuid): Likewise.
5678 (grub_util_get_fd_sectors): Likewise.
5679 * util/grub-fstest.c (mount_crypt): New var.
5680 (fstest): Mount crypto if requested.
5681 (options): New option -C.
5682 (argp_parser): Parse -C.
5683 (main): Init and fini gcry.
5684 * util/grub-install.in: Support cryptodisk install.
5685 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
5686 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
5687 cryptodisk.
5688 (prepare_grub_to_access_device): Likewise.
5689 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
5690 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
5691 (probe_cryptodisk_uuid): New function.
5692 (probe_abstraction): Likewise.
5693 (probe): Use new functions.
5694 * util/import_gcry.py: Create Makefile.utilgcry.def.
5695 Add modname member.
5696
9bfdcbbc
VS
56972011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5698
5699 Lazy device scanning.
5700
5701 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
5702 (grub-setup): Remove util/raid.c.
5703 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
5704 * grub-core/disk/lvm.c (scan_depth): New variable.
5705 (grub_lvm_iterate): Rescan if necessary.
5706 (find_lv): New function based on grub_lvm_open.
5707 (grub_lvm_open): Use find_lv. Rescan on error.
5708 (is_node_readable): New function.
5709 (is_lv_readable): Likewise.
5710 (grub_lvm_scan_device): Skip already found disks.
5711 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
5712 Stop if searched device is found and readable.
5713 * grub-core/disk/raid.c (inscnt): New variable.
5714 (scan_depth): Likewise.
5715 (scan_devices): New function based on grub_raid_register. Abort if
5716 looked for device is found.
5717 (grub_raid_iterate): Rescan if needed.
5718 (find_array): NEw function based on -grub_raid_open.
5719 (grub_raid_open): Use find_array and rescan.
5720 (insert_array): Set became_readable_at.
5721 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
5722 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
5723 New function.
5724 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
5725 (grub_util_pull_device): New function.
5726 (grub_util_get_grub_dev): Call grub_util_pull_device.
5727 * util/raid.c: Moved to ..
5728 * grub-core/kern/emu/raid.c: ... here.
5729 (grub_util_raid_getmembers): New parameter "bootable".
5730 All users updated. Support 1.x.
5731 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
5732 All users updated.
5733 * include/grub/disk.h (grub_disk_pull_t): New enum.
5734 (grub_disk_dev): Change iterate prototype.
5735 All users updated.
5736 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
5737 New proto.
5738 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
5739 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
5740 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
5741 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
5742 All users updated.
5743 * include/grub/util/raid.h: Removed.
5744
1c358e59
VS
57452011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
5746
5747 * po/POTFILES.in: Regenerate.
5748
abee94ed
VS
57492011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
5750
5751 Unify sparc init with other ieee1275.
5752
5753 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
5754 instead of kern/sparc64/ieee1275/init.c.
5755 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
5756 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
5757 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
5758 grub/machine/kernel.h.
5759 (grub_ieee1275_original_stack) [__sparc__]: New variable.
5760 (grub_claim_heap) [__sparc__]: Use sparc version.
5761 (grub_machine_init): Moved args parsing to
5762 (grub_parse_cmdline): ...this.
5763 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
5764 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
5765 New definition.
5766 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
5767
5768 Move BOOTP to separate file.
5769
5770 * grub-core/Makefile.core.def (net): Add net/bootp.c.
5771 * grub-core/net/net.c: Move all BOOTP functions to
5772 * grub-core/net/bootp.c: ... here.
5773
5774 Use frame interface on PXE.
5775
5776 * grub-core/Makefile.core.def (pxecmd): Removed.
5777 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
5778 * grub-core/commands/i386/pc/pxecmd.c: Removed.
5779 * grub-core/i386/pc/pxe.c: Moved from here ...
5780 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
5781 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
5782 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
5783
5784 EFI network support.
5785
5786 * grub-core/Makefile.core.def (efinet): New module.
5787 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
5788 here...
5789 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
5790 All users updated.
5791 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
5792 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
5793 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
5794 * grub-core/net/drivers/efi/efinet.c: New file.
5795 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
5796 (grub_efi_net_config): New extern var.
5797
5798 Various cleanups and bugfixes.
5799
5800 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
5801 error.
5802 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
5803 disk declared as partition.
5804 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
5805 leak on failure.
5806 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
5807 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
5808 (grub_debug_zalloc): Likewise.
5809 (grub_debug_realloc): Likewise.
5810 (grub_debug_memalign): Likewise.
5811 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
5812 Check that target is IPv4.
5813 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
5814 local-mac-address as fallback.
5815 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
5816 memory leak.
5817 * grub-core/net/ip.c (ipchksum): Rename to ...
5818 (grub_net_ip_chksum): ... this. All users updated.
5819 (grub_net_recv_ip_packets): Special handling for DHCP.
5820 * util/grub-mkimage.c (generate_image): Zero-out aout header.
5821
5822 Unify prefix handling
5823
5824 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
5825 (grub_machine_get_bootlocation): ... this.
5826 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
5827 (grub_machine_get_bootlocation): ... this.
5828 (grub_prefix): New variable.
5829 (prefix): Removed.
5830 (root_dev): New variable.
5831 (dir): Likewise.
5832 (main): Use new variables.
5833 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
5834 Revamped into ...
5835 (grub_machine_get_bootlocation): ... this.
5836 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
5837 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
5838 (grub_machine_get_bootlocation): ... this.
5839 (grub_machine_set_prefix): Removed.
5840 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
5841 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
5842 Revamped into ...
5843 (grub_machine_get_bootlocation): ... this.
5844 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
5845 (grub_set_prefix_and_root): ... this. All users updated.
5846 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
5847 Revamped into ...
5848 (grub_machine_get_bootlocation): ... this.
5849 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
5850 (grub_machine_get_bootlocation): New proto.
5851 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
5852
5853 Less intrusive and more reliable seek on network implementation.
5854
5855 * grub-core/kern/file.c (grub_file_net_seek): Removed.
5856 (grub_file_seek): Don't call grub_file_net_seek.
5857 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
5858 (grub_net_fs_read_real): .. this.
5859 (grub_net_seek_real): Use net->offset.
5860 (grub_net_fs_read): Seek if necessary.
5861
5862 Unify IEEE1275 netwotk config with the other platforms.
5863
5864 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
5865 New variable.
5866 (grub_machine_get_bootlocation): Support network.
5867 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
5868 Support type and device parsing.
5869 (grub_ieee1275_get_device_type): New function.
5870 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
5871 into ...
5872 (grub_ieee1275_net_config_real): ... this.
5873 (grub_ofnet_probecards): Removed.
5874 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
5875 * include/grub/ieee1275/ofnet.h: Removed.
5876 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
5877 extern var.
5878 (grub_ieee1275_get_device_type): New function.
5879
5880 Unify network device closing across platforms and make more robust.
5881
5882 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
5883 grub_grubnet_fini.
5884 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
5885 already.
5886 * grub-core/net/net.c (grub_net_network_level_interface_register):
5887 Update num_ifaces.
5888 (grub_net_card_unregister): Close all interfaces.
5889 (receive_packets): Don't poll if no iterfaces are registered.
5890 Open if necessary.
5891 (grub_net_fini_hw): New function.
5892 (grub_net_restore_hw): Likewise.
5893 (fini_hnd): New variable.
5894 (GRUB_MOD_INIT): Register preboot hook.
5895 (GRUB_MOD_FINI): Run and unregister preboot hook.
5896
5897 Poll network cards when idle.
5898
5899 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
5900 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
5901 * grub-core/net/net.c (receive_packets): Save last poll time.
5902 (grub_net_poll_cards_idle_real): New function.
5903 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
5904 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
5905 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
5906
5907 Rename ofnet interfaces.
5908
5909 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
5910 (grub_ofnet_findcards): Use ofnet_%s names.
5911
5912 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
5913
5914 Cleanup socket opening.
5915
5916 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
5917 (grub_net_fs_close): Likewise.
5918 (grub_net_fs_read_real): Use eof member.
5919 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
5920 (+grub_net_udp_close): New inline function.
5921
5922 * include/grub/net/tftp.h: Moved to the top of ...
5923 * grub-core/net/tftp.c: ... here.
5924 * include/grub/net/ip.h: Moved mostly to the top of ...
5925 * grub-core/net/ip.c: ... here.
5926 * include/grub/net/ethernet.h: Moved mostly to the top of ...
5927 * grub-core/net/ethernet.c: ... here.
5928
5929 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
5930
5931 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
5932 FS name.
5933
5934 * include/grub/net/ip.h (ipv4_ini): Removed.
5935 (ipv4_fini): Likewise.
5936
5937 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
5938 (grub_net_send_ip_packets): Likewise.
5939
cf1337aa
VS
59402011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5941
5942 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
5943 grub_read_cmos prototype.
5944
93c06ff9
VS
59452011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5946
5947 VGA text support in qemu-mips
5948
5949 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
5950 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
5951 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
5952 text.
5953 * grub-core/kern/i386/qemu/init.c: Renamed to ...
5954 * grub-core/kern/vga_init.c: ... this.
5955 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
5956 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
5957 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
5958 Adjust.
5959 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
5960 GRUB_MACHINE_PCI_IO_BASE.
5961
748ccabe
VS
59622011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5963
5964 MIPS qemu flash support.
5965
5966 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
5967 magic.
5968 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
5969 (grub_machine_init): Probe memory if its size isn't known.
5970 * util/grub-mkimage.c (image_targets): Add flash targets.
5971 (generate_image): Handle flash targets.
5972
d7345994
VS
59732011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5974
5975 MIPS qemu at_keyboard support.
5976
5977 * gentpl.py (videoinkernel): Add qemu-mips.
5978 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
5979 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
5980 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
5981 modules.
5982 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
5983 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
5984 * grub-core/term/serial.c (grub_serial_register)
5985 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
5986
a07a81b3
VS
59872011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5988
5989 CMOS support on sparc.
5990
5991 * gentpl.py (cmos): Add powerpc and sparc.
5992 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
5993 powerpc and sparc.
5994 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
5995 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
5996 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
5997 grub_set_datetime_cmos.
5998 * grub-core/lib/ieee1275/cmos.c: New file.
5999 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
6000 (find_rtc): Set no_ieee1275_rtc on error.
6001 (grub_get_datetime): Call grub_get_datetime_cmos on error.
6002 (grub_set_datetime): Call grub_set_datetime_cmos on error.
6003 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
6004 fail. Move value to argument. All users updated
6005 (grub_cmos_write): Likewise.
6006 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
6007 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
6008 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
6009 grub_get_datetime_cmos and grub_set_datetime_cmos.
6010
77546584
GS
60112011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
6012
6013 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
6014 sourcing grub-mkconfig_lib.
6015 * util/update-grub_lib.in: Likewise.
6016 * util/grub.d/00_header.in: Likewise.
6017 * util/grub.d/10_hurd.in: Likewise.
6018 * util/grub.d/10_kfreebsd.in: Likewise.
6019 * util/grub.d/10_linux.in: Likewise.
6020 * util/grub.d/10_netbsd.in: Likewise.
6021 * util/grub.d/10_windows.in: Likewise.
6022 * util/grub.d/20_linux_xen.in: Likewise.
6023 * util/grub.d/30_os-prober.in: Likewise.
6024
54894791
CW
60252011-06-28 Colin Watson <cjwatson@ubuntu.com>
6026
6027 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
6028 default_bg_color rather than black.
6029 (grub_gfxterm_fullscreen): Likewise.
6030 (grub_gfxterm_background_color_cmd): Save new background color in
6031 default_bg_color.
6032
8d5d8444
VS
60332011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6034
6035 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
6036
5afeb5bd
VS
60372011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6038
6039 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
6040 mismerge.
6041
ba7df45e
VS
60422011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6043
6044 Chainloading on coreboot support.
6045
6046 * grub-core/Makefile.core.def (chain): Add coreboot.
6047 * grub-core/loader/i386/coreboot/chainloader.c: New file.
6048
d0b526b2
VS
60492011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
6052 if it happens.
6053
5ff1d945
VS
60542011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 Implement time command.
6057
6058 * grub-core/Makefile.core.def (time): New module.
6059 * grub-core/commands/time.c: New file.
6060 * grub-core/script/parser.y: Remove "time" keyword.
6061 * grub-core/script/yylex.l: Likewise.
6062
5ebaad7e
VS
60632011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6064
6065 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
6066
bdea3798
VS
60672011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6068
6069 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
6070 when handling leftovers.
6071
b28c5655
VS
60722011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6073
6074 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
6075 so that help2man doesn't fail.
6076
b6f945dc
VS
60772011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
6080 type in pointers on sparc64.
6081 (get_card_packet): Likewise.
6082
f9b75e8a
CW
60832011-06-27 Colin Watson <cjwatson@ubuntu.com>
6084
6085 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
6086 with `*'.
6087 (grub_cmd_videoinfo): Fetch current video mode.
6088
1e3d9b86
VS
60892011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6090
6091 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
6092 because of underlying system restrictions.
6093
efff4b1c
VS
60942011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6095
6096 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
6097 necessary.
6098
9fc9ce37
VS
60992011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 Coreboot video support.
6102
6103 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
6104 (vbe): Likewise.
6105 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
6106 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
6107 here ...
6108 * grub-core/kern/i386/int.S: ... here.
6109 * grub-core/video/i386/pc/vbe.c: Updated includes.
6110 * grub-core/video/i386/pc/vga.c: Likewise.
6111 * include/grub/i386/coreboot/memory.h
6112 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
6113 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
6114 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
6115 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
6116 Disable interrupts.
6117 * include/grub/i386/pc/vga.h: Removed. All users updated.
6118
41bec7fe
VS
61192011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6120
6121 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
6122 definitions for dprintf.
6123 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
6124
ca80309d
VS
61252011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
6128 prototype.
6129 (get_card_packet): Likewise.
6130
9e322ce8
YB
61312011-06-26 Yves Blusseau <blusseau@zetam.org>
6132
6133 Display the path of the file when file is not found
6134
6135 * grub-core/fs/fat.c: Display the filename when file is not found.
6136 * grub-core/fs/fshelp.c: Likewise.
6137 * grub-core/fs/hfs.c: Likewise.
6138 * grub-core/fs/jfs.c: Likewise.
6139 * grub-core/fs/minix.c: Likewise.
6140 * grub-core/fs/ufs.c: Likewise.
6141 * grub-core/fs/btrfs.c: Likewise.
6142 * grub-core/commands/i386/pc/play.c: Likewise.
6143
cbf597af
SJ
61442011-06-26 Szymon Janc <szymon@janc.net.pl>
6145
6146 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
6147 pointer checks before calling grub_free().
6148 * grub-core/commands/wildcard.c (match_devices): Likewise.
6149 * grub-core/commands/wildcard.c (match_files): Likewise.
6150 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
6151 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
6152 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
6153 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
6154 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
6155 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
6156 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
6157 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
6158 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
6159
6295b32f
P
61602011-06-25 Patrick <p55@mailinator.com>
6161
6162 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
6163
77c0840b
VS
61642011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6165
6166 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
6167 (grub_pxe_send): Likewise.
6168 (GRUB_MOD_INIT): Fix types.
6169
40ea05de
SJ
61702011-06-24 Szymon Janc <szymon@janc.net.pl>
6171
6172 * grub-core/io/xzio.c: Fix code style issues
6173
90162423
MRA
61742011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
61752011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
6176
6177 Network infrastructure.
6178 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
6179
6180 * include/grub/net/arp.h: New file.
90162423
MRA
6181 * include/grub/net/device.h: Likewise.
6182 * include/grub/net/ethernet.h: Likewise.
6183 * include/grub/net/ip.h: Likewise.
6184 * include/grub/net/netbuff.h: Likewise.
6185 * include/grub/net/tftp.h: Likewise.
6186 * include/grub/net/udp.h: Likewise.
6187 * include/grub/ieee1275/ofnet.h: Likewise.
6188 * include/grub/emu/export.h: Likewise.
6189 * include/grub/net.h: Likewise.
6190 * grub-core/net/arp.c: Likewise.
6191 * grub-core/net/ethernet.c: Likewise.
6192 * grub-core/net/ip.c: Likewise.
6193 * grub-core/net/udp.c: Likewise.
6194 * grub-core/net/tftp.c: Likewise.
6195 * grub-core/net/netbuff.c: Likewise.
6196 * grub-core/net/net.c: Likewise.
6197 * grub-core/net/drivers/emu/emunet.c: Likewise.
6198 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
6199 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
6200 export.h.
6201 * grub-core/Makefile.core.def (net): New module.
6202 (tftp): Likewise.
6203 (ofnet): Likewise.
6204 (emunet): Likewise.
6205 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
6206 network protocols.
6207 * grub-core/kern/device.c (grub_net_open) : New variable.
6208 (grub_device_open): Handle network device.
6209 (grub_device_close): Likewise.
6210 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
6211 (grub_grubnet_fini): Likewise.
6212 (grub_file_seek): Seek in network device.
6213 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
6214 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
6215 network root.
6216 (grub_machine_fini): Call grub_grubnet_fini.
6217 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
6218 network.
6219 (grub_ieee1275_get_aliasdevname): New function.
6220 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
6221 Add unofficial Solaris network info.
6222 (grub_multiboot_make_mbi): Likewise.
6223 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
6224 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
6225 * include/grub/device.h (grub_fs): Removed.
6226 * include/grub/err.h (grub_err_t): Add network-related values.
6227 * include/grub/i386/pc/pxe.h: Removed bootp parts.
6228 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
6229 (grub_ieee1275_get_aliasdevname): New proto.
6230 * include/grub/net.h: Rewritten.
423a1849 6231
031f22a0
VS
62322011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6233
6234 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
6235 names.
6236
4388ca72
VS
62372011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6238
6239 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
6240 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
6241 it truncates the output.
6242 Reported by: Ximin Luo.
6243
98e2f506
VS
62442011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6245
6246 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
6247
2a5e94d8
VS
62482011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6249
6250 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
6251 partmap before abstraction.
6252
535c1910
AK
62532011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
6254
6255 * util/grub-mkconfig_lib.in: Add missing quotes.
6256
bc09e1a2
VS
62572011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6258
6259 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
6260 old method if mountinfo would return /dev/root and /dev/root doesn't
6261 exist.
6262
290766fb
VS
62632011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 ZFS zlib support
6266
6267 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
6268 (decomp_table): Add zlib entries.
6269 (zio_read): USe 8 bits for compression function rather than 3.
6270 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
6271
62722011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6273
6274 * grub-core/disk/ahci.c: Add missing license statements.
6275 * grub-core/fs/romfs.c: Likewise.
6276 * grub-core/lib/ia64/setjmp.S: Likewise.
6277 * grub-core/loader/i386/pc/freedos.c: Likewise.
6278 * grub-core/loader/ia64/efi/linux.c: Likewise.
6279 * grub-core/video/colors.c: Likewise.
6280 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
6281
5ab3f48a
VS
62822011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6283
6284 AHCI support.
6285
6286 * grub-core/Makefile.core.def (ata_pthru): Removed.
6287 (ahci): New module.
6288 (pata): Likewise.
6289 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
6290 on unload.
6291 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
6292 readwrite.
6293 (grub_hdparm_do_check_powermode_cmd): Likewise.
6294 (grub_hdparm_do_smart_cmd): Likewise.
6295 (grub_hdparm_set_val_cmd): Likewise.
6296 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
6297 * grub-core/disk/ahci.c: New file.
6298 * grub-core/disk/ata.c: Factor out the low-level part into ...
6299 * grub-core/disk/pata.c: ... here.
6300 * grub-core/disk/ata_pthru.c: Contents moved to ...
6301 * grub-core/disk/pata.c: ... here.
6302 * grub-core/disk/scsi.c (grub_scsi_names): New array.
6303 (grub_scsi_iterate): Use grub_scsi_names.
6304 (grub_scsi_open): Likewise.
6305 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
6306 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
6307 (grub_ata_regs_t): New struct.
6308 (grub_disk_ata_pass_through_parms): Likewise.
6309 (grub_ata_device): Renamed to ...
6310 (grub_ata): ... this.
6311 (grub_ata_dev): New struct.
6312 Removed all low-level inline functions.
6313 * include/grub/scsi.h: Add PATA and AHCI subsystems.
6314 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
6315 iterate hooks and open. All users updated.
6316 * util/grub-install.in: Handle AHCI disk module.
6317
c31dc5f5
SJ
63182011-06-23 Szymon Janc <szymon@janc.net.pl>
6319
6320 Add support for DRI and RSTn markers in JPEG files.
6321
6322 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
6323 (JPEG_MARKER_RST0): Likewise.
6324 (JPEG_MARKER_RST1): Likewise.
6325 (JPEG_MARKER_RST2): Likewise.
6326 (JPEG_MARKER_RST3): Likewise.
6327 (JPEG_MARKER_RST4): Likewise.
6328 (JPEG_MARKER_RST5): Likewise.
6329 (JPEG_MARKER_RST6): Likewise.
6330 (JPEG_MARKER_RST7): Likewise.
6331 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
6332 (grub_jpeg_decode_dri): New function.
6333 (grub_jpeg_decode_sos): Move image data related part into
6334 grub_jpeg_decode_data function.
6335 (grub_jpeg_decode_data): New function.
6336 (grub_jpeg_reset): New function.
6337 (grub_jpeg_decode_jpeg): Handle new markers.
6338
fe12fd5b
VS
63392011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6340
6341 * util/ieee1275/ofpath.c (check_sas): Close fd.
6342 (main): Free of_path.
6343 Reported by: David Volgyes <dvolgyes>.
6344
03147f46
VS
63452011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6346
6347 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
6348 Reported by: David Volgyes <dvolgyes>.
6349
cad3237f
VS
63502011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6351
6352 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
6353 file after stat.
6354 Reported by: David Volgyes <dvolgyes>.
6355
13548d26
VS
63562011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6357
6358 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
6359
6360 Reported by: David Volgyes <dvolgyes>.
6361
e061a1b5
VS
63622011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6363
6364 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
6365 Prevent memory leak.
6366
1abe47dc
VS
63672011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
6370 (main): Close file.
e061a1b5 6371 Reported by: David Volgyes <dvolgyes>.
1abe47dc 6372
fbc62666
VS
63732011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6374
6375 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
6376 to continue if allocation is failed.
6377
6378 Reported by: David Volgyes <dvolgyes>.
6379
e98c83e9
DV
63802011-06-23 David Volgyes <dvolgyes>
6381
6382 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
6383 dereference.
6384
a199a8cd
VS
63852011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6386
6387 Fix spurious warning.
6388
6389 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
6390 (acorn_partition_map_find): Use .bin member.
6391
e2d1dba0
VS
63922011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6393
6394 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
6395 /dev/root as a valid device.
6396
8a5d6919
JM
63972011-06-23 Jim Meyering <meyering@redhat.com>
6398
e2d1dba0
VS
6399 Avoid NULL deref in grub_device_open.
6400
8a5d6919
JM
6401 * grub-core/kern/device.c (grub_device_open): Don't dereference
6402 a NULL pointer upon failed grub_env_get.
6403
f7db6f4a
VS
64042011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6405
6406 Support non-512B sectors and agglomerate reads.
6407
6408 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
6409 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
6410 (disk_io_guid): Removed.
6411 (make_devices): Locate solely by BlockIO.
6412 (grub_efidisk_open): Fill log_sector_size and total_sectors.
6413 (grub_efidisk_read): Use read_blocks.
6414 (grub_efidisk_write): Use write_blocks.
6415 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
6416 log_sector_size.
6417 (get_safe_sectors): Handle non-512B sectors.
6418 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
6419 sectors.
6420 (grub_biosdisk_write): Handle non-512B sectors.
6421 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
6422 (grub_scsi_read): Remove special non-512B block handling (now handled
6423 one level up).
6424 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
6425 and do sanity checks.
6426 (grub_disk_adjust_range): Handle non-512B sectors.
6427 (transform_sector): New function.
6428 (grub_disk_read_small): Likewise.
6429 (grub_disk_read): Rewritten.
6430 (grub_disk_write): Handle non-512B sectors.
6431 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
6432 log_sector_size.
6433 (open_device): Use log_sector_size.
6434 (grub_util_biosdisk_read): Likewise.
6435 (grub_util_biosdisk_write): Likewise.
6436 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
6437 non-512B sectors.
6438 (pc_partition_map_embed): Likewise.
6439 * include/grub/disk.h (grub_disk): New field log_sector_size.
6440 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
6441 (GRUB_DISK_CACHE_BITS): Increased to 6.
6442 * util/grub-fstest.c (fstest): New command testload.
6443 (argp_parser): Likewise.
6444
881ac815
RM
64452011-06-16 Robert Millan <rmh@gnu.org>
6446
6447 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
6448 `ata' driver on kernel of FreeBSD 9.
6449
6450 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
6451 (get_ataraid_disk_name): New functions.
6452 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
6453 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
6454 get_ataraid_disk_name() and get_ada_disk_name().
6455
1e9aef7d
CW
64562011-06-13 Colin Watson <cjwatson@ubuntu.com>
6457
6458 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
6459 input format.
6460
351c7c8a
CW
64612011-05-29 Colin Watson <cjwatson@ubuntu.com>
6462
6463 * docs/grub.texi (Obtaining and Building GRUB): Substitute
6464 `ftp.gnu.org' for `alpha.gnu.org'.
6465
6b4e6430
CW
64662011-05-27 Colin Watson <cjwatson@ubuntu.com>
6467
6468 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
6469 partitions under /dev/disk/by-id/.
6470
c64db050
CW
64712011-05-27 Colin Watson <cjwatson@ubuntu.com>
6472
6473 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
6474 after ten consecutive open failures. Scanning all the way up to
6475 10000 is excessive and can cause serious performance problems in
6476 some configurations.
6477 Fixes Ubuntu bug #787461.
6478
245f4aba
VS
64792011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6480
6481 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
6482 opening new one.
6483
f767c929
VS
64842011-05-21 Colin Watson <cjwatson@ubuntu.com>
64852011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6486
6487 Don't stat devices unless we have to.
6488
6489 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
6490 dir == /dev/mapper.
6491 (grub_guess_root_device): Use already known os_dev if possible.
6492 * grub-core/kern/emu/hostdisk.c
6493 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
6494 if device is known to be a dm one.
6495
f35fa3a6
CW
64962011-05-20 Colin Watson <cjwatson@ubuntu.com>
6497
6498 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
6499 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
6500 Reported by: Pawel Tecza.
6501
9a79fcf2
VS
65022011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
6503
6504 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
6505 (lsefisystab): Likewise.
6506 (lssal): Likewise.
6507 (lsefimmap): Likewise.
6508 (hdparm): Enable on qemu-mips.
6509 (setjmp): Add ia64 nodist.
6510 (serial): Simplify tags.
6511
63e3eea9
CW
65122011-05-18 Colin Watson <cjwatson@ubuntu.com>
6513
6514 * Makefile.util.def (grub-ofpathname): Install manual page.
6515
09728256
CW
65162011-05-18 Colin Watson <cjwatson@ubuntu.com>
6517
6518 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
6519
8b63a142
CW
65202011-05-18 Colin Watson <cjwatson@ubuntu.com>
6521
6522 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
6523
e775d8ed
VS
65242011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6525
6526 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
6527 into dprintf.
6528
bf947d36
VS
65292011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6530
6531 Use full 64-bit division.
6532
6533 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
6534 (grub_divmod64): ... this.
6535 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
6536 version.
6537
b84f26c5
CW
65382011-05-18 Colin Watson <cjwatson@ubuntu.com>
6539
6540 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
6541 `source'.
6542
5626056f
CW
65432011-05-18 Colin Watson <cjwatson@ubuntu.com>
6544
6545 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
6546 to avoid accidents when debugging with 'sh -x'.
6547 * grub-core/gensyminfo.sh.in: Likewise.
6548 * tests/example_scripted_test.in: Likewise.
6549 * tests/grub_cmd_regexp.in: Likewise.
6550 * tests/grub_script_blanklines.in: Likewise.
6551 * tests/grub_script_dollar.in: Likewise.
6552 * tests/grub_script_expansion.in: Likewise.
6553 * tests/grub_script_final_semicolon.in: Likewise.
6554 * tests/partmap_test.in: Likewise.
6555 * tests/util/grub-shell-tester.in: Likewise.
6556 * tests/util/grub-shell.in: Likewise.
6557
e2965f4a
CW
65582011-05-18 Colin Watson <cjwatson@ubuntu.com>
6559
6560 Move gfxmenu color handling to video, so that gfxterm can use it
6561 too.
6562
6563 * grub-core/gfxmenu/named_colors.c: Move to ...
6564 * grub-core/video/colors.c: ... here. Rename
6565 grub_gui_get_named_color to grub_video_get_named_color.
6566 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
6567 * grub-core/video/colors.c (my_isxdigit): ... here.
6568 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
6569 Move to ...
6570 * grub-core/video/colors.c (parse_hex_color_component): ... here.
6571 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
6572 to ...
6573 * grub-core/video/colors.c (grub_video_parse_color): ... here.
6574
6575 * include/grub/gui.h (grub_gui_color_t): Move to ...
6576 * include/grub/video.h (grub_video_rgba_color_t): ... here.
6577 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
6578 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
6579 * include/grub/gui.h (grub_gui_map_color): Move to ...
6580 * include/grub/video.h (grub_video_map_rgba_color): ... here.
6581 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
6582 to ...
6583 * include/grub/video.h (grub_video_get_named_color): ... here.
6584 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
6585 * include/grub/video.h (grub_video_parse_color): ... here.
6586
6587 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
6588 video/colors.c.
6589 (gfxmenu): Remove gfxmenu/named_colors.c.
6590 (video) [videomodules]: Add video/colors.c.
6591
6592 Add a background_color command.
6593
6594 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
6595 function.
6596 (GRUB_MOD_INIT): Register background_color command.
6597 (GRUB_MOD_FINI): Unregister background_color command.
6598 (redraw_screen_rect): Allow blend/replace of text layer to be
6599 controlled independently from whether there is a background bitmap.
6600 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
6601 changing bitmap.
6602
1e4b4390
VS
66032011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6604
26618ff0
VS
6605 Patch BPB in ntldr and chainloader --bpb.
6606
1e4b4390
VS
6607 * grub-core/fs/fat.c: Include grub/fat.h.
6608 (grub_fat_bpb): Moved to ...
6609 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
6610 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
6611 grub/ntfs.h.
6612 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
6613 Moved from here...
6614 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
6615 here.
6616 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
6617 New function.
6618 (grub_chainloader_cmd): Patch BPB if --bpb is given.
6619 (GRUB_MOD_INIT): Show --bpb.
6620 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
6621 * grub-core/normal/main.c (features): New variable.
6622 (GRUB_MOD_INIT): Set feature_* variables.
6623 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
6624 proto.
6625 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
6626
cf02731e
VS
66272011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
6630 for cleanness.
6631
e3a1073f
VS
66322011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 FreeDOS direct loading support.
6635
6636 * docs/grub.texi (Supported OS): Add FreeDOS.
6637 * grub-core/Makefile.core.def (freedos): New module.
6638 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
6639 variable.
6640 (grub_relocator16_boot): Handle %ebx.
6641 * grub-core/lib/i386/relocator16.S: Likewise.
6642 * grub-core/loader/i386/pc/freedos.c: New file.
6643
05caa461
VS
66442011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6645
6646 Long Linux command line support.
6647
6648 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
6649 (maximal_cmdline_size): New variable.
6650 (allocate_pages): Use maximal_cmdline_size.
6651 (grub_cmd_linux): Set and use maximal_cmdline_size.
6652 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
6653 (allocate_pages): Use maximal_cmdline_size.
6654 (grub_cmd_linux): Set and use maximal_cmdline_size.
6655 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
6656 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
6657 and cmdline_size.
6658
a2491e23
VS
66592011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
66602011-05-18 Colin Watson <cjwatson@ubuntu.com>
6661
6662 Improve devmapper support
6663
6664 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
6665 (grub_util_is_lvm): New function.
6666 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
6667 than lvm if not dmraid.
6668 Handle mapped md nodes.
6669 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
6670 (grub_util_device_is_mapped): ... this. Make always available. All users
6671 updated.
6672 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
6673 (convert_system_partition_to_system_disk): Handle lvm, mpath and
6674 dmraid nodes.
6675 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
6676
6ad6223e
VS
66772011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6678
6679 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
6680
6681 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
6682 * grub-core/modinfo.sh.in: New file.
6683 * grub-core/Makefile.core.def (modinfo.sh): New script.
6684 * util/grub-mknetdir.in: Use modinfo.sh.
6685 * util/grub-mkrescue.in: Likewise.
6686
543a8f6e
VS
66872011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6688
6689 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
6690 Fix potential usage of Elf32 instead of Elf64 when compiling on
6691 32-bit architecture. Add endianness macros while on it.
6692
4959e111
VS
66932011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6694
6695 Use mipsel- rather than mips- in directories involving mipsel ports to
6696 allow both endiannesses coexist.
6697
6698 * configure.ac: proparate target_cpu=mipsel rather than resetting to
6699 mips. All conditions adjusted.
6700 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
6701 variable.
6702 * util/grub-install.in: Adjust conditions to take renaming into account.
6703 * util/grub-mkimage.c (image_targets): Likewise. New target
6704 mips-qemu_mips-elf for bigendian mips.
6705
35341bbc
VS
67062011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 Avoid unnecessary copying on MIPS.
6709
6710 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
6711 early if src == dest.
6712 * util/grub-mkimage.c (generate_image): Arange for src == dest if
6713 compression is none.
6714
b772baed
VS
67152011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6716
6717 Reduce memory footprint on SGI by putting modules before the kernel
6718 as opposed to after.
6719
6720 * grub-core/Makefile.core.def (kernel): Increase linking address.
6721 (none_decompress): Likewise.
6722 (xz_decompress): Likewise.
6723 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
6724 address.
6725 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
6726 layout change.
6727 (grub_arch_modules_addr): New function.
6728 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
6729 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
6730 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
6731 here.
6732 * grub-core/kern/mips/startup.S (total_size): Rename to ...
6733 (grub_total_modules_size): ... this. Make global.
6734 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
6735 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
6736 New definition.
6737 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
6738 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
6739 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
6740 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
6741 * util/grub-mkimage.c (image_target_desc): New flag
6742 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
6743 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
6744 (generate_image): Handle images with modules before kernel.
6745
566a1917
VS
67462011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 Prevent potential loss of memory map by overwrite on qemu-mips.
6749
6750 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
6751 Save ram size in $s4.
6752 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
6753 All users changed to grub_arch_memsize.
6754 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
6755 Loongson.
6756 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
6757 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
6758 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
6759 external variable.
6760
5d420cd9
CW
67612011-05-17 Colin Watson <cjwatson@ubuntu.com>
6762
6763 * .bzrignore: Remove grub-dumpbios.
6764
d064b830
CW
67652011-05-17 Colin Watson <cjwatson@ubuntu.com>
6766
6767 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
6768 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
6769 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
6770 existing options which append).
6771 * docs/grub.texi (Simple configuration): Document new options.
6772 Reported by: Ian Jackson. Fixes Debian bug #617538.
6773
3ca2b466
CW
67742011-05-17 Colin Watson <cjwatson@ubuntu.com>
6775
6776 * util/grub-fstest.c (cmd_cat): New function.
6777 (fstest): Handle CMD_CAT.
6778 (options): Add cat.
6779 (argp_parser): Handle cat.
6780
24c9143a
CW
67812011-05-17 Colin Watson <cjwatson@ubuntu.com>
6782
6783 * Makefile.util.def (grub-bin2h): Don't install.
6784 * docs/man/grub-bin2h.h2m: Remove.
6785
90f7ac19
VS
67862011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6787
6788 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
6789 place.
6790
8d4a5178
VS
67912011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6792
6793 Reenable qemu-mips port.
6794
6795 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
6796 Fix small arc bug while on it.
6797 * gentpl.py: Handle qemu_mips.
6798 * grub-core/Makefile.am: Likewise.
6799 * grub-core/Makefile.core.def: Likewise.
6800 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
6801 inappropriate includes.
6802 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
6803 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
6804 * grub-core/kern/main.c (grub_modules_get_end)
6805 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
6806 * grub-core/kern/mips/qemu-mips: Moved to ..
6807 * grub-core/kern/mips/qemu_mips: ... this.
6808 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
6809 (grub_machine_init): Call terminfo_init and serial_init.
6810 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
6811 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
6812 New variable.
6813 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
6814 parameter passing.
6815 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
6816 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
6817 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
6818 * include/grub/mips/qemu_mips/cmos.h: New file.
6819 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
6820 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
6821 Removed.
6822 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
6823 Use correct mips-style address.
6824 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
6825 (GRUB_TICKS_PER_SECOND): Removed.
6826 (grub_get_rtc): Likewise.
6827 (grub_cpu_idle): Likewise.
6828 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
6829 New definition.
6830 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
6831 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
6832 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
6833 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
6834 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
6835 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
6836 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
6837 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
6838
400b9371
VS
68392011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6840
6841 SGI ARCS port.
6842
6843 * Makefile.util.def (libgrubmods.a): Add dvh.c.
6844 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
6845 platforms.
6846 * configure.ac: New target mips-arc.
6847 * gentpl.py: Likewise.
6848 * grub-core/Makefile.am: Likewise.
6849 * grub-core/Makefile.core.def: Likewise.
6850 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
6851 (none_decompress): Likewise.
6852 (lsdev): New module.
6853 (datetime): Use lib/arc/datetime.c on ARC.
6854 (part_dvh): New module.
6855 * grub-core/commands/arc/lsdev.c: New file.
6856 * grub-core/disk/arc/arcdisk.c: Likewise.
6857 * grub-core/kern/mips/arc/init.c: Likewise.
6858 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
6859 aligned addresses.
6860 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
6861 support.
6862 (grub_arch_dl_relocate_symbols): Likewise.
6863 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
6864 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
6865 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
6866 platforms.
6867 * grub-core/lib/arc/datetime.c: New file.
6868 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
6869 pci.h on non-loongson.
6870 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
6871 (grub_linux_boot): Set unused registers to 0.
6872 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
6873 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
6874 * grub-core/mmap/mips/uppermem.c: ...here.
6875 * grub-core/partmap/dvh.c: New file.
6876 * grub-core/term/arc/console.c: Likewise.
6877 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
6878 (grub_terminfo_set_current): Add terminal "arc".
6879 (grub_terminfo_readkey): Support ARC sequences.
6880 * include/grub/arc/arc.h: New file.
6881 * include/grub/arc/console.h: Likewise.
6882 * include/grub/disk.h (grub_disk_dev_id): Add
6883 GRUB_DISK_DEVICE_ARCDISK_ID.
6884 * include/grub/mips/arc/kernel.h: New file.
6885 * include/grub/mips/arc/memory.h: Likewise.
6886 * include/grub/mips/arc/time.h: Likewise.
6887 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
6888 * include/grub/mips/kernel.h (grub_halt): ... here.
6889 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
6890 here...
6891 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
6892 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
6893 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
6894 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
6895 proto.
6896 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
6897 from here ...
6898 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
6899 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
6900 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
6901 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
6902 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
6903 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
6904 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
6905 (grub_phys_addr_t): Moved from here ...
6906 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
6907 (grub_vtop): Moved from here ...
6908 * include/grub/mips/memory.h (grub_vtop): ... here.
6909 (grub_map_memory): Moved from here ...
6910 * include/grub/mips/memory.h (grub_map_memory): ... here.
6911 (grub_unmap_memory): Moved from here ...
6912 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
6913 (grub_machine_mmap_iterate): Moved from here ...
6914 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
6915 (grub_mmap_get_lower): Moved from here ...
6916 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
6917 (grub_mmap_get_upper): Moved from here ...
6918 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
6919 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
6920 here ...
6921 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
6922 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
6923 here ...
6924 * include/grub/mips/time.h (grub_get_rtc): ... here.
6925 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
6926 here ...
6927 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
6928 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
6929 here ...
6930 * include/grub/mips/time.h (grub_cpu_idle): ... here.
6931 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
6932 definition.
6933 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
6934 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
6935 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
6936 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
6937 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
6938 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
6939 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
6940 (GRUB_MACHINE_LINK_ADDR): Likewise.
6941 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
6942 to 6.
6943 * util/grub-install.in: Run dvhtool on ARC.
6944 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 6945 (generate_image): Handle ECOFF output for mips-arc.
400b9371 6946
c8ecc840
VS
69472011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
6950 blocks.
6951
153a4b55
VS
69522011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
6955 after enabling port.
6956
ff44d107
VS
69572011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6958
6959 Skip incorrect USB devices.
6960
6961 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
6962 configcnt == 0.
6963 * include/grub/usb.h (grub_usb_err_t): New enum value
6964 GRUB_USB_ERR_BADDEVICE.
6965
638dbe4f
VS
69662011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6967
6968 Fuloong video init support.
6969
6970 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
6971 well.
6972 (grub_vga_read_arx): New function.
6973 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
6974 definition.
6975 (framebuffer): New members io, mmioptr and mmiobase.
6976 (read_sis_cmd): New function.
6977 (write_sis_cmd): Likewise.
6978 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
6979 rather than 640x400.
6980 * grub-core/video/sis315_init.c: New file.
6981
c3fc520c
VS
69822011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
6985 non-loongson.
6986 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
6987 to grub_dl_register_symbol.
6988
67b1e5c9
VS
69892011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6990
6991 Fix compilation errors.
6992
6993 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
6994 potentially unused.
6995 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
6996 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
6997 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
6998 to loongson machines.
6999
b756f75f
VS
70002011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7001
7002 Several FS mtime support.
7003
7004 * grub-core/fs/affs.c (grub_affs_time): New struct.
7005 (grub_affs_file): New field mtime.
7006 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
7007 type. Removed 'size'. New field 'di'. All users updated.
7008 (grub_affs_mount): Simplify checsum checking.
7009 (grub_affs_iterate_dir): New helper grub_affs_create_node.
7010 (grub_affs_dir): Handle mtime.
7011 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
7012 (grub_cpio_dir): Likewise.
7013 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
7014 (grub_hfs_filerec): New field mtime.
7015 (grub_hfs_dir): Handle mtime.
7016 (grub_hfs_mtime): New function.
7017 (grub_hfs_fs): Register grub_hfs_mtime.
7018 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
7019 (grub_iso9660_dir): New field mtime.
7020 (grub_fshelp_node): New field dirent.
7021 (iso9660_to_unixtime): New function.
7022 (iso9660_to_unixtime2): Likewise.
7023 (grub_iso9660_read_symlink): Use node->dirent.
7024 (grub_iso9660_iterate_dir): Likewise.
7025 (grub_iso9660_dir): Set mtime.
7026 (grub_iso9660_mtime): New function.
7027 (grub_iso9660_fs): Register grub_iso9660_mtime.
7028 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
7029 (grub_jfs_inode): New fields atime, ctime and mtime.
7030 (grub_jfs_dir): Set mtime.
7031 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
7032 * grub-core/fs/ntfs.c (list_file): Set mtime.
7033 (grub_ntfs_dir): Likewise.
7034 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
7035 (grub_reiserfs_iterate_dir): Set mtime.
7036 (grub_reiserfs_dir): Likewise.
7037 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
7038 (grub_fshelp_node): Likewise.
7039 (grub_sfs_iterate_dir): Set mtime.
7040 (grub_sfs_dir): Likewise.
7041 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
7042 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
7043 (grub_xfs_inode): New fields atime, mtime, ctime.
7044 (grub_xfs_dir): Set mtime.
7045 * include/grub/datetime.h (grub_datetime2unixtime): New function.
7046 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
7047 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
7048
7049 Support UDF symlinks.
7050
7051 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
7052 (grub_ufs_read_symlink): New function. All users updated.
7053
7054 Check amiga partmap checksum.
7055
7056 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
7057 (grub_amiga_partition): Likewise.
7058 (amiga_partition_map_checksum): New function.
7059 (amiga_partition_map_iterate): Check checksum.
7060
5470225d
VS
70612011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 ROMFS support.
7064
7065 * Makefile.util.def (libgrubmods.a): Add romfs.
7066 * grub-core/Makefile.core.def (romfs): New module.
7067 * grub-core/fs/romfs.c: New file.
7068
d4680a35
VS
70692011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7070
7071 Squashfs v4 support.
7072
7073 * Makefile.util.def (libgrubmods.a): Add squash4.
7074 * grub-core/Makefile.core.def (squash4): New module.
7075 * grub-core/fs/squash4.c: New file.
7076 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
7077 disk_input_start, disk_input.
7078 (get_byte): Handle disk_input.
7079 (grub_zlib_disk_read): New function.
7080 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
7081
bcb18e74
FZ
70822011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
70832011-05-15 Feiran Zheng <famcool@gmail.com>
7084
7085 * Makefile.util.def (libgrubmods.a): Add minix3.
7086 * grub-core/Makefile.core.def (minix3): New module.
7087 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
7088 (GRUB_MINIX_BSIZE): Removed.
7089 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
7090 (grub_minix_ino_t): New type.
7091 (grub_minix_le_to_cpu_ino): New macro.
7092 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
7093 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
7094 (grub_minix_data): New field block_size.
7095 (grub_minix_read_file): Handle 64-bit correctly.
7096 * grub-core/fs/minix3.c: New file.
7097
32297d5f
TG
70982011-05-15 Tristan Gingold <gingold@free.fr>
70992011-05-15 Robert Millan <rmh.grub@aybabtu.com>
71002011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 IA64 support.
7103
7104 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
7105 * configure.ac: Add ia64-efi target.
7106 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
7107 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
7108 * gentpl.py: Add ia64_efi platform.
7109 Rename x86_efi to efi and Add ia64-efi. All users updated.
7110 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
7111 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
7112 Remove kern/generic/rtc_get_time_ms.c on EFI.
7113 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
7114 kern/ia64/dl_helper.c on ia64-efi.
7115 Add kern/emu/cache.c on emu.
7116 (linux): Use on loader/ia64/efi/linux.c on ia64.
7117 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
7118 whether symbol is a function.
7119 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
7120 (grub_symbol): New field 'isfunc'.
7121 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
7122 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
7123 (grub_dl_load_segments): Place all sections into the same region.
7124 [__ia64__]: Create trampolines and got.
7125 [GRUB_MACHINE_EMU]: Call mprotect.
7126 (grub_dl_resolve_symbols): Resolve symbol type as well.
7127 [__ia64__]: Create function descriptors.
7128 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
7129 (grub_rtc_get_time_ms): ... this. Expressions simplified.
7130 (grub_get_rtc): New function.
7131 * grub-core/kern/emu/cache.c [__ia64__]: New file.
7132 * grub-core/kern/emu/cache.S: Renamed to ...
7133 * grub-core/kern/emu/cache_s.S: ... this.
7134 [__ia64__]: Add a nop.
7135 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
7136 [__ia64__]: New function.
7137 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
7138 * grub-core/kern/ia64/dl.c: New file.
7139 * grub-core/kern/ia64/dl_helper.c: Likewise.
7140 * grub-core/kern/ia64/efi/init.c: New file.
7141 * grub-core/kern/ia64/efi/startup.S: Likewise.
7142 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
7143 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
7144 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
7145 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
7146 * grub-core/loader/ia64/efi/linux.c: New file.
7147 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
7148 (GRUB_MOD_DEP): Likewise.
7149 (grub_dl) [__ia64__]: New fields got and tramp.
7150 (grub_dl): New field 'base'.
7151 (grub_dl_register_symbol): New argument isfunc. All users updated.
7152 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
7153 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
7154 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
7155 (grub_ia64_dl_get_tramp_got_size): New proto.
7156 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
7157 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
7158 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
7159 * include/grub/efi/api.h: Skip call wrappers on ia64.
7160 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
7161 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
7162 * include/grub/elf.h (ELF_ST_INFO): New definition.
7163 * include/grub/ia64/efi/kernel.h: New file.
7164 * include/grub/ia64/efi/memory.h: Likewise.
7165 * include/grub/ia64/efi/time.h: Likewise.
7166 * include/grub/ia64/kernel.h: Likewise.
7167 * include/grub/ia64/setjmp.h: Likewise (from glibc).
7168 * include/grub/ia64/time.h: New file.
7169 * include/grub/ia64/types.h: Likewise.
7170 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
7171 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
7172 New protos.
7173 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
7174 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
7175 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
7176 * util/grub-mkimage.c (image_target_desc): New field pe_target.
7177 All users updated.
7178 (EFI64_HEADER_SIZE): New definition. All users updated.
7179 (image_targets): Add ia64-efi.
7180 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
7181 jumpers_addr. All users updated.
7182 Create function descriptors.
7183 (count_funcs): New function.
7184 (unaligned_uint32): New struct.
7185 (MASK20): New definition.
7186 (MASK19): Likewise.
7187 (MASKF21): Likewise.
7188 (add_value_to_slot_20b): New function.
7189 (add_value_to_slot_21_real): Likewise.
7190 (add_value_to_slot_21): Likewise.
7191 (ia64_kernel_trampoline): New struct.
7192 (nopm): New variable.
7193 (jump): Likewise.
7194 (make_trampoline): New function.
7195 (relocate_addresses): Handle ia64.
7196 (make_reloc_section): Likewise.
7197 (load_image): Likewise.
7198
983b414d
VS
71992011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7200
7201 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
7202 warning. Move variables before code while on it.
7203
5d063cdc
VS
72042011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7205
7206 Fuloong support.
7207
7208 * configure.ac: Rename yeeloong platform to loongson. All users updated.
7209 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
7210 * grub-core/boot/mips/loongson/fuloong.S: New file.
7211 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
7212 Explicitly init CS5536.
7213 [FULOONG]: Don't use serial until CS5536 is available.
7214 Set GPIO based on dumps.
7215 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
7216 [FULOONG]: Handle GPIO and memory controller differences.
7217 Parse machine type in $a2.
7218 * grub-core/boot/mips/startup_raw.S: Determine and save the
7219 architecture.
7220 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
7221 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
7222 init on architecture type.
7223 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
7224 SIS315E. Don't init at_keyboard on fuloong.
7225 (grub_halt): Support Fuloong.
7226 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
7227 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
7228 (loongson_machtypes): New array.
7229 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
7230 type.
7231 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
7232 config. All users updated. Handle CS5536 serial.
7233 * grub-core/term/serial.c (grub_serial_register): Conditionalise
7234 default port on machine type. Register serial as inactive.
7235 * grub-core/video/sis315pro.c: New file.
7236 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
7237 definition.
7238 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
7239 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
7240 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
7241 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
7242 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
7243 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
7244 to ...
7245 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
7246 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
7247 definition.
7248 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
7249 (grub_arch_machine): New extern var.
7250 * include/grub/mips/loongson/serial.h
7251 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
7252 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
7253 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
7254 (GRUB_MACHINE_SERIAL_PORT0): ... this.
7255 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
7256 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
7257 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
7258 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
7259 * include/grub/term.h (grub_term_register_input_inactive): New inline
7260 function.
7261 (grub_term_register_output_inactive): Likewise.
7262 * include/grub/video.h (grub_video_driver_id): New value
7263 GRUB_VIDEO_DRIVER_SIS315PRO.
7264 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
7265 New field "names". All users updated.
7266 New field value IMAGE_FULOONG_FLASH.
7267 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
7268
6ada82d1
JU
72692011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
7270
7271 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
7272 and add some clarification.
7273
90c571a4
VS
72742011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7275
7276 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
7277 platforms if kernel is compressed.
7278
de04eecf
VS
72792011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
7282 unused modules since currently referrence counter isn't reliable and
7283 there isn't much memory to recover there anyway.
7284
57688121
VS
72852011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7286
7287 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
7288 rather than resetting it to allow modules to reference themselves
7289 in init.
7290
3d2c7e35
VS
72912011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7292
7293 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
7294 counter on dependencies since grub_dl_unref already handles this.
7295
b25db218
VS
72962011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7297
7298 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
7299 on error if not already done.
7300
25a45338
VS
73012011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7302
7303 Fix few potential memory misusage.
7304
7305 * grub-core/font/font.c (load_font_index): Don't free char_index to
7306 avoid double free.
b25db218
VS
7307 (grub_font_load): Zero-fill font at alloc for safety.
7308 Close file on error.
7309 (free_font): Free bmp_idx.
25a45338 7310
0cac83df
VS
73112011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7312
7313 * docs/grub.texi (Installation): Fix several outdated claims.
7314
2217a143
VS
73152011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7316
7317 Handle module_license on windows.
7318
7319 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
7320 sections shifted.
7321 (insert_string): Make argument const char * instead of char *.
7322 (write_section_data): Handle long section names.
7323 Handle module_license.
7324
d4de6b01
VS
73252011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7326
7327 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
7328 handle class-free menuentries.
7329 (grub_normal_add_menu_entry): Add a check to be sure.
7330
4c2a3b43
VS
73312011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7332
7333 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
7334 PgUp and PgDown.
7335
85c6210f
VS
73362011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7337
7338 * configure.ac: Bump version to 1.99.
7339
36084912
VS
73402011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7341
7342 Give ATA device a bit more time on first try in order to allow disks
7343 to spin up.
7344
7345 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
7346 if dev->present is 1. Reset dev->present on failure.
7347 (grub_ata_device_initialize): Set dev->present to 1.
7348 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
7349 (grub_ata_device): New member 'present'.
7350
bda0e219
VS
73512011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7352
7353 * util/grub-mkimage.c (generate_image): Update hash.
7354
19e1c41b
VS
73552011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7356
7357 Flush caches on DMA memory.
7358
7359 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
7360 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
7361 (grub_dma_free): Likewise.
7362 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
7363
91bbcc0c
VS
73642011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7365
7366 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
7367 to avoid asm treating ld and sd as macros.
7368
60ddfad3
VS
73692011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7370
7371 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
7372 decompressor.
7373
a298aa04
VS
73742011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7375
7376 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
7377 grub_decompress_core since later would fail if grub_decompress_core
7378 is too far.
7379
9b44feca
VS
73802011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7381
7382 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
7383 R_MIPS_JALR since it's used by newer compiler.
7384
56dbe7b4
VS
73852011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7386
7387 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
7388
52856af2
VS
73892011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7390
7391 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
7392 file_path to 0 for surety.
7393 (grub_chainloader_boot): Set exit_data to NULL.
7394 Unset the loader once done.
7395 (grub_cmd_chainloader): Fix confusing error message if file is empty.
7396
9c9bfc6d
VS
73972011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7398
7399 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
7400 unknown key into a dprintf.
7401
dd94a3df
VS
74022011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7403
7404 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
7405 on first non-existant partition.
7406
fa68d99c
VS
74072011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7408
7409 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
7410 openning fails.
7411 Reported by: Mark Korenberg.
7412
157effb7
VS
74132011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7414
7415 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
7416 overflow.
7417
ea75312f
VS
74182011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7419
7420 * util/grub-mkimage.c (main): Explicitely flush and sync the output
7421 before closing to ensure that it will be readable by grub-setup.
7422
072b5d31
VS
74232011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7424
7425 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
7426 (devpath_1): Use MAKE_PIWG_PATH.
7427 (devpath_2): Likewise.
7428 (devpath_3): Likewise.
7429 (devpath_4): Likewise.
7430 (devpath_5): Likewise.
7431 (devpath_6): Likewise.
7432
7433 The appleldr.mod was checked that to be binary identical to previous
7434 version.
7435
7fae0051
Z
74362011-05-05 Zach <mikezackles>
7437
7438 Support 2010 Macbooks.
7439
7440 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
7441 (devs): Add devpath_6.
7442
7c515bee
VS
74432011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7444
7445 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
7446 /dev/random. /dev/urandom is good enough for our purposes (salting).
7447
ed660bd8
VS
74482011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
7451
ee5614b7
VS
74522011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7453
7454 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
7455 hexadecimal.
7456
664889a6
VS
74572011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7458
7459 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
7460 and not 0 on failure.
7461
bd405bbc
CW
74622011-05-03 Colin Watson <cjwatson@ubuntu.com>
7463
7464 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
7465 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
7466 disk; otherwise grub_fs_probe will not fall back to the next
7467 filesystem.
7468 (grub_pxefs_open): Likewise, for consistency.
7469 Reported and tested by: Ezekiel Grave.
7470
4ebff753
CW
74712011-05-03 Colin Watson <cjwatson@ubuntu.com>
7472
7473 * tests/partmap_test.in: Don't hardcode path to parted.
7474 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
7475
8f942553
CW
74762011-05-01 Colin Watson <cjwatson@ubuntu.com>
7477
7478 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
7479 of `ls' to find out which devices are available.
7480
3c62402d
VS
74812011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7482
7483 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
7484 than source address for efi mmap buffer.
7485
723f63f2
VS
74862011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7487
7488 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
7489 wrong action on non-detecting the magic.
7490
68797f92
VS
74912011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7492
7493 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
7494 already supplied by another part of the module (fixes compilation on
7495 FreeBSD).
7496
6be8715d
VS
74972011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7498
7499 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
7500 match the one used by mdadm.
7501
e91dba5b
CW
75022011-04-21 Colin Watson <cjwatson@ubuntu.com>
7503
7504 * po/README: Add instructions for creating po/LINGUAS.
7505
c85140b3
CW
75062011-04-21 Colin Watson <cjwatson@ubuntu.com>
7507
7508 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
7509 #551428.
7510
7511 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
7512 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
7513 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
7514 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
7515 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
7516 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
7517 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
7518 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
7519 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
7520 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
7521 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
7522 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
7523 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
7524 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
7525 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
7526 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
7527 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
7528 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
7529 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
7530 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
7531 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
7532 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
7533
92051871
CW
75342011-04-21 Colin Watson <cjwatson@ubuntu.com>
7535
7536 * grub-core/kern/emu/getroot.c
7537 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
7538 test that was incorrectly reintroduced in r3214.
7539 Reported by: Ian Dall. Fixes Savannah bug #33133.
7540
b13f79a4
CW
75412011-04-21 Colin Watson <cjwatson@ubuntu.com>
7542
7543 Fix stack pointer handling in 16-bit relocator.
7544
7545 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
7546 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
7547 Fixes Ubuntu bug #683904.
7548
9b710a88
VS
75492011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7550
7551 * configure.ac: Bump version to 1.99~rc2.
7552
d97e7b59
VS
75532011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7554
7555 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
7556 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
7557 * grub-core/lib/x86_64/setjmp.S: Likewise.
7558 * grub-core/lib/mips/setjmp.S: Likewise.
7559 * grub-core/lib/powerpc/setjmp.S: Likewise.
7560 * grub-core/lib/sparc64/setjmp.S: Likewise.
7561
0624551c
VS
75622011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7563
7564 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
7565 * grub-core/lib/efi/datetime.c: Likewise.
7566
e8f28d4c
VS
75672011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
7570 New function.
7571 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
7572 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
7573 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
7574
bba79a15
VS
75752011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
7578 bitmap.
7579 (grub_gfxterm_term_init): Likewise.
7580
abc474ef
VS
75812011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7582
7583 Take into account the decorations the computing menu entry width.
7584
7585 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
7586 (grub_gfxmenu_create_box): Register get_border_width.
7587 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
7588 if available.
7589 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
7590 get_border_width.
7591
e74b3947
EP
75922011-04-18 Endres Puschner <code@e7p.de>
7593
7594 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
7595 Don't skip first class.
7596
34faa595
VS
75972011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7598
7599 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
7600 chunks.
7601 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
7602
93a777e3
VS
76032011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7604
7605 Complete 64-bit division support.
7606
7607 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
7608 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
7609 * include/grub/misc.h (grub_divmod64): Rename to ...
7610 (grub_divmod64_full): ... this.
7611 (grub_divmod64): New inline function.
7612
a5102d94
VS
76132011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7614
7615 * util/grub-mkimage.c (generate_image): Add forgotten comma.
7616
f3fb7b36
VS
76172011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7618
7619 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
7620 performing the necessary test.
7621
9ac718b0
VS
76222011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
7625 (kfreebsd.elf): Likewise.
7626 (pc-chainloader.elf): Likewise.
7627 (ntldr.elf): Likewise.
7628
50d2cc5a
VS
76292011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7630
7631 Identify RAID by its UUID rather than (guessed) name.
7632
7633 * grub-core/disk/raid.c (ascii2hex): New function.
7634 (grub_raid_open): Accept mduuid/%s specification.
7635 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
7636 (get_mdadm_uuid): ... this.
7637 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
7638
e03f7bea
VS
76392011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
7640
7641 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
7642 to negative size.
7643
e74c3112
CW
76442011-04-13 Colin Watson <cjwatson@ubuntu.com>
7645
7646 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
7647 btrfs subvolume.
7648 * util/grub.d/20_linux_xen.in: Likewise.
7649
78fa584f
CW
76502011-04-13 Colin Watson <cjwatson@ubuntu.com>
7651
7652 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
7653 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
7654
7655 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
7656 Build a list of relevant visible mounts using the mnt_id and
7657 parent_mnt_id fields, and then scan that list at the end.
7658
9d5f8162
CW
76592011-04-12 Colin Watson <cjwatson@ubuntu.com>
7660
7661 * docs/grub.texi (normal): New section.
7662 (normal_exit): New section.
7663 (Embedded configuration): Add reference to normal.
7664 (GRUB only offers a rescue shell): Likewise.
7665 * docs/grub-dev.texi (Error Handling): Fix typo.
7666
09a9d66f
CW
76672011-04-12 Colin Watson <cjwatson@ubuntu.com>
7668
7669 * NEWS: Drop obsolete entry about probe-only btrfs support.
7670
0c676933
CW
76712011-04-12 Colin Watson <cjwatson@ubuntu.com>
7672
7673 * util/import_gcry.py: Fix typo.
7674
ec9f5e0d
VS
76752011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7676
7677 * NEWS: Add btrfs support.
7678
fe6b2cba
VS
76792011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
76802011-04-11 Colin Watson <cjwatson@ubuntu.com>
7681
7682 BtrFS support. Written by me (Vladimir) with important bugfixes and
7683 even more important testing by Colin.
7684
7685 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
7686 * grub-core/Makefile.core.def (btrfs): Add crc.c.
7687 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
7688 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
7689 mem_input_off and mem_input. All users updated to accept in-RAM input.
7690 (gzio_seek): New function.
7691 (test_zlib_header): Likewise.
7692 (grub_gzio_read): Likewise.
7693 (grub_zlib_decompress): Likewise.
7694 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
7695 Accept partial and non-virtual mounts.
7696 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
7697 avoid receiving /dev/dm-X as device.
7698 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
7699 Handle bind and partial mounts.
7700 * grub-core/lib/crc.c: New file.
7701 * include/grub/deflate.h: Likewise.
7702 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
7703 proto.
7704 * include/grub/lib/crc.h: New file.
7705
e745cf0c
VS
77062011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7707
7708 Implement automatic module license checking according to new GNU
7709 guidelines.
7710
7711 * grub-core/kern/dl.c (grub_dl_check_license): New function.
7712 (grub_dl_load_core): Use grub_dl_check_license.
7713 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
7714 (GRUB_MOD_LICENSE): Likewise.
7715 (GRUB_MOD_DUAL_LICENSE): Likewise.
7716 All modules updated.
7717
2a9bc016
CW
77182011-04-11 Colin Watson <cjwatson@ubuntu.com>
7719
7720 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
7721 reserved_first_sector to 1. btrfs reserves plenty of space for boot
7722 loaders.
7723 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
7724
8a3bc88e
VS
77252011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7726
7727 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
7728
af869a4a
VS
77292011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7730
7731 * util/grub-fstest.c (read_file): Report GRUB error if file opening
7732 failed.
7733
9ee8d94f
VS
77342011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7735
7736 * grub-core/kern/file.c (grub_file_open): Don't take into account the
7737 parenthesis in the middle of the filename.
7738
b01abe3e
VS
77392011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7740
7741 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
7742 rather than trying to put initrd way too high.
7743 Reported by: Ryan Lortie <desrt@desrt.ca>
7744
335bda1e
VS
77452011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
7748 improperly removed string.
7749
5ca1a64d
VS
77502011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7751
7752 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
7753 is_disk.
7754 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
7755 (open_device) Likewise.
7756 (grub_util_biosdisk_close): Likewise.
d8ce9995 7757 Reported by: Mark Korenberg.
5ca1a64d 7758
cbac5b1e
AK
77592011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
7760
7761 * util/grub-mkconfig_lib.in: Add missing quotes.
7762
088cdb65
CW
77632011-04-10 Colin Watson <cjwatson@ubuntu.com>
7764
7765 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
7766 is NULL.
7767
8b8a81fa
VS
77682011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7769
7770 Dynamically count the number of lines for the lower banner.
7771
7772 * grub-core/normal/menu_entry.c (per_term_screen): New member
7773 num_entries.
7774 (print_down): Use num_entries.
7775 (update_screen): Likewise.
7776 (grub_menu_entry_run): Set num_entries.
7777 * grub-core/normal/menu_text.c (menu_viewer_data): New member
7778 num_entries.
7779 (grub_print_message_indented): Move real part to ...
7780 (grub_print_message_indented_real): ... here. Additional argument
7781 dry_run.
7782 (draw_border): Additional argument num_entries.
7783 (print_message): Additional argument dry_run.
7784 (print_entries): Receive menu viewer data.
7785 (grub_menu_init_page): New argment num_entries.
7786 (menu_text_set_chosen_entry): Use num_entries.
7787 (grub_menu_try_text): Likewise.
7788 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
7789 All users updated.
7790 (grub_ucs4_count_lines): New function.
7791 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
7792 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
7793 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
7794 (grub_term_border_height): Likewise.
7795 (grub_term_num_entries): Likewise.
7796
277f955b
VS
77972011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7798
7799 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
7800 Remove now unused string.
7801
536ce85a
CW
78022011-04-09 Colin Watson <cjwatson@ubuntu.com>
7803
7804 * docs/grub-dev.texi (Finding your way around): Update for 1.99
7805 build system.
7806 (Getting started): GRUB is developed in Bazaar now, not Subversion.
7807
7808 (Comment): Fix typo.
7809 (Getting started): General copy-editing.
7810 (Typical Development Experience): Likewise.
7811 (Error Handling): Likewise.
7812 (Video API): Likewise.
7813
2cf09e32
CW
78142011-04-09 Colin Watson <cjwatson@ubuntu.com>
7815
7816 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
7817 throughout.
7818
1ec652f4
VS
78192011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7820
7821 * util/grub-mkimage.c (main): Handle special naming of yeeloong
7822 directory.
7823
2c583728
CW
78242011-04-08 Colin Watson <cjwatson@ubuntu.com>
7825
7826 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
7827 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
7828 "development".
7829
d7a565e9
VS
78302011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7831
7832 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
7833 grub_strcpy since the lines aren't necessarily 0-terminated.
7834
7c2e4909
VS
78352011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7836
7837 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
7838 root on legacy.
7839
34c09785
VS
78402011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7841
7842 * grub-core/commands/probe.c (options): Argument to set isn't optional.
7843 (GRUB_MOD_INIT): DEVICE isn't optional.
7844
6a6f8058
VS
78452011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
7848 word on new line if it's too long anyway. Fixes a hang.
7849
2e335e90
VS
78502011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7851
7852 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
7853 const.
7854 * util/grub-setup.c (main): Reuse md device name if available.
7855 * util/raid.c (grub_util_raid_getmembers): Receive device name and
7856 not GRUB name as argument.
7857 Based on patch by: Florian Wagner <fwagner>.
7858
10a7a867
VS
78592011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7860
7861 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7862 Place mbi on low memory for better compatibility.
7863
7a3d6cd9
VS
78642011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7865
7866 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
7867
18dd6b47
VS
78682011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
78692011-04-08 Colin Watson <cjwatson@ubuntu.com>
7870
7871 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 7872 * conf/Makefile.common: Likewise.
18dd6b47 7873
3c0e3f14
VS
78742011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7875
f7148863
VS
7876 * grub-core/normal/menu.c: Add missing include.
7877
78782011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7879
7880 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 7881
6d1fa41f
MZ
78822011-04-08 Martin Zuther <mzuther@mzuther.de>
7883
7884 * util/grub-mkconfig.in: Ignore emacsen backup.
7885
478182a8
VS
78862011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7887
7888 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
7889 on open.
7890 (grub_util_biosdisk_close): Likewise.
7891
72a89a54
VS
78922011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7893
7894 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
7895 const attribute and use grub_isdigit.
7896
b5ebecfa
A
78972011-04-06 Andrey <dev_null@ukr.net>
7898
7899 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
7900 gcc warning.
7901
7755f66e
VS
79022011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7903
7904 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
7905 useful grub_dprintf's.
7906
461121ff
VS
79072011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7908
7909 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
7910
2a961775
VS
79112011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7912
7913 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
7914
adf594cc
VS
79152011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7916
7917 Output errors if theme loading failed.
7918
7919 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
7920 grub_gfxterm_fullscreen on error paths to ...
7921 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
7922 theme loading error.
7923
665900a3
VS
79242011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7925
7926 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
7927 space for older compilers.
7928 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7929
a562b479
VS
79302011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7931
7932 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
7933 and report them as not RAID members since they are useless for GRUB.
7934 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7935
850e9373
VS
79362011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7937
7938 Increase LVM implementation robustness in order not to crash on
7939 configurations like pvmove. Previously code assumed that in some places
7940 only lvs or only pvs are used whereas it seems that they are used
7941 interchangeably.
7942
7943 * grub-core/disk/lvm.c (read_node): New function.
7944 (read_lv): Use read_node.
7945 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
7946 Match volumes only at the end when all lvs are found. Take both
7947 pvs (first) and lvs (second) into account.
7948 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
7949 mirror_* into node_*. All users updated.
7950 (grub_lvm_stripe): Merge this ...
7951 (grub_lvm_mirror): ... and this ...
7952 (grub_lvm_node): ... into this. All users updated.
7953
6f332153
VS
79542011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7955
7956 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
7957 of function to allow further scanning for LVMs.
7958
829ea451
VS
79592011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
7962 on failed seek as it breaks open fd reusage.
7963
09ceb9a5
VS
79642011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7965
7966 * util/grub-install.in: Add a recommendation to use --recheck before
7967 reporting bugs.
7968
67e11623
VS
79692011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7970
7971 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
7972 are obtained.
7973
caee5efd
VS
79742011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7975
7976 GRUB developper manual based on existing Internals section and
7977 contributions by the various authors with active copyright assignment.
7978
7979 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
7980 * docs/font_char_metrics.png: New file.
7981 * docs/font_char_metrics.txt: Likewise.
7982 * docs/grub-dev.texi: Likewise.
7983 * docs/grub.texi (Internals): Move from here ...
7984 * docs/grub-dev.texi: ... here.
7985
2cccc747
CW
79862011-04-01 Colin Watson <cjwatson@ubuntu.com>
7987
7988 Store the loopback device as data on loopback grub_disk structures,
7989 rather than the file it points to. This fixes use of freed memory
7990 if an existing loopback device is replaced.
7991
7992 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
7993 disk->data, not dev->file.
7994 (grub_loopback_read): Adjust file assignment to match.
7995 Fixes Ubuntu bug #742967.
7996
186ae367
CW
79972011-04-01 Colin Watson <cjwatson@ubuntu.com>
7998
7999 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
8000 when replacing an existing device.
8001
cfed2ad0
VS
80022011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8003
8004 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
8005 memory corruptions.
8006
8007 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
8008 unsigned.
8009 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
8010 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
8011 (grub_jfs_read_inode): Likewise.
8012 (grub_jfs_opendir): Likewise. Remove now useless casts.
8013 (grub_jfs_getent): Likewise.
8014 Make ino a grub_uint32_t rather than int.
8015 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
8016 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
8017 division and module with bit operations.
8018 (grub_jfs_find_file): Make ino a grub_uint32_t.
8019 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
8020
05d2ed32
CW
80212011-04-01 Colin Watson <cjwatson@ubuntu.com>
8022
8023 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
8024 warning. (This was in fact always initialised before use, but GCC
8025 wasn't smart enough to prove that.)
8026 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
8027
91dc6073
VS
80282011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8029
8030 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
8031 stack alignment.
8032 (efi_wrap_1): Likewise.
8033 (efi_wrap_2): Likewise.
8034 (efi_wrap_3): Likewise.
8035 (efi_wrap_4): Likewise.
8036 (efi_wrap_5): Likewise.
8037 (efi_wrap_6): Likewise.
8038 (efi_wrap_10): Likewise.
8039 Based on information by: Red Hat/Peter Jones.
8040
a8afc1d1
CW
80412011-03-31 Colin Watson <cjwatson@ubuntu.com>
8042
8043 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
8044 set-but-not-used variable.
8045
a826cc7d
CW
80462011-03-31 Colin Watson <cjwatson@ubuntu.com>
8047
8048 * docs/grub.texi (Simple configuration): Be more explicit about
8049 GRUB_DEFAULT, and add an example.
8050 Reported by: Leslie Rhorer.
8051
875b67ba
CW
80522011-03-30 Colin Watson <cjwatson@ubuntu.com>
8053
8054 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
8055 shell".
8056
fd7cd914
AS
80572011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
8058
8059 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
8060 * util/grub.d/20_linux_xen.in: Likewise.
8061
090b1b6a
VS
80622011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8063
8064 * util/grub.d/10_linux.in: Try alternative config filenames where
8065 we parse config file.
8066 * util/grub.d/20_linux_xen.in: Likewise.
8067
baad885c
AS
80682011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
8069
8070 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
8071 * util/grub.d/20_linux_xen.in: Likewise.
8072
241e41f5
VS
80732011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8074
8075 * grub-core/disk/raid.c (insert_array): Add few potentially
8076 useful grub_util_info.
8077 (grub_raid_register): Likewise.
8078
56445fb2
VS
80792011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8080
8081 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
8082 Preserve partition number in mdadm code path.
8083
c871b1c6
VS
80842011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8085
8086 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
8087 few potentially useful grub_util_info.
8088
5e631b4f
CW
80892011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8090
8091 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
8092
2d5d0333
CW
80932011-03-30 Colin Watson <cjwatson@ubuntu.com>
8094
8095 * docs/grub.texi (default): Use @example rather than nested
8096 itemized lists to avoid breaking gendocs.
8097
3d7ed04e
CW
80982011-03-30 Colin Watson <cjwatson@ubuntu.com>
8099
8100 * docs/grub.texi (Future): Update.
8101
abf04200 81022011-03-30 Colin Watson <cjwatson@ubuntu.com>
8103
8104 * docs/grub.texi (Environment): New chapter.
8105 (Changes from GRUB Legacy): Link to "Environment block" section for
8106 details of limitations.
8107 (Simple configuration): Likewise. Link to documentation of gfxmode
8108 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
8109 respectively.
8110 (Shell-like scripting): Note that normal variables are stored in the
8111 environment.
8112 (gettext): Link to documentation of lang and locale_dir.
8113 (list_env): New section.
8114 (load_env): New section.
8115 (save_env): New section.
8116
8117 (Reporting bugs): Fix typo.
8118
e1ad0edd
VS
81192011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8120
8121 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
8122 the example.
8123
5d803174
VS
81242011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8125
8126 * grub-core/term/at_keyboard.c (set_scancodes)
8127 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
8128
2a2da1d0
CW
81292011-03-30 Colin Watson <cjwatson@ubuntu.com>
8130
8131 * docs/grub.texi (Menu-specific commands): Remove some semantics
8132 that were true in GRUB Legacy but not in GRUB 2.
8133 (submenu): New section.
8134 (false): New section.
8135 (read): New section.
8136 (true): New section.
8137
a7527639
CW
81382011-03-30 Colin Watson <cjwatson@ubuntu.com>
8139
8140 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
8141
81422011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
8143
8144 * docs/grub.texi (Simple configuration): Explain some of the
8145 current limitations of grub-mkconfig.
8a748df2 8146 Reported by: Leslie Rhorer.
e30af029 8147
fc858482
VS
81482011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 Old macs search for boot.efi rather than for bootia32.efi.
8151
8152 * util/grub-install.in: Copy bootia32.efi to boot.efi.
8153 * util/grub-mkrescue.in: Likewise.
8154 Suggested by: Peter Jones.
8155
e1eb511d
VS
81562011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8157
8158 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
8159
70e75364
VS
81602011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8161
8162 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
8163 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
8164 (grub_lvm_mirror): New struct.
8165 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
8166 (grub_lvm_iterate): Iterate only visible volumes.
8167 (grub_lvm_read): Factor out to ..
8168 (read_lv): ... this. Support mirrors.
8169 (grub_lvm_read): New wrapper function.
8170 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
8171 stripped or mirrored.
8172
fc18f6a3
VS
81732011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8174
8175 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
8176
5c650f4c
CW
81772011-03-29 Colin Watson <cjwatson@ubuntu.com>
8178
8179 * docs/grub.texi (loopback): New section.
8180
61d7156b
CW
81812011-03-29 Colin Watson <cjwatson@ubuntu.com>
8182
8183 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
8184 removed -p option.
8185
994b8264
CW
81862011-03-29 Colin Watson <cjwatson@ubuntu.com>
8187
8188 * docs/grub.texi (BIOS installation): New section, partly based on
8189 previous text in other sections.
8190 (Installing GRUB using grub-install): Replace BIOS discussion with a
8191 cross-reference.
8192 (Images): Likewise.
8193
9e4d19e0
VS
81942011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8195
8196 * grub-core/kern/emu/hostdisk.c (find_partition_start)
8197 [HAVE_DIOCGDINFO]: Add safety checks.
8198
a307c0b2
VS
81992011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8200
8201 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
8202 per default compiled in kernel and prior to 8.0 isn't shipped at all.
8203
b4db4f39
CW
82042011-03-29 Colin Watson <cjwatson@ubuntu.com>
8205
8206 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
8207 real_sb->size is zero (e.g. RAID-0), get the disk size from
8208 real_sb->data_size instead.
8209 Fixes Ubuntu bug #743136.
8210
35e5f84c
VS
82112011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8212
8213 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
8214 printf clauses for printing size and start.
8215
d2e29d81
VS
82162011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8217
8218 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
8219 Reported and tested by: Timothy Nikkel.
8220
ed5587af
VS
82212011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8222
8223 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
8224 (dirty_region_add_real): ... this.
8225 (dirty_region_add): Don't discard margin refresh when performing
8226 scheduled repaint.
8227
a1dc717c
VS
82282011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8229
8230 * grub-core/lib/relocator.c (allocate_regstart)
8231 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
8232 terminals are capabple of malloc-free operation.
8233 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
8234 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
8235
9f3677d3
VS
82362011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
8237
8238 * util/grub-setup.c: Copy the partition table zone if floppy support
8239 is disabled, even if no partition table is found.
8240
8241 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
8242 during POST if an invalid partition table is contained in the PBR
8243 of the active partition when GRUB is installed to a partition.
8244
24148725
CW
82452011-03-28 Colin Watson <cjwatson@debian.org>
8246
8247 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
8248 comment.
8249
f329eda7
CW
82502011-03-28 Colin Watson <cjwatson@debian.org>
8251
8252 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
8253 to be specific about what kind of RAID device we're scanning for.
8254
c482ad98
SG
82552011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
8256
8257 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
8258 return freed string.
8259
5ee04984
VS
82602011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8261
8262 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
8263
f4727da9
VS
82642011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8265
8266 Use libgeom on FreeBSD to detect partitions.
8267
8268 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
8269 (grub-mkrelpath): Likewise.
8270 (grub-script-check): Likewise.
8271 (grub-editenv): Likewise.
8272 (grub-mkpasswd-pbkdf2): Likewise.
8273 (grub-fstest): Likewise.
8274 (grub-mkfont): Likewise.
8275 (grub-mkdevicemap): Likewise.
8276 (grub-probe): Likewise.
8277 (grub-setup): Likewise.
8278 (grub-ofpathname): Likewise.
8279 (grub-mklayout): Likewise.
8280 (example_unit_test): Likewise.
8281 (grub-menulst2cfg): Likewise.
8282 * grub-core/Makefile.core.def (grub-emu): Likewise.
8283 (grub-emu-lite): Likewise.
8284 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
8285 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
8286 define HAVE_DIOCGDINFO.
8287 (follow_geom_up) [FreeBSD]: New function.
8288 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
8289 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
8290 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
8291 unconditionally of HAVE_DIOCGDINFO.
8292
82fe6c75
VS
82932011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8294
8295 Fix FreeBSD compilation problem.
8296
8297 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
8298 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
8299
4c6c9431
CW
83002011-03-24 Colin Watson <cjwatson@ubuntu.com>
8301
8302 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
8303 Switch back to page zero before loading a kernel, since some kernel
8304 drivers expect that.
8305 Thanks to: Felix Kuehling.
8306
c7064d94
VS
83072011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8308
8309 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
8310 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
8311 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
8312
3f71cded
VS
83132011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
8316 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
8317
ef6de21a
VS
83182011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
8321 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
8322 malloc is disabled.
8323
8bc66a2c
VS
83242011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8325
8326 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
8327 for modules headers when counting the needed allocation size.
8328
5657722c
VS
83292011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8330
8331 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
8332 if no ASCII character is found to prevent crash.
8333
41a85f55
AK
83342011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
8335
8336 * grub-core/video/bitmap.c (match_extension): Ignore case.
8337
59e1e5f1
VS
83382011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8339
8340 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
8341
bd4d051a
VS
83422011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8343
8344 * grub-core/script/parser.y: Declare "time" as valid argument.
8345
bae7fcc1
PJ
83462011-03-23 Peter Jones <pjones@redhat.com>
8347
8348 Fix incorrect assert failure reporting.
8349
8350 * grub-core/tests/example_functional_test.c (example_test): Add
8351 a failure comment.
8352 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
8353 (failure_start): ...this. Check that malloc succeeded.
8354 Don't call xvasprintf. Return failure struct.
8355 (failure_append_vtext): New function.
8356 (failure_append_text): Likewise.
8357 (add_failure): Likewise.
8358 (grub_test_assert_helper): Likewise.
8359 * include/grub/test.h (grub_test_assert_helper): New declaration.
8360 (grub_test_assert): Macro rewritten.
8361
537dc9be
VS
83622011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
8365
fa3e01bf
VS
83662011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8367
8368 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
8369
b1d28404
VS
83702011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8371
8372 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
8373 into GRUB-style one.
8374
2e3e2e09
VS
83752011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8376
8377 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
8378 error and not grub_errno.
8379 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
8380
ed57e557
VS
83812011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8382
8383 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
8384 GRUB_USB_SPEED_NONE in case of failure and not the error code.
8385
d1611f01
VS
83862011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8387
8388 * grub-core/efiemu/i386/pc/cfgtables.c
8389 (grub_machine_efiemu_init_tables): Make declaration a prototype.
8390 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
8391 (grub_xnu_unlock): Likewise.
8392 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
8393
7d4e39d6
VS
83942011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8395
8396 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
8397 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
8398 * grub-core/commands/hashsum.c (aliases): Likewise.
8399 * grub-core/commands/setpci.c (pci_registers): Likewise.
8400 * grub-core/disk/usbms.c (attach_hook): Likewise.
8401 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
8402 (zio_checksum_table): Likewise.
8403 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
8404 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
8405 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
8406 * grub-core/lib/relocator.c (leftovers): Likewise.
8407 (extra_blocks): Likewise.
8408 * grub-core/loader/i386/bsd.c (relocator): Likewise.
8409 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
8410 (modules_last): Likewise.
8411 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
8412 (devices): Likewise.
8413 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
8414 (modules_last): Likewise.
8415 * grub-core/normal/auth.c (users): Likewise.
8416 * grub-core/normal/context.c (initial_menu): Likewise.
8417 (current_menu): Likewise.
8418 * grub-core/normal/crypto.c (crypto_specs): Likewise.
8419 * grub-core/term/serial.c (grub_serial_ports): Likewise.
8420 (grub_serial_terminfo_input_template): Likewise.
8421 (grub_serial_terminfo_output_template): Likewise.
8422 (grub_serial_terminfo_input): Likewise.
8423 (grub_serial_terminfo_output): Likewise.
8424 (registered): Likewise.
8425 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
8426
40fc4659
VS
84272011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8428
8429 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
8430 grub_video_mode_type_t.
8431 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
8432 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
8433 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
8434
2da48d28
VS
84352011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8436
8437 * util/grub-install.in: Correct the x86-64 name as x86_64.
8438
9b43bf39
CW
84392011-03-11 Colin Watson <cjwatson@ubuntu.com>
8440
8441 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
8442 initial chunk read from the kernel always includes GRUB's multiboot
8443 header, which is now outside the first sector.
8444
be1a7ce0
CW
84452011-03-09 Colin Watson <cjwatson@ubuntu.com>
8446
8447 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
8448 cached mmap_size, so that this works correctly when called multiple
8449 times.
8450 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
8451
83a3c48d
CW
84522011-03-09 Colin Watson <cjwatson@ubuntu.com>
8453
8454 * docs/grub.texi (Simple configuration): Tidy up formatting.
8455
57d75699
SJ
84562011-03-07 Szymon Janc <szymon@janc.net.pl>
8457
8458 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
8459 Set-but-not-used variable removed.
8460
028501a0
VS
84612011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8462
8463 Workaround yet another IEEE1275 bug.
8464
8465 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8466 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
8467 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
8468 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
8469 is set.
8470 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8471 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
8472
d998657d
VS
84732011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8474
8475 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
8476 error.
8477
fee7cdd4
CW
84782011-02-11 Colin Watson <cjwatson@ubuntu.com>
8479
8480 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
8481 empty, since in that case we can only generate either nothing or a
8482 syntactically invalid configuration file.
8483 Reported by: Michal Suchanek. Fixes Debian bug #612898.
8484
97286eb5
CW
84852011-02-09 Colin Watson <cjwatson@ubuntu.com>
8486
8487 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
8488 (Making a GRUB bootable CD-ROM): Likewise.
8489 (Invoking grub-mkrescue): New section.
8490 Reported by: Yann Dirson. Fixes Debian bug #612585.
8491
22b28eb3
CW
84922011-02-09 Colin Watson <cjwatson@ubuntu.com>
8493
8494 * util/grub-install.in: Remove unnecessary brackets from tr
8495 arguments.
8496 * util/grub.d/10_hurd.in: Likewise.
8497 * util/grub.d/10_kfreebsd.in: Likewise.
8498 * util/grub.d/10_linux.in: Likewise.
8499 * util/grub.d/20_linux_xen.in: Likewise.
8500 Reported by: Jamie Heilman. Fixes Debian bug #612564.
8501
7e735e43
CW
85022011-02-08 Colin Watson <cjwatson@ubuntu.com>
8503
8504 * include/grub/file.h (not_easly_seekable): Rename to ...
8505 (not_easily_seekable): ... this. Update all users.
8506
800f1881
CW
85072011-01-28 Colin Watson <cjwatson@ubuntu.com>
8508
8509 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
8510 grub-mkrescue.
8511
3281d3d6
VS
85122011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8513
8514 * util/grub-mkimage.c (generate_image): Refuse to create the images
8515 bigger than the actual flash (512K) in Loongson machines. 512K is also
8516 the biggest chip supported by them.
8517
3533413c
VS
85182011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8519
8520 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
8521
73ae4f4f
VS
85222011-01-22 Anthony DeRobertis <anthony@derobert.net>
8523
8524 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
8525 super_offset field.
8526
37f4f608
VS
85272011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8528
8529 * util/grub-install.in: Ignore install device on platforms
8530 where it doesn't make sense. Always use UUIDs except on pc, efi and
8531 sparc64.
8532 Reported by: Daniel Kahn Gillmor.
8533
03a4ccb5
VS
85342011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8535
8536 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
8537
ffc8f4d8
VS
85382011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8539
8540 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
8541 (iterate_real): Don't rely on partition being non-NULL.
8542
80f23be7
VS
85432011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8544
8545 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
8546 supported platforms. Put a compile time assert for this rather than
8547 generate a warning with 32-bit shift.
8548
5d4f4dd5
VS
85492011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8550
8551 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
8552 logical expression more readable.
8553
e489601a
VS
85542011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8555
8556 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
8557 even if some elements have a name.
8558 Reported by: Alexander GQ Gerasiov.
8559
96e0a6ea
CW
85602011-01-22 Colin Watson <cjwatson@ubuntu.com>
8561
8562 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
8563 path unreadable if `grub-probe -t abstraction' fails, for example if
8564 memberlist fails on an LVM volume group.
8565 Reported by: Darius Jahandarie.
8566
81431e2b
CW
85672011-01-22 Colin Watson <cjwatson@ubuntu.com>
8568
8569 * docs/grub.texi (Simple configuration): Document
8570 GRUB_PRELOAD_MODULES.
8571
5e79d66a
CW
85722011-01-17 Colin Watson <cjwatson@ubuntu.com>
8573
8574 * .bzrignore: Remove nonexistent grub-pbkdf2.
8575
646ada34
VS
85762011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
8577
8578 * configure.ac: Bump version to 1.99~rc1.
8579
04360337
VS
85802011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
8581
8582 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
8583 for safety.
8584
46c9db88
VS
85852011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8586
8587 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
8588 module.
8589
85902011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
8591
8592 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
8593
4fbf1852
VS
85942011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8595
8596 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
8597 diskdevid.
8598
f1632d4d
VS
85992011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8600
8601 Fix compilation on cygwin.
8602
8603 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
8604 -R .drectve on cygwin.
8605 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
8606 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
8607 (COND_CYGWIN): New condition.
8608 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
8609 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
8610 not @TARGET_OBJ2ELF@.
8611 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
8612 type to determine whether aux is to be used.
8613
0b5e127b
VS
86142011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8615
8616 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
8617 realpath'ed device string.
8618 Handle floppy (somewhat).
8619 Issue error in unknown case rather than garbage.
8620 Reported by: Axel Beckert.
8621
173b71e9
VS
86222011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8623
8624 * util/grub.d/00_header.in (load_video): Handle the case when no video
8625 drivers available.
8626 Thanks to: Axel Beckert.
8627
f8f479db
VS
86282011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8629
8630 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
8631 variable. Fixes problem on big endian platforms.
8632
8fc0a245
VS
86332011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8634
8635 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
8636 It doesn't work well there.
8637
b8494fbe
VS
86382011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
8641 warning.
8642 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
8643 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
8644 counter.
8645
b44a558c
VS
86462011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8647
8648 Use alias->path rather than buggy "canon".
8649
8650 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
8651 (ofdisk_hash_add): New argument curcan. All users updated.
8652
51fa856c
CW
86532011-01-11 Colin Watson <cjwatson@ubuntu.com>
8654
8655 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
8656
9da068a5
VS
86572011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8658
8659 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
8660 loadmask before doing any calculations. Use correct type for offset.
8661 (grub_linux_load64): Likewise.
8662
86205c94
CW
86632011-01-11 Colin Watson <cjwatson@ubuntu.com>
8664
8665 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
8666 with NULL.
8667 (console_grub_equivalences_unshift): Likewise.
8668 Reported by: Daniel Dehennin.
8669
4531a206
VS
86702011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8671
8672 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
8673 (set_env_limn_ro): Likewise.
8674 (GRUB_MOD_INIT): Likewise.
8675 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
8676 ARRAY_SIZE while on it.
8677 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
8678 * grub-core/normal/context.c (grub_env_export): Move from here ...
8679 * grub-core/kern/env.c (grub_env_export): ... here.
8680 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
8681 prefix.
8682 * grub-core/kern/main.c (grub_main): Export root and prefix.
8683 * include/grub/env.h (grub_env_export): Export.
8684 Reported by: Seth Goldberg.
8685
45146057
VS
86862011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
8689 Take into account space used by ELF sections and multiboot palette.
8690 Reported by: Grégoire Sutre.
8691
f093110b
VS
86922011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8693
8694 * BUGS: New file.
8695
3395fe52
VS
86962011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8697
8698 Pass more appropriate video id to Linux.
8699
8700 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
8701 grub_video_get_driver_id and variable gfxpayloadforcelfb to
8702 fill have_vga.
8703 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
8704 shift params->lfb_size.
8705 * include/grub/i386/linux.h: Make an enume out of have_vga values.
8706
c2fa6cbb
VS
87072011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8708
8709 * util/grub-menulst2cfg.c: Add missing include of misc.h.
8710
b3ff6ff0
VS
87112011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
8714 separator and pass bootpath/devid even if only one of them is available.
8715 Reported by: Seth Goldberg.
8716
ae67942e
VS
87172011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8718
8719 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
8720 implementations bug on them.
8721
8722 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
8723 memory.
8724 (filter_memory_map): Likewise.
8725
d570097a
VS
87262011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8727
8728 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
8729 Reported by: nebuchadnezzar.
8730
a508e776
VS
87312011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8732
8733 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
8734 Reported by: nebuchadnezzar.
8735
dcb883b1
VS
87362011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8737
8738 Submenu default support.
8739
8740 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
8741 auto_boot. All users updated.
8742 Declared static.
8743 Handle chosen and default with submenus.
8744 (grub_menu_execute_with_fallback): Declared static.
8745 Don't notify failure if autobooted. Upper level does it.
8746 (menuentry_eq): New function.
8747 (get_entry_number): Use menuentry_eq.
8748 (show_menu): New parameter "autobooted". All users updated.
8749 (grub_show_menu): Likewise.
8750 * include/grub/normal.h (grub_show_menu): Likewise.
8751 * include/grub/menu.h (grub_menu_execute_entry): Removed.
8752 (grub_menu_execute_with_fallback): Likewise.
8753
6fef99b4
VS
87542011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8755
8756 * util/grub-mklayout.c (usage): Update help text.
8757
47a77af5
VS
87582011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8759
8760 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
8761
ce6bb3ee
VS
87622011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8763
8764 * util/grub-menulst2cfg.c (main): Trim the line.
8765
db87be2a
VS
87662011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8767
8768 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
8769 (grub_machine_init): Don't check amount of low memory as reportedly
8770 INT 12h can be broken and if low memory is too low we wouldn't have
8771 gotten into grub_machine_init anyway.
8772
c49849cc
VS
87732011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8774
8775 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
8776 (grub_machine_mmap_iterate): Take low memory into account
8777
b1969b30
VS
87782011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
8781 badfs.
8782 Reported by: TiCPU.
8783
cf0eaf13
VS
87842011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8785
8786 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
8787 members errors.
8788
1f060f39
GS
87892011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
8790
8791 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
8792 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
8793
a21e5672
GS
87942011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
8795
8796 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
8797 openbsd and netbsd types being in part_bsd module.
8798
c88172fa
VS
87992011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8800
8801 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
8802 (_FILE_OFFSET_BITS): Likewise.
8803 Reported by: Seth Goldberg.
8804
53798c4b
GS
88052011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
8806
8807 * configure.ac: Check for libdevmapper header.
8808
e7121b69
VS
88092011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8810
8811 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
8812 avoid aliasing.
8813 (fzap_lookup): Likewise.
8814 (dnode_get): Likewise.
8815 (make_mdn): Likewise.
8816 (zfs_mount): Likewise.
8817 (fzap_iterate): Use temporary pointer to avoid aliasing.
8818 (grub_zfs_read): Likewise.
8819 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
8820 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
8821 pointers to avoid aliasing.
8822 (grub_cmd_xnu_kernel64): Likewise.
8823 (grub_xnu_load_driver): Likewise.
8824
fc836af9
VS
88252011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8826
8827 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
8828 aliasing warning.
8829 (grub_cmd_terminal_output): Likewise.
8830 Reported and tested by: Grégoire Sutre.
8831
f9f37648
VS
88322011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8833
8834 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
8835 warning.
8836 Reported and tested by: Grégoire Sutre.
8837
ec1dfd63
VS
88382011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8839
8840 * configure.ac: Do CPU substitution even if it's specified explicitly.
8841 Reported and tested by: Alain Greppin.
8842
9462775a
VS
88432011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8844
8845 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
8846 Reported and tested by: Alain Greppin.
8847
0fd48e35
VS
88482011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8849
8850 Satisfy some bison versions need for inttypes.h.
8851
8852 * grub-core/lib/posix_wrap/inttypes.h: New file.
8853 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
8854 (int16_t): Likewise.
8855 (int32_t): Likewise.
8856 (int64_t): Likewise.
8857 Reported and tested by: Alain Greppin.
8858
43f1bc83
VS
88592011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
8862 Silence spurious warning.
8863 Reported and tested by: Alain Greppin.
8864
64d1f041
SJ
88652011-01-07 Szymon Janc <szymon@janc.net.pl>
8866
8867 * docs/grub.texi (Support automatic decompression): Update with xz
8868 decompression support.
8869
25953e10
SJ
88702011-01-07 Szymon Janc <szymon@janc.net.pl>
8871
8872 Improve loaders' kernel command line handling.
8873
8874 * grub-core/lib/cmdline.c: New file.
8875 * include/grub/lib/cmdline.h: Likewise.
8876 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
8877 grub_create_loader_cmdline to create kernel command line.
8878 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8879 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
8880 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
8881 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
8882 (linux): Add lib/cmdline.c on common.
8883
e72d259f
VS
88842011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8885
8886 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
8887 inopos might be unaligned.
8888
c0cf26da
VS
88892011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8890
8891 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
8892 endian transformations.
8893 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8894 Based on report by: Doug Nazar.
8895
0ca09e6c
DN
88962011-01-07 Doug Nazar <nazard.michi@gmail.com>
8897
8898 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
8899 array->members[i].start_sector.
8900 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
8901
014b6806
VS
89022011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8903
8904 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
8905 Reported and tested by: Grégoire Sutre.
8906
415502c2
CW
89072011-01-06 Colin Watson <cjwatson@ubuntu.com>
8908
8909 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
8910 avoid causing test failures by clearing the screen.
8911
71b6a2b7
CW
89122011-01-06 Colin Watson <cjwatson@ubuntu.com>
8913
8914 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
8915 Fix prefix check to handle the case where dir ends with a slash
8916 (most significantly, "/" itself).
8917 Reported by: Michael Vogt.
8918
b3f8d28a
VS
89192011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8920
8921 Run terminfo_cls on initing terminfo output to clear the screen and
8922 move the cursor to (0,0).
8923
8924 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
8925 Call grub_terminfo_output_init.
8926 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
8927 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
8928 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
8929
4c3e4f37
VS
89302011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8931
8932 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
8933 only when needed.
8934
488f71f1
VS
89352011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8936
8937 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
8938 CTRL.
8939
18a38098
VS
89402011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8941
8942 The E820 type 5 is BADRAM, not EXEC_CODE.
8943
8944 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
8945 (GRUB_E820_BADRAM): New define.
8946 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
8947 into reserved. Propagate BADRAM.
8948 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
8949 (GRUB_E820_BADRAM): New define.
8950
9eae2084
VS
89512011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8952
8953 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
8954 Ignore the memory post-4G.
8955 (grub_relocator_firmware_alloc_region): Additional debug statement.
8956
ebc71d28
VS
89572011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8958
8959 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
8960 names.
8961 Reported by: David Pravec.
8962
446fa400
VS
89632011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8964
8965 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
8966 BIOSes.
8967
a0159f37
VS
89682011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8969
8970 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
8971 Prevent overflow.
8972 (grub_reed_solomon_recover): Likewise.
8973
e5146ca1
VS
89742011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8975
8976 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
8977
89782011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
8979
8980 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
8981 variable.
8982
5b1bdf12
CW
89832011-01-04 Colin Watson <cjwatson@ubuntu.com>
8984
8985 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
8986 descriptions of extract_legacy_entries_source and
8987 extract_legacy_entries_configfile.
8988 Reported by: Seung Soo, Ha.
8989
99d925aa
CW
89902011-01-03 Colin Watson <cjwatson@ubuntu.com>
8991
8992 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
8993 on devices that do not implement function 0.
8994
4af0504b
DV
89952011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
8996
8997 * grub-core/fs/hfsplus.c: Make parent unsigned.
8998 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
8999 overflows.
9000 (grub_hfsplus_cmp_extkey): Likewise
9001
469ee10a
VS
90022011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
9003
9004 * util/grub-install.in: Correctly use bootloader_id and not
9005 GRUB_DISTRIBUTOR on efibootmgr line.
9006
323a8e9c
VS
90072011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
9010
1b394975
IC
90112010-12-31 Ian Campbell <ijc@hellion.org.uk>
9012
9013 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
9014 Xen and reorder menu item wording to make it clearer that this entry
9015 will launch Xen. Print separate messages when loading Xen and
9016 Linux.
9017
275bff5f
VS
90182010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9019
9020 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
9021 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
9022 loop in case of incorrect amiga partmap.
9023
307806cb
VS
90242010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9025
9026 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
9027 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
9028 Reported by:EHeM.
9029
b12b923e
VS
90302010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9031
9032 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
9033 spurious warning.
9034 Reported by: crocket
9035
14b48a19
VS
90362010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9037
9038 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
9039 Preload EFIemu.
9040 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
9041
693db2df
VS
90422010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9043
9044 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
9045 is loaded
9046 (grub_cmd_xnu_kextdir): Likewise.
9047 (grub_cmd_xnu_splash): Likewise.
9048
c7638645
VS
90492010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9050
9051 Avoid using Reed-Solomon with 0 redundancy.
9052
9053 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
9054 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
9055 or 0 redundancy.
9056 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
9057 (grub_reed_solomon_recover): Likewise.
9058
25dd4780
VS
90592010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9060
9061 Don't use disk subsystem in freebsd_boot.
9062
9063 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
9064 (freebsd_biosdev): Likewise.
9065 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
9066 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
9067
0b2db943
VS
90682010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9069
9070 Handling of files of unknown size is currently limited. They can't be
9071 used e.g. for initrd or modules. Moreover gzip handling of not
9072 easily seekable files is buggy. Disable unknown file size for now. May
9073 be inefficient but works.
9074
9075 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
9076 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
9077
5c408d0f
MP
90782010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
9079
9080 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
9081 floppy probe.
9082
190a011a
JD
90832010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
9084
9085 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
9086
022d01b8
SL
90872010-12-25 Shea Levy <shlevy>
9088
9089 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
9090
c4855fdc
VS
90912010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9092
9093 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
9094 Windows Server 2008.
9095 Reported by: Devin Giddings.
9096
0354b867
VS
90972010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9098
9099 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
9100 writing an error message because of async power management.
9101 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
9102 (grub_reboot): Likewise.
9103
ab66c69f
JU
91042010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
9105
9106 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
9107 keep unit tests from failing when they shouldn't.
9108
1426ef35
CW
91092010-12-21 Colin Watson <cjwatson@ubuntu.com>
9110
9111 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
9112 previous patch increased the size of the RS code by 20 bytes (at
9113 least with gcc-4.4), so increase this by 20 bytes to match.
9114 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9115
20641b6b
CW
91162010-12-21 Colin Watson <cjwatson@ubuntu.com>
9117
9118 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
9119 scratch area. Make sure to initialise chosen in standalone mode as
9120 well as non-standalone.
9121 Reported by: Robert Hooker and Andy Whitcroft.
9122 Tested by: Andy Whitcroft.
9123
d060ad60
CW
91242010-12-21 Colin Watson <cjwatson@ubuntu.com>
9125
9126 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
9127 constructing a new unescaped string and passing it to grub_xputs in
9128 one go, rather than passing characters to grub_printf one at a time.
9129
b889cfad
CW
91302010-12-21 Colin Watson <cjwatson@ubuntu.com>
9131
9132 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
9133 initialising utf16.
9134
4e01b6c8
CW
91352010-12-21 Colin Watson <cjwatson@ubuntu.com>
9136
9137 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
9138 comment. Add an extra layer of quotation, requiring the output of
9139 this function to be used in a printf format string.
9140 (gettext_printf): New function.
9141 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
9142 Extract translatable strings from here-documents and use a temporary
9143 variable instead, so that xgettext can find them.
9144 * util/grub.d/10_kfreebsd.in: Likewise.
9145 * util/grub.d/10_linux.in: Likewise.
9146 * util/grub.d/20_linux_xen.in: Likewise.
9147
9148 * po/grub.d.sed: New file.
9149 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
9150 arguments. Set c-format flags on all strings extracted from
9151 util/grub.d/ (xgettext refuses to include these itself for strings
9152 it extracted from a shell file, but these really are c-format).
9153
5318fe98
VS
91542010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
9155
9156 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
9157 Avoid next pointing to nowhere.
9158
6c85b743
VS
91592010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
9162 rather than assuming than rootblock is exactly in the middle.
9163 (grub_affs_label): Likewise.
9164
a2a08a35
VS
91652010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9166
9167 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
9168 reserved_first_sector to 0.
9169 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
9170 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
9171 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
9172
7059d1ec
VS
91732010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9174
9175 Fix handling of UTF-16 UDF labels.
9176
9177 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
9178 (read_string): .. here.
9179 (grub_udf_label): Use read_string.
9180
30aff4cb
BC
91812010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
9182
9183 * grub-core/normal/menu_entry.c (run): Execute commands from menu
9184 editor under argument scope.
9185 Reported by: Jordan Uggla
9186
5cf86f4b
VS
91872010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9188
9189 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
9190
32570200
CW
91912010-12-18 Colin Watson <cjwatson@ubuntu.com>
9192
9193 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
9194 line, and other keys scroll an entire page (previous handling was
9195 for \r and \n to scroll a page and other keys to scroll two lines).
9196
e1dffcf2
VS
91972010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9200 Set ptrdest to correct get_physical_target_address rather than
9201 incorrect get_virtual_current_address.
9202
b04298cf 92032010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
9204
9205 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
9206 correct cat to grub_uint8_t * rather than grub_uint32_t *.
9207
5367ecd3
CW
92082010-12-10 Colin Watson <cjwatson@ubuntu.com>
9209
9210 * .bzrignore: Ignore grub-core/rs_decoder.S.
9211
1fb430f8
CW
92122010-12-10 Colin Watson <cjwatson@ubuntu.com>
9213
9214 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
9215 .mo/.mo.gz opening sequence to ...
9216 (grub_mofile_open_lang): ... here.
9217 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
9218 * util/grub.d/00_header.in (grub_lang): Include country part of
9219 locale.
9220 Reported by: Mario Limonciello.
9221
a94a6671
RM
92222010-12-09 Robert Millan <rmh@gnu.org>
9223
9224 * NEWS: Document addition of ZFS support.
9225
24b7938b
CW
92262010-12-04 Colin Watson <cjwatson@ubuntu.com>
9227
9228 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
9229 rather than `/ 2', as the latter requires -Wa,--divide which would
9230 require bumping our minimum binutils version.
9231
bddc3ef6
BC
92322010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
9233
9234 * util/grub-script-check.c (main): Print script line number on
9235 error.
9236
bf78d5b2
RM
92372010-12-01 Robert Millan <rmh@gnu.org>
9238
9239 * grub-core/fs/zfs/zfs.c: New file.
9240 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
9241 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
9242 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
9243 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9244
9245 * include/grub/zfs/dmu.h: Likewise.
9246 * include/grub/zfs/dmu_objset.h: Likewise.
9247 * include/grub/zfs/dnode.h: Likewise.
9248 * include/grub/zfs/dsl_dataset.h: Likewise.
9249 * include/grub/zfs/dsl_dir.h: Likewise.
9250 * include/grub/zfs/sa_impl.h: Likewise.
9251 * include/grub/zfs/spa.h: Likewise.
9252 * include/grub/zfs/uberblock_impl.h: Likewise.
9253 * include/grub/zfs/vdev_impl.h: Likewise.
9254 * include/grub/zfs/zap_impl.h: Likewise.
9255 * include/grub/zfs/zap_leaf.h: Likewise.
9256 * include/grub/zfs/zfs.h: Likewise.
9257 * include/grub/zfs/zfs_acl.h: Likewise.
9258 * include/grub/zfs/zfs_znode.h: Likewise.
9259 * include/grub/zfs/zil.h: Likewise.
9260 * include/grub/zfs/zio.h: Likewise.
9261 * include/grub/zfs/zio_checksum.h: Likewise.
9262
9263 * Makefile.util.def: Build ZFS into libgrubmods.
9264 * grub-core/Makefile.core.def: Build zfs.mod.
9265
3f0f3831
SJ
92662010-11-30 Szymon Janc <szymon@janc.net.pl>
9267
9268 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
9269 variable.
9270 * grub-core/commands/wildcard.c (match_files): Likewise.
9271
3a4253b2
RM
92722010-11-30 Robert Millan <rmh@gnu.org>
9273
9274 * grub-core/loader/i386/bsd.c
9275 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
9276 whether kernel is loaded using grub_loader_is_loaded(), rather
9277 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
9278 certain error conditions.
9279
8c317b27
RM
92802010-11-30 Robert Millan <rmh@gnu.org>
9281
c5c9cd3e
RM
9282 * grub-core/commands/echo.c: Include `<grub/term.h>'.
9283 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 9284
49d3ab46
VS
92852010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
9286
9287 Avoid using tricks for initialising endian variables.
9288
9289 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
9290 Make const.
9291 (GRUB_MOD_INIT): Don't byte-swap.
9292 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
9293 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
9294 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
9295 (grub_swap_bytes32_compile_time): Likewise.
9296 (grub_cpu_to_le32_compile_time): Likewise.
9297 (grub_cpu_to_le16_compile_time): Likewise.
9298
f420a804
VS
92992010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
9300
9301 * util/grub-setup.c (setup): Stop recommending --force. People who
9302 understand the dangers of blocklists are able to find this option
9303 anyway and the ones who don't shouldn't use it anyway.
9304
4e7db17b
RM
93052010-11-26 Robert Millan <rmh@gnu.org>
9306
9307 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
9308 Update all users.
9309
9be57a0d
CW
93102010-11-26 Colin Watson <cjwatson@ubuntu.com>
9311
9312 Fix LVM-on-RAID probing.
9313
9314 * util/grub-probe.c (probe): Remember which disk was detected as
9315 RAID (perhaps an LVM physical volume). Use that disk's raidname
9316 rather than that of the top-level disk.
9317
2c7859b3 93182010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 9319
d7647bb6
BC
9320 Fix cmdline argument quotes for setparams command of menuentry
9321 definitions.
7e623b0d
BC
9322
9323 * grub-core/commands/menuentry.c (setparams_prefix): Use single
9324 quotes for arguments.
f866fe80 9325 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 9326 grub_strchrsub function instead.
f866fe80 9327
7955bea0 9328 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 9329
74f72a64
CW
93302010-11-24 Colin Watson <cjwatson@ubuntu.com>
9331
9332 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
9333 effort by skipping "." and ".." entries up-front.
9334 Suggested by: Michael Lazarev.
9335
5a407278
CW
93362010-11-24 Colin Watson <cjwatson@ubuntu.com>
9337
9338 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
9339 ldflags to ldadd, to fix link line ordering.
9340 (none_decompress): Likewise.
9341
3030d8ec
CW
93422010-11-24 Colin Watson <cjwatson@ubuntu.com>
9343
9344 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
9345 platforms.
9346 (grub-emu-lite): Remove kern/emu/cache.S.
9347
b7fbac12
CW
93482010-11-23 Colin Watson <cjwatson@ubuntu.com>
9349
9350 * util/deviceiter.c (compare_devices): If the by-id link for a
9351 device couldn't be resolved, fall back to sorting by the by-id link
9352 rather than segfaulting.
9353 Reported and tested by: Daniel Mierswa.
9354
5225f328
CW
93552010-11-23 Colin Watson <cjwatson@ubuntu.com>
9356
9357 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
9358 ldflags, to fix link line ordering.
9359
038b3ce8
CW
93602010-11-23 Colin Watson <cjwatson@ubuntu.com>
9361
9362 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
9363 linkers are picky about this.
9364
bf16e98e
CW
93652010-11-23 Colin Watson <cjwatson@ubuntu.com>
9366
9367 * grub-core/Makefile.am (command.lst): Adjust sed expression
9368 ordering so that extended and priority commands aren't treated as
9369 ordinary commands.
9370
7242bab6
CW
93712010-11-23 Colin Watson <cjwatson@ubuntu.com>
9372
9373 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
9374 Remove byte-swapping function calls, which are not valid in
9375 structure initialisers.
9376 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
9377 non-const.
9378 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
9379 grub_gpt_partition_type_bios_boot.
9380
14e8b279
CW
93812010-11-22 Colin Watson <cjwatson@ubuntu.com>
9382
9383 Fix test program build on GNU/kFreeBSD.
9384
9385 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
9386 $(LIBNVPAIR)' library dependencies.
9387
e6f63338 93882010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
9389
9390 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
9391
cf8ffc38
CW
93922010-11-22 Colin Watson <cjwatson@ubuntu.com>
9393
9394 * util/grub-install.in: Remove excessive quoting that broke
9395 installations to RAID devices.
9396
7f8b0fd7
VS
93972010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9398
9399 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
9400 bootloader version instead of 0.
9401
dfd240b1
VS
94022010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9403
9404 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
9405 warning.
9406
7b61e609
VS
94072010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9408
9409 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
9410 retrieve the metadat sector if size isn't known.
9411 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9412
9dfe92d0
RM
94132010-11-18 Robert Millan <rmh@gnu.org>
9414
9415 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
9416 with grub_memcmp().
9417
41cc919e
VS
94182010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
9419
9420 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
9421 arrow.
9422 Reported by: Jordan Uggla.
9423
1afcc914
VS
94242010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9425
9426 Make better UTF compliant.
9427
9428 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
9429 sequences as incorrect.
9430 (grub_is_valid_utf8): Likewise.
9431 (grub_utf8_to_ucs4): Likewise.
9432 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
9433 (grub_ucs4_to_utf8_alloc): Likewise.
9434 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
9435
f1808884
VS
94362010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9437
9438 Make legacy_source behave like source.
9439
9440 * grub-core/commands/legacycfg.c (legacy_file): Don't call
9441 grub_show_menu.
9442 (grub_cmd_legacy_source): Call grub_show_menu if needed.
9443
24ec575b
CW
94442010-11-16 Colin Watson <cjwatson@debian.org>
9445
9446 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
9447 (-Wunused implies -Wunused-parameter, but not vice versa).
9448
72b7c7aa
CW
94492010-11-16 Colin Watson <cjwatson@ubuntu.com>
9450
9451 * configure.ac: Make error messages less confusing by testing for
9452 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
9453 accepted, but produces a diagnostic if something else is wrong).
9454
e98937aa
VS
94552010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
9456
9457 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
9458 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
9459 (now unused).
9460 (grub_keyboard_controller_init)
9461 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
9462 read the initial state since controller isn't inited yet.
9463
f6bbabc3
VS
94642010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
9465
9466 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
9467 allocate_regbeg may need to create new chunk header.
9468
22e7dbb2
VS
94692010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9470
9471 Fix quoting in legacy parser.
9472
9473 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
9474 single quotes.
9475 (grub_legacy_parse): Likewise.
9476 Reported by: Jordan Uggla.
9477 Tested by: Jordan Uggla.
9478
03f80960
VS
94792010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 Don't add -lgcc on i386 and x86_64.
9482
9483 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
9484 * conf/Makefile.common (LDADD_KERNEL): Likewise.
9485 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
9486
779dc15b
VS
94872010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9488
9489 * configure.ac: Add -Wno-trampolines when supported.
9490
d20a3b37
MV
94912010-11-14 Modestas Vainius <modax@debian.org>
9492
9493 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
9494 fakeraid.
9495
e5360933
GC
94962010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9497
9498 Add generic logical block size support for UDF.
9499
9500 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
9501 (GRUB_UDF_BLKSZ): Removed.
9502 (struct grub_udf_data): New field "lbshift" to hold the logical block
9503 size of the file system in log2 format. All users updated.
9504 (sblocklist): Change type to unsigned.
9505 (grub_udf_mount): Change type of "sblklist" to unsigned.
9506 Move AVDP search before VRS recognition, because the latter requires
9507 knowledge of the logical block size, which is detected during the
9508 former.
9509 Detect and validate logical block size during AVDP search, adding
9510 support for block sizes 512, 1024 and 4096.
9511 Make VRS recognition independent of block size.
9512
cb0229c5
GC
95132010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9514
9515 Properly handle deleted files on UDF.
9516
9517 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
9518 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
9519 set.
9520
406858a8
GC
95212010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9522
9523 Support reading files larger than 2 GiB.
9524
9525 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
9526 "offset" to grub_off_t.
9527 (grub_udf_read_file): Likewise for parameter "pos".
9528
130da6a7
VS
95292010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9530
9531 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
9532 unavailable.
9533 (Simple configuration): Refer to Changes from GRUB Legacy about
9534 save_env availability.
9535
65e93f6b
VS
95362010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9537
9538 * util/grub-install.in: Ignore empty partition table detection
9539 instead of trying to include part_ module.
9540
1fd08bf1
VS
95412010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9542
9543 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
9544 LVM on RAID support.
9545
de1a024f
VS
95462010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9547
9548 Properly define WORDS_BIGENDIAN in wrapped environments.
9549
9550 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
9551 definition.
9552 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
9553
9554 Reported by: Manoel Rebelo Abranches.
9555 Tested by: Manoel Rebelo Abranches.
9556
bc5dd0b9
VS
95572010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9558
9559 * util/grub-mkconfig.in: Fix quoting.
9560
58c184be
VS
95612010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9562
9563 Support big ext2 files.
9564
9565 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
9566 (grub_ext2_read_block): Support triple indirect blocks.
9567 (grub_ext2_read_file): Use 64-bit types and read size_high.
9568 (grub_ext2_open): Read size_high.
9569 Reported by: Ximin Luo.
9570 Tested by: Manoel Rebelo Abranches.
9571
5f0c02b3
VS
95722010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9573
9574 * util/grub-install.in: Handle filenames containing spaces.
9575 Reported by: Jordan Uggla.
9576 Tested by: Jordan Uggla.
9577
4417aae6
VS
95782010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9579
9580 * util/grub-mkconfig.in (grub_script_check): New variable.
9581 Use grub_script_check instead of grub-script-check.
9582 Reported by: Barry Jackson.
9583
7625a68e
VS
95842010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9585
9586 * docs/grub.texi (menu): Correct the order.
9587 Reported by: D. Hugh Redelmeier.
9588
10001ac5
VS
95892010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9590
9591 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
9592 jump.
9593
9c4cf53b
MRA
95942010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
9595
10001ac5
VS
9596 * include/grub/elfload.h (grub_elf32_size): New parameter.
9597 All users updated.
9c4cf53b
MRA
9598 Return maximum segments alignment.
9599 (grub_elf64_size): Likewise.
9600 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
9601 Return maximum segments alignment.
9602 (grub_elf64_size): Likewise.
9603 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
9604 (grub_linux_claimmap_iterate): New function. Uses the
9605 "available" property in the "memory" node for memory allocation
9606 for kernel in the PowerPC loader.
9c4cf53b
MRA
9607 (grub_linux_load32): Correctly find linux entry point offset.
9608 (grub_linux_load64): Likewise.
9609
d2bf06bf
RM
96102010-11-07 Robert Millan <rmh@gnu.org>
9611
9612 On mips-yeeloong, build with -march=loongson2f when this flag is
9613 available (GCC >= 4.4).
9614 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
9615 `-march=mips3'.
9616 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
9617 or otherwise add -march=mips3.
9618
898c99a2
BC
96192010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
9620
87220a68
BC
9621 Suppress shell expansion on echo '*' and echo "*" like cases.
9622 Reported by: Jordan Uggla.
898c99a2
BC
9623
9624 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
9625 string arguments before shell expansion.
9626 * tests/grub_cmd_echo.in: New testcases.
9627
4f9b406a
RM
96282010-11-07 Robert Millan <rmh@gnu.org>
9629
9630 * conf/mips-qemu-mips.rmk: Remove stale file from previous
9631 transition.
9632
80c6d25e
VS
96332010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
9634
9635 * grub-core/kern/emu/hostdisk.c
9636 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
9637
4a1a0153
VS
96382010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9639
9640 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
9641 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
9642 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
9643
34706ddc
VS
96442010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9645
9646 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
9647
6972dea9
VS
96482010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9649
9650 * util/grub-install.in: Replace useless recomendation to pass
9651 --modules with a recomendation to report a bug.
9652
9c693bd6
VS
96532010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 Properly register serial terminfo.
9656 Reported by: Jordan Uggla
9657
9658 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
9659 const.
9660 (grub_serial_terminfo_output_template): Likewise.
9661 (grub_cmd_serial): Register "serial" with terminfo.
9662 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
9663 grub_serial_terminfo_output.
9664
6c9e4c0c
RM
96652010-11-05 Robert Millan <rmh@gnu.org>
9666
9667 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
9668 needed).
9669
b9b3839f
RM
96702010-11-05 Robert Millan <rmh@gnu.org>
9671
9672 On Yeeloong, pass machine type information to Linux.
9673
9674 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
9675 (LOONGSON_MACHTYPE): New macro, set to
9676 "machtype=lemote-yeeloong-2f-8.9inches".
9677 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
9678 additional argument to Linux.
9679
1a3aaff4
RM
96802010-11-04 Robert Millan <rmh@gnu.org>
9681
9682 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
9683 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
9684 (its SATA disks are detected as slaveless IDE master drives on
9685 kFreeBSD).
9686 Reported by Carsten Aulbert.
9687
a75f4f62
CW
96882010-11-02 Colin Watson <cjwatson@ubuntu.com>
9689
9690 * util/bin2h.c (main): Fix spelling error in generated output.
9691
33b4b0c6
GS
96922010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
9693
9694 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
9695
2b36fbf4
VS
96962010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9697
9698 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
9699 vga= option is supplied.
9700
74aaf558
VS
97012010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9702
9703 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
9704 * util/grub.d/10_kfreebsd.in: Likewise.
9705 * util/grub.d/10_linux.in: Likewise.
9706 * util/grub.d/20_linux_xen.in: Likewise.
9707
6428dec3
VS
97082010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9709
9710 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
9711 argument as an argument to no-argument option.
9712
f8729d98
VS
97132010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9714
9715 * util/grub.d/10_linux.in: Add missing load_video with explicit
9716 GRUB_GFXPAYLOAD_LINUX.
9717
89d68fa6
VS
97182010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9719
9720 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
9721
3a1197cd
VS
97222010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9723
9724 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
9725 elements with invlid index.
9726 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9727 * grub-core/disk/raid.c (insert_array): Automatically reallocate
9728 members.
9729 * include/grub/raid.h (grub_raid_member): New struct.
9730 (grub_raid_array): Transform devices and start_sector into usage of
9731 grub_raid_member. All users updated
9732 (allocated_devs): New member.
9733
71574288
VS
97342010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9735
9736 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
9737 is modified
9738
8d40ec65
BC
97392010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
9740
9741 NetBSD build fix for getline function conflict from gnulib.
9742
9743 * Makefile.util.def (libgrubkern.a): New library for grub kernel
9744 components that depend on gnulib headers.
9745 (libgrubmods.a): Renamed from earlier libgrub.a.
9746 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
9747
95b9257e
VS
97482010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9749
9750 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
9751 install rather than creating a broken install.
9752
26c53dc6
VS
97532010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9754
9755 * util/grub-setup.c (argp): Remove misleading example of installing to
9756 a partition.
9757
4171b3c5
VS
97582010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9759
9760 * util/grub-setup.c (setup): Clarify the error message.
9761
18568d18
VS
97622010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9763
9764 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
9765
4f6a2e21
VS
97662010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9767
9768 * grub-core/kern/emu/misc.c
9769 (grub_make_system_path_relative_to_its_root)
9770 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
9771
97722010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
9773
9774 * grub-core/kern/emu/misc.c
9775 (grub_make_system_path_relative_to_its_root): Revert r2882.
9776
e138c458
VS
97772010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
9778
9779 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
9780 useless field head. All users updated.
9781 (free_subchunk): Correct handling of IN_REGION subchunk.
9782
0cbcdf0e
CW
97832010-10-22 Colin Watson <cjwatson@ubuntu.com>
9784
9785 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
9786 (Supported kernels): Likewise.
9787
b65ea155
GS
97882010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
9789
9790 Make mktemp invocations portable.
9791
9792 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
9793 exit if mktemp fails.
9794 * tests/grub_script_blockarg.in: Likewise.
9795 * tests/partmap_test.in: Likewise.
9796 * tests/util/grub-shell-tester.in: Likewise.
9797 * tests/util/grub-shell.in: Likewise.
9798 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9799 * Makefile.am: Likewise, and chain shell commands with `&&'
9800 instead of ';'.
9801 * util/grub-mkrescue.in: Use the same explicit template as above, and
9802 exit if mktemp fails.
9803
05f43cdd
BC
98042010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
9805
9806 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
9807 Linux kernel, reported by Dennis Schridde.
9808
800e6a9b
SJ
98092010-10-17 Szymon Janc <szymon@janc.net.pl>
9810
9811 * grub-core/normal/auth.c (grub_auth_check_authentication):
9812 Set-but-not-used variable removed.
9813
d82df574
VS
98142010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9815
9816 * docs/grub.texi (GNU/Linux): Document APM unavailability with
9817 32-bit linux protocol.
9818
7bced458
VS
98192010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9820
9821 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
9822 cursor shape for sanity.
9823
5b027690
VS
98242010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9825
9826 * docs/grub.texi (Installation): Document buggy BIOS install.
9827
ba5f65cf
VS
98282010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9829
9830 * docs/grub.texi (Installation): Indent.
9831
fdf2ec9c
VS
98322010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9833
9834 * util/grub-setup.c (setup): New parameter allow_floppy.
9835 (arguments): New member allow_floppy.
9836 (argp_parser): Handle --allow-floppy.
9837 (main): Pass allow_floppy.
9838 * util/grub-install.in: New option --allow-floppy passed though to
9839 grub-setup.
9840
861dfd4c
VS
98412010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9842
9843 * util/grub-install.in: Handle partitionless disks.
9844
f77a8c24
VS
98452010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9846
9847 * util/grub-setup.c (setup): Don't clean blocklists before readability
9848 verfification.
9849
27d9ee32
VS
98502010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9851
9852 * docs/grub.texi (Installation): Document embedding zone. Remove
9853 obsolete grub-install example.
9854
6bdda8f8
SJ
98552010-10-16 Szymon Janc <szymon@janc.net.pl>
9856
9857 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
9858 Set-but-not-used variable ifdef'ed.
9859 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
9860 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
9861 variable removed.
9862 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
9863 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
9864 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
9865 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
9866 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
9867 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
9868 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
9869 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
9870 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
9871 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
9872 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
9873 Likewise.
9874
e19b016b
VS
98752010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9876
9877 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
9878 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
9879 enum value.
9880
6c8d3002
VS
98812010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9882
9883 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
9884 synonym to _S5_. Needed for some DSDTs.
9885
c32b51c9
VS
98862010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9887
9888 Userspace ACPI parser debugging.
9889
9890 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
9891 headers and add relevant defines. Don't include standard headers.
9892 (main) [GRUB_DSDT_TEST]: New function.
9893 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
9894 Don't declare functions.
9895
fbfbeb39
VS
98962010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9897
9898 Remove dead grub_efi_mm_fini.
9899
9900 * grub-core/kern/efi/mm.c (allocated_page): Removed.
9901 (ALLOCATED_PAGES_SIZE): Likewise.
9902 (MAX_ALLOCATED_PAGES): Likewise.
9903 (allocated_pages): Likewise.
9904 (grub_efi_allocate_pages): Don't record allocated pages.
9905 (grub_efi_free_pages): Likewise.
9906 (grub_efi_mm_init): Likewise.
9907 (grub_efi_mm_fini): Removed.
9908
65f7ed7c
VS
99092010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9910
9911 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
9912 (grub_efi_mm_init): Take into account the memory map size increase.
9913
24977b44
VS
99142010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9915
9916 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
9917 (serial_hw_put): Wait based on real time rather than port reads. Don't
9918 roken ports.
9919 * include/grub/serial.h (grub_serial_port): New field broken.
9920
1eb01cd2
RM
99212010-10-16 Robert Millan <rmh@gnu.org>
9922
9923 * grub-core/kern/emu/misc.c
9924 (grub_make_system_path_relative_to_its_root): Fix premature return
9925 when processing non-root ZFS filesystems.
5f8b440b 9926 Reported by Sergio Talens-Oliag.
1eb01cd2 9927
2d5fed60
RM
99282010-10-15 Robert Millan <rmh@gnu.org>
9929
9930 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
9931 guarantee compressed ones are processed first.
9932
d0f4c1ea
VS
99332010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9934
9935 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
9936 grub_efiemu_autocore.
9937
d87c681f
VS
99382010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9939
9940 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
9941 rather than 0x1b.
9942 (grub_console_getkey): Use correct jae opcode rather than ja.
9943
219b3564
RM
99442010-10-12 Robert Millan <rmh@gnu.org>
9945
9946 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
9947 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
9948 variable. All references updated.
9949
9950 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
9951
20c6bb7e
VS
99522010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
9953
9954 Correctly distinguish mdraid flavours.
9955
9956 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
9957 (insert_array): New argument raid.
9958 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
9959 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
9960 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
9961
74baff84
VS
99622010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
9963
9964 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
9965 handling of special keys.
9966
3ef068df 99672010-10-02 Aleš Nesrsta <starous@volny.cz>
9968
c7980ad9
VS
9969 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
9970 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 9971
a9455194 99722010-10-02 Aleš Nesrsta <starous@volny.cz>
9973
c7980ad9
VS
9974 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
9975 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
9976 users updated.
a9455194 9977 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 9978 Use right endpoint when querying descriptor.
a9455194 9979
441cfe65
VS
99802010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
9981
9982 Clear out 0x80 color bit on EFI.
9983 Tested by: decoder
9984 Reported by: decoder and meta tech.
9985
9986 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
9987 (grub_console_setcolorstate): Clear out 0x80 bit.
9988 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
9989 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
9990 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
9991
bf26bcc4
VS
99922010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
9993
9994 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
9995 Set to "auto".
9996
6e3c515d
VS
99972010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9998
9999 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
10000 mo_file after freeing.
10001
e6d983ba
VS
100022010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10003
10004 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
10005
74ccb5b5
VS
100062010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10007
10008 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
10009 flags.
10010
17821956
VS
100112010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10012
10013 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
10014 usage.
10015
ee74fa48
VS
100162010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10017
10018 Put terminfo into core on ieee1275 and yeeloong (needed for console).
10019
10020 * gentpl.py: New groups terminfoinkernel and terminfomodule.
10021 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
10022 and terminfo.h when needed.
10023 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
10024 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
10025 (terminfo): Enable only on terminfokernel.
10026 (extcmd): Likewise.
10027 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
10028 * include/grub/lib/arg.h: Likewise.
10029 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
10030 incorrect usage of ->.
10031
aa438e68
VS
100322010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10033
10034 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
10035 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
10036
57994012
VS
100372010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10038
10039 Fix coreboot compilation.
10040
10041 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10042 Take VBE info into account even if only text is supported.
10043 (fill_vbe_info): Take into account the case when only VGA text
10044 is supported.
10045 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
10046 on coreboot, multiboot and qemu.
10047
2a406611
VS
100482010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10049
10050 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
10051 debug messages.
10052 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
10053
d33613fc
VS
100542010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10055
10056 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
10057 parameters.
10058
44a1b432
VS
100592010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10060
10061 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
10062 if they were BSD-style.
10063
edde54e6
VS
100642010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 * grub-core/boot/i386/pc/lnxboot.S: Replace
10067 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
10068 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
10069
b65830fa
VS
100702010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10071
10072 Write embedding zone using Reed-Solomon.
10073
10074 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
10075 * grub-core/Makefile.am (rs_decoder.S): New target.
10076 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
10077 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
10078 (multiboot): Move to RS part.
10079 (post_reed_solomon): New label.
10080 (grub_boot_drive): Move to non-RS part since it's modified in memory
10081 on boot.
10082 Include rs_decoder.S.
10083 * grub-core/lib/reed_solomon.c: New file.
10084 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
10085 New definition.
10086 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
10087 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
10088 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
10089 * include/grub/partition.h (grub_partition_map): Change prototype of
10090 embed to allow returning additional sectors.
10091 * include/grub/reed_solomon.h: New file.
10092 * util/grub-setup.c (setup): Handle Reed-Solomon.
10093
0b4b227f
CW
100942010-09-28 Colin Watson <cjwatson@ubuntu.com>
10095
10096 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
10097 i386 and x86-64 definedness tests.
10098
f772623b
YB
100992010-09-27 Yves Blusseau <blusseau@zetam.org>
10100
10101 Fix generation of kernel_syms.lst
10102
10103 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
10104 ASM_PREFIX
10105
8e57a6ca
RM
101062010-09-26 Robert Millan <rmh@gnu.org>
10107
10108 Support degraded ZFS arrays in "grub-probe -t device" resolution.
10109
10110 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
10111 the pool is an array of devices, iterate through it and return the
10112 first device that passes a stat() test (instead of blindly returning
10113 the first one).
10114
f9130836
RM
101152010-09-26 Robert Millan <rmh@gnu.org>
10116
10117 Build fixes for GNU/kFreeBSD.
10118
10119 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
10120 to programs that require ZFS conversion.
10121 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
10122 kernels that don't have FLOPPY_MAJOR.
10123
96510faf
BC
101242010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
10125
10126 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
10127
449333eb
BC
101282010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
10129
10130 Fix grub-emu build.
10131
10132 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
10133 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
10134 mdraid09 and mdraid1x.
10135
e1fd1939
CW
101362010-09-24 Colin Watson <cjwatson@ubuntu.com>
10137
10138 Re-enable grub-extras.
10139
10140 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
10141 avoid confusing Automake. Run autogen only twice, once for the top
10142 level and once for grub-core. Add Makefile.util.def and
10143 Makefile.core.def from extra modules to the appropriate autogen
10144 invocations. If Makefile.common exists in an extra module, include
10145 it in both Makefile.util.am and grub-core/Makefile.core.am;
10146 similarly, include any Makefile.util.common file in Makefile.util.am
10147 and any Makefile.core.common file in grub-core/Makefile.core.am.
10148 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
10149 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
10150 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
10151 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
10152
10153 * gentpl.py (gvar_add): Turn GVARS into a set.
10154 (global_variable_initializers): Sort global variables on output.
10155 (vars_init): New function.
10156 (first_time): Likewise.
10157 (library): Ensure that non-global variable initialisations are
10158 emitted before the first time we emit code for a library block.
10159 Append to variables rather than setting them. Only emit
10160 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
10161 each conditional path.
10162 (program): installdir() emits an Autogen macro, so must be passed to
10163 var_add rather than gvar_add.
10164 (data): Likewise.
10165 (script): Likewise.
10166 (rules): New function, centralising handling for different target
10167 types. Set up Guile association lists for first_time and vars_init,
10168 and send most output to a diversion so that variable initialisations
10169 can be emitted first.
10170 (module_rules): Use new rules function.
10171 (kernel_rules): Likewise.
10172 (image_rules): Likewise.
10173 (library_rules): Likewise.
10174 (program_rules): Likewise.
10175 (script_rules): Likewise.
10176 (data_rules): Likewise.
10177
10178 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
10179
10180 * .bzrignore: Add contrib and grub-core/contrib. Remove
10181 grub-core/Makefile.gcry.am.
10182
1d12cf29
YB
101832010-09-24 Yves Blusseau <blusseau@zetam.org>
10184
10185 * grub-core/lib/LzFind.c: Add missing include.
10186 * grub-core/lib/LzmaEnc.c: Likewise.
10187 * grub-core/script/lexer.c: Likewise.
10188 * grub-core/script/yylex.l: Likewise.
10189 * util/grub-macho2img.c: Likewise.
10190 * util/grub-menulst2cfg.c: Likewise.
10191 * util/grub-mklayout.c: Likewise.
10192 * util/grub-mkpasswd-pbkdf2.c
10193 * util/grub-mkrelpath.c: Likewise.
10194 * util/resolve.c: Likewise.
10195
dd363028
BC
101962010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
10197
10198 * Makefile.util.def (example_unit_test): Add
10199 grub-core/gnulib/libgnu.a.
10200
f5a109e2
GS
102012010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
10202
10203 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
10204
6d0fa83c
VS
102052010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
10206
10207 Support xz compression on yeeloong.
10208
10209 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
10210 * configure.ac: Check for LZMA.
10211 * grub-core/Makefile.core.def (xz_decompress): New target.
10212 (none_decompress): Likewise.
10213 * grub-core/boot/decompressor/minilib.c: New file.
10214 * grub-core/boot/decompressor/none.c: Likewise.
10215 * grub-core/boot/decompressor/xz.c: Likewise.
10216 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
10217 * grub-core/kern/mips/cache_flush.S: Likewise.
10218 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
10219 * grub-core/kern/mips/startup.S: Move first stage to ...
10220 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
10221 nomacro.
10222 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
10223 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
10224 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
10225 Allocate statically.
10226 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
10227 Allocate statically or use scratch. Don't check CRC32.
10228 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
10229 Allocate statically. Don't check CRC32.
10230 * include/grub/decompressor.h: New file.
10231 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
10232 Removed.
10233 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
10234 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
10235 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
10236 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
10237 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
10238 * util/grub-mkimage.c (grub_compression_t): New type.
10239 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
10240 (image_target_desc): New field default_compression.
10241 (image_targets): Adjust yeeloong targets.
10242 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
10243 (compress_kernel): New parameter comp.
10244 (generate_image): Likewise. Handle new compression case.
10245 (options): New option --compression
10246 (help): Likewise.
10247 (main): Handle new option.
10248
1b655af6
GS
102492010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
10250
10251 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
10252
8f03f0b5
CW
102532010-09-22 Colin Watson <cjwatson@ubuntu.com>
10254
10255 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
10256 typo in __i386__ conditional.
10257
7835dfd3
VS
102582010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
10259
10260 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
10261 include.
10262
e255597e
VS
102632010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
10264
6d0fa83c 10265 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
10266
10267 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
10268 new tags as supported.
10269 (acpiv2_size): New function.
10270 (grub_multiboot_get_mbi_size): Take new tags into account.
10271 (grub_multiboot_make_mbi): Add new tags.
10272 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 10273
6cc14051 102742010-09-21 Aleš Nesrsta <starous@volny.cz>
10275
10276 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
10277 Added missing configuration of USB device.
10278
df7769d8
CW
102792010-09-21 Colin Watson <cjwatson@ubuntu.com>
10280
10281 * grub-core/normal/menu_entry.c (run): Make sure we always return
10282 a value.
10283
b031012d
CW
102842010-09-21 Colin Watson <cjwatson@ubuntu.com>
10285
10286 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
10287 NumberOfPages is UINT64 according to the UEFI specification, not
10288 UINTN. Fix printf format.
10289
174de8f3
CW
102902010-09-21 Colin Watson <cjwatson@ubuntu.com>
10291
10292 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
10293 `err' to grub_usb_err_t.
10294 Reported and tested by: KESHAV P.R.
10295
d7dbe923
CW
102962010-09-21 Colin Watson <cjwatson@ubuntu.com>
10297
10298 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
10299 tpart non-const, so that we can assign to it. (Since this is a
10300 typedef, the constness refers to the pointer rather than what it
10301 points to.)
10302
8d5e2af3
CW
103032010-09-21 Colin Watson <cjwatson@ubuntu.com>
10304
10305 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
10306 $(top_srcdir)/grub-core/gnulib as well as
10307 $(top_builddir)/grub-core/gnulib.
10308 Reported by: KESHAV P.R.
10309
5c527783
CW
103102010-09-21 Colin Watson <cjwatson@ubuntu.com>
10311
10312 * util/grub-install.in: Fix the bootloader ID option to be
10313 consistently --bootloader-id, not --bootloader_id.
10314 Reported by: KESHAV P.R.
10315
d309a16e
CW
103162010-09-21 Colin Watson <cjwatson@ubuntu.com>
10317
10318 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
10319 check hash checksum." consistently translatable.
10320
b830cd16
YB
103212010-09-21 Yves Blusseau <blusseau@zetam.org>
10322
10323 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
10324 $(top_builddir).
10325
c4fe27a8
CW
103262010-09-21 Colin Watson <cjwatson@ubuntu.com>
10327
10328 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
10329 (GRUB_MOD_INIT): Register sha1sum command.
10330 (GRUB_MOD_FINI): Unregister sha1sum command.
10331
a4c1d277
YB
103322010-09-21 Yves Blusseau <blusseau@zetam.org>
10333
10334 Keep boot and grub directory names in sync with utils scripts
10335
10336 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
10337 * config.h.in: Add previous macros.
10338 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
10339 * util/grub-install.in: Use $bootdir and $grubdir variables.
10340
4eff79d2
CW
103412010-09-21 Colin Watson <cjwatson@ubuntu.com>
10342
10343 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
10344 convert partition names to disk names if the new `convert' parameter
10345 is set.
10346 (grub_util_biosdisk_get_grub_dev): If opening the disk device
10347 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
10348 disk in its own right. This can happen with Xen disk images.
10349
934d7e44
YB
103502010-09-21 Yves Blusseau <blusseau@zetam.org>
10351
10352 * util/grub-editenv.c: Update strings to avoid warnings when generating
10353 grub.pot file.
10354 * util/grub-setup.c: Likewise.
934d7e44 10355
df3367cc
VS
103562010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
10357
10358 * configure.ac: Change version to 1.99~beta0.
10359
77a94e98
VS
103602010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
10361
10362 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
10363 Add BADRAM.
10364 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
10365 Likewise.
10366 * include/multiboot.h: Resynced with specification.
10367 * include/multiboot2.h: Likewise.
10368
269004c1
CW
103692010-09-21 Colin Watson <cjwatson@ubuntu.com>
10370
10371 Fix po directory handling.
10372
10373 * configure.ac: Create po/Makefile.in rather than po/Makefile.
10374 * grub-core/gnulib/Makefile.am: Import gettext module.
10375 * m4/gnulib-cache.m4: Likewise.
10376 * m4/gnulib-comp.m4: Likewise.
10377 * m4/gettext.m4: New file, from gnulib.
10378 * m4/glibc2.m4: Likewise.
10379 * m4/iconv.m4: Likewise.
10380 * m4/intdiv0.m4: Likewise.
10381 * m4/intl.m4: Likewise.
10382 * m4/intldir.m4: Likewise.
10383 * m4/intlmacosx.m4: Likewise.
10384 * m4/intmax.m4: Likewise.
10385 * m4/inttypes-pri.m4: Likewise.
10386 * m4/lcmessage.m4: Likewise.
10387 * m4/lib-ld.m4: Likewise.
10388 * m4/lib-link.m4: Likewise.
10389 * m4/lib-prefix.m4: Likewise.
10390 * m4/lock.m4: Likewise.
10391 * m4/nls.m4: Likewise.
10392 * m4/po.m4: Likewise.
10393 * m4/printf-posix.m4: Likewise.
10394 * m4/progtest.m4: Likewise.
10395 * m4/threadlib.m4: Likewise.
10396 * m4/uintmax_t.m4: Likewise.
10397 * m4/visibility.m4: Likewise.
10398 * po/Makefile.am: Remove.
10399 * po/Makefile.in.in: New file, from gettext.
10400 ($(DOMAIN).pot-update): Support POTFILES-shell.
10401 * po/Makevars: New file.
10402 * po/POTFILES-shell: Rename to ...
10403 * po/POTFILES-shell.in: ... this. Update.
10404 * po/POTFILES: Rename to ...
10405 * po/POTFILES.in: ... this. Update.
10406 * po/Rules-quot: New file, from gettext.
10407 * po/boldquot.sed: Likewise.
10408 * po/en@boldquot.header: Likewise.
10409 * po/en@quot.header: Likewise.
10410 * po/insert-header.sin: Likewise.
10411 * po/quot.sed: Likewise.
10412 * po/remove-potcdate.sin: Likewise.
10413
3e0fa5d0
VS
104142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10415
10416 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
10417
ade9bd66
VS
104182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10419
10420 * util/grub.d/20_linux_xen.in: Use submenus.
10421
fc55cc4c
VS
104222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10423
10424 Support submenus.
10425
10426 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
10427 parameter submenu. All users updated.
10428 * grub-core/normal/main.c (free_menu): Rename to ...
10429 (grub_normal_free_menu): ... this. Made global.
10430 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
10431 if requested.
10432 * grub-core/normal/menu_entry.c (screen): New field submenu.
10433 (make_screen): Set submenu.
10434 (run): Open new context if requested.
10435 * include/grub/menu.h (grub_menu_entry): New field submenu.
10436 * include/grub/normal.h (grub_normal_free_menu): New proto.
10437
600cedf7
VS
104382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 Menu entries extractor.
10441
10442 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
10443 variants.
10444 (GRUB_MOD_INIT): Register new variants.
10445 (GRUB_MOD_FINI): Unregister new variants.
10446 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
10447 into grub_cmd_legacy_source.
10448 (grub_cmd_legacy_source): Implement extractor variants.
10449 (GRUB_MOD_INIT): Register new variants.
10450 (GRUB_MOD_FINI): Unregister new variants.
10451 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
10452 as an extractor.
10453 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
10454 search as an extractor.
10455 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
10456 test as an extractor.
10457 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
10458 as an extractor.
10459 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
10460 (grub_env_new_context): New function.
10461 (grub_env_context_open): Likewise.
10462 (grub_env_extractor_open): Likewise.
10463 (grub_env_extractor_close): Likewise.
10464 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
10465 grub_extractor_level.
10466 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
10467 * include/grub/env.h (grub_env_extractor_open): New proto.
10468 (grub_env_extractor_close): Likewise.
10469 * include/grub/normal.h (grub_extractor_level): New external variable.
10470
7bda3a87
VS
104712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10472
10473 Make cutmem accept a region specification.
10474 Suggested by: Samuel Thibault
10475
10476 * grub-core/mmap/mmap.c (parsemem): New function.
10477 (grub_cmd_cutmem): Handle new arguments.
10478
2ea57f88
VS
104792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10480
10481 New command cutmem.
10482
10483 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
10484 (GRUB_MOD_INIT): Register new command.
10485 (GRUB_MOD_FINI): Unregister new command.
10486
74342e31
VS
104872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10488
10489 Support some annoying BSD and Minix subpartitions.
10490
10491 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
10492 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
10493 Properly handle concatenation.
10494 * grub-core/kern/device.c (grub_device_iterate): Likewise.
10495 * grub-core/normal/completion.c (iterate_partition): Likewise.
10496 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
10497 contain partition. All users updated.
10498 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
10499 struct.
10500 (grub_openbsdlabel_partition_map): Likewise.
10501 (bsdlabel_partition_map_iterate): Rename to ..
10502 (iterate_real): ... this. New arguments sector, freebsd and pmap.
10503 (bsdlabel_partition_map_iterate): New function.
10504 (netopenbsdlabel_partition_map_iterate): Likewise.
10505 (netbsdlabel_partition_map_iterate): Likewise.
10506 (openbsdlabel_partition_map_iterate): Likewise.
10507 (GRUB_MOD_INIT): Register new partmaps.
10508 (GRUB_MOD_FINI): Unregister new partmaps.
10509 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
10510 (grub_partition_msdos_iterate): ... this. All users updated.
10511 Don't support embedding other than in a minix partition.
10512 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
10513 proto.
10514 * include/grub/partition.h (grub_partition): New field msdostype.
10515 * util/grub-install.in: Handle openbsd and netbsd types being in
10516 part_bsd module.
10517
1e8d555b
VS
105182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10519
10520 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
10521
10522 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
10523 * grub-core/Makefile.core.def (mdraid): Renamed to ...
10524 (mdraid09): ... this.
10525 (mdraid1x): New module.
10526 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
10527 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
10528
899d8af4
VS
105292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10530
10531 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
10532 vsprintf.
10533
40901acd
CW
105342010-09-20 Colin Watson <cjwatson@ubuntu.com>
10535
10536 * grub-core/commands/efi/lsefimmap.c: Correct header.
10537 * NEWS: Update.
10538
dfe3b247
CW
105392010-09-20 Colin Watson <cjwatson@ubuntu.com>
10540
10541 * util/grub-editenv.c (argp_parser): Don't pass translated strings
10542 as printf format strings; the translations might contain '%' which
10543 could cause a crash.
10544 (main): Likewise.
10545 * util/grub-fstest.c (argp_parser): Likewise.
10546 * util/grub-setup.c (argp_parser): Likewise.
10547 (main): Likewise.
10548
3286a4b4
VS
105492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10550
10551 Use argp in grub-fstest.
10552
10553 * util/grub-fstest.c: Don't include getopt.h.
10554 Include argp.h.
10555 (root): New variable.
10556 (args_count): Likewise.
10557 (nparm): Likewise.
10558 (num_disks): Likewise.
10559 (images): Likewise.
10560 (cmd): Likewise.
10561 (debug_str): Likewise.
10562 (args): Likewise.
10563 (options): Transformed to argp.
10564 (usage): Removed.
10565 (main): Split argument parsing into ...
10566 (argp_parser): ... this. Changed to argp format.
10567 (argp): New variable.
10568 (main): Use argp_parse.
10569
3dccbe4b
TG
105702010-09-20 Tristan Gingold <gingold@free.fr>
105712010-09-20 Robert Millan <rmh.grub@aybabtu.com>
105722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10573
10574 * grub-core/commands/efi/lsefimmap.c: New file.
10575 * grub-core/Makefile.core.def (lsefimmap): New module.
10576 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
10577
38c259a7
VS
105782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10579
10580 Pause the execution (10s max) if any errors are displayed so the user
10581 has a chance to see them.
10582
10583 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
10584 (grub_print_error): Increment grub_err_printed_errors.
10585 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
10586 execution if any errors were displayed.
10587 (show_menu): Remove old code for pause.
10588 * grub-core/normal/menu_entry.c (run): Likewise.
10589 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
10590 users updated.
10591 (grub_normal_get_char_counter): Likewise.
10592 * include/grub/err.h (grub_err_printed_errors): New external variable.
10593 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
10594
f218b09c
VS
105952010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10596
10597 Support multiboot VBE info.
10598
10599 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10600 Take VBE info into account.
10601 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
10602 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
10603 Call fill_vbe_info when appropriate.
10604 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
10605 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
10606 as supported.
10607 (grub_multiboot_get_mbi_size): Take new tags into account.
10608 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
10609 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
10610 Call fill_vbe_tag when appropriate.
10611 (grub_multiboot_make_mbi): Properly align tags.
10612 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
10613 function.
10614 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
10615 proto.
10616 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
10617
a9cc5438
VS
106182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10619
10620 Suport manual terminal geometry specification.
10621
10622 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
10623 Save state in grub_ofconsole_terminfo_output.
10624 (grub_ofconsole_term): Use grub_terminfo_getwh.
10625 (grub_ofconsole_getwh): Removed.
10626 * grub-core/term/serial.c (grub_serial_getwh): Removed.
10627 (grub_serial_term): Use grub_terminfo_getwh.
10628 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
10629 (options): New struct.
10630 (OPTION_*): New enum.
10631 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
10632 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
10633 width and height.
10634 (grub_terminfo_getwh): New proto.
10635 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
10636
1a8fed20
VS
106372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10638
10639 Handle legacy "terminal" command.
10640
10641 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
10642 and FLAG_TERMINAL.
10643 (legacy_commands): Add terminal and title.
10644 (grub_legacy_parse): Handle terminal. Simplify title handling.
10645
41e9c57d
VS
106462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10647
10648 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
10649 parameters overflow.
10650
61c874c5
CW
106512010-09-20 Colin Watson <cjwatson@ubuntu.com>
10652
10653 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
10654 widthspec.h.
10655
10656 * docs/grub.texi (Shell-like scripting): Document `!'.
10657 (Network): Simplify using new i386-pc-pxe format. Mention
10658 grub-mknetdir.
10659
10660 * NEWS: Update.
10661
943682b4
CW
106622010-09-20 Colin Watson <cjwatson@ubuntu.com>
10663
10664 * Makefile.am (SUBDIRS): Restore "."; it's important to force
10665 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
10666 when needed.
10667
6d3d698d
CW
106682010-09-20 Colin Watson <cjwatson@ubuntu.com>
10669
10670 * grub-core/commands/efi/lsefisystab.c: Correct header.
10671 * grub-core/commands/efi/lssal.c: Likewise.
10672 * grub-core/commands/testload.c: Likewise.
10673
c982589f
CW
106742010-09-20 Colin Watson <cjwatson@ubuntu.com>
10675
10676 * util/grub-mkrescue.in: Add explicit root argument to --set to
10677 prevent the UUID being interpreted as an argument to --set (matches
10678 previous change to prepare_grub_to_access_device).
10679
a63c31b6
CW
106802010-09-20 Colin Watson <cjwatson@ubuntu.com>
10681
10682 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
10683 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
10684 the verbosity of later #ifs.
10685 (find_partition_start): Define this function on FreeBSD too.
10686 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
10687 function.
10688 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
10689 on FreeBSD.
10690
6439b8ee
YB
106912010-09-20 Yves Blusseau <blusseau@zetam.org>
10692
10693 * util/grub-editenv.c: Use argp instead of getopt.
10694
c5930ec8
YB
106952010-09-20 Yves Blusseau <blusseau@zetam.org>
10696
10697 * util/grub-setup.c: Use argp instead of getopt.
10698
15c69261
YB
106992010-09-20 Yves Blusseau <blusseau@zetam.org>
10700
10701 Use gnulib-tool to create gnulib source files.
10702
10703 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
10704 grub-core/gnulib directories
10705 * .bzignore: Add **/.deps and autogenerated gnulib files
10706 * configure.ac: Assign auxiliary directory to build-aux, add invocation
10707 of gnulib macros, add grub-core/gnulib/Makefile
10708 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
10709 include m4 directory to aclocal.
10710 * Makefile.util.def: Remove direct compilation of gnulib source files
10711 and use the new grub-core/gnulib/libgnu.a.
10712 * build-aux/config.rpath: move config.rpath from top directory to
10713 build-aux
10714 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
10715 in gnulib headers
10716 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
10717 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
10718 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
10719 header.
10720 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
10721 string.
10722
e511c9f5
YB
107232010-09-20 Yves Blusseau <blusseau@zetam.org>
10724
10725 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
10726 grub-core/genmod.sh and grub-core/gensyminfo.sh
10727
c2dede05
BC
107282010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
10729
10730 Add a test for echo command options.
10731
10732 * tests/grub_cmd_echo.in: New test.
10733 * Makefile.util.def: Rules for new test.
10734
c55f5018
SJ
107352010-09-20 Szymon Janc <szymon@janc.net.pl>
10736
10737 Remove crc.mod and move crc command to hashsum.mod.
10738 Remove lib/crc.c - users updated to use gcrypt implementation.
10739
10740 * grub-core/commands/crc.c: Removed.
10741 * grub-core/Makefile.core.def (crc): Module removed.
10742 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
10743 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
10744 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
10745 * grub-core/lib/crc.c: Removed.
10746 * include/grub/lib/crc.h: Removed.
10747 * Makefile.util.def (crc): Remove lib/crc.c
10748 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
10749 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
10750 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
10751 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
10752 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
10753 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
10754
e0337366
VS
107552010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10756
10757 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
10758
742f9232
VS
107592010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10760
10761 Split config.h for util and core.
10762
10763 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
10764 (ADDR32): Likewise.
10765 (DATA32): Likewise.
10766 (BSS_START_SYMBOL): Likewise.
10767 (END_SYMBOL): Likewise.
10768 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
10769 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
10770 * config.h.in: New file.
10771 * configure.ac: Use config-util.h as config define file.
10772 Rename MACHINE into GRUB_MACHINE. All users updated.
10773 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
10774 updated.
10775 (NESTED_FUNC_ATTR): Likewise.
10776 Substitue new variables.
10777 (COND_HAVE_ASM_USCORE): New conditional.
10778 * grub-core/Makefile.am (ASM_PREFIX): New variable.
10779 (kernel_syms.lst): Use ASM_PREFIX.
10780 * grub-core/kern/emu/console.c: Include config-util.h.
10781 * grub-core/kern/emu/misc.c: Likewise.
10782 * grub-core/kern/emu/mm.c: Likewise.
10783 * include/grub/emu/misc.h: Likewise.
10784 * include/grub/libgcc.h: Likewise.
10785
39feb0e8
VS
107862010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10787
10788 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
10789 constants usage.
10790 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
10791 Fix GRUB_TERM_KEY_* constants usage.
10792 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
10793
9af6dac3
VS
107942010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10795
10796 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
10797 print pointer.
10798 * grub-core/bus/usb/uhci.c: Remove empty define.
10799 (grub_uhci_check_transfer): Add missing cast.
10800 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
10801 print pointer.
10802 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
10803 PRIuGRUB_SIZE.
10804 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
10805
d6d94820
VS
108062010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10807
10808 * grub-core/Makefile.core.def (legacycfg): Add
10809 lib/i386/pc/vesa_modes_table.c on emu.
10810
3572f2b6
BC
108112010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
10812
10813 Reduce number of temporary files generated by build system.
10814
10815 * grub-core/gencmdlist.sh: Removed.
10816 * grub-core/genfslist.sh: Removed.
10817 * grub-core/genhandlerlist.sh: Removed.
10818 * grub-core/genmodsrc.sh: Removed.
10819 * grub-core/genpartmaplist.sh: Removed.
10820 * grub-core/genparttoollist.sh: Removed.
10821 * grub-core/gentermiinallist.sh: Removed.
10822 * grub-core/genvideolist.sh: Removed.
10823
10824 * grub-core/genmod.sh.in: New file.
10825 * grub-core/gensyminfo.sh.in: New file.
10826
10827 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
10828 * conf/Makefile.extra-dist: Update with new files.
10829 * gentpl.py: Remove rules related to unnecessary temporary files.
10830 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
10831 and und-* files.
10832 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
10833 genmod.sh scripts.
10834 * grub-core/bus/usb/uhci.c: Remove empty #define.
10835 * grub-core/genmoddep.awk: Updated with new syminfo format.
10836 * util/bash-completion.d/Makefile.am: Add config.log to
10837 CLEANFILES.
10838
c836b030
YB
108392010-09-19 Yves Blusseau <blusseau@zetam.org>
10840
10841 * Makefile.util.def: Add forgotten $(LIBINTL) library.
10842
2f4e8053
BC
108432010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
10844
10845 * util/grub-mkconfig.in: Check the config script for syntax errors
10846 before saving.
10847
75831c34
CW
108482010-09-19 Colin Watson <cjwatson@ubuntu.com>
108492010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10850
10851 * Makefile.util.def (grub-install): Use util/grub-install.in on all
10852 platforms.
10853 * util/grub-install.in: Add EFI and IEEE1275 support.
10854 * util/i386/efi/grub-install.in: Removed.
10855 * util/ieee1275/grub-install.in: Likewise.
10856
eaf41b25
VS
108572010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10858
10859 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
10860 (grub_cmd_cmosclean): Likewise.
10861 (GRUB_MOD_INIT): Register command cmosclean.
10862 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
10863 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
10864
1a9130dd
CPE
108652010-09-18 Carles Pina i Estany <carles@pina.cat>
108662010-09-18 Aleš Nesrsta <starous@volny.cz>
108672010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10868
10869 Add keyboard layouts support.
10870
10871 * Makefile.util.def (grub-mklayout): New file.
10872 (grub-kbdcomp): New script.
10873 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
10874 Add keyboard_layouts.h.
10875 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
10876 commands/boot.c on yeeloong.
10877 (keylayouts): New module.
10878 * grub-core/bus/usb/ohci.c
10879 * grub-core/bus/usb/uhci.c
10880 * grub-core/bus/usb/usbhub.c (rescan): New variable.
10881 (grub_usb_add_hub): Poll interrupt pipe for device handling.
10882 (attach_root_port): Likewise.
10883 (poll_nonroot_hub): Likewise.
10884 (grub_usb_poll_devices): Likewise.
10885 (detach_device): Close transfer.
10886 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
10887 function.
10888 (grub_usb_bulk_setup_readwrite): Likewise.
10889 (grub_usb_bulk_finish_readwrite): Likewise.
10890 * grub-core/commands/keylayouts.c: New file.
10891 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
10892 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
10893 aliases.
10894 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
10895 support scancode 2.
10896 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
10897 * include/grub/keyboard_layouts.h: New file.
10898 * util/grub-mklayout.c: New file.
10899 * util/grub-kbdcomp.in: Likewise.
10900
a1d84a5e
VS
109012010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10902
10903 Unify memory types.
10904
10905 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
10906 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
10907 types.
10908 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
10909 (grub_upper_mem): Likewise.
10910 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
10911 * include/grub/memory.h (grub_memory_type_t): New enum.
10912 All users updated.
10913
9696382e
VS
109142010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10915
10916 * grub-core/Makefile.core.def (lsapm): New module.
10917 * grub-core/commands/i386/pc/lsapm.c: New file.
10918 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
10919 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
10920 Likewise.
10921 * include/grub/i386/pc/apm.h: New file.
10922 * include/multiboot.h (multiboot_apm_info): New struct.
10923
109242010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10925
10926 GRUB-legacy configuration file support.
10927
10928 * Makefile.util.def (grub-menulst2cfg): New util.
10929 * docs/man/grub-menulst2cfg.h2m: New file.
10930 * grub-core/Makefile.core.def (legacycfg): New module.
10931 * grub-core/commands/legacycfg.c: New file.
10932 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
10933 (grub_normal_add_menu_entry): ... this.
10934 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
10935 (grub_normal_set_password): ...this.
10936 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
10937 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
10938 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
10939 * grub-core/lib/legacy_parse.c: New file.
10940 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
10941 * include/grub/i386/pc/vesa_modes_table.h: New file.
10942 * include/grub/legacy_parse.h: Likewise.
10943 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
10944 * util/grub-menulst2cfg.c: New file.
10945
bf8d1338
CW
109462010-09-17 Colin Watson <cjwatson@ubuntu.com>
10947
10948 * grub-core/kern/emu/hostdisk.c
10949 (convert_system_partition_to_system_disk): Initialise node.
10950
9c0bad2e
CW
109512010-09-17 Colin Watson <cjwatson@ubuntu.com>
10952
10953 * grub-core/kern/emu/hostdisk.c
10954 (convert_system_partition_to_system_disk): Fix devmapper memory pool
10955 leak.
10956 Reported and based on patch by: Modestas Vainius.
10957
a939d135
CW
109582010-09-17 Colin Watson <cjwatson@ubuntu.com>
10959
10960 Fix DM-RAID probing with recent versions of device-mapper udev
10961 rules.
10962
10963 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
10964 canonicalise device paths under /dev/mapper/.
10965 (convert_system_partition_to_system_disk): Compare the
10966 uncanonicalised path to /dev/mapper/ rather than the canonicalised
10967 path, since device nodes under /dev/mapper/ are often symlinks.
10968
0f7ee3c9
YB
109692010-09-17 Yves Blusseau <blusseau@zetam.org>
10970
10971 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
10972
10854d0d
YB
109732010-09-16 Yves Blusseau <blusseau@zetam.org>
10974
10975 * configure.ac: Avoid some annoying error messages if freetype-config
10976 program is not found.
10977
108538d8
CW
109782010-09-16 Colin Watson <cjwatson@ubuntu.com>
10979
10980 Support RAID on virtio devices, and others.
10981
10982 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
10983 Rename to ...
10984 [__MINGW32__] (grub_find_device): ... this.
10985 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
10986 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
10987 reasonable default if dir is NULL.
10988 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
10989 ...
10990 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
10991 (grub_guess_root_device): Update callers.
10992 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
10993
10994 * util/raid.c (grub_util_getdiskname): Remove.
10995 (grub_util_raid_getmembers): Use grub_find_device rather than
10996 grub_util_getdiskname.
10997
e5bfc130
CW
109982010-09-16 Colin Watson <cjwatson@ubuntu.com>
10999
11000 * docs/grub.texi (serial): Remove obsolete comment about GRUB
11001 needing to be compiled with serial support.
11002 (ls): Indicate that multiple files are accepted.
11003 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
11004 indicate that multiple files are accepted.
11005
be458ae2
CW
110062010-09-16 Colin Watson <cjwatson@ubuntu.com>
11007
11008 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
11009 libgrub_a_init.c, and util/bash-completion.d/grub.
11010
cb731b5e
VS
110112010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11012
11013 * util/grub-setup.c (setup): Fix incorrect container semantics.
11014
35139e8a
VS
110152010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11016
11017 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
11018 misusage.
11019 Reported by: J. Nick Terry
11020
e50fca4a
VS
110212010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11022
11023 Move embedding routines to partmap sources files.
11024
11025 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
11026 [GRUB_UTIL]: New variable.
11027 (gpt_partition_map_iterate): Set part.parent.
11028 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
11029 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
11030 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
11031 New function.
11032 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
11033 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
11034 (grub_partition_map) [GRUB_UTIL]: New field embed.
11035 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
11036 (setup): Use ->embed.
11037
f00478b7
VS
110382010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11039
11040 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
11041 function.
11042 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
11043 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
11044
2b94e3ff
YB
110452010-09-15 Yves Blusseau <blusseau@zetam.org>
11046
11047 Add function to get completions from usage.
11048
11049 * util/bash-completion.d/grub-completion.bash.in: Add function to get
11050 completions from usage. Use LC_ALL=C to get options properly.
11051
2e04a006
VS
110522010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11053
11054 * grub-core/gnulib/basename-lgpl.c: Imported.
11055 * grub-core/gnulib/basename.c: Likewise.
11056 * grub-core/gnulib/dirname-lgpl.c: Likewise.
11057 * grub-core/gnulib/dirname.c: Likewise.
11058 * grub-core/gnulib/dirname.h: Likewise.
11059 * grub-core/gnulib/stripslash.c: Likewise.
11060
5dcdf93a
VS
110612010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11062
11063 * grub-core/gnulib/error.c: Resynced.
11064 * grub-core/gnulib/getopt.c: Likewise.
11065 * grub-core/gnulib/getopt_int.h: Likewise.
11066 * grub-core/gnulib/regex.h: Likewise.
11067 * grub-core/gnulib/regex_internal.c: Likewise.
11068 * grub-core/gnulib/regex_internal.h: Likewise.
11069
014f47b7
SJ
110702010-09-15 Szymon Janc <szymon@janc.net.pl>
11071
11072 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
11073 CRC calculations and validity checks.
11074 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
11075 calculations.
11076
dd521a4a
SJ
110772010-09-15 Szymon Janc <szymon@janc.net.pl>
11078
11079 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
11080
79c4eeb9
VS
110812010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11082
11083 Fix incorrect echo options handling.
11084 Reported by: Yves Blusseau.
11085
11086 * include/grub/command.h (grub_command_flags_t): New flags
11087 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
11088 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
11089 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
11090
ed80f7d5
VS
110912010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11092
11093 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
11094 users updated.
11095 (GRUB_COMMAND_FLAG_MENU): Likewise.
11096 (GRUB_COMMAND_FLAG_BOTH): Likewise.
11097 (GRUB_COMMAND_FLAG_TITLE): Removed.
11098 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
11099 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
11100 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
11101 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
11102 (grub_command_flags_t): New enum. All users updated.
11103
5fe7620a
SG
111042010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
11105
11106 Fix solaris compilation.
11107
11108 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
11109 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
11110 (grub-emu-list): Likewise.
11111
545b752f
VS
111122010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11113
11114 Remove deprecated root command.
11115
11116 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
11117 updated.
11118
6c1a338c
VS
111192010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11120
11121 * util/i386/pc/grub-setup.c: Merge this ...
11122 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
11123 * util/grub-setup.c: ... into this.
11124 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
11125 New struct.
11126
111272010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11128
11129 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
11130 possible.
11131
d2ea4551
VS
111322010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11133
11134 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
11135 allocate p.
11136
3c3b5040
VS
111372010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11138
11139 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
11140 explicit root argument to set to prevent UUID to be interpreted as
11141 argument to set.
11142
b71c3fae
VS
111432010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11144
11145 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
11146
275433e6
VS
111472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11148
11149 Don't export grub_gate_a20.
11150
11151 * grub-core/kern/i386/pc/init.c: Remove leftovers.
11152 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
11153 to ...
11154 (grub_gate_a20): ... this. All users updated.
11155 * include/grub/i386/pc/init.h: Removed. All users updated.
11156
a5dbb1f1
VS
111572010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11158
11159 Create euro.pf2 which supports most European languages.
11160
11161 * Makefile.am (grubdata_DATA): Add euro.pf2.
11162 (euro.pf2): New target.
11163 (CLEANFILES): Add euro.pf2.
11164
62a747cb
VS
111652010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11166
11167 * configure.ac: Disable emu-usb by default to prevent inadvertent
11168 device takeover.
11169
608e43b1
VS
111702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11171
11172 Disable usbserial on grub-emu since our libusb code isn't good enough
11173 yet.
11174
11175 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
11176 (usbserial_pl2303): Likewise.
11177 (usbserial_ftdi): Likewise.
11178
94564f81
VS
111792010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11180
11181 * include/grub/disk.h (grub_disk): Remove has_partitions.
11182 All users updated.
11183 * disk/loopback.c (grub_loopback): Remove has_partitions.
11184 All users updated.
11185 (options): Remove partitions. All users updated.
11186 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
11187 * util/i386/pc/grub-setup.c (setup): copy partition table only when
11188 actual partition table is found.
11189
3352800b
VS
111902010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11191
11192 Remove readability checks (too many false negatives).
11193
11194 * util/grub-install.in: Remove readability checks.
11195 * util/grub-mkconfig.in: Likewise.
11196 * util/grub.d/10_hurd.in: Likewise.
11197 * util/grub.d/10_kfreebsd.in: Likewise.
11198 * util/grub.d/10_linux.in: Likewise.
11199 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
11200 way.
11201
2419f17a
VS
112022010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11203
11204 Enable acpi shutdown on all ACPI platforms.
11205
11206 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
11207 on coreboo, multiboot and EFI.
11208 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
11209 (grub_acpi_halt): Likewise.
11210 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
11211 (grub_cmd_halt): Don't call grub_acpi_halt directly.
11212 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
11213 * grub-core/lib/i386/halt.c (grub_halt)
11214 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
11215
0575c7c3
VS
112162010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11217
11218 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
11219 context.
11220
54ac3cd1
VS
112212010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11222
11223 * grub-core/video/efi_gop.c: Fix over-80-chars line.
11224 * grub-core/video/efi_uga.c: Likewise.
11225
b2a30ac5
VS
112262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11227
11228 Filter devaliases and never open same device twice.
11229
11230 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
11231 (last_ihandle): Likewise.
11232 (ofdisk_hash_ent): New member shortest.
11233 (ofdisk_hash_add): Add canonical path too.
11234 (scan): New function.
11235 (grub_ofdisk_iterate): Iterate over hashed entries.
11236 (compute_dev_path): Don't add :0.
11237 (grub_ofdisk_open): Don't really open the disk.
11238 (grub_ofdisk_close): Avoid closing unrelated disk.
11239 (grub_ofdisk_read): Implement reopen logic.
11240 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
11241 New function.
11242 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
11243 New proto.
11244
fb53b340
VS
112452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11246
11247 Fix sparc64.
11248
11249 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
11250 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
11251 right address. Add sparc64_ieee1275_ldflags.
11252 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
11253 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
11254 to grub_host_to_target_addr
11255 (load_image): Likewise.
11256
f452b040
VS
112572010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11258
11259 * grub-core/normal/completion.c (complete_file): Handle device
11260 containing slash.
11261 Fix based on patch by Doug Nazar.
11262
9b5b2541
VS
112632010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11264
11265 grub-mknetdir script.
11266
11267 * Makefile.util.def (grub-mknetdir): New module.
11268 * tests/util/grub-shell.in: Support boot=net
11269 * util/grub-mknetdir.in: New file.
11270
9d2be652
VS
112712010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11272
11273 videoinfo on non-vbe.
11274
11275 * grub-core/Makefile.core.def (vbeinfo): Removed.
11276 (vbetest): Removed.
11277 (videoinfo): New module.
11278 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
11279 * grub-core/commands/i386/pc/vbetest.c: Removed.
11280 * grub-core/commands/videoinfo.c: New file.
11281 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
11282 specification.
11283 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
11284 as vbetest.
11285 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
11286 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
11287 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
11288 mode_number. New parameter mode. All users updated.
11289 (grub_video_gop_iterate): New function.
11290 (grub_video_efi_gop): New member iterate.
11291 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
11292 (grub_vbe_set_video_mode): Remove setting useless fields.
11293 (vbe2videoinfo): New function.
11294 (grub_video_vbe_iterate): Likewise.
11295 (grub_video_vbe_setup): Use vbe2videoinfo.
11296 (grub_video_vbe_print_adapter_specific_info): New function.
11297 (grub_video_vbe_adapter): New fields iterate and
11298 print_adapter_specific_info.
11299 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
11300 All users updated.
11301 (grub_video_mode_info): New field mode_number.
11302 (grub_video_adapter): New fields iterate and
11303 print_adapter_specific_info.
11304
179503f5
TG
113052010-09-13 Tristan Gingold <gingold@free.fr>
113062010-09-13 Robert Millan <rmh.grub@aybabtu.com>
113072010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11308
11309 * grub-core/commands/efi/lsefisystab.c: New file.
11310 * grub-core/commands/efi/lssal.c: Likewise.
11311 * grub-core/Makefile.core.def (lsacpi): New module.
11312 (lsefisystab): Likewise.
11313 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
11314 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
11315 (grub_efi_sal_system_table): New struct.
11316 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
11317 (grub_efi_sal_system_table_memory_descriptor): Likewise.
11318 (grub_efi_sal_system_table_platform_features): Likewise.
11319 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
11320 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
11321 (grub_efi_sal_system_table_ap_wakeup): Likewise.
11322 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
11323
cf9827de
VS
113242010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11325
11326 Support explicit user claim that a device is BIOS-visible.
11327
11328 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
11329 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
11330 * grub-core/kern/emu/hostdisk.c
11331 (convert_system_partition_to_system_disk): Support mdX.
11332 (find_system_device): New parameter add. All users updated.
11333 (grub_util_biosdisk_is_present): New function.
11334 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
11335 proto.
11336
53f0eb1f
VS
113372010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11338
11339 Search hints support.
11340
11341 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
11342 All users updated.
11343
b23ffd70
YB
113442010-09-13 Yves Blusseau <blusseau@zetam.org>
11345
11346 Bash completion script for util commands
11347
11348 * Makefile.am: Add util/bash-completion.d directory
11349 * configure.ac: Likewise.
11350 * util/bash-completion.d/Makefile.am: New file.
11351 * util/bash-completion.d/grub-completion.bash.in: Likewise.
11352
d547dc28
VS
113532010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11354
11355 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
11356 (print_backlog): set backlog_ucs4 and backlog_glyphs.
11357 Reported by: Yves Blusseau.
11358
2fc8ccb9
VS
113592010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11360
11361 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
11362 partition size and offset.
11363
d8a84076
VS
113642010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11365
11366 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
11367
84fb3b3d
VS
113682010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11369
11370 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
11371
768ec2e2
VS
113722010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11373
11374 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
11375 (grub_xvasprintf): Likewise.
11376
4870900f
VS
113772010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11378
11379 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
11380
faca6bec
VS
113812010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11382
11383 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
11384 args ending with NULL.
11385
113862010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
11387
11388 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
11389 pointer.
11390
3c70f225
SJ
113912010-09-11 Szymon Janc <szymon@janc.net.pl>
11392
11393 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
11394
4df7996d
VS
113952010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11396
11397 Shutdown using ACPI.
11398
11399 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
11400 * grub-core/commands/acpihalt.c: New file.
11401 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
11402 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
11403 (grub_acpi_halt): New proto.
11404 (GRUB_ACPI_SLP_EN): New const.
11405 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
11406 (GRUB_ACPI_OPCODE_*): New enum.
11407 (GRUB_ACPI_EXTOPCODE_*): Likewise.
11408
126b4c32
TG
114092010-09-11 Tristan Gingold <gingold@free.fr>
114102010-09-11 Robert Millan <rmh.grub@aybabtu.com>
114112010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11412
11413 * commands/lsacpi.c: New file.
11414 * grub-core/Makefile.core.def (lsacpi): New module.
11415 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
11416 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
11417 (grub_acpi_madt_entry_header): New struct.
11418 (grub_acpi_madt): Likewise.
11419 (grub_acpi_madt_entry_interrupt_override): Likewise.
11420 (grub_acpi_madt_entry_sapic): Likewise.
11421 (grub_acpi_madt_entry_lsapic): Likewise.
11422 (grub_acpi_madt_entry_platform_int_source): Likewise.
11423 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
11424 (PRIuGRUB_UINT32_T): Likewise.
11425 (PRIxGRUB_UINT64_T): Likewise.
11426
1aa4fe88
VS
114272010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11428
11429 Implement loading palette on ieee1275_fb.
11430
11431 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
11432 (have_setcolors): Likewise.
11433 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
11434 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
11435 (grub_video_ieee1275_set_palette): Implement.
11436
25761e13
VS
114372010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
114382010-09-11 Colin Watson <cjwatson@ubuntu.com>
11439
11440 * util/grub-install.in (grub_partition): New variable.
11441 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
11442 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
11443 Fixes a bug reported by Yves Blusseau.
11444
050abaea
VS
114452010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11446
11447 Fix emu on mipsel.
11448
11449 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
11450 =grub_cpu_flush_cache on all mips and not only yeeloong.
11451 * configure.ac (COND_mips): New conditional.
11452 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
11453 platforms.
11454 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
11455 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
11456 [GRUB_LINKER_HAVE_INIT]: New function.
11457 (grub_emu_post_init): Likewise.
11458 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
11459 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
11460 * include/grub/cache.h (_mips): Include mips/cache.h.
11461 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
11462 LVM and RAID prototypes.
11463 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
11464 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
11465 function.
11466
5ed7d816
CW
114672010-09-10 Colin Watson <cjwatson@ubuntu.com>
11468
11469 * util/grub-install.in: Don't try to verify core.img until after
11470 running grub-mkimage to create it.
11471
90367e04
RM
114722010-09-10 Robert Millan <rmh@gnu.org>
11473
11474 * util/grub.d/10_hurd.in: Add misc readability checks.
11475 * util/grub.d/10_kfreebsd.in: Likewise.
11476 * util/grub.d/10_linux.in: Likewise.
11477
c452fa66
CW
114782010-09-10 Colin Watson <cjwatson@ubuntu.com>
11479
11480 * util/grub-install.in: ${imgext} won't be defined here until the
11481 install branch is merged. For the meantime, only verify core.img on
11482 i386-pc and sparc64-ieee1275 platforms.
11483
c38fe9f4
RM
114842010-09-10 Robert Millan <rmh@gnu.org>
11485
11486 Solaris support in grub_find_zpool_from_dir(). Thanks
11487 Seth Goldberg for referring to getextmntent() facility.
11488
11489 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
11490 `sys/mkdev.h'.
11491 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
11492 `<sys/mnttab.h>'.
11493 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
11494 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
11495 method for finding zpool name.
11496
905f7773
CW
114972010-09-10 Colin Watson <cjwatson@ubuntu.com>
11498
11499 grub-fstest needs the host and hostfs modules while other utilities
11500 actively require those modules to be absent, so grub-fstest needs
11501 its own initialisation and finalisation code.
11502
11503 * Makefile.am (grub_fstest.pp): New target.
11504 (grub_fstest_init.lst): Likewise.
11505 (grub_fstest_init.c): Likewise.
11506 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
11507
fb90b546
RM
115082010-09-10 Robert Millan <rmh@gnu.org>
11509
11510 * configure.ac: Check for `struct statfs.f_fstypename' and
11511 `struct statfs.f_mntfromname'.
11512
11513 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
11514 kFreeBSD-specific code.
11515
66d4bea5
RM
115162010-09-10 Robert Millan <rmh@gnu.org>
11517
11518 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
11519 on ZFS. Now non-main filesystems are supported as / too.
11520
b6a690ee
CW
115212010-09-09 Colin Watson <cjwatson@ubuntu.com>
11522
11523 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
11524 and grub-core/disk/host.c to ...
11525 (grub-fstest): ... here. Having the host disk implementation
11526 present confuses grub-probe and other utility programs.
11527
11528 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
11529 when writing to a file, not when writing to stdout.
11530
8901b00c 115312010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
11532
11533 * tests/partmap_test.in: New test for partitions.
11534 * Makefile.util.def: Rules for new test.
11535
7bf45fdd
RM
115362010-09-09 Robert Millan <rmh@gnu.org>
11537
11538 * util/grub-probe.c (probe): Fix a pair of unhandled error
11539 conditions.
11540
4dfbc574
RM
115412010-09-09 Robert Millan <rmh@gnu.org>
11542
11543 Basic Btrfs support (detection and UUID).
11544
11545 * grub-core/fs/btrfs.c: New file.
11546 * Makefile.util.def (library): Register btrfs.c.
11547 * grub-core/Makefile.core.def: Likewise.
11548
6b8e78ae
RM
115492010-09-08 Robert Millan <rmh@gnu.org>
11550
11551 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
11552 with (optional) parameters to specify device and relative path.
11553 * util/grub-install.in: Use is_path_readable_by_grub() to
11554 verify readability of a few critical files.
11555 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
11556 verify readability of grub.cfg.new.
11557
27f21a8b
VS
115582010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
11559
11560 Split minix.mod into minix.mod and minix2.mod.
11561
11562 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
11563 * grub-core/Makefile.core.def (minix2): New module.
11564 * grub-core/fs/minix.c: Use definitions instead of runtime version
11565 checking.
11566 * grub-core/fs/minix2.c: New file.
11567
c0e53ea5
YB
115682010-09-08 Yves Blusseau <blusseau@zetam.org>
11569
11570 Add new --boot-directory option to replace --root-directory
11571
11572 * util/grub-install.in: Add new --boot-directory option
11573 * util/grub-reboot.in: Likewise.
11574 * util/grub-set-default.in: Likewise.
11575
b9fe6ea2
YB
115762010-09-08 Yves Blusseau <blusseau@zetam.org>
11577
11578 * util/grub-mkconfig.in: Use new variable.
11579
d87aedff
YB
115802010-09-08 Yves Blusseau <blusseau@zetam.org>
11581
11582 * configure.ac: Define some useful variables.
11583
e55e8495
VS
115842010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
11585
11586 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
11587 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
11588 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
11589 Use terminfo and don't use cursor-on/cursor-off unless it's known
11590 to work.
11591 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
11592 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
11593
6fa6d675
CW
115942010-09-08 Colin Watson <cjwatson@ubuntu.com>
11595
11596 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
11597 starts with "(,", fill the drive containing the loaded image in
11598 between those two characters, but expect that a full partition
11599 specification including partition map names will follow.
11600
92f2aef0
RM
116012010-09-08 Robert Millan <rmh@gnu.org>
11602
11603 * configure.ac: Remove `--enable-grub-fstest' option.
11604 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
11605
11606 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
11607 `grub-fstest' instead of `grub-probe' for readability verification.
11608 * util/grub-probe.c (probe): Remove readability verification kludge.
11609
99fd620d
RM
116102010-09-08 Robert Millan <rmh@gnu.org>
11611
11612 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
11613 initializing `GRUB_FS'.
11614
058e30ac 116152010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
11616
11617 Not command (!) support to GRUB script.
11618
11619 * tests/grub_script_not.in: New test.
11620 * Makefile.util.def: Rules for new test.
11621
11622 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
11623 ! command as a special case.
11624 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
11625
b61d05ed 116262010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11627
058e30ac 11628 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
11629 grub_free.
b61d05ed 11630
4d69c786 116312010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11632
11633 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
11634
aa3119c4 116352010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11636
11637 * docs/grub.texi (Shell-like scripting): Documentation for break,
11638 continue, shift and return commands.
11639
db0f7e3d
VS
116402010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
11641
11642 Rename CD-ROM to cd on BIOS.
11643
11644 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
11645 "cd".
11646 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
11647
88b87c93
VS
116482010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11649
11650 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
11651 * util/grub-probe.c (main): Likewise.
11652 * util/i386/pc/grub-setup.c (main): Likewise.
11653 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
11654 Reported and debugged by: alexxy
11655
294f324d
VS
116562010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11657
11658 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
11659 diagnostic info.
11660
d7ee3441
JS
116612010-09-05 Jo Shields <directhex@apebox.org>
11662
11663 * util/grub.d/30_os-prober.in: Add missing classes.
11664
d7e06c1f
VS
116652010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11666
11667 * docs/grub.texi (Theme file format): Document new position format.
11668
fc157e53
VS
116692010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11670
11671 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
11672 a table. Use @code instead of @verbatim.
11673
506e9a1c
CB
116742010-09-05 Colin D Bennett <colin@gibibit.com>
11675
11676 Gfxmenu documentation.
11677
11678 * docs/grub.texi (Theme file format): New chapter.
11679
f0aff67c
SJ
116802010-09-05 Szymon Janc <szymon@janc.net.pl>
11681
11682 * grub-core/Makefile.core.def (xzio): New module.
11683 * grub-core/io/xzio.c: New file.
11684 * grub-core/lib/xzembed/xz.h: New file (from xembed).
11685 * grub-core/lib/xzembed/xz_config.h: Likewise.
11686 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
11687 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
11688 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
11689 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
11690 * grub-core/lib/xzembed/xz_private.h: Likewise.
11691 * grub-core/lib/xzembed/xz_stream.h: Likewise.
11692 * include/grub/file.h (grub_file_filter_id): New compression filter
11693 GRUB_FILE_FILTER_XZIO.
11694
82a85062
VS
116952010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11696
11697 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
11698 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
11699 size.
11700
3579415d
VS
117012010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11702
11703 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
11704 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
11705
5124ae6d
VS
117062010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11707
11708 Uncompressed checksum support.
11709
11710 * grub-core/commands/hashsum.c (options): Add option --uncompress.
11711 (check_list): New parameter uncompress.
11712 (grub_cmd_hashsum): Handle --uncompress.
11713
9aadb3d1
VS
117142010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11715
11716 Reintroduce testload.
11717
11718 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
11719 from here ...
11720 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
11721 (GRUB_MOD_INIT): New function.
11722 (GRUB_MOD_FINI): Likewise.
11723 * grub-core/Makefile.core.def (testload): New module.
11724
a17792c3
SJ
117252010-09-05 Szymon Janc <szymon@janc.net.pl>
11726
11727 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
11728 (uint8_t): New type.
11729 (uint16_t): Likewise.
11730 (uint32_t): Likewise.
11731 (uint64_t): Likewise.
11732
b81e40a3
SJ
117332010-09-05 Szymon Janc <szymon@janc.net.pl>
11734
11735 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
11736
fc2ef117
VS
117372010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11738
11739 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
11740 Made static.
11741 (grub_gzfile_open): Removed. All users updated.
11742 (GRUB_MOD_INIT): New function.
11743 (GRUB_MOD_FINI): Likewise.
11744 * grub-core/kern/file.c (grub_file_filters_all): New variable.
11745 (grub_file_filters_enabled): Likewise.
11746 (grub_file_open): Handle filters.
11747 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
11748 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
11749 * include/grub/file.h (grub_file_filter_id_t): New type.
11750 (grub_file_filter_t): Likewise.
11751 (grub_file_filters_all): New extern variable.
11752 (grub_file_filters_enabled): Likewise.
11753 (grub_file_filter_register): New inline function.
11754 (grub_file_filter_unregister): Likewise.
11755 (grub_file_filter_disable): Likewise.
11756 (grub_file_filter_disable_compression): Likewise.
11757 * include/grub/gzio.h: Removed.
11758
35ee15e0
BC
117592010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11760
11761 Filename expansion support for wildcards in GRUB script.
11762
11763 * tests/grub_script_expansion.in: New test.
11764 * Makefile.util.def: Rule for new test.
11765
11766 * grub-core/commands/wildcard.c: New file, implements filename
11767 expansion support for GRUB script.
11768 * grub-core/Makefile.core.def: Rule update for regexp.mod.
11769 * grub-core/script/argv.c: Cosmetic changes.
11770 * grub-core/script/execute.c (grub_script_arglist_to_argv):
11771 Refactored to perform wildcard expansion on arguments.
11772 * include/grub/script_sh.h (grub_script_wildcard_translator): New
11773 struct.
11774
11775 * tests/util/grub-shell.in: Fix quoting for read input.
11776
5f0c4aca
BC
117772010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11778
11779 Support for updating environment variables with matched substrings
11780 of regexp.
11781
11782 * tests/grub_cmd_regexp.in: New test.
11783 * Makefile.util.def: Rule for new test.
11784
11785 * grub-core/commands/regexp.c: New option -s to update environment
11786 variables with regexp matches.
11787
3759a35f
SJ
117882010-09-04 Szymon Janc <szymon@janc.net.pl>
11789
11790 * include/grub/file.h (grub_file): New member not_easly_seekable.
11791 (grub_file_seekable): New inline function.
11792 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
11793 easily seekable.
11794 (grub_gzio_open): Set not_easly_seekable.
11795 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
11796 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
11797
ed8c6dec
BC
117982010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11799
11800 Support for options to appear multiple times on cmdline.
11801
11802 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
11803 * grub-core/commands/extcmd.c: Support for repeatable option.
11804 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
11805 repeatable option support.
11806
11807 Refactor menuentry into a regular command.
11808
11809 * grub-core/commands/menuentry.c: New file, menuentry command
11810 implementation.
11811 * grub-core/Makefile.core.def: Rule update for normal.mod.
11812 * grub-core/normal/main.c: Moved menuentry creation to
11813 grub-core/commands/menuentry.c.
11814 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
11815 (grub_menu_execute_entry_real): Removed.
11816 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
11817 function.
11818 (grub_script_execute_menuentry): Removed.
11819 * grub-core/script/parser.y (menuentry): Removed.
11820 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
11821 * grub-core/script/yylex.l (menuentry): Removed.
11822 * include/grub/menu.h (grub_menu_init): New prototype.
11823 (grub_menu_fini): New prototype.
11824 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
11825 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
11826 (grub_script_execute_sourcecode): New prototype.
11827
dacd0cf0
BC
118282010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11829
11830 "return" command for GRUB script functions.
11831
11832 * tests/grub_script_return.in: New test.
11833 * Makefile.util.def: Rules for new test.
11834
11835 * grub-core/script/execute.c (grub_script_return): New function.
11836 * grub-core/script/main.c: Register/unregister return commaond.
11837 * include/grub/script_sh.h (grub_script_return): New prototype.
11838
52e72f9d
BC
118392010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11840
11841 "setparams" command to update positional parameters.
11842
11843 * tests/grub_script_setparams.in: New test.
11844 * Makefile.util.def: Rules for new test.
11845
11846 * grub-core/script/argv.c (grub_script_argv_make): New function.
11847 * grub-core/script/execute.c (replace_scope): New function.
11848 (grub_script_setparams): New function.
11849 * grub-core/script/lexer.c: Remove unused variables.
11850 * grub-core/script/main.c: Register/unregister setparams command.
11851 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
11852 (grub_script_setparams): New prototype.
11853
25b60c91
BC
118542010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11855
11856 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
11857 grub_free order.
11858
37e7bf68
BC
118592010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11860
11861 Support for passing block of commands as an argument to extcmds.
11862
11863 * Makefile.util.def: Rules for new test.
11864 * tests/grub_script_blockarg.in: New test.
11865 * grub-core/tests/test_blockarg.c: New file, block argument
11866 command used in the test.
11867
11868 * include/grub/extcmd.h (grub_extcmd_context): New struct.
11869 (grub_register_extcmd_prio): New function prototype.
11870 (grub_extcmd_dispatcher): New function prototype.
11871 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
11872 type.
11873 * include/grub/script_sh.h (struct grub_script): New members
11874 `children', `next_siblings' and `refcnt' for block arguments and
11875 reference counting.
11876 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
11877 (grub_script_arg): New member `script' for block argument.
11878 (grub_script_argv): New member `script' for block argument.
11879 (grub_parser_param): New member `scripts' for block argument.
11880 (grub_script_mem_free): New extern function prototype.
11881 (grub_script_ref): New function prototype.
11882 (grub_script_unref): New function prototype.
11883
11884 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
11885 extcmd form to support block arguments.
11886 * grub-core/script/argv.c: Block arguments support.
11887 * grub-core/script/execute.c: Likewise.
11888 * grub-core/script/lexer.c: Likewise.
11889 * grub-core/script/main.c: Likewise.
11890 * grub-core/script/script.c: Likewise.
11891 * grub-core/script/parser.y: Likewise. New `block' and `block0'
11892 non-terminals.
11893
11894 * grub-core/commands/acpi.c: Update extcmd implementations with
11895 grub_extcmd_context_t.
11896 * grub-core/commands/cat.c: Likewise.
11897 * grub-core/commands/echo.c: Likewise.
11898 * grub-core/commands/extcmd.c: Likewise.
11899 * grub-core/commands/hashsum.c: Likewise.
11900 * grub-core/commands/hdparm.c: Likewise.
11901 * grub-core/commands/help.c: Likewise.
11902 * grub-core/commands/hexdump.c: Likewise.
11903 * grub-core/commands/i386/cpuid.c: Likewise.
11904 * grub-core/commands/i386/pc/drivemap.c: Likewise.
11905 * grub-core/commands/i386/pc/halt.c: Likewise.
11906 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11907 * grub-core/commands/iorw.c: Likewise.
11908 * grub-core/commands/keystatus.c: Likewise.
11909 * grub-core/commands/loadenv.c: Likewise.
11910 * grub-core/commands/ls.c: Likewise.
11911 * grub-core/commands/lspci.c: Likewise.
11912 * grub-core/commands/memrw.c: Likewise.
11913 * grub-core/commands/probe.c: Likewise.
11914 * grub-core/commands/search_wrap.c: Likewise.
11915 * grub-core/commands/setpci.c: Likewise.
11916 * grub-core/commands/sleep.c: Likewise.
11917 * grub-core/disk/loopback.c: Likewise.
11918 * grub-core/hello/hello.c: Likewise.
11919 * grub-core/loader/i386/bsd.c: Likewise.
11920 * grub-core/loader/xnu.c: Likewise.
11921 * grub-core/term/gfxterm.c: Likewise.
11922 * grub-core/term/serial.c: Likewise.
11923 * grub-core/tests/lib/functional_test.c: Likewise.
11924
888d1500
BC
119252010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11926
11927 Multi-line quoted strings support.
11928
11929 * grub-core/script/lexer.c (append_newline): Removed.
11930 (grub_script_lexer_yywrap): Refactored.
11931 (grub_script_lexer_init): Refactored.
11932 * grub-core/script/yylex.l (yywrap): New function.
11933 (grub_lexer_resplit): New function.
11934 (grub_lexer_unput): New function.
11935 * include/grub/script_sh.h (grub_lexer_param): New members, unput
11936 and resplit.
11937 * tests/grub_script_echo1.in: Added few more testcases.
11938
dda060dd
VS
119392010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
11940
11941 * grub-core/kern/misc.c: Don't add abort alias in utils.
11942 Reported by: echoline.
11943
6556eba9
BC
119442010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
11945
11946 Add missing files into "make dist" tarball for other platforms.
11947
11948 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
11949 * conf/Makefile.common (dist_noinst_DATA): New variable.
11950 * conf/Makefile.extra-dist: Added missing make dist files.
11951 * grub-core/Makefile.core.def: Likewise.
11952
c8e7bf5f
VS
119532010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
11954
11955 Compress grub_prefix.
11956
11957 * grub-core/boot/i386/pc/lnxboot.S: Use
11958 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
11959 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
11960 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
11961 GRUB_MACHINE_PREFIX_END. All users updated.
11962 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
11963 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
11964 + 0x40.
11965 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
11966 * util/grub-mkimage.c (image_target_desc): Change data_end to
11967 prefix_end. All users updated.
11968
a7c00cdb
VS
119692010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
11970
11971 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
11972 value.
11973 (grub_openbsd_boot): Likewise.
11974 (grub_netbsd_boot): Likewise.
11975 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
11976 (grub_xnu_boot): Likewise.
11977
9f915872
VS
119782010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11979
11980 * configure.ac: Clean LIBS variable after tests.
11981
efa1bee7
CW
119822010-09-02 Colin Watson <cjwatson@ubuntu.com>
11983
11984 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
11985
61d720e5
VS
119862010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11987
11988 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
11989 echo if libdevmapper will be used.
11990
ef8e0ec8
IT
119912010-09-02 Ian Turner <Ian.Turner@deshaw.com>
11992
11993 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
11994 constant for the same file.
11995
03e261d8
VS
119962010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11997
11998 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
11999
c2a4eba6
CW
120002010-09-02 Colin Watson <cjwatson@ubuntu.com>
12001
12002 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
12003 grub-core/*.pp.
12004
9056cbf3
CW
120052010-09-02 Colin Watson <cjwatson@ubuntu.com>
12006
12007 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
12008 required by the boot protocol.
12009
12010 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
12011 ebp and edi members.
12012 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
12013 state.ebp and state.edi.
12014 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
12015 %ebp and %edi according to grub_relocator32_ebp and
12016 grub_relocator32_edi respectively.
12017 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
12018 and state.edi.
12019
529cc99a
VS
120202010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12021
12022 Add i386-pc-pxe image target.
12023
12024 * util/grub-mkimage.c (image_target_desc): New enum value
12025 IMAGE_I386_PC_PXE.
12026 (image_targets): New target i386-pc-pxe.
12027 (generate_image): Handle i386-pc-pxe image.
12028
9a093920
VS
120292010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12030
12031 Fix grub_pxe_scan.
12032
12033 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
12034 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
12035 All users updated.
12036 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
12037 (grub_pxe_pxenv): Correct type.
12038
f9cefc4e
CW
120392010-09-01 Colin Watson <cjwatson@ubuntu.com>
12040
12041 * NEWS: Document most of the important changes since 1.98.
12042
4066f57f
CW
120432010-09-01 Colin Watson <cjwatson@ubuntu.com>
12044
12045 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
12046 generated manual page) a little.
12047
da2891f9
CW
120482010-09-01 Colin Watson <cjwatson@ubuntu.com>
12049
12050 * docs/grub.texi: Add myself as an author.
12051
ad717fae
VS
120522010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
12053
12054 * Makefile.util.def (libgrub.a): Add missing sunpc.
12055 Reported by: Seth Goldberg.
12056
eefe8abd
VS
120572010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12058
12059 Interrupt wrapping and code simplifications.
12060
9494ef9a
VS
12061 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
12062 x86_noieee1275 which are functionaly equivalent in this case.
12063 (grub-install): Make source on each platform explicit. Enable on
12064 all noemu.
12065 * gentpl.py (x86_efi_pc): Removed group.
12066 (x86_noefi): Likewise.
12067 (i386_noefi): Likewise.
12068 (x86_noieee1275): Likewise.
12069 (i386_noieee1275): Likewise.
12070 (i386_noefi_noieee1275): Likewise.
12071 (i386_pc_qemu_coreboot): Likewise.
12072 (i386_coreboot_multiboot): Likewise.
12073 (i386_pc_coreboot_multiboot_qemu): Likewise.
12074 (x86_noefi_mips): Likewise.
12075 (noieee1275): Likewise.
12076 (ieee1275_mips): Likewise.
12077 (noemu_noieee1275): Likewise.
12078 (cmos): New group.
12079 (usb): Likewise.
12080 (videoinkernel): Likewise.
12081 (videomodules): Likewise.
eefe8abd 12082 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
12083 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
12084 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
12085 include/grub/loader.h, include/grub/msdos_partition.h,
12086 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
12087 include/grub/machine/console.h, include/grub/machine/vga.h,
12088 include/grub/machine/vbe.h, include/grub/machine/init.h,
12089 include/grub/machine/kernel.h, include/grub/cpu/time.h,
12090 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 12091 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
12092 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
12093 * grub-core/Makefile.core.def (kernel): Explicit the source for
12094 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
12095 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
12096 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
12097 Use videoinkernel tag.
12098 (usb): Enable on all usb.
12099 (usbserial_common): Likewise.
12100 (usbserial_pl2303): Likewise.
12101 (usbserial_ftdi): Likewise.
12102 (uhci): Enable on all x86.
12103 (ohci): Enable on all pci.
12104 (cmostest): Enable on all CMOS.
12105 (acpi): Include commands/acpi.c on all platforms.
12106 (halt): Add relevant lib/*/halt.c.
12107 (hdparm): Enable on all pci.
12108 (lspci): Likewise.
12109 (usbtest): Enable on all usb.
12110 (ata): Enable on all pci.
12111 (ata_pthru): Likewise.
12112 (usbms): Enable on all usb.
12113 (usb_keyboard): Likewise.
12114 (font): Use tag videomodules.
12115 (bufio): Likewise.
12116 (datetime): Use tag cmos. Enable on all noemu.
12117 (mmap): Use tags common and x86.
12118 (gfxterm): Use tag videomodules.
12119 (bitmap): Likewise.
12120 (bitmap_scale): Likewise.
12121 (video_fb): Likewise.
12122 (video): Likewise.
12123 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
12124 adjust padding accordingly. All users updated.
12125 (grub_ohci_transaction): Fix bad format specification.
12126 (GRUB_MOD_INIT): Add asserts for struct size.
12127 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
12128 (grub_alloc_td): Likewise.
12129 (grub_free_queue): Likewise.
12130 (grub_uhci_transfer): Likewise.
12131 (grub_uhci_transaction): Fix bad format specification.
12132 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
12133 (grub_usb_bulk_readwrite): Likewise.
12134 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
12135 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
12136 Made static.
12137 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
12138 Made static.
12139 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
12140 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
12141 Transformed into C.
12142 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
12143 Moved from here ...
12144 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
12145 ... here. Transformed into C. Made static.
12146 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
12147 Moved from here ...
12148 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
12149 ... here. Transformed into C. Made static.
12150 * grub-core/kern/i386/pc/startup.S
12151 (grub_biosdisk_check_int13_extensions): Moved from here ...
12152 * grub-core/disk/i386/pc/biosdisk.c
12153 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
12154 Made static.
12155 * grub-core/kern/i386/pc/startup.S
12156 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
12157 * grub-core/disk/i386/pc/biosdisk.c
12158 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
12159 Transformed into C. Made static.
12160 * grub-core/kern/i386/pc/startup.S
12161 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
12162 * grub-core/disk/i386/pc/biosdisk.c
12163 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
12164 Transformed into C. Made static.
12165 * grub-core/kern/i386/pc/startup.S
12166 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
12167 * grub-core/disk/i386/pc/biosdisk.c
12168 (grub_biosdisk_get_diskinfo_standard): ... here.
12169 Transformed into C. Made static.
12170 * grub-core/kern/i386/pc/startup.S
12171 (grub_biosdisk_get_num_floppies): Moved from here ...
12172 * grub-core/disk/i386/pc/biosdisk.c
12173 (grub_biosdisk_get_num_floppies): ... here.
12174 Transformed into C. Made static.
12175 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
12176 New function.
12177 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
12178 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
12179 Transformed into C. Made static.
12180 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
12181 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
12182 Transformed into C. Made static.
12183 * grub-core/kern/i386/ieee1275/init.c: Removed.
12184 * grub-core/kern/i386/misc.S: Likewise.
12185 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
12186 Splitted from here ...
12187 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
12188 Transformed into C. Made static. All users updated.
12189 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
12190 Transformed into C. Made static. All users updated.
12191 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
12192 Moved from here...
12193 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
12194 Transformed into C. Made static. All users updated.
12195 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
12196 Moved from here...
12197 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
12198 Transformed into C. Made static. All users updated.
12199 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
12200 Removed (replaced by C version).
12201 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
12202 Moved from here...
12203 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
12204 Transformed into C. Made static.
12205 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
12206 Moved from here...
12207 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
12208 ... here. Transformed into C.
12209 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
12210 Moved from here...
12211 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
12212 ... here. Transformed into C.
12213 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
12214 Moved from here...
12215 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
12216 ... here. Transformed into C. Made static.
12217 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
12218 Moved from here...
12219 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
12220 ... here. Transformed into C.
21ed554b
VS
12221 * grub-core/kern/i386/pc/startup.S
12222 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
12223 * grub-core/video/i386/pc/vbe.c
12224 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
12225 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
12226 Moved from here...
12227 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
12228 ... here. Transformed into C.
12229 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
12230 Moved from here...
12231 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
12232 ... here. Transformed into C.
12233 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
12234 Moved from here...
12235 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
12236 ... here. Transformed into C.
12237 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
12238 Moved from here...
12239 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
12240 ... here. Transformed into C.
12241 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
12242 Moved from here...
12243 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
12244 ... here. Transformed into C. Made static.
12245 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
12246 Moved from here...
12247 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
12248 ... here. Transformed into C. Made static.
12249 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
12250 Moved from here...
12251 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
12252 ... here. Transformed into C. Made static.
12253 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
12254 pxe_rm_entry as third argument.
12255 (grub_bios_interrupt): New function.
12256 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
12257 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
12258 of calling grub_stop.
12259 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
12260 * grub-core/lib/efi/halt.c (grub_halt): ...here.
12261 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
12262 * grub-core/lib/emu/halt.c (grub_halt): ... here.
12263 * grub-core/lib/i386/halt.c: Moved from here ...
12264 * grub-core/lib/i386/halt.c: ... here.
12265 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
12266 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
12267 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
12268 grub_stop_floppy.
12269 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
12270 * include/grub/i386/coreboot/init.h: Removed.
12271 * include/grub/i386/multiboot/init.h: Likewise.
12272 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
12273 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
12274 * include/grub/i386/pc/int.h: New file.
12275 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
12276 (grub_pxe_scan): Removed.
12277 (grub_pxe_call): Update prototype.
12278 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
12279 prototypes.
12280 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
12281 * include/grub/i386/qemu/init.h: Removed.
12282 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
12283 noreturn.
12284 (grub_halt): Likewise.
12285 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
12286 (grub_reboot): Likewise.
12287 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
12288 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
12289 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
12290
215dd471
RM
122912010-08-30 Robert Millan <rmh@gnu.org>
12292
12293 * NEWS: Document addition of ZFS support in `grub-install' and
12294 `grub-mkconfig'.
12295
ebd65b82
BC
122962010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
12297
12298 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
12299 dprintf output.
12300
11721d19
VS
123012010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12302
12303 Remove leftover embedding of font objects.
12304
12305 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
12306 * util/grub-install.in (font): Removed.
12307 * util/grub-mkimage.c (generate_image): Remove font support. All users
12308 updated.
12309
37837d4e
VS
123102010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12311
12312 Remove leftover embedding of font objects.
12313
12314 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
12315 * util/grub-install.in (font): Removed.
12316 * util/grub-mkimage.c (generate_image): Remove font support. All users
12317 updated.
12318
b4c1aae0
VS
123192010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12320
12321 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 12322 Reported by: Ian Turner
b4c1aae0 12323
8920a08d
VS
123242010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12325
12326 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
12327 timeout to avoid indefinite boot stalling.
12328
f21db033
VS
123292010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12330
12331 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
12332 (grub_env_write_color_highlight): Likewise.
12333
9a9de209
VS
123342010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12335
12336 * grub-core/normal/term.c (print_more): Return to normal and not
12337 to standard state after printing "---MORE---".
12338
3dca01d7
VS
123392010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12340
12341 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
12342 Mask out the bit 0x80 since it has other meaning that specifiing color.
12343
0b986c40
VS
123442010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12345
12346 New relocator. Allows for more kernel support and more straightforward
12347 loader writing.
12348
12349 * Makefile.am (BOOTTARGET): New variable.
12350 (QEMU32): Likewise.
12351 (linux.init.x86_64): New target.
12352 (linux.init.i386): Likewise.
12353 (multiboot.elf): Likewise.
12354 (kfreebsd.elf): Likewise.
12355 (kfreebsd.aout): Likewise.
12356 (pc-chainloader.elf): Likewise.
12357 (pc-chainloader.bin): Likewise.
12358 (ntldr.elf): Likewise.
12359 (ntldr.bin): Likewise.
12360 (multiboot2.elf): Likewise.
12361 (kfreebsd.init.x86_64): Likewise.
12362 (kfreebsd.init.i386): Likewise.
12363 (knetbsd.init.i386): Likewise.
12364 (kopenbsd.init.i386): Likewise.
12365 (knetbsd.init.x86_64): Likewise.
12366 (kopenbsd.init.x86_64): Likewise.
12367 (linux-initramfs.i386): Likewise.
12368 (linux-initramfs.x86_64): Likewise.
12369 (kfreebsd-mfsroot.i386.img): Likewise.
12370 (knetbsd.image.i386): Likewise.
12371 (kopenbsd.image.i386): Likewise.
12372 (kopenbsd.image.x86_64): Likewise.
12373 (knetbsd.miniroot-image.i386.img): Likewise.
12374 (kfreebsd-mfsroot.x86_64.img): Likewise.
12375 (knetbsd.image.x86_64): Likewise.
12376 (knetbsd.miniroot-image.x86_64.img): Likewise.
12377 (kfreebsd-mfsroot.i386.gz): Likewise.
12378 (bootcheck-kfreebsd-i386): Likewise.
12379 (kfreebsd-mfsroot.x86_64.gz): Likewise.
12380 (bootcheck-kfreebsd-x86_64): Likewise.
12381 (knetbsd.miniroot-image.i386.gz): Likewise.
12382 (bootcheck-knetbsd-i386): Likewise.
12383 (bootcheck-kopenbsd-i386): Likewise.
12384 (bootcheck-kopenbsd-x86_64): Likewise.
12385 (knetbsd.miniroot-image.x86_64.gz): Likewise.
12386 (bootcheck-knetbsd-x86_64): Likewise.
12387 (bootcheck-linux-i386): Likewise.
12388 (bootcheck-linux-x86_64): Likewise.
12389 (bootcheck-linux16-i386): Likewise.
12390 (bootcheck-linux16-x86_64): Likewise.
12391 (bootcheck-multiboot): Likewise.
12392 (bootcheck-multiboot2): Likewise.
12393 (bootcheck-kfreebsd-aout): Likewise.
12394 (bootcheck-pc-chainloader): Likewise.
12395 (bootcheck-ntldr): Likewise.
12396 (CLEANFILES): Add new targets.
12397 (BOOTCHECKS): New variable.
12398 (.PHONY): Add bootchecks.
12399 (SUCCESSFUL_BOOT_STRING): New variable.
12400 (BOOTCHECK_TIMEOUT): Likewise.
12401 (bootcheck): New target
12402 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
12403 * configure.ac: Correct efiemu excuse.
12404 * docs/grub.texi (Supported kernels): New chapter.
12405 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
12406 include/grub/mm_private.h. Simplify inclusion of
12407 include/grub/boot.h, include/grub/loader.h
12408 and include/grub/msdos_partition.h
12409 (KERNEL_HEADER_FILES) [i386_coreboot]:
12410 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
12411 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
12412 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
12413 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
12414 include/grub/machine/loader.h.
12415 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
12416 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
12417 extra_dist.
12418 (pci.mod): Enable on i386-multiboot.
12419 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
12420 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
12421 i386-qemu.
12422 (relocator.mod): Rewritten.
12423 (aout.mod): Enable on all x86.
12424 (bsd.mod): Likewise.
12425 (ntldr.mod): New module.
12426 (linux.mod): Use loader/i386/linux.c on all x86.
12427 (xnu.mod): Enable on all x86.
12428 (vga_text.mod): disable on EFI and QEMU.
12429 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
12430 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
12431 * grub-core/efiemu/loadcore.c: Likewise.
12432 * grub-core/efiemu/main.c: Likewise.
12433 (grub_efiemu_exit_boot_services): Removed.
12434 (grub_efiemu_finish_boot_services): Likewise.
12435 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
12436 function.
12437 * grub-core/efiemu/i386/nocfgtables.c: New file.
12438 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
12439 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
12440 (grub_efi_finish_boot_services): Moved from here ...
12441 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
12442 Fille finish memory map and related data.
12443 (finish_mmap_buf): New variable.
12444 (grub_efi_uintn_t finish_mmap_size): Likewise.
12445 (grub_efi_uintn_t finish_key): Likewise.
12446 (grub_efi_uintn_t finish_desc_size): Likewise.
12447 (grub_efi_uint32_t finish_desc_version): Likewise.
12448 (grub_efi_is_finished): Likewise.
12449 (grub_efi_get_memory_map): Use saved memory map if EFI is already
12450 finished.
12451 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
12452 (grub_elf64_phdr_iterate): Likewise.
12453 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
12454 (grub_os_area_size): Likewise.
12455 (grub_machine_init): Don't reserve os area.
12456 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
12457 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
12458 * grub-core/kern/i386/loader.S: Removed.
12459 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
12460 (grub_os_area_size): Likewise.
12461 (grub_machine_init): Don't reserve os area.
12462 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12463 Don't call grub_dl_unload_all.
12464 Don't include loader.S.
12465 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
12466 Declare the memory after _end as available.
12467 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 12468 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 12469 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
12470 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
12471 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
12472 * include/grub/mm_private.h (grub_mm_header): ... here.
12473 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
12474 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
12475 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
12476 (grub_mm_region): ..here. Removed addr. Added pre_size.
12477 All users updated.
12478 * grub-core/kern/mm.c (base): Renamed to ...
12479 (grub_mm_base): ... this. Made global.
12480 (grub_real_malloc): Alloc from end of region.
12481 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
12482 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
12483 * grub-core/kern/powerpc/cache_flush.S: ... here.
12484 * grub-core/lib/efi/relocator.c: New file.
12485 * grub-core/lib/i386/relocator.c: Rewritten.
12486 * grub-core/lib/i386/relocator16.S: New file.
12487 * grub-core/lib/i386/relocator32.S: Likewise.
12488 * grub-core/lib/i386/relocator64.S: Likewise.
12489 * grub-core/lib/i386/relocator_asm.S: Rewritten.
12490 * grub-core/lib/i386/relocator_common.S: New file.
12491 * grub-core/lib/ieee1275/relocator.c: Likewise.
12492 * grub-core/lib/mips/relocator.c: Rewritten.
12493 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
12494 stylistic adjustments.
12495 * grub-core/lib/powerpc/relocator.c: New file.
12496 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
12497 * grub-core/lib/relocator.c: Rewritten.
12498 * grub-core/lib/x86_64/relocator_asm.S: New file.
12499 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
12500 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
12501 (bsd_tag): New struct.
12502 (tags): New variable.
12503 (tags_last): Likewise.
12504 (netbsd_module): New struct.
12505 (netbsd_mods): New variable.
12506 (netbsd_mods_last): Likewise.
12507 (openbsd_opts): New parameter "serial".
12508 (OPENBSD_SERIAL_ARG): New definition.
12509 (netbsd_opts): New parameter "serial".
12510 (NETBSD_SERIAL_ARG): New definition.
12511 (grub_freebsd_add_meta): Reorganised into ...
12512 (grub_bsd_add_meta): ...this. All users updated.
12513 (grub_freebsd_add_mmap): Reorganised into ...
12514 (generate_e820_mmap): ...this...
12515 (grub_bsd_add_mmap): ...and this. All users updated.
12516 (grub_freebsd_list_modules): Use tags.
12517 (grub_netbsd_add_meta_module): New function.
12518 (grub_netbsd_list_modules): Likewise.
12519 (grub_freebsd_boot): Use relocator and finish EFI.
12520 (grub_openbsd_boot): Likewise.
12521 (grub_netbsd_setup_video): New function.
12522 (grub_netbsd_add_modules): Likewise.
12523 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
12524 and finish EFI.
12525 (grub_bsd_unload): Unload tags.
12526 (grub_bsd_load_aout): Use relocator.
12527 (grub_bsd_elf32_size_hook): New function.
12528 (grub_bsd_elf32_hook): Use relocator.
12529 (grub_bsd_elf64_size_hook): New function.
12530 (grub_bsd_elf64_hook): Use relocator.
12531 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
12532 (grub_bsd_load): Zero-out openbsd_ramdisk.
12533 (grub_bsd_load): Use relocator.
12534 (grub_cmd_openbsd): Support serial.
12535 (grub_cmd_netbsd): Support modules.
12536 (grub_cmd_freebsd_module): Use relocator.
12537 (grub_netbsd_module_load): New function.
12538 (grub_cmd_netbsd_module): Likewise.
12539 (grub_cmd_openbsd_ramdisk): Likewise.
12540 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
12541 kopenbsd_ramdisk.
12542 (GRUB_MOD_FINI): Unregister new commands.
12543 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
12544 (grub_freebsd_load_elfmodule_obj): Use relocator.
12545 (grub_freebsd_load_elfmodule): Likewise.
12546 (grub_freebsd_load_elf_meta): Likewise.
12547 (grub_netbsd_load_elf_meta): New function.
12548 (grub_openbsd_find_ramdisk): Likewise.
12549 * grub-core/loader/i386/bsd_helper.S: Removed.
12550 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
12551 * grub-core/loader/i386/bsd_trampoline.S: Removed.
12552 * grub-core/loader/i386/efi/linux.c: Likewise.
12553 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
12554 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
12555 (DEFAULT_VIDEO_MODE): Likewise.
12556 (real_mode_target): New variable.
12557 (prot_mode_target): Likewise.
12558 (initrd_mem_target): Likewise.
12559 (relocator): Likewise.
12560 (efi_mmap_buf): Likewise.
12561 (efi_mmap_size): Likewise.
12562 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
12563 (free_pages): Use relocator.
12564 (allocate_pages): Account for efi_mmap and use relocator. Return error.
12565 (grub_linux_setup_video): Return error.
12566 (grub_linux_trampoline_start): Removed.
12567 (grub_linux_trampoline_end): Likewise.
12568 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
12569 andd video parameters depending on firmware.
12570 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
12571 [GRUB_MACHINE_EFI]: Pass EFI parameters.
12572 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
12573 (grub_cmd_initrd): Use relocator.
12574 * grub-core/loader/i386/linux_trampoline.S: Removed.
12575 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
12576 (elf_sec_entsize): Likewise.
12577 (elf_sec_shstrndx): Likewise.
12578 (elf_sections): Likewise.
12579 (grub_multiboot_load): Use relocator.
12580 (grub_multiboot_get_mbi_size): Account for sections.
12581 (grub_multiboot_make_mbi): Use relocator and support sections.
12582 (grub_multiboot_add_elfsyms): New function.
12583 (grub_multiboot_free_mbi): Free sections.
12584 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
12585 (grub_linux_real_target): Likewise.
12586 (grub_linux_real_chunk): Likewise.
12587 (grub_linux16_prot_size): Likewise.
12588 (grub_linux16_boot): Use relocator.
12589 (grub_linux_unload): Unload relocator.
12590 (grub_cmd_linux): Use relocator.
12591 (grub_cmd_initrd): Likewise.
12592 * grub-core/loader/i386/pc/ntldr.c: New file.
12593 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
12594 Don't try to guess CPU frequency.
12595 (grub_xnu_set_video): Stretch bitmap.
12596 (grub_xnu_boot): Use relocator.
12597 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
12598 (grub_linux_unload): Free relocator.
12599 (grub_linux_load32): Use relocator.
12600 (grub_linux_load64): Likewise.
12601 (grub_cmd_initrd): Likewise.
12602 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
12603 (grub_multiboot_unload): Unload relocator.
12604 (grub_cmd_multiboot): Use relocator.
12605 (grub_cmd_module): Likewise.
12606 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
12607 Use relocator and support sections.
12608 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
12609 (elf_sec_entsize): Likewise.
12610 (elf_sec_shstrndx): Likewise.
12611 (elf_sections): Likewise.
12612 (grub_multiboot_load): Use relocator.
12613 (grub_multiboot_get_mbi_size): Account for sections.
12614 (grub_multiboot_make_mbi): Use relocator and support sections.
12615 (grub_multiboot_add_elfsyms): New function.
12616 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
12617 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
12618 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
12619 Prototype changed. All users updated.
12620 (grub_xnu_align_heap): Simplified.
12621 (grub_xnu_writetree_toheap): Likewise.
12622 (grub_xnu_unload): Unload relocator.
12623 (grub_cmd_xnu_kernel): Use relocator.
12624 (grub_cmd_xnu_kernel64): Likewise.
12625 (grub_xnu_register_memory): Simplified.
12626 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
12627 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
12628 EFI is finished.
12629 (grub_console_checkkey): Likewise.
12630 (grub_console_getkey): Likewise.
12631 (grub_console_getwh): Likewise.
12632 (grub_console_getxy): Likewise.
12633 (grub_console_gotoxy): Likewise.
12634 (grub_console_cls): Likewise.
12635 (grub_console_setcolorstate): Likewise.
12636 (grub_console_setcursor): Likewise.
12637 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
12638 * grub-core/tests/boot/kbsd.init-i386.S: New file.
12639 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
12640 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
12641 * grub-core/tests/boot/kernel-8086.S: Likewise.
12642 * grub-core/tests/boot/kernel-i386.S: Likewise.
12643 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
12644 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
12645 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
12646 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
12647 * grub-core/tests/boot/knetbsd.cfg: Likewise.
12648 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
12649 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
12650 * grub-core/tests/boot/linux.cfg: Likewise.
12651 * grub-core/tests/boot/linux.init-i386.S: Likewise.
12652 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
12653 * grub-core/tests/boot/linux16.cfg: Likewise.
12654 * grub-core/tests/boot/multiboot.cfg: Likewise.
12655 * grub-core/tests/boot/multiboot2.cfg: Likewise.
12656 * grub-core/tests/boot/ntldr.cfg: Likewise.
12657 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
12658 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
12659 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
12660 New definition.
12661 * include/grub/dl.h (grub_dl_unload_all): Removed.
12662 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
12663 (grub_efi_finish_boot_services): Change prototype.
12664 (grub_efi_is_finished): New variable.
12665 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
12666 Changed prototype.
12667 (grub_efiemu_finish_boot_services): Removed.
12668 (grub_machine_efiemu_init_tables): New prototype.
12669 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
12670 (grub_elf64_phdr_iterate): Likewise.
12671 * include/grub/i386/bsd.h: Include relocator.h.
12672 (freebsd_tag_header): New struct.
12673 (grub_openbsd_bios_mmap): Removed.
12674 (grub_unix_real_boot): Removed.
12675 (grub_freebsd_load_elfmodule32): Changed prototype.
12676 (grub_freebsd_load_elfmodule_obj64): Likewise.
12677 (grub_freebsd_load_elf_meta32): Likewise.
12678 (grub_freebsd_load_elf_meta64): Likewise.
12679 (grub_freebsd_add_meta): Removed.
12680 (grub_netbsd_load_elf_meta32): New prototype.
12681 (grub_netbsd_load_elf_meta64): Likewise.
12682 (grub_bsd_add_meta): Likewise.
12683 (grub_openbsd_ramdisk_descriptor): New struct.
12684 (grub_openbsd_find_ramdisk32): New prototype.
12685 (grub_openbsd_find_ramdisk64): Likewise.
12686 * include/grub/i386/coreboot/loader.h: Removed.
12687 * include/grub/i386/efi/loader.h: Likewise.
12688 * include/grub/i386/ieee1275/loader.h: Likewise.
12689 * include/grub/i386/linux.h (linux_kernel_header): Change void *
12690 to grub_uint32_t.
12691 * include/grub/i386/loader.h: Removed.
12692 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
12693 value.
12694 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
12695 (grub_phys_addr_t): New type.
12696 (grub_vtop): New inline function.
12697 (grub_map_memory): Likewise.
12698 (grub_unmap_memory): Likewise.
12699 * include/grub/i386/multiboot/loader.h: Removed.
12700 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
12701 (NETBSD_BTINFO_CONSOLE): New definition.
12702 (NETBSD_BTINFO_SYMTAB): Likewise.
12703 (NETBSD_BTINFO_MODULES): Likewise.
12704 (NETBSD_BTINFO_FRAMEBUF): Likewise.
12705 (grub_netbsd_bootinfo): New struct.
12706 (grub_netbsd_btinfo_common): Use explicit bitsize.
12707 (grub_netbsd_btinfo_mmap_entry): Removed.
12708 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
12709 (grub_netbsd_btinfo_bootdisk): New struct.
12710 (grub_netbsd_btinfo_symtab): Likewise.
12711 (grub_netbsd_btinfo_serial): Likewise.
12712 (grub_netbsd_btinfo_modules): Likewise.
12713 (grub_netbsd_btinfo_framebuf): Likewise.
12714 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
12715 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
12716 Likewise.
12717 (grub_openbsd_bootargs): Use explicit bitsize.
12718 (grub_openbsd_bootarg_console): New struct.
12719 (GRUB_OPENBSD_COM_MAJOR): New definition.
12720 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
12721 * include/grub/i386/pc/efiemu.h: Removed.
12722 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
12723 * include/grub/i386/qemu/loader.h: Removed.
12724 * include/grub/i386/relocator.h: Rewritten.
12725 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
12726 * include/grub/mips/memory.h: New file.
12727 * include/grub/mips/multiboot.h: Rewritten.
12728 * include/grub/mips/relocator.h: Rewritten.
12729 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
12730 (grub_vtop): New function.
12731 (grub_map_memory): Likewise.
12732 (grub_unmap_memory): Likewise.
12733 * include/grub/misc.h (ALIGN_DOWN): New definition.
12734 * include/grub/mm.h (grub_mm_check_real): New proto.
12735 (GRUB_MM_CHECK): New definition.
12736 * include/grub/mm_private.h: New file.
12737 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
12738 (grub_multiboot_get_mbi_size): Removed.
12739 (grub_multiboot_make_mbi): Change prottype.
12740 (grub_multiboot_set_accepts_video): New proto.
12741 (grub_multiboot_add_elfsyms): Likewise.
12742 (grub_multiboot_payload_eip): New variable.
12743 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
12744 New prototype.
12745 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
12746 New definition.
12747 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
12748 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
12749 * include/grub/powerpc/ieee1275/loader.h: Removed.
12750 * include/grub/powerpc/memory.h: New file.
12751 * include/grub/powerpc/relocator.h: Likewise.
12752 * include/grub/relocator.h: Likewise.
12753 * include/grub/relocator_private.h: Likewise.
12754 * include/grub/sparc64/ieee1275/loader.h: Removed.
12755 * include/grub/x86_64/memory.h: New file.
12756 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
12757 (grub_xnu_heap_malloc): Likewise.
12758 (grub_xnu_heap_real_start): Removed.
12759 (grub_xnu_heap_start): Likewise.
12760 (grub_xnu_relocator): New variable.
12761 (grub_xnu_heap_target_start): Likewise.
12762 * tests/util/grub-shell.in: Support non-pc.
12763 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 12764
5303b85d
VS
127652010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12766
12767 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
12768 on malloc error.
12769 (grub_bidi_logical_to_visual): Check that malloc succeded.
12770 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
12771 puts.
12772 (grub_xputs_normal): Likewise.
12773
d768d159
VS
127742010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12775
12776 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
12777 extra_dist.
12778
127792010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12780
12781 * grub-core/efiemu/runtime/efiemu.sh: Removed.
12782
5bf84df4
VS
127832010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12784
12785 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
12786
3626810e
VS
127872010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12788
12789 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
12790 dprintf.
12791
a7363f53
BC
127922010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
12793
12794 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
12795
902f75f6
VS
127962010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12797
12798 * grub-core/normal/term.c (print_more): Fix a memory leak.
12799 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
12800 (grub_xputs_normal): Likewise.
12801
3c707967
VS
128022010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12803
12804 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
12805 the begining of the string
12806
2053cc07
VS
128072010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12808
12809 * grub-core/script/script.c (grub_script_parse): Free parsed on
12810 failure.
12811
46422ebf
VS
128122010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12813
12814 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
12815 on failure.
12816
9e0fa3f6
VS
128172010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12818
12819 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
12820 return.
12821
3393cf16
VS
128222010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12823
12824 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
12825 (scroll_up): Fix a memory leak.
12826
b17540cb
VS
128272010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12828
12829 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
12830 errors.
12831
67140446
VS
128322010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
12833
12834 Handle USB pendrives exposed as floppies.
12835
12836 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
12837 floppy.
12838 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
12839 Check for partitions on all devices.
12840
e35e46fc
VS
128412010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
12842
12843 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
12844 (readkey): Likewise.
12845
d24c6190
BC
128462010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
12847
12848 Multiple variable names support to "export" command.
12849
12850 * normal/context.c (grub_cmd_export): "export" command supports
12851 multiple variable names.
12852
04ddcc6a
ST
128532010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
12854
12855 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
12856 --target=drive output to Mach device name.
12857
0c8b61d8
BC
128582010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
12859
12860 New Automake based build system for GRUB.
12861
12862 * ABOUT-NLS: New file.
12863 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
12864 in Makefile.util.def file.
12865 * Makefile.util.def: New file. Autogen build definitions file for
12866 GRUB host utils.
12867 * conf/Makefile.common: New file. Common variables for GRUB host
12868 utils and target modules.
12869 * conf/Makefile.extra-dist: New file. Extra files for make dist.
12870 * docs/Makefile.am: New file. Automake file for docs.
12871 * gentpl.py: New file. Python script to generate Autogen
12872 template.
12873 * grub-core/Makefile.am: New file. GRUB target modules' rules
12874 that doesn't fit in Makefile.core.def file.
12875 * grub-core/Makefile.core.def: New file. Autogen build
12876 definitions file for GRUB target modules.
12877 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
12878 specific setjmp.S file.
12879 * po/Makefile.am: New file.
12880
12881 * .bzrignore: New ignores.
12882 * INSTALL: New requirements, without Ruby.
12883 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
12884 * autogen.sh: Updated to invoke autogen as necessary.
12885 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
12886 and defines for Automake conditionals.
12887 * geninit.sh: Refactoring.
12888
12889 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
12890 necessary.
12891 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
12892 New prototype.
12893
12894 * include/grub/test.h: Fix functional test modules' naming.
12895 * grub-core/tests/example_functional_test.c: Fix test module name.
12896
12897 * util/misc.c: Hosted versions' of grub functions for libgrub.a
12898 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
12899 * util/grub-editenv.c: Likewise.
12900 * util/grub-fstest.c: Likewise.
12901 * util/grub-mkdevicemap.c: Likewise.
12902 * util/grub-mkfont.c: Likewise.
12903 * util/grub-mkimage.c: Likewise.
12904 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12905 * util/grub-probe.c: Likewise.
12906 * util/grub-script-check.c: Likewise.
12907 * util/i386/pc/grub-setup.c: Likewise.
12908 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12909
12910 * tests/util/grub-shell.in: Fix override directory path.
12911 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
12912 * util/import_gcry.py: Create Makefile.gcry.def file instead.
12913
12914 * util/lvm.c: Update #includes.
12915 * util/raid.c: Likewise.
12916 * util/resolve.c: Likewise.
12917 * grub-core/bus/emu/pci.c: Likewise.
12918 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
12919 * grub-core/lib/posix_wrap/string.h: Likewise.
12920 * grub-core/kern/emu/main.c: Likewise.
12921
12922 * grub-core/gensymlist.sh: New file. Script for generating kernel
12923 symbols file.
12924 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
12925
12926 * grub-core/gentrigtables.c: Fix unused variable warnings.
12927
12928 * Makefile.in: Removed.
12929 * conf/any-emu.rmk: Removed.
12930 * conf/common.rmk: Removed.
12931 * conf/i386-coreboot.rmk: Removed.
12932 * conf/i386-efi.rmk: Removed.
12933 * conf/i386-ieee1275.rmk: Removed.
12934 * conf/i386-multiboot.rmk: Removed.
12935 * conf/i386-pc.rmk: Removed.
12936 * conf/i386-qemu.rmk: Removed.
12937 * conf/i386.rmk: Removed.
12938 * conf/mips-yeeloong.rmk: Removed.
12939 * conf/mips.rmk: Removed.
12940 * conf/powerpc-ieee1275.rmk: Removed.
12941 * conf/sparc64-ieee1275.rmk: Removed.
12942 * conf/tests.rmk: Removed.
12943 * conf/x86-efi.rmk: Removed.
12944 * conf/x86_64-efi.rmk: Removed.
12945 * gendistlist.sh: Removed.
12946 * geninitheader.sh: Removed.
12947 * genkernsyms.sh.in: Removed.
12948 * genmk.rb: Removed.
12949 * gensymlist.sh.in: Removed.
12950 * mkinstalldirs: Removed.
12951 * boot: Moved ...
12952 * grub-core/boot: ... to here.
12953 * bus: Moved ...
12954 * grub-core/bus: ... to here.
12955 * commands: Moved ...
12956 * grub-core/commands: ... to here.
12957 * disk: Moved ...
12958 * grub-core/disk: ... to here.
12959 * efiemu: Moved ...
12960 * grub-core/efiemu: ... to here.
12961 * font: Moved ...
12962 * grub-core/font: ... to here.
12963 * fs: Moved ...
12964 * grub-core/fs: ... to here.
12965 * gencmdlist.sh: Moved ...
12966 * grub-core/gencmdlist.sh: ... to here.
12967 * genemuinit.sh: Moved ...
12968 * grub-core/genemuinit.sh: ... to here.
12969 * genemuinitheader.sh: Moved ...
12970 * grub-core/genemuinitheader.sh: ... to here.
12971 * genfslist.sh: Moved ...
12972 * grub-core/genfslist.sh: ... to here.
12973 * genhandlerlist.sh: Moved ...
12974 * grub-core/genhandlerlist.sh: ... to here.
12975 * genmoddep.awk: Moved ...
12976 * grub-core/genmoddep.awk: ... to here.
12977 * genmodsrc.sh: Moved ...
12978 * grub-core/genmodsrc.sh: ... to here.
12979 * genpartmaplist.sh: Moved ...
12980 * grub-core/genpartmaplist.sh: ... to here.
12981 * genparttoollist.sh: Moved ...
12982 * grub-core/genparttoollist.sh: ... to here.
12983 * genterminallist.sh: Moved ...
12984 * grub-core/genterminallist.sh: ... to here.
12985 * gentrigtables.c: Moved ...
12986 * grub-core/gentrigtables.c: ... to here.
12987 * genvideolist.sh: Moved ...
12988 * grub-core/genvideolist.sh: ... to here.
12989 * gettext: Moved ...
12990 * grub-core/gettext: ... to here.
12991 * gfxmenu: Moved ...
12992 * grub-core/gfxmenu: ... to here.
12993 * gnulib: Moved ...
12994 * grub-core/gnulib: ... to here.
12995 * hello: Moved ...
12996 * grub-core/hello: ... to here.
12997 * hook: Moved ...
12998 * grub-core/hook: ... to here.
12999 * io: Moved ...
13000 * grub-core/io: ... to here.
13001 * kern: Moved ...
13002 * grub-core/kern: ... to here.
13003 * lib: Moved ...
13004 * grub-core/lib: ... to here.
13005 * loader: Moved ...
13006 * grub-core/loader: ... to here.
13007 * mmap: Moved ...
13008 * grub-core/mmap: ... to here.
13009 * normal: Moved ...
13010 * grub-core/normal: ... to here.
13011 * partmap: Moved ...
13012 * grub-core/partmap: ... to here.
13013 * parttool: Moved ...
13014 * grub-core/parttool: ... to here.
13015 * script: Moved ...
13016 * grub-core/script: ... to here.
13017 * term: Moved ...
13018 * grub-core/term: ... to here
13019 * tests/example_functional_test.c: Moved ...
13020 * grub-core/tests/example_functional_test.c: ... to here.
13021 * tests/lib/functional_test.c: Moved ...
13022 * grub-core/tests/lib/functional_test.c: ... to here.
13023 * tests/lib/test.c: Moved ...
13024 * grub-core/tests/lib/test.c: ... to here.
13025 * video: Moved ...
13026 * grub-core/video: ... to here.
13027
645586e6
BC
130282010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
13029
13030 Replace --enable-grub-emu-modules with grub-emu-lite.
13031
13032 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
13033 cache.S.
13034
13035 * include/grub/emu/misc.h (grub_emu_init): New prototype.
13036 * kern/emu/full.c: New file. For grub-emu specific initialization.
13037 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
13038 * kern/emu/main.c: Call initialization function grub_emu_init.
13039
13040 * Makefile.in: Include grub-emu-lite in install.
13041 * commands/parttool.c: Use grub_no_autoload to differentiate
13042 between grub-emu and grub-emu-lite.
13043 * include/grub/misc.h: New variable grub_no_autoload.
13044
13045 * conf/any-emu.rmk: New rules for grub-emu-lite.
13046 * configure.ac: Remove --enable-grub-emu-modules.
13047 * genmk.rb: Cleanup unnecessary rules.
13048 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
13049
13050 * normal/main.c: Don't load list files on grub-emu-lite.
13051 * util/misc.c (grub_arch_sync_caches): Removed.
13052
f86a4030
CW
130532010-08-23 Colin Watson <cjwatson@ubuntu.com>
13054
13055 * kern/mips/startup.S (grub_prefix): Update comment to refer to
13056 grub-mkimage rather than grub-mkelfimage.
13057 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
13058
06776944
VS
130592010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
13060
13061 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
13062 a key after CapsLock or NumLock. It's just a qemu bug.
13063
df262419
VS
130642010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
13065
13066 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
13067 needed by libusb wrapper.
13068
b40ea81b
ST
130692010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
13070
13071 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
13072
dee50575
VS
130732010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
13074
13075 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
13076 --nounzip is passed.
13077
fb1d7b79
VS
130782010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
13079
13080 USB hotunplugging and USB serial support.
13081
13082 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
13083 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
13084 (grub_uhci_transfer): Respect timeout and set *actual.
13085 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
13086 non-standard length.
13087 (grub_usb_device_attach): Autoload modules.
13088 (GRUB_MOD_INIT): Set grub_term_poll_usb.
13089 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
13090 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
13091 users updated.
13092 (grub_usb_add_hub): Fill nports and children.
13093 (attach_root_port): Receive hub instead of controller.
13094 All users updated. Fill hub->devices.
13095 (grub_usb_root_hub): Allocate hub->devices.
13096 (detach_device): New function.
13097 (poll_nonroot_hub): Fill children and detach devices.
13098 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
13099 actual arguments. All users updated.
13100 (grub_usb_bulk_read_extended): New function.
13101 * bus/usb/serial/common.c: New file.
13102 * bus/usb/serial/ftdi.c: Likewise.
13103 * bus/usb/serial/pl2303.c: Likewise.
13104 * commands/terminal.c (handle_command): Support wildcard.
13105 * commands/usbtest.c: Output "Unknown" instead of empty string.
13106 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
13107 (usbserial_common_mod_SOURCES): New variable.
13108 (usbserial_common_mod_CFLAGS): Likewise.
13109 (usbserial_common_mod_LDFLAGS): Likewise.
13110 (pkglib_MODULES): Add usbserial_pl2303.mod.
13111 (usbserial_pl2303_mod_SOURCES): New variable.
13112 (usbserial_pl2303_mod_CFLAGS): Likewise.
13113 (usbserial_pl2303_mod_LDFLAGS): Likewise.
13114 (pkglib_MODULES): Add usbserial_ftdi.mod.
13115 (usbserial_ftdi_mod_SOURCES): New variable.
13116 (usbserial_ftdi_mod_CFLAGS): Likewise.
13117 (usbserial_ftdi_mod_LDFLAGS): Likewise.
13118 (pkglib_MODULES): Add serial.mod.
13119 (serial_mod_SOURCES): New variable.
13120 (serial_mod_CFLAGS): Likewise.
13121 (serial_mod_LDFLAGS): Likewise.
13122 * conf/i386-pc.rmk: Likewise.
13123 * conf/mips-yeeloong.rmk: Likewise.
13124 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
13125 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
13126 * disk/usbms.c (first_available_slot): New variable.
13127 (grub_usbms_attach): Don't reuse free slots due to potential cache
13128 problems.
13129 * include/grub/serial.h: Moved to ..
13130 * include/grub/ns8250.h: ...this.
13131 * include/grub/serial.h: New file.
13132 * include/grub/term.h (grub_term_poll_usb): New variable.
13133 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
13134 readkey. All users updated.
13135 (grub_terminfo_output_state): Pass term to put.
13136 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
13137 (grub_usb_controller_dev): Add timeout and actual arguments to
13138 transfer. All users updated.
13139 (grub_usb_interface): New field detach_data.
13140 (grub_usb_device): New fields children and nports.
13141 (grub_usb_ep_type_t): New type.
13142 (grub_usb_get_ep_type): New function.
13143 (grub_usb_bulk_read_extended): Likewise.
13144 * include/grub/usbdesc.h (grub_usb_desc): New type.
13145 * include/grub/usbserial.h: New file.
13146 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
13147 * kern/term.c (grub_term_poll_usb): New variable.
13148 (grub_getkey): Call grub_term_poll_usb if set.
13149 (grub_checkkey): Likewise.
13150 (grub_getkeystatus): Likewise.
13151 * term/serial.c: Moved controller-specific parts to ...
13152 * term/ns8250.c: ... here.
13153 * term/serial.c: Mostly rewritten.
13154 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
13155 according to spec.
13156
21a313de
RM
131572010-08-20 Robert Millan <rmh@gnu.org>
13158
13159 Make kFreeBSD code more generic to support ext2fs as root, ufs as
13160 a separate module and maybe other interesting combinations.
13161
13162 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
13163 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
13164 (kfreebsd_entry): Add generic filesystem module load routine.
13165 Map GRUB `ext2' to kFreeBSD `ext2fs'.
13166
63c734a6
CW
131672010-08-20 Colin Watson <cjwatson@ubuntu.com>
13168
13169 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
13170 "numcenter" (I misunderstood the purpose of this entry).
13171 * docs/grub.texi (sendkey): Likewise.
13172
c4d16542
CW
131732010-08-20 Colin Watson <cjwatson@ubuntu.com>
13174
13175 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
13176 status flag options; simply omitting the option is equivalent and
13177 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
13178 (keysym_table): Rename "num5numlock" to "numlock".
13179 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
13180 can uniformly say that only the last of multiple `sendkey'
13181 invocations has any effect.
13182 * docs/grub.texi (sendkey): New section.
13183
93541d66
CW
131842010-08-19 Colin Watson <cjwatson@ubuntu.com>
13185
13186 * commands/i386/pc/sendkey.c (options): Fix three typos.
13187
b4ece5e1
VS
131882010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13189
13190 Implement sendkey support.
13191
13192 * commands/i386/pc/sendkey.c: New file.
13193 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
13194 (sendkey_mod_SOURCES): New variable.
13195 (sendkey_mod_CFLAGS): Likewise.
13196 (sendkey_mod_LDFLAGS): Likewise.
13197
51f1f5af
CW
131982010-08-18 Colin Watson <cjwatson@ubuntu.com>
13199
13200 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
13201 fix warnings from Autoconf.
13202
9da94e05
CW
132032010-08-18 Colin Watson <cjwatson@ubuntu.com>
13204
13205 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
13206 to avoid false positives with some assemblers that output things
13207 like "someprefix_func" as part of their output.
13208
729a0f2e
RM
132092010-08-15 Robert Millan <rmh@gnu.org>
13210
13211 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
13212 errors.
13213 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
13214 grub_get_libzfs_handle() errors.
13215
f3710e08
RM
132162010-08-14 Robert Millan <rmh@gnu.org>
13217
13218 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
13219 filesystem is not ZFS.
13220
7a3c13de
BC
132212010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13222
13223 Fix for misspelled color names defaulting to black/black (bug
13224 reported by Doug Nazar)
13225
13226 * include/grub/normal.h (grub_parse_color_name_pair): Add return
13227 status to prototype.
13228 * normal/color.c (grub_parse_color_name_pair): Return failure
13229 status.
13230 (grub_env_write_color_normal): Ignore bad color names.
13231 (grub_env_write_color_highlight): Likewise.
13232 * normal/main.c (GRUB_MOD_INIT): Set default color names.
13233
ab8ba50d
BC
132342010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13235
13236 "shift" command support to GRUB script.
13237
13238 * include/grub/script_sh.h (grub_script_shift): New prototype.
13239 * script/execute.c (grub_script_shift): New function.
13240 * script/main.c (grub_script_init): Register shift command.
13241 (grub_script_fini): Unregister shift command.
13242 * util/grub-script-check.c (grub_script_cmd_shift): New function.
13243
13244 * tests/grub_script_shift.in: New testcase.
13245 * conf/tests.rmk: Rules for new testcase.
13246
4d61999e
BC
132472010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13248
13249 "continue" command support to GRUB script.
13250
13251 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
13252 (grub_script_break): Continue support.
13253 * script/main.c (grub_script_init): Register continue command.
13254 (grub_script_fini): Unregister continue command.
13255
13256 * tests/grub_script_continue.in: New testcase.
13257 * conf/tests.rmk: Rules for new testcase.
13258
4df51e00
BC
132592010-08-12 BVK Chaitanya <bvk@dbook>
13260
13261 "break" command support to GRUB script.
13262
13263 * conf/common.rmk: Rule updates to grub-script-check.
13264 * include/grub/misc.h (grub_min): New function.
13265 * include/grub/script_sh.h (grub_script_init): New prototype.
13266 (grub_script_fini): New prototype.
13267 (grub_script_break): New prototype.
13268 * script/main.c (grub_script_init): New function.
13269 (grub_script_fini): New function.
13270 * script/execute.c (grub_script_break): New function.
13271 * normal/main.c: Calls to grub_script_{init,fini}.
13272 * util/grub-script-check.c (grub_script_break): New function.
13273
13274 * tests/grub_script_break.in: New testcase.
13275 * conf/tests.rmk: Rules for new test case.
13276
f12c8420
BC
132772010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13278
13279 Function parameters support to GRUB script.
13280
13281 * script/yylex.l (VARIABLE): Regular expression update.
13282 * script/function.c (grub_script_function_call): Moved ...
13283 * script/execute.c (grub_script_function_call): ... to here.
13284 (grub_script_execute_arglist_to_argv): Removed.
13285 (grub_script_arglist_to_argv): New function.
13286 * script/argv.c: New file.
13287 (grub_script_argv_free): New function.
13288 (grub_script_argv_next): Likewise.
13289 (grub_script_argv_append): Likewise.
13290 (grub_script_argv_split_append): Likewise.
13291 * include/grub/script_sh.h (grub_script_argv): New struct.
13292 (grub_script_argv_free): New function.
13293 (grub_script_argv_next): Likewise.
13294 (grub_script_argv_append): Likewise.
13295 (grub_script_argv_split_append): Likewise.
13296
13297 * conf/common.rmk (normal.mod): New source script/argv.c.
13298
13299 * tests/grub_script_echo1.in: More tests.
13300 * tests/grub_script_vars1.in: Likewise.
13301 * tests/grub_script_functions.in: New test case.
13302 * conf/tests.rmk: Rules for new testcase.
13303
8022b748
BC
133042010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13305
13306 Remove grub_script_cmdblock struct.
13307
13308 * include/grub/script_sh.h: Remove grub_script_cmdblock.
13309 * script/parser.y: Likewise.
13310 * script/execute.c: Rename cmdblock suffix to cmdlist.
13311 * script/script.c: Likewise.
13312 * util/grub-script-check.c: Likewise.
13313
79a6ba61
YB
133142010-08-11 Yves Blusseau <blusseau@zetam.org>
13315
13316 * .bzrignore: add grub-macho2img
13317
d04b9414
VS
133182010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
13319
13320 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
13321
f947ab49
VS
133222010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
13323
13324 Remove the dump of sm712 initialisation sequence.
13325
13326 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
13327 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
13328 (GRUB_VGA_IO_MISC_WRITE): Likewise.
13329 (GRUB_VGA_CR_*): Added many registers.
13330 (GRUB_VGA_SR_*): Likewise.
13331 (GRUB_VGA_GR_*): Likewise.
13332 (grub_vga_write_arx): New function.
13333 (grub_video_hw_config): New struct.
13334 (grub_vga_set_geometry): New function.
13335 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
13336 GRUB_PCI_CLASS_SUBCLASS_VGA.
13337 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
13338 * video/sm712.c (grub_sm712_write_reg): New function
13339 (grub_sm712_read_reg): Likewise.
13340 (grub_sm712_sr_write): Likewise.
13341 (grub_sm712_gr_write): Likewise.
13342 (grub_sm712_cr_write): Likewise.
13343 (grub_sm712_write_arx): Likewise.
13344 (grub_sm712_cr_shadow_write): Likewise.
13345 (grub_sm712_write_dda_lookup): Likewise.
13346 (grub_video_sm712_setup): Initialise the video rather then
13347 blindly replay the dump.
13348 (main) [TEST]: Add a routine to be able to compile as standalone for
13349 tests.
13350 * video/sm712_init.c (sm712_init): Removed.
13351 (sm712_sr_seq1): New array.
13352 (sm712_sr_seq2): Likewise.
13353
f0206638
VS
133542010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
13355
13356 * include/grub/vga.h: Add missing grub/pci.h include.
13357
2764da3b
YB
133582010-08-10 Yves Blusseau <blusseau@zetam.org>
13359
13360 * util/grub-macho2img.c (main): fix typo
13361
cf0c775e
VS
133622010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
13363
13364 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
13365 (grub_vga_gr_read): Likewise.
13366 (grub_vga_cr_write): Likewise.
13367 (grub_vga_cr_read): Likewise.
13368 (grub_vga_sr_write): Likewise.
13369 (grub_vga_sr_read): Likewise.
13370 (grub_vga_palette_read): Likewise.
13371 (grub_vga_palette_write): Likewise.
13372 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
13373 (grub_sm712_sr_read): New function.
13374 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
13375 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
13376
07f360e9
RM
133772010-08-09 Robert Millan <rmh@gnu.org>
13378
13379 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
13380 out unused variables on non-ZFS build.
13381
346c2072
RM
133822010-08-08 Robert Millan <rmh@gnu.org>
13383
13384 Fix path generation for sub-filesystems in ZFS.
13385
13386 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
13387 missing slash.
13388
71175420
RM
133892010-08-08 Robert Millan <rmh@gnu.org>
13390
13391 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
13392
0d8286f3
RM
133932010-08-08 Robert Millan <rmh@gnu.org>
13394
13395 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
13396 exist, issue a proper error message (rely on `ls' for translated
13397 strings).
13398
55dd2924
RM
133992010-08-08 Robert Millan <rmh@gnu.org>
13400
13401 Fix grub-probe invocation.
13402
13403 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
13404
d3dd9e80
RM
134052010-08-04 Robert Millan <rmh@gnu.org>
13406
13407 * configure.ac: Remove checks for getfsstat() and getmntany().
13408 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
13409 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
13410 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
13411 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
13412 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
13413 function.
13414 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
13415 via find_mount_point_from_dir() and getfsstat() / getmntany().
13416
0de22aa9
RM
134172010-08-04 Robert Millan <rmh@gnu.org>
13418
13419 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13420 (grub_find_zpool_from_mount_point): Merge into ...
13421 (grub_find_zpool_from_dir): ... this.
13422 * kern/emu/misc.c: Likewise.
13423
13424 * kern/emu/misc.c
13425 (grub_make_system_path_relative_to_its_root): Replace
13426 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
13427 with grub_find_zpool_from_dir().
13428 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
13429
62858144
RM
134302010-08-04 Robert Millan <rmh@gnu.org>
13431
13432 Support OpenSolaris in ZFS device resolution.
13433
13434 * configure.ac: Check for getmntany().
13435 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
13436 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
13437 support.
13438
9dd6fd50
RM
134392010-08-03 Robert Millan <rmh@gnu.org>
13440
13441 Fix grub-emu build.
13442
13443 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
13444 * include/grub/emu/misc.h: ... here.
13445
13446 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
13447 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
13448
13449 * util/misc.c: Remove `<grub/util/libzfs.h>'.
13450 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
13451 (grub_get_libzfs_handle): Move to ...
13452 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
13453 (grub_get_libzfs_handle): ... here.
13454
c9f7ff97
BC
134552010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
13456
13457 * script/execute.c (grub_script_execute_cmdline): Check for NULL
13458 as command name case.
13459
a870a783
CW
134602010-08-02 Colin Watson <cjwatson@ubuntu.com>
13461
13462 * disk/raid.c (insert_array): Select unique numbers for named arrays
13463 as well, for use as keys in the disk cache.
13464
c7db243b
RM
134652010-08-01 Robert Millan <rmh@gnu.org>
13466
13467 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
13468 kFreeBSD device name, except on ZFS where the filesystem label is
13469 used.
13470 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
13471 `/boot/zfs/zpool.cache'.
13472 Set mountfrom kernel variable using ${kfreebsd_device}.
13473
f7abdefb
RM
134742010-08-01 Robert Millan <rmh@gnu.org>
13475
13476 Make it even harder to use uninitialized `libzfs_handle' (and
13477 make the interface a bit simpler).
13478
13479 * include/grub/util/misc.h (grub_util_init_libzfs)
13480 (libzfs_handle): Remove.
13481 (grub_get_libzfs_handle): New prototype.
13482
13483 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
13484 attribute.
13485 (grub_util_init_libzfs): Remove.
13486 (grub_get_libzfs_handle): New function.
13487
13488 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
13489 grub_get_libzfs_handle() to obtain a libzfs handle instead of
13490 accessing `libzfs_handle' directly.
13491
c882acc0
RM
134922010-08-01 Robert Millan <rmh@gnu.org>
13493
13494 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13495 (grub_find_zpool_from_mount_point): New function prototypes.
13496
13497 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
13498 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
13499
13500 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
13501 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
13502 `static' attribute.
13503
13504 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
13505 finding zpool from mount point into ...
13506 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
13507
13508 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
13509 requested path is part of a ZFS pool, use
13510 grub_find_zpool_from_mount_point() to detect its filesystem name,
13511 and generate a path with `/fsname@path' syntax.
13512
8bfe31d8
CW
135132010-08-01 Colin Watson <cjwatson@ubuntu.com>
13514
13515 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
13516 (void) rather than () so that this is a proper prototype.
13517
553df63d
VS
135182010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13519
13520 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
13521
8687cf07
VS
135222010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13523
13524 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
13525 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
13526
ea9be8ea
CW
135272010-08-01 Colin Watson <cjwatson@ubuntu.com>
13528
13529 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
13530
6eea041a
CW
135312010-08-01 Colin Watson <cjwatson@ubuntu.com>
13532
13533 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
13534
2cfb45df
CW
135352010-08-01 Colin Watson <cjwatson@ubuntu.com>
13536
13537 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
13538 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
13539 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
13540 disable gfxpayload.
13541 (Shell-like scripting): Add real content.
13542 (Serial terminal): Suggest `terminal_input serial; terminal_output
13543 serial' rather than putting the two commands on separate lines,
13544 since console input will be inoperative after the first command.
13545 (menuentry): Document --class, --users, and --hotkey options.
13546 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
13547 Vladimir Serbinenko).
13548
7decd202
VS
135492010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
135502010-08-01 Colin Watson <cjwatson@ubuntu.com>
13551
13552 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
13553
c882acc0
RM
135542010-08-01 Robert Millan <rmh@gnu.org>
13555
13556 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13557 (grub_find_zpool_from_mount_point): New function prototypes.
13558
13559 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
13560 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
13561
13562 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
13563 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
13564 `static' attribute.
13565
13566 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
13567 finding zpool from mount point into ...
13568 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
13569
13570 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
13571 requested path is part of a ZFS pool, use
13572 grub_find_zpool_from_mount_point() to detect its filesystem name,
13573 and generate a path with `/fsname@path' syntax.
13574
deb0caa3
RM
135752010-08-01 Robert Millan <rmh@gnu.org>
13576
13577 Prevent accidental use of uninitialized libzfs_handle.
13578
13579 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
13580 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
13581 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
13582
ce04ef47
CW
135832010-08-01 Colin Watson <cjwatson@ubuntu.com>
13584
13585 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
13586 util/grub.d/10_linux.in). Fixes Debian bug #591093.
13587
ebf53056
RM
135882010-08-01 Robert Millan <rmh@gnu.org>
13589
13590 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 13591
3710bb6b
RM
135922010-07-31 Robert Millan <rmh@gnu.org>
13593
13594 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
13595
8072efeb
RM
135962010-07-31 Robert Millan <rmh@gnu.org>
13597
13598 * kern/emu/misc.c: Add missing license header.
13599
3169f4c7
RM
136002010-07-31 Robert Millan <rmh@gnu.org>
13601
13602 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
13603
13604 * include/grub/util/libnvpair.h: Include `<config.h>'.
13605 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
13606 declaring libnvpair prototypes ourselves.
13607 * include/grub/util/libzfs.h: Include `<config.h>'.
13608 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
13609 declaring libzfs prototypes ourselves.
13610
13611 (libzfs_handle): Moved to ...
13612 * include/grub/util/misc.h (libzfs_handle): ... here.
13613 Include `<grub/util/libzfs.h>'.
13614
c9a00aee
RM
136152010-07-30 Robert Millan <rmh@gnu.org>
13616
13617 * include/grub/emu/misc.h: Add missing license header.
13618
a184f9c8
RM
136192010-07-30 Robert Millan <rmh@gnu.org>
13620
13621 Enable `grub-probe -t device' resolution on ZFS.
13622
13623 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
13624 * include/grub/util/libnvpair.h: New file.
13625 * include/grub/util/libzfs.h: New file.
13626
13627 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
13628 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
13629 `<grub/util/libnvpair.h>'.
13630 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
13631
13632 (find_mount_point_from_dir): New static function.
13633 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
13634 function.
13635 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
13636 find_root_device_from_libzfs() before ressorting to find_root_device().
13637
13638 * include/grub/util/misc.h (grub_util_init_libzfs): New function
13639 prototype.
13640 * util/misc.c: Include `<grub/util/libzfs.h>'.
13641 (grub_util_init_libzfs): New function.
13642 [HAVE_LIBZFS] (libzfs_handle): New global variable.
13643 [HAVE_LIBZFS] (fini_libzfs): New static function.
13644 (grub_util_init_libzfs): New function.
13645 * util/grub-probe.c (main): Call grub_util_init_libzfs().
13646
f7790cdd
RM
136472010-07-30 Robert Millan <rmh@gnu.org>
13648
13649 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
13650 (xmalloc, xrealloc, xstrdup, xasprintf): Add
13651 `warn_unused_result' attribute.
13652 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
13653 (grub_xasprintf, grub_xvasprintf): Likewise.
13654 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
13655
0806b63c
RM
136562010-07-29 Robert Millan <rmh@gnu.org>
13657
13658 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
13659 (probe): Handle `PRINT_FS_LABEL'.
13660 (main): Handle `-t fs_label'.
13661
9f841f5c
RM
136622010-07-29 Robert Millan <rmh@gnu.org>
13663
13664 * configure.ac: Remove grub-mkisofs checks.
13665
46371121
VS
136662010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
13667
13668 * util/ieee1275/grub-install.in: Don't use empty grub_device.
13669 Reported by: Lennart Sorensen.
13670
136712010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13672
13673 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
13674 prior to terminal_input/terminal_output separation. It's been over 1.5
13675 years and those versions weren't widely deployed.
13676
a9600892
CW
136772010-07-22 Colin Watson <cjwatson@ubuntu.com>
13678
13679 * disk/raid.c (insert_array): Don't count named arrays when looking
13680 for unused array numbers.
697e053c 13681 Reported and tested by: Michael Guntsche.
a9600892 13682
c03507df
CW
136832010-07-20 Colin Watson <cjwatson@ubuntu.com>
13684
13685 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
13686 implementation of this so that grub-emu links again, with a note
13687 that this should support hotplugging in the future.
13688
b26f1c11
CW
136892010-07-20 Colin Watson <cjwatson@ubuntu.com>
13690
13691 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
13692
efc9d7f1
CW
136932010-07-20 Colin Watson <cjwatson@ubuntu.com>
13694
13695 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
13696 handle on failure.
13697 (grub_loopback_close): Remove empty function.
13698 (grub_loopback_dev): Remove close method.
13699
dd8ff5c9
CW
137002010-07-20 Colin Watson <cjwatson@ubuntu.com>
13701
13702 Disable EFI cursor when the EFI console becomes inactive.
13703
13704 * term/efi/console.c (grub_efi_console_init): New function.
13705 (grub_efi_console_fini): New function.
13706 (grub_console_term_output): Register init and fini methods.
13707
5e3bec67
VS
137082010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13709
13710 * tests/util/grub-shell-tester.in: Remove bashism and declare as
13711 sh script.
13712
afaec079
VS
137132010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13714
13715 * disk/loopback.c (grub_loopback): Replace filename with file.
13716 (delete_loopback): Handle new semantics.
13717 (grub_cmd_loopback): Likewise.
13718 (grub_loopback_iterate): Likewise.
13719 (grub_loopback_close): Likewise.
13720
a6a11f3c
VS
137212010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13722
13723 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
13724 with -p "".
13725 Reported by: Tito Keitel.
13726
64a638b0
VS
137272010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13728
13729 * docs/grub.texi (Naming convention): Document new naming convention.
13730
ab8ba957
VS
137312010-07-20 Vadim Solomin <vadic052@gmail.com>
137322010-07-20 Colin Watson <cjwatson@ubuntu.com>
13733
13734 Generate device.map in something closer to the old ordering.
13735
13736 * util/deviceiter.c (struct device): New declaration.
13737 (compare_file_names): Rename to ...
13738 (compare_devices): ... this. Sort by kernel name in preference to
13739 the stable by-id name, but keep the latter as a fallback comparison.
13740 Update header comment.
13741 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
13742 of `struct device' rather than of plain file names.
13743
a29d6a4b
TF
137442010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
13745
13746 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
13747 on i386.
13748
39d824e8
VS
137492010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13750
13751 * commands/acpi.c (setup_common_tables): Use sizeof instead of
13752 hardcoding size.
13753 (setv1table): Likewise.
13754
f058276b
FZ
137552010-07-20 Colin Watson <cjwatson@ubuntu.com>
13756
13757 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
13758 removing the homehost if present.
13759 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
13760 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
13761 removing the homehost if present.
13762 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
13763 if possible.
13764 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
13765
13766 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
13767 parameter. Set its pointer target to 0.
13768 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
13769 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
13770 `data_offset' value from the superblock for 1.x metadata.
13771 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
13772 data on the device.
13773 (insert_array): Record the start sector of data on the device.
13774 (grub_raid_register): Pass start_sector parameters to
13775 grub_raid_list->detect and insert_array.
13776 * include/grub/raid.h (struct grub_raid_array): Add start_sector
13777 member.
13778 (struct grub_raid): Add start_sector parameter to `detect'.
13779
13780 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
13781 __attribute__ ((packed)), leaving a comment.
13782 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
13783 (grub_mdraid_detect_09): ... here and ...
13784 (grub_mdraid_detect_1x): ... here.
13785
137862010-07-20 Peter Henn <peter.henn@web.de>
13787
13788 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
13789 chunk size and disk size, which are already given as sector counts
13790 as distinct from the 0.90 units. Fetch the correct device number
13791 from the role table instead of using the table index.
13792
137932010-07-20 Felix Zielcke <fzielcke@z-51.de>
13794
13795 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
13796 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
13797 (WriteMostly1): New macro.
13798 Set array->name to NULL for metadata format 0.90. Add support for
13799 metadata 1.x. Fix some comments.
13800 * disk/raid.c (): Add support for name based RAID arrays. Fix a
13801 few comments.
13802 * util/getroot.c (grub_util_get_grub_dev): Add support for
13803 /dev/md/name style devices.
13804
4b761da9
CW
138052010-07-20 Colin Watson <cjwatson@ubuntu.com>
13806
13807 * .bzrignore: Ignore 20_linux_xen.
13808
5771289a
CW
138092010-07-17 Colin Watson <cjwatson@ubuntu.com>
13810
13811 * util/import_unicode.py: Remove unnecessary imports.
13812
5dab68df
AN
138132010-07-17 Aleš Nesrsta <starous@volny.cz>
13814
13815 Hotplugging and USB hub support.
13816
13817 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
13818 (grub_ohci): Likewise.
13819 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
13820 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
13821 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
13822 (GRUB_OHCI_CTRL_EDS): Likewise.
13823 (GRUB_OHCI_BULK_EDS): Likewise.
13824 (GRUB_OHCI_TDS): Likewise.
13825 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
13826 (grub_ohci_ed_phys2virt): New function.
13827 (grub_ohci_virt_to_phys): Likewise.
13828 (grub_ohci_td_phys2virt): Likewise.
13829 (grub_ohci_td_virt2phys): Likewise.
13830 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
13831 attachment.
13832 (grub_ohci_find_ed): New function.
13833 (grub_ohci_alloc_td): Likewise.
13834 (grub_ohci_free_td): Likewise.
13835 (grub_ohci_free_tds): Likewise.
13836 (grub_ohci_transfer): Use previously allocated memory.
13837 (grub_ohci_portstatus): Reset status changed bit.
13838 (grub_ohci_detect_dev): Supply status changed.
13839 (grub_ohci_fini_hw): Free memory.
13840 (grub_ohci_restore_hw): Reallocate memory.
13841 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
13842 Reset status change.
13843 (grub_uhci_detect_dev): Supply status_change.
13844 * bus/usb/usb.c (attach_hooks): New var.
13845 (grub_usb_device_attach): New function.
13846 (grub_usb_register_attach_hook_class): Likewise.
13847 (grub_usb_unregister_attach_hook_class): Likewise.
13848 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
13849 (grub_usb_add_hub): Reset connection changed bit.
13850 (attach_root_port): New function.
13851 (grub_usb_root_hub): Likewise.
13852 (poll_nonroot_hub): Likewise.
13853 (grub_usb_poll_devices): Likewise.
13854 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
13855 * disk/usbms.c (grub_usbms_open): Use device hooks.
13856 (grub_usbms_iterate) :Poll devices.
13857 (grub_usbms_finddevs): Split into ...
13858 (grub_usbms_attach): ... this ...
13859 (grub_usbms_attach): ... and this.
13860 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
13861 in detect_dev.
13862 (grub_usb_interface): New fields attached and detach_hook.
13863 (grub_usb_attach_hook_class): New type.
13864 (grub_usb_attach_desc): New struct.
13865 (grub_usb_register_attach_hook_class): New function.
13866 (grub_usb_unregister_attach_hook_class): Likewise.
13867 (grub_usb_poll_devices): Likewise.
13868 (grub_usb_device_attach): Likewise.
13869 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
13870 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
13871
3222efaf
VS
138722010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13873
13874 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
13875 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
13876 delta determination style. Works with most NetBSD partitions too.
13877
139b714a
VS
138782010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13879
13880 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
13881 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
13882
986aad56
VS
138832010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13884
13885 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
13886
99be513c
AB
138872010-07-14 Anton Blanchard <anton@samba.org>
13888
13889 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
13890 ET_DYN files.
13891
18075f62
GS
138922010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13893
13894 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
13895
8d9a5b15
GS
138962010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13897
13898 * kern/partition.c (grub_partition_check_containment): New function to
13899 check that a partition is physically contained in a parent. Since
13900 offsets are relative (and non-negative), this reduces to checking that
13901 the partition ends before its parent.
13902 (grub_partition_map_probe): Discard out-of-range sub-partitions.
13903 (grub_partition_iterate): Likewise.
13904 * include/grub/partition.h (grub_partition_map): Slightly more detailed
13905 comments.
13906 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
13907 partitions that start before their parent, and add debug printfs.
13908
19563c25
CW
139092010-07-13 Colin Watson <cjwatson@ubuntu.com>
13910
13911 * Makefile.in (.SUFFIX): Spell correctly, as ...
13912 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
13913 bare module name without `.mod', e.g. `test') tried to invoke a
13914 Modula-2 compiler.
13915
1a1f1e67
CW
139162010-07-13 Colin Watson <cjwatson@ubuntu.com>
13917
13918 * README: Point to the Info manual.
13919
811b0dca
JS
139202010-07-13 Jiro SEKIBA <jir@unicus.jp>
13921
13922 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
13923 2nd superblock position from partition size.
13924
e4f4eafc
CW
139252010-07-10 Colin Watson <cjwatson@ubuntu.com>
13926
13927 * Makefile.in (MAINTAINER_CLEANFILES): Remove
13928 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
13929 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
13930 outputs.
13931
4274c30f
VS
139322010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13933
13934 Restructure SCSI .id handling.
13935 Reported and tested by: Aleš Nesrsta.
13936
13937 * disk/ata.c (grub_atapi_close): Removed. All users updated.
13938 (grub_atapi_dev): Changed .name to "ata". New field .id.
13939 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
13940 (grub_usbms_dev): New field .id.
13941 * disk/scsi.c (grub_scsi_iterate): Generate name.
13942 (grub_scsi_open): Parse name.
13943 * include/grub/scsi.h (grub_make_scsi_id): New function.
13944 (grub_scsi_dev): Change iterate and open to number instead of naming
13945 busses. All users updated.
13946 (grub_scsi): Remove name. Add .bus.
13947
5bc24388
VS
139482010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13949
13950 * commands/help.c (grub_cmd_help): Fix a typo.
13951
249975ba
VS
139522010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13953
13954 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
13955 Reported and tested by: Colin Watson.
13956
3eaac1a1
VS
139572010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13958
13959 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
13960 in this context.
13961
becce1b1
VS
139622010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13963
13964 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
13965
f7bf0918
CW
139662010-07-07 Colin Watson <cjwatson@ubuntu.com>
13967
13968 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
13969 indentation.
13970
0b0f9620
CW
139712010-07-06 Colin Watson <cjwatson@ubuntu.com>
13972
13973 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
13974 and disk/raid6_recover.c.
13975 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13976 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
13977
1e545469
CW
139782010-07-06 Colin Watson <cjwatson@ubuntu.com>
13979
13980 * term/gfxterm.c (repaint_schedulded): Rename to ...
13981 (repaint_scheduled): ... this. Update all callers.
13982 (repaint_was_schedulded): Rename to ...
13983 (repaint_was_scheduled): ... this. Update all callers.
13984
5357687a
CW
139852010-07-06 Colin Watson <cjwatson@ubuntu.com>
13986
13987 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
13988 which we expect to be handled by upper layers.
13989
29d7e783
BC
139902010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
13991
13992 * bus/usb/usbhub.c: #include time.h header.
13993
37582066
CW
139942010-07-06 Colin Watson <cjwatson@ubuntu.com>
13995
13996 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
13997 entry_name also for entries without stat blocks (e.g. ".."); fixes
13998 corruption of the first entry in a directory.
13999
c8c06953
CW
140002010-07-06 Colin Watson <cjwatson@ubuntu.com>
14001
14002 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
14003 after setting gfxterm as the active terminal. GRUB_BACKGROUND
14004 doesn't work otherwise.
14005
e75056f1
CW
140062010-07-05 Colin Watson <cjwatson@ubuntu.com>
14007
14008 * docs/grub.texi (Features): Update list of supported file systems.
14009 (GNU/Linux): Update for GRUB 2.
14010 (Serial terminal): Remove mention of --disable-serial, which was a
14011 GRUB Legacy configure option. Update instructions to use
14012 `terminal_input' and `terminal_output' rather than `terminal'.
14013 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
14014 configuration' and `Installing GRUB using grub-install'.
14015 (Menu entry editor): Update for GRUB 2.
14016 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
14017 Document new -a, -u, and -v options.
14018 (initrd): New section.
14019 (initrd16): New section.
14020 (linux): New section.
14021 (linux16): New section.
14022 (search): The `var' argument to `--set' is optional.
14023 (GRUB only offers a rescue shell): Go into a little more detail on
14024 drive ordering.
14025
5cf69151
CW
140262010-07-05 Colin Watson <cjwatson@ubuntu.com>
14027
14028 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
14029
e3f90044
CW
140302010-07-05 Colin Watson <cjwatson@ubuntu.com>
14031
14032 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
14033 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
14034
38d8f4f3
CW
140352010-07-05 Colin Watson <cjwatson@ubuntu.com>
14036
14037 * util/i386/pc/grub-setup.c (setup): Rename prefix to
14038 install_prefix, in line with install_dos_part and install_bsd_part.
14039 Add new prefix variable, which is copied to install_prefix after
14040 comparing core.img in memory with the one read from disk in the
14041 no-embedding case, and use that rather than overwriting
14042 install_prefix immediately when installing to a partition.
14043 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
14044 Bicakci.
14045
57ebd41e
GS
140462010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
14047
14048 * configure.ac: Avoid == in test command, it's not portable.
14049 * util/grub.d/30_os-prober.in: Likewise.
14050
cb7f64b2
CW
140512010-07-04 Colin Watson <cjwatson@ubuntu.com>
14052
14053 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
14054
6b654bb0
GS
140552010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
14056
14057 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
14058 multiple (top-level) partmaps.
14059
72a2026d
VS
140602010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14061
14062 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 14063 Reported by: Tino Keitel.
72a2026d 14064
df3eb88f
VS
140652010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14066
14067 Bidi and diacritics support.
14068
14069 * Makefile.in (widthspec.bin): New target.
14070 (widthspec.h): Likewise.
14071 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
14072 * autogen.sh: Generate unidata.c.
14073 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
14074 * commands/ls.c (grub_ls_list_devices): Likewise.
14075 (grub_ls_list_files): Likewise.
14076 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
14077 (grub_mini_cmd_lsmod): Likewise.
14078 * commands/read.c: Likewise.
14079 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
14080 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
14081 * lib/arg.c (grub_arg_show_help): Likewise.
14082 * lib/crypto.c (grub_password_get): Likewise.
14083 * normal/auth.c (grub_username_get): Likewise.
14084 * normal/misc.c (grub_normal_print_device_info): Likewise.
14085 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
14086 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
14087 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
14088 (normal/charset.c_DEPENDENCIES): New variable.
14089 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
14090 (pkglib_MODULES): Remove charset.mod.
14091 (charset_mod_SOURCES): Removed.
14092 (charset_mod_CFLAGS): Likewise.
14093 (charset_mod_LDFLAGS): Likewise.
14094 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
14095 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
14096 and term/tparm.c.
14097 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14098 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14099 (kernel_img_HEADERS): Add terminfo.h.
14100 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
14101 Fill ->font. Reverse ascii bitmaps.
14102 (grub_font_get_xheight): New function.
14103 * font/font.c (grub_font_get_string_width): Moved from here ...
14104 * gfxmenu/font.c (grub_font_get_string_width): ... here.
14105 * font/font.c (grub_font_draw_string): Moved from here ...
14106 * gfxmenu/font.c (grub_font_draw_string): ... here.
14107 * font/font.c (grub_font_dup_glyph): New function.
14108 (grub_font_blit_glyph): Likewise.
14109 (grub_font_blit_glyph_mirror): Likewise.
14110 (blit_comb): Likewise.
14111 (grub_font_construct_dry_run): Likewise.
14112 (grub_font_get_constructed_device_width): Likewise.
14113 (grub_font_construct_glyph): Likewise.
14114 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
14115 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
14116 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
14117 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
14118 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
14119 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
14120 (grub_font_get_xheight): New proto.
14121 (grub_font_get_constructed_device_width): Likewise.
14122 (grub_font_construct_glyph): Likewise.
14123 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
14124 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
14125 * include/grub/font.h (grub_font_draw_string): Moved from here ...
14126 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
14127 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
14128 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
14129 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
14130 (grub_console_getcharwidth): Likewise.
14131 * include/grub/misc.h (grub_xputs): New proto.
14132 (grub_puts): Inlined.
14133 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
14134 (grub_normal_get_line_counter): Removed.
14135 (grub_install_newline_hook): Likewise.
14136 (grub_normal_get_char_counter): New proto.
14137 (grub_normal_reset_more): Likewise.
14138 (grub_xputs_normal): Likewise.
14139 * include/grub/powerpc/ieee1275/console.h: Removed.
14140 * include/grub/sparc64/ieee1275/console.h: Likewise.
14141 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
14142 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
14143 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
14144 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
14145 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
14146 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
14147 (grub_term_input): Pass reference to self. All users updated.
14148 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
14149 Pass reference to self. New fields normal_color, highlight_color and
14150 data. All users updated.
14151 (grub_putchar): Removed.
14152 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
14153 (grub_unicode_estimate_width): New function.
14154 (grub_term_getcharwidth): Add defaults.
14155 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
14156 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
14157 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
14158 (grub_cls): Remove EXPORT_FUNC.
14159 (grub_setcolorstate): Inline.
14160 (grub_newline_hook): Removed.
14161 * include/grub/terminfo.h: Rewritten. All users updated.
14162 * include/grub/unicode.h: New file.
14163 * include/grub/video.h (grub_video_signed_rect): New type.
14164 * kern/emu/console.c (grub_console_highlight_color): Removed.
14165 (grub_console_normal_color): Likewise.
14166 (grub_console_standard_color): Made static.
14167 (grub_ncurses_putchar): Remove mapping.
14168 (grub_ncurses_getcharwidth): Removed.
14169 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
14170 (grub_ncurses_setcolor): Removed.
14171 (grub_ncurses_getcolor): Likewise.
14172 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
14173 (grub_console_putchar): ... this.
14174 (grub_console_putchar): Handle argument difference.
14175 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
14176 console_init_early and console_init_lately.
14177 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
14178 * kern/misc.c (grub_puts): Removed.
14179 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
14180 (grub_vsnprintf_real): Remove str = NULL support.
14181 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
14182 * normal/charset.c (grub_utf8_to_ucs4): ... here.
14183 * kern/term.c (grub_putcode): Renamed to ...
14184 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
14185 (grub_putchar): Removed.
14186 (grub_xputs_dumb): New function.
14187 (grub_xputs): New variable.
14188 * lib/charset.c: Move from here ...
14189 * normal/charset.c: ... to here.
14190 (grub_ucs4_to_utf8): New function.
14191 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
14192 (join_types): New variable.
14193 (unpack_join): New function.
14194 (bidi_types): New variable.
14195 (unpack_bidi): New function.
14196 (get_bidi_type): Likewise.
14197 (get_join_type): Likewise.
14198 (is_mirrored): Likewise.
14199 (grub_unicode_get_comb_type): Likewise.
14200 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
14201 (is_type_after): Likewise.
14202 (grub_unicode_aglomerate_comb): Likewise.
14203 (bidi_line_wrap): Likewise.
14204 (grub_bidi_line_logical_to_visual): Likewise.
14205 (grub_bidi_logical_to_visual): Likewise.
14206 (grub_unicode_mirror_code): Likewise.
14207 (grub_unicode_shape_code): Likewise.
14208 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
14209 Don't use grub_putchar.
14210 * normal/main.c (grub_normal_init_page): Use grub_putcode.
14211 (grub_normal_reader_init): Likewise.
14212 (grub_xputs_saved): New variable.
14213 (GRUB_MOD_INIT): Set grub_xputs.
14214 (GRUB_MOD_FINI): Restore grub_xputs.
14215 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
14216 (menu_init): Avoid printing gfxmenu error.
14217 (show_menu): Use grub_normal_get_char_counter.
14218 * normal/menu_entry.c (update_screen): Fix out-of-array.
14219 (complete): Avoid NULL dereferencing.
14220 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
14221 * normal/menu_text.c (print_spaces): Removed.
14222 (grub_print_ucs4): Likewise.
14223 (grub_print_message_indented): Use grub_print_ucs4.
14224 (print_message): Use grub_putcode.
14225 (print_entry): Hanlde diacritics.
14226 * normal/term.c (term_state): New type.
14227 (grub_more_lines): Removed.
14228 (term_states): New variable.
14229 (grub_normal_line_counter): Renamed to ..
14230 (grub_normal_char_counter): ...this. All users updated.
14231 (grub_normal_get_line_counter): Renamed to ...
14232 (grub_normal_get_char_counter): ... this.
14233 (grub_normal_reset_more): New function.
14234 (process_newline): Removed.
14235 (print_more): New function.
14236 (grub_install_newline_hook): Removed.
14237 (map_code): New function.
14238 (grub_puts_terminal): Use grub_print_ucs4.
14239 (putglyph): New function.
14240 (putcode_real): Likewise.
14241 (grub_putcode): Use putcode_real.
14242 (get_maxwidth): New function.
14243 (get_startwidth): Likewise.
14244 (print_ucs4_terminal): Likewise.
14245 (find_term_state): Likewise.
14246 (put_glyphs_terminal): Likewise.
14247 (print_backlog): Likewise.
14248 (print_ucs4_real): Likewise.
14249 (grub_print_ucs4): Likewise.
14250 (grub_xputs_normal): Likewise.
14251 * term/efi/console.c (grub_console_putchar): Output diacritics.
14252 (grub_console_getcharwidth): Removed.
14253 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
14254 * term/gfxterm.c (clear_char): Free chars.
14255 (scroll_up): Avoid leaking memory.
14256 (grub_gfxterm_putchar): Support diacritics.
14257 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
14258 * term/i386/pc/console.c (grub_console_term_output): Declare as
14259 GRUB_TERM_CODE_TYPE_VGA.
14260 * term/i386/pc/vga.c (grub_vga_term): Declare as
14261 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
14262 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
14263 GRUB_TERM_CODE_TYPE_VGA.
14264 * term/i386/vga_common.c (map_char): Removed.
14265 (grub_console_putchar): Likewise.
14266 (grub_console_getcharwidth): Likewise.
14267 * term/ieee1275/ofconsole.c: Simplify using terminfo.
14268 (colors): Reordered to match terminfo.
14269 (grub_ofconsole_normal_color): Removed.
14270 (grub_ofconsole_writeesc): Likewise.
14271 (grub_ofconsole_highlight_color): Likewise.
14272 (grub_ofconsole_getcharwidth): Likewise.
14273 (grub_ofconsole_setcolorstate): Likewise.
14274 (grub_ofconsole_setcolor): Likewise.
14275 (grub_ofconsole_getcolor): Likewise.
14276 (grub_ofconsole_readkey): Renamed to ...
14277 (readkey): ... this. Remove escape sequence handling. Return -1 on no
14278 key.
14279 (grub_ofconsole_checkkey): Removed.
14280 (grub_ofconsole_getkey): Likewise.
14281 (grub_ofconsole_getxy): Likewise.
14282 (grub_ofconsole_gotoxy): Likewise.
14283 (grub_ofconsole_cls): Likewise.
14284 (grub_ofconsole_refresh): Likewise.
14285 (grub_ofconsole_terminfo_input): New struct.
14286 (grub_ofconsole_terminfo_output): Likewise.
14287 (grub_ofconsole_term_input): Use terminfo.
14288 (grub_ofconsole_term_output): Likewise.
14289 (grub_console_init): Split into ...
14290 (grub_console_init_early): ...this and ...
14291 (grub_console_init_lately): ...this. Use terminfo.
14292 (grub_ofconsole_putchar): Renamed to ...
14293 (put): ... this. Remove mapping.
14294 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
14295 * term/serial.c: Simplify using terminfo.
14296 (xpos): Removed.
14297 (ypos): Likewise.
14298 (keep_track): Likewise.
14299 (registered): Likewise.
14300 (input_buf): Likewise.
14301 (npending): Likewise.
14302 (serial_translate_key_sequence): Likewise.
14303 (fill_input_buf): Likewise.
14304 (grub_serial_checkkey): Likewise.
14305 (grub_serial_getkey): Likewise.
14306 (grub_serial_getxy): Likewise.
14307 (grub_serial_gotoxy): Likewise.
14308 (grub_serial_putchar): Likewise.
14309 (grub_serial_cls): Likewise.
14310 (grub_serial_setcolorstate): Likewise.
14311 (grub_serial_setcursor): Likewise.
14312 (serial_hw_init): Use serial_hw_fetch.
14313 (grub_serial_terminfo_input): New variable.
14314 (grub_serial_terminfo_output): Likewise.
14315 (grub_serial_term_input): Use terminfo.
14316 (grub_serial_term_output): Likewise.
14317 * term/terminfo.c (putstr): Use put.
14318 (grub_terminfo_all_free): New function
14319 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
14320 (grub_terminfo_output_register): New function.
14321 (grub_terminfo_output_unregister): Likewise.
14322 (grub_terminfo_getxy): Likewise.
14323 (grub_terminfo_readkey): Likewise.
14324 (grub_terminfo_checkkey): Likewise.
14325 (grub_terminfo_getkey): Likewise.
14326 (grub_terminfo_input_init): Likewise.
14327 (print_terminfo): Likewise.
14328 (grub_cmd_terminfo): Handle encoding.
14329 (grub_terminfo_gotoxy): Track position.
14330 (grub_terminfo_cls): Likewise.
14331 (grub_terminfo_putchar): Likewise.
14332 (grub_terminfo_setcolorstate): Handle colors
14333 (grub_terminfo_cursor_on): This ...
14334 (grub_terminfo_cursor_off): ... and this merged into ...
14335 (grub_terminfo_setcursor): ... this.
14336 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
14337 * unicode/ArabicShaping.txt: New file (imported from Unicode).
14338 * unicode/BidiMirroring.txt: Likewise.
14339 * unicode/UnicodeData.txt: Likewise.
14340 * unicode/COPYING: Likewise.
14341 * util/grub-editenv.c (grub_putchar): Removed.
14342 (grub_xputs_real): New function.
14343 (grub_xputs): New variable.
14344 * util/grub-fstest.c (grub_putchar): Removed.
14345 (grub_xputs_real): New function.
14346 (grub_xputs): New variable.
14347 * util/grub-mkdevicemap.c (grub_putchar): Removed.
14348 (grub_xputs_real): New function.
14349 (grub_xputs): New variable.
14350 * util/grub-probe.c (grub_putchar): Removed.
14351 (grub_xputs_real): New function.
14352 (grub_xputs): New variable.
14353 * util/grub-script-check.c (grub_putchar): Removed.
14354 (grub_xputs_real): New function.
14355 (grub_xputs): New variable.
14356 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
14357 (grub_xputs_real): New function.
14358 (grub_xputs): New variable.
14359 * util/import_unicode.py: New file.
14360 * util/grub-mkfont.c (ft_errmsgs): New array.
14361 (grub_glyph_info): Make bitmap a pointer.
14362 (file_formats): New type WIDTH_SPEC.
14363 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
14364 (options): Add width-spec.
14365 (help): Likewise.
14366 (add_char): Renamed to ...
14367 (add_glyph): ... this.
14368 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
14369 (glyph_replace): New type.
14370 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
14371 (add_char): New function.
14372 (add_subst): Likewise.
14373 (process_cursive): Likewise.
14374 (add_font): Handle GSUB.
14375 (write_font_width_spec): New function.
14376 (main): Sort glyphs.
14377 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
14378 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
14379 * kern/term.c (grub_cls): Moved from here...
14380 * normal/term.c (grub_cls): ... here.
14381
50f0bcda
CW
143822010-07-02 Colin Watson <cjwatson@ubuntu.com>
14383
14384 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
14385 suitable for using within the format argument of printf when
14386 converting grub_size_t.
14387 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
14388 "x" to convert grub_size_t arguments.
14389
40372103
VS
143902010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14391
14392 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
14393 too long captions.
14394 (list_get_minimal_size): Take selection box into account.
14395
942a10c7
VS
143962010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14397
14398 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
14399 NULL font.
14400
2bdb2892
CW
144012010-07-02 Colin Watson <cjwatson@ubuntu.com>
14402
14403 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
14404 devices when iterating over /dev/disk/by-id; they will be handled
14405 later if appropriate, which they aren't always (e.g. LVM).
14406
e03ed6c1
CW
144072010-07-02 Colin Watson <cjwatson@ubuntu.com>
14408
14409 * include/grub/misc.h (grub_reboot): Declare as noreturn.
14410 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
14411 fails.
14412 (grub_halt): Likewise.
14413 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
14414 reset-all fails.
14415 (grub_halt): Don't return, even if all of shut-down, power-off, and
14416 poweroff fail.
14417
47695765
CW
144182010-07-02 Colin Watson <cjwatson@ubuntu.com>
14419
14420 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
14421 arguments, not three.
14422
507736c8
CW
144232010-07-02 Colin Watson <cjwatson@ubuntu.com>
14424
14425 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
14426 * util/grub.d/10_linux.in: Use it to check for LVM, so that
14427 LVM-on-RAID is handled correctly.
14428
e3c8cd37
CW
144292010-07-02 Colin Watson <cjwatson@ubuntu.com>
14430
14431 * docs/grub.texi (Changes from GRUB Legacy): New section.
14432 (Future): Fix typo.
14433
8d4a2fec
CW
144342010-07-02 Colin Watson <cjwatson@ubuntu.com>
14435
14436 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
14437 grub.d/README accidentally ends up executable for one reason or
14438 another. Ignore it.
14439
1c4827be
VS
144402010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14441
14442 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
14443 (gpt_partition_map_iterate): Support non-512B sectors.
14444
d9a0c941
VS
144452010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14446
14447 * kern/efi/init.c (grub_efi_init): Disable watchdog.
14448 Tested by: Seth Goldberg.
14449
48f27e87
VS
144502010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14451
14452 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
14453 Properly align mbi.
14454 Reported by: Seth Goldberg.
14455
b0c4f956
VS
144562010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14457
14458 * util/grub-mkrescue.in: Avoid module duplication.
14459
105a2e8c
SF
144602010-07-01 Sean Finney <seanius@seanius.net>
14461
14462 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
14463
5944958c
SF
144642010-07-01 Sean Finney <seanius@seanius.net>
14465
14466 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
14467
144682010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14469
14470 * disk/lvm.c (grub_lvm_checkvalue): New function.
14471 (grub_lvm_check_flag): Likewise.
14472
b79889ba
RM
144732010-07-01 Robert Millan <rmh@gnu.org>
14474
14475 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
14476 Support 'p' as partition separator on kernel of FreeBSD (used
14477 with GPT labels).
14478 (grub_util_biosdisk_get_grub_dev): Likewise.
14479
ec1d04f1
VS
144802010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14481
14482 Yeeloong firmware port.
14483
14484 * boot/mips/yeeloong/fwstart.S: New file.
14485 * bus/cs5536.c (gpiodump): New const.
14486 (set_io_space): New function.
14487 (set_iod): Likewise.
14488 (set_p2d): Likewise.
14489 (grub_cs5536_init_geode): Likewise.
14490 * commands/mips/yeeloong/lsspd.c: New file.
14491 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
14492 (serial_mod_SOURCES): New variable.
14493 (serial_mod_CFLAGS): Likewise.
14494 (serial_mod_LDFLAGS): Likewise.
14495 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
14496 term/terminfo.c and term/tparm.c.
14497 (pkglib_IMAGES): Add fwstart.img.
14498 (fwstart_img_SOURCES): New variable.
14499 (fwstart_img_CFLAGS): Likewise.
14500 (fwstart_img_ASFLAGS): Likewise.
14501 (fwstart_img_LDFLAGS): Likewise.
14502 (fwstart_img_FORMAT): Likewise.
14503 (pkglib_MODULES): Add lsspd.mod.
14504 (lsspd_mod_SOURCES): New variable.
14505 (lsspd_mod_CFLAGS): Likewise.
14506 (lsspd_mod_LDFLAGS): Likewise.
14507 (pkglib_MODULES): Add halt.mod.
14508 (halt_mod_SOURCES): New variable.
14509 (halt_mod_CFLAGS): Likewise.
14510 (halt_mod_LDFLAGS): Likewise.
14511 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
14512 (serial_mod_SOURCES): Removed.
14513 (serial_mod_CFLAGS): Likewise.
14514 (serial_mod_LDFLAGS): Likewise.
14515 * disk/ata.c (check_device): New function.
14516 (grub_ata_device_initialize): Use check_device.
14517 (grub_ata_iterate): Recheck devices.
14518 (grub_ata_open): Likewise.
14519 (grub_atapi_iterate): Likewise.
14520 (grub_atapi_open): Likewise.
14521 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
14522 (GRUB_ATA_CH1_PORT1): Likewise.
14523 (GRUB_ATA_CH0_PORT2): Likewise.
14524 (GRUB_ATA_CH1_PORT2): Likewise.
14525 * include/grub/mips/loongson.h: New file.
14526 * include/grub/mips/yeeloong/ec.h: Likewise.
14527 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
14528 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
14529 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
14530 * include/grub/misc.h (grub_halt): Declare as noreturn.
14531 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
14532 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
14533 (UART_ENABLE_FIFO_TRIGGER1): New definition.
14534 (UART_ENABLE_DTRRTS): Likewise.
14535 (UART_ENABLE_MODEM): Removed.
14536 (UART_ENABLE_OUT2): New const.
14537 * include/grub/term.h (grub_term_register_input_active): New function.
14538 (grub_term_register_output_active): Likewise.
14539 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
14540 argument.
14541 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
14542 (init_pci): New function.
14543 (grub_machine_init): Execute platform init when firmware. Init serial.
14544 (grub_halt): Implement.
14545 (grub_exit): Likewise.
14546 (grub_reboot): Likewise.
14547 * term/serial.c (serial_hw_init): Update macros.
14548 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
14549 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
14550 (image_targets): New target mipsel-yeeloong-flash.
14551 (generate_image): Support IMAGE_YEELOONG_FLASH.
14552 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
14553 (grub_video_sm712_setup): Init card.
14554 (grub_video_sm712_set_palette): Removed.
14555 * video/sm712_init.c: New file.
14556
ff4a70d2
CW
145572010-06-30 Colin Watson <cjwatson@ubuntu.com>
14558
14559 * Makefile.in (install-local): Temporarily prepend $(builddir) to
14560 PATH when running help2man and then run it on the unadorned
14561 executable names, rather than passing $(builddir)/* paths to
14562 help2man. This avoids the build directory ending up in generated
14563 manual pages.
14564
1246efeb
CW
145652010-06-29 Colin Watson <cjwatson@ubuntu.com>
14566
14567 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
14568 to avoid accidents when debugging with 'sh -x'.
14569 * util/grub-mkrescue.in: Likewise.
14570 * util/grub.d/00_header.in: Likewise.
14571 * util/grub.d/10_hurd.in: Likewise.
14572 * util/grub.d/10_kfreebsd.in: Likewise.
14573 * util/grub.d/10_linux.in: Likewise.
14574 * util/grub.d/10_netbsd.in: Likewise.
14575 * util/grub.d/10_windows.in: Likewise.
14576 * util/grub.d/20_linux_xen.in: Likewise.
14577 * util/grub.d/30_os-prober.in: Likewise.
14578 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14579
1ba9b889
CW
145802010-06-29 Colin Watson <cjwatson@ubuntu.com>
14581
14582 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
14583 last character in the buffer.
14584 Reported by: Vladimir Serbinenko.
14585
dccaf99d
RM
145862010-06-29 Robert Millan <rmh@gnu.org>
14587
14588 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
14589 (Command-line and menu entry commands): Document `badram' command.
14590
d500ed12
RM
145912010-06-28 Robert Millan <rmh@gnu.org>
14592
14593 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
14594 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
14595 command using ${GRUB_BADRAM} as parameter.
14596
20bc84a6
CW
145972010-06-28 Colin Watson <cjwatson@ubuntu.com>
14598
14599 * docs/grub.texi (Device map): New section.
14600 (Themes): New section (stub).
14601 * Makefile.in (docs/grub.info): The info documentation now builds
14602 without errors. Make sure it stays that way.
14603
4045dee1
VS
146042010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14605
14606 Use normal parser for menu entries.
14607 Reported by: Thomas Frauendorfer
14608
14609 * include/grub/parser.h (grub_parser_execute): Don't export.
14610 * normal/menu.c (grub_menu_execute_entry_real): New function.
14611 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
14612
bca58c7b
CW
146132010-06-28 Colin Watson <cjwatson@ubuntu.com>
14614
14615 * docs/grub.texi (Embedded configuration): New section (replacing
14616 old "Preset Menu" stub).
14617 (Images): New section.
14618 (configfile): Note that any menu entries defined in `file' are shown
14619 immediately.
14620
dec53e63
JT
146212010-06-28 Josh Triplett <josh@joshtriplett.org>
14622
14623 * mmap/i386/pc/mmap_helper.S: Set CF on return.
14624
c06e40f7
CW
146252010-06-28 Colin Watson <cjwatson@ubuntu.com>
14626
14627 * util/grub-install.in: Add --debug-image= option.
14628
cb88052b
CW
146292010-06-28 Colin Watson <cjwatson@ubuntu.com>
14630
14631 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
14632 possible on Linux.
14633
14634 * util/deviceiter.c (check_device): Rename to ...
14635 (check_device_readable_unique): ... this. Update all callers.
14636 Maintain and check a list of which devices (by canonicalized name)
14637 have already been seen.
14638 (clear_seen_devices): New function.
14639 (compare_file_names) [__linux__]: New function.
14640 (grub_util_iterate_devices): Clear the list of seen devices on exit
14641 and (just in case) on entry.
14642 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
14643 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
14644 seen-devices list, superseded by general code in check_device.
14645
bbe34652
CW
146462010-06-28 Colin Watson <cjwatson@ubuntu.com>
14647
14648 * commands/cat.c (options): New variable.
14649 (grub_cmd_cat): Parse options. If the --dos option is given, print
14650 DOS-style "\r\n" line endings as simple newlines (Debian bug
14651 #586358).
14652 (GRUB_MOD_INIT): Use extcmd.
14653 (GRUB_MOD_FINI): Likewise.
14654 * docs/grub.texi (cat): Document --dos.
14655
412e09f3
VS
146562010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14657
14658 XEN with Linux grub-mkconfig support.
14659
14660 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
14661 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
14662 GRUB_CMDLINE_XEN_DEFAULT.
14663 * util/grub.d/20_linux_xen.in: New file.
14664
53f3ef38 146652010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
14666
14667 Initialise VGA video on qemu ourselves.
14668
14669 * boot/i386/qemu/boot.S: Don't call 0xc000.
14670 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
14671 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
14672 (kernel_img_HEADERS): Add pci.h.
14673 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
14674 * configure.ac: Force unifont on qemu and yeeloong.
14675 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
14676 (grub_vga_palette_write): Use correct register.
14677 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
14678 Call grub_qemu_init_cirrus.
14679 * kern/i386/qemu/init.c: New file.
14680 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
14681
14682 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
14683
c75be4fb
PR
146842010-06-26 Pavel Roskin <proski@gnu.org>
14685
14686 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
14687 13.
14688
d8034603
CW
146892010-06-26 Colin Watson <cjwatson@ubuntu.com>
14690
14691 * docs/grub.texi (Simple configuration): Explain that
14692 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
14693 set to `true' to disable their respective recovery entries, not
14694 merely set.
14695
3fa06487
CW
146962010-06-26 Colin Watson <cjwatson@ubuntu.com>
14697
14698 Make the `source' command slightly faster.
14699
14700 * normal/main.c (grub_normal_execute): Don't re-read list files when
14701 nested.
14702
e9b29642
CW
147032010-06-23 Colin Watson <cjwatson@ubuntu.com>
14704
14705 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
14706 field position and mask size to red fields from mode_info, not
14707 green.
14708 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
14709 Remove redundant tag->common.framebuffer_type assignment.
14710 Reported by: Seth Goldberg.
14711
e726542f
CW
147122010-06-23 Colin Watson <cjwatson@ubuntu.com>
14713
14714 Sync up other versions of the Linux loader with Robert Millan's
14715 change of 2010-01-09, "Make loader output a bit more user-friendly".
14716
14717 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
14718 grub_dprintf().
14719 (grub_cmd_linux): Likewise.
14720 (grub_cmd_initrd): Likewise.
14721 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
14722 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14723
d6e98a17
CW
147242010-06-21 Colin Watson <cjwatson@ubuntu.com>
14725
14726 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
14727 larger than MEMORY_MAP_SIZE.
14728
14d3f08e
BC
147292010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
14730
14731 Fix parallel build.
14732
14733 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
14734 dependency.
14735 * script/parser.y: #include grub_script.tab.h header.
14736
4f9613a3
VS
147372010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14738
14739 Support >3GiB and <16MiB RAM in i386-qemu.
14740
14741 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
14742 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
14743 (grub_lower_mem): Removed.
14744 (grub_upper_mem): Likewise.
14745 (mem_size): Made static.
14746 (above_4g): New variable.
14747 (grub_machine_mmap_init): Detect small mem_size and above_4g.
14748 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
14749 support.
14750
05e51879
VS
147512010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14752
14753 Cirrus 5446 and Bochs video cards support.
14754
14755 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
14756 video_bochs.mod
14757 (video_cirrus_mod_SOURCES): New variable.
14758 (video_cirrus_mod_CFLAGS): Likewise.
14759 (video_cirrus_mod_LDFLAGS): Likewise.
14760 (video_bochs_mod_SOURCES): Likewise.
14761 (video_bochs_mod_CFLAGS): Likewise.
14762 (video_bochs_mod_LDFLAGS): Likewise.
14763 * include/grub/vga.h: New file.
14764 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
14765 (grub_video_fb_set_page_t): New type.
14766 (grub_video_fb_setup): New prototype.
14767 (grub_video_fb_swap_buffers): Likewise.
14768 (grub_video_fb_get_info_and_fini): Likewise.
14769 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
14770 (CRTC_DATA_PORT): Likewise.
14771 (CRTC_CURSOR): Likewise.
14772 (CRTC_CURSOR_ADDR_HIGH): Likewise.
14773 (CRTC_CURSOR_ADDR_LOW): Likewise.
14774 (CRTC_CURSOR_DISABLE): Likewise.
14775 (update_cursor): Use grub_vga_cr_write.
14776 (grub_vga_text_setcursor): Likewise.
14777 * video/bochs.c: New file.
14778 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
14779 (palette): Likewise.
14780 (palette_size): Likewise.
14781 (framebuffer): New variable.
14782 (grub_video_fb_init): Use 'framebuffer'.
14783 (grub_video_fb_fini): Likewise.
14784 (grub_video_fb_get_info): Likewise.
14785 (grub_video_fb_get_palette): Likewise.
14786 (grub_video_fb_set_palette): Likewise.
14787 (grub_video_fb_set_viewport): Likewise.
14788 (grub_video_fb_get_viewport): Likewise.
14789 (grub_video_fb_map_color): Likewise.
14790 (grub_video_fb_map_rgb): Likewise.
14791 (grub_video_fb_map_rgba): Likewise.
14792 (grub_video_fb_unmap_color): Likewise.
14793 (grub_video_fb_unmap_color_int): Likewise.
14794 (grub_video_fb_fill_rect): Likewise.
14795 (grub_video_fb_blit_bitmap): Likewise.
14796 (grub_video_fb_blit_render_target): Likewise.
14797 (grub_video_fb_scroll): Likewise.
14798 (grub_video_fb_create_render_target): Likewise.
14799 (grub_video_fb_doublebuf_blit_init): Likewise.
14800 (grub_video_fb_set_active_render_target): Handle doublebuffering.
14801 (doublebuf_pageflipping_update_screen): New function.
14802 (doublebuf_pageflipping_init): Likewise.
14803 (grub_video_fb_setup): Likewise.
14804 (grub_video_fb_swap_buffers): Likewise.
14805 (grub_video_fb_get_info_and_fini): Likewise.
14806 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
14807 All users updated.
14808 (doublebuf_pageflipping_commit): Restructured into ...
14809 (doublebuf_pageflipping_set_page): ... this.
14810 (doublebuf_pageflipping_update_screen): Removed.
14811 (doublebuf_pageflipping_init): Likewise.
14812 (double_buffering_init): Likewise.
14813 (grub_video_vbe_setup): Use grub_video_fb_setup.
14814 (grub_video_vbe_swap_buffers): Removed.
14815 (grub_video_vbe_set_active_render_target): Likewise.
14816 (grub_video_vbe_get_active_render_target): Likewise.
14817 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
14818 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
14819 grub_video_fb_set_active_render_target and
14820 grub_video_fb_get_active_render_target.
14821 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
14822 (SEQUENCER_DATA_PORT): Likewise.
14823 (MAP_MASK_REGISTER): Likewise.
14824 (CRTC_ADDR_PORT): Likewise.
14825 (CRTC_DATA_PORT): Likewise.
14826 (START_ADDR_HIGH_REGISTER): Likewise.
14827 (START_ADDR_LOW_REGISTER): Likewise.
14828 (GRAPHICS_ADDR_PORT): Likewise.
14829 (GRAPHICS_DATA_PORT): Likewise.
14830 (READ_MAP_REGISTER): Likewise.
14831 (INPUT_STATUS1_REGISTER): Likewise.
14832 (INPUT_STATUS1_VERTR_BIT): Likewise.
14833 (get_map_mask): Use grub_vga_sr_read.
14834 (set_map_mask): Use grub_vga_sr_write.
14835 (set_read_map): Use grub_vga_gr_write.
14836 (set_start_address): Use grub_vga_cr_write.
14837 * video/sm712.c (framebuffer): Remove leftover fields.
14838
4321c64a
CW
148392010-06-20 Colin Watson <cjwatson@ubuntu.com>
14840
14841 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
14842 setting GRUB_VIDEO_BACKEND. Make it available as a user override
14843 instead. Replace the gfxterm backend check with a check that
14844 ${GRUB_PREFIX}/video.lst is non-empty.
14845 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
14846 again.
14847 (load_video): New generated function. Call it before loading
14848 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
14849 * util/grub.d/10_linux.in (linux_entry): Call load_video.
14850 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
14851 * docs/grub.texi (Simple configuration): Document
14852 GRUB_VIDEO_BACKEND.
14853
148542010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14855
14856 Use video functions in linux and xnu loaders.
14857
14858 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
14859 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
14860 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
14861 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
14862 loader/i386/pc/linux.c.
14863 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
14864 (find_line_len): Removed.
14865 (find_framebuf): Likewise.
14866 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
14867 * loader/i386/efi/xnu.c: Removed.
14868 * loader/i386/pc/xnu.c: Moved from here...
14869 * loader/i386/xnu.c: ...here.
14870
14871 Enable priorities in video drivers.
14872
14873 * include/grub/video.h (grub_video_adapter_prio_t): New type.
14874 (grub_video_adapter): New field prio.
14875 (grub_video_register): Respect prio when inserting.
14876 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
14877 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
14878 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
14879 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
14880 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
14881 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
14882 * video/sm712.c (grub_video_sm712_adapter): Likewise.
14883
14884 Fix SDL driver ID.
14885
14886 * include/grub/video.h (grub_video_driver_id_t): New value
14887 GRUB_VIDEO_DRIVER_SDL.
14888 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
14889
7d24e434
CW
148902010-06-17 Colin Watson <cjwatson@ubuntu.com>
14891
14892 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
14893 argument to printf.
14894 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14895
c88a83f6
CW
148962010-06-17 Colin Watson <cjwatson@ubuntu.com>
14897
14898 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
14899 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14900
094dfb69
CW
149012010-06-17 Colin Watson <cjwatson@ubuntu.com>
14902
14903 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
14904 directly, and recommend grub-install instead.
14905 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14906
2164da6b
CW
149072010-06-17 Colin Watson <cjwatson@ubuntu.com>
14908
14909 Fix i386-pc prefix handling with nested partitions (Debian bug
14910 #585068). Note that the case where the core image is booted using
14911 multiboot and relocated from its original location still requires
14912 more work.
14913
14914 * kern/i386/pc/init.c (make_install_device): If the prefix starts
14915 with "(,", fill the boot drive in between those two characters, but
14916 expect that a full partition specification including partition map
14917 names will follow.
14918 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
14919 specified, write a prefix without the drive name but including a
14920 full partition specification.
14921
044e2e60
CW
149222010-06-16 Colin Watson <cjwatson@ubuntu.com>
14923
14924 * util/grub-mkconfig.in: Ignore non-option arguments, for
14925 compatibility with older versions (before 2010-06-12) which did the
14926 same. In particular, this makes it easier to ship an update-grub
14927 wrapper which is compatible with that used with GRUB Legacy (Debian
14928 bug #586056).
14929
5591324f
GS
149302010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14931
14932 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
14933 for manual page generation.
14934
662e24d5
GS
149352010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14936
14937 * po/POTFILES: Remove leftover commands/handler.c.
14938
8d70754e
CW
149392010-06-14 Colin Watson <cjwatson@ubuntu.com>
14940
14941 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
14942 left this script non-functional.
14943
41160e2e
CW
149442010-06-14 Colin Watson <cjwatson@ubuntu.com>
14945
14946 * docs/man/grub-emu.h2m: New file.
14947
b5309cc1
CW
149482010-06-13 Colin Watson <cjwatson@ubuntu.com>
14949
14950 * docs/grub.texi (Commands): Document reduced command set in rescue
14951 mode.
14952 (cpuid): New section.
14953
fcb2d090
GS
149542010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
14955
14956 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
14957 new partition naming style.
14958 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
14959
96e5c556
BC
149602010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
14961
14962 Add "-o grub.iso" like cmdline options support.
14963
14964 * util/grub-install.in: Improve cmdline option parsing.
14965 * util/grub-mkconfig.in: Likewise.
14966 * util/grub-mkrescue.in: Likewise.
14967 * util/grub-reboot.in: Likewise.
14968 * util/grub-set-default.in: Likewise.
14969 * util/i386/efi/grub-install.in: Likewise.
14970 * util/ieee1275/grub-install.in: Likewise.
14971 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14972
c16be99b
CW
149732010-06-12 Colin Watson <cjwatson@ubuntu.com>
14974
14975 * .bzrignore: Ignore 41_custom.
14976
ce08a9fb
TS
149772010-06-12 Thomas Schmitt <scdbackup@gmx.net>
14978
14979 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
14980
7beac90c
CW
149812010-06-12 Colin Watson <cjwatson@ubuntu.com>
14982
14983 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
14984 prototype declarations.
14985
14986 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
14987 generating fs, partmap, and video lists.
14988 * include/grub/fs.h (grub_fs_register): Omit prototype if
14989 GRUB_LST_GENERATOR is defined.
14990 * include/grub/partition.h (grub_partition_map_register): Likewise.
14991 * include/grub/video.h (grub_video_register): Likewise.
14992
1c8f0f8d
JM
149932010-06-12 Javier Martín <lordhabbit@gmail.com>
14994
14995 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
14996
a6085973
TS
149972010-06-12 Thomas Schmitt <scdbackup@gmx.net>
14998
14999 * util/grub-mkrescue.in: Support --xorriso argument.
15000
25c56d29
VS
150012010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15002
15003 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
15004 Suggested by: Thomas Schmitt.
15005
e03e4b24
VS
150062010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15007
15008 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
15009 Suggested by: Thomas Schmitt.
15010
57711df6
VS
150112010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15012
15013 custom.cfg support.
15014
15015 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
15016 * util/grub.d/41_custom.in: New file.
15017
ee62c427
CW
150182010-06-12 Colin Watson <cjwatson@ubuntu.com>
15019
15020 * util/grub-mkrescue.in (make_image): Remove sh module, which has
15021 been merged back into normal.
15022
283af07a
CW
150232010-06-11 Colin Watson <cjwatson@ubuntu.com>
15024
15025 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
15026 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
15027
56a0d956
CW
150282010-06-11 Colin Watson <cjwatson@ubuntu.com>
15029
15030 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
15031 when generating manual pages.
15032 * docs/man/grub-bin2h.h2m: New file.
15033 * docs/man/grub-editenv.h2m: New file.
15034 * docs/man/grub-fstest.h2m: New file.
15035 * docs/man/grub-install.h2m: New file.
15036 * docs/man/grub-macho2img.h2m: New file.
15037 * docs/man/grub-mkconfig.h2m: New file.
15038 * docs/man/grub-mkdevicemap.h2m: New file.
15039 * docs/man/grub-mkfont.h2m: New file.
15040 * docs/man/grub-mkimage.h2m: New file.
15041 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
15042 * docs/man/grub-mkrelpath.h2m: New file.
15043 * docs/man/grub-mkrescue.h2m: New file.
15044 * docs/man/grub-ofpathname.h2m: New file.
15045 * docs/man/grub-pe2elf.h2m: New file.
15046 * docs/man/grub-probe.h2m: New file.
15047 * docs/man/grub-reboot.h2m: New file.
15048 * docs/man/grub-script-check.h2m: New file.
15049 * docs/man/grub-set-default.h2m: New file.
15050 * docs/man/grub-setup.h2m: New file.
15051
3a37e322
VS
150522010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
15053
15054 Use FOR_* macros instead of *_iterate whenever possible.
15055
15056 * commands/handler.c: Removed.
15057 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
15058 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
15059 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15060 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
15061 (grub_probe_SOURCES): Remove kern/parser.c.
15062 (util/grub-script-check.c_DEPENDENCIES): Removed.
15063 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
15064 and grub_script_check_init.c.
15065 (grub_script_check_init.lst): Removed.
15066 (grub_script_check_init.h): Likewise.
15067 (grub_script_check_init.c): Likewise.
15068 (pkglib_MODULES): Remove handler.mod and sh.mod.
15069 (handler_mod_SOURCES): Removed.
15070 (handler_mod_CFLAGS): Likewise.
15071 (handler_mod_LDFLAGS): Likewise.
15072 (normal_mod_SOURCES): Remove normal/handler.c.
15073 Add script/main.c, script/script.c, script/execute.c,
15074 script/function.c, script/lexer.c, grub_script.tab.c
15075 and grub_script.yy.c.
15076 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15077 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15078 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
15079 (grub_setup_SOURCES): Remove kern/parser.c.
15080 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15081 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
15082 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
15083 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15084 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15085 (grub_setup_SOURCES): Remove kern/parser.c.
15086 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15087 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
15088 * include/grub/command.h (grub_command_iterate): Removed.
15089 (FOR_COMMANDS): New macro.
15090 * include/grub/dl.h (grub_dl): New member next.
15091 (grub_dl_iterate): Removed.
15092 (grub_dl_head): New variable declaration.
15093 (FOR_DL_MODULES): New macro.
15094 * include/grub/fs.h: Include list.h.
15095 (grub_fs): Make next first element.
15096 (grub_fs_list): New variable declaration.
15097 (grub_fs_register): Make inline.
15098 (grub_fs_unregister): Likewise.
15099 (grub_fs_iterate): Removed.
15100 (FOR_FILESYSTEMS): New macro.
15101 * include/grub/handler.h: Removed.
15102 * include/grub/list.h (grub_list_hook_t): Removed.
15103 (grub_list_test_t): Likewise.
15104 (grub_list_pop): Likewise.
15105 (grub_list_iterate): Likewise.
15106 (grub_list_insert): Likewise.
15107 (FOR_LIST_ELEMENTS): New macro.
15108 * include/grub/parser.h (grub_parser_class): Removed.
15109 (grub_parser_register): Likewise.
15110 (grub_parser_unregister): Likewise.
15111 (grub_parser_get_current): Likewise.
15112 (grub_parser_set_current): Likewise.
15113 (grub_register_rescue_parser): Likewise.
15114 (grub_rescue_parse_line): New function.
15115 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
15116 * include/grub/script_sh.h (grub_script_function_list): New variable
15117 declaration.
15118 (FOR_SCRIPT_FUNCTIONS): New macro.
15119 (grub_script_function_iterate): Removed.
15120 (grub_normal_parse_line): New prototype.
15121 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
15122 (FOR_DISABLED_TERM_INPUTS): Likewise.
15123 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
15124 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
15125 * include/grub/video.h (grub_video_adapter): Move 'next' to first
15126 element.
15127 (grub_video_register): Inline.
15128 (grub_video_unregister): Likewise.
15129 (grub_video_adapter_list): New variable declaration.
15130 (grub_video_iterate): Removed.
15131 (FOR_VIDEO_ADAPTERS): New macro.
15132 * kern/dl.c (grub_dl_list): Removed. All users updated.
15133 (grub_dl_iterate): Removed.
15134 * kern/fs.c (grub_fs_list): Make global.
15135 (grub_fs_register): Removed.
15136 (grub_fs_unregister): Likewise.
15137 (grub_fs_iterate): Likewise.
15138 * kern/handler.c: Removed.
15139 * kern/list.c (grub_list_pop): Removed.
15140 (grub_list_iterate): Likewise.
15141 (grub_list_insert): Likewise.
15142 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
15143 (grub_prio_list_insert): Don't use grub_list_insert.
15144 * kern/main.c (grub_register_rescue_parser): Don't call
15145 grub_register_rescue_parser.
15146 * kern/parser.c (grub_parser_class): Removed.
15147 (grub_parser_execute): Use grub_rescue_parse_line.
15148 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
15149 (grub_rescue_parser): Removed.
15150 (grub_register_rescue_parser): Likewise.
15151 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
15152 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
15153 (grub_auth_check_authentication): Likewise.
15154 * normal/completion.c (iterate_command): Removed.
15155 (grub_normal_do_completion): Use FOR_COMMANDS.
15156 * normal/handler.c: Removed.
15157 * normal/main.c (read_config_file): Remove parser changing.
15158 (grub_normal_execute): Don't call read_handler_list.
15159 (grub_normal_read_line_real): Statically allocate prompt.
15160 (grub_cmdline_run): Use grub_normal_parse_line.
15161 (GRUB_MOD_FINI): Don't call free_handler_list.
15162 * normal/menu_entry.c (run): Likewise.
15163 * script/function.c (grub_script_function_list): Make global.
15164 (grub_script_function_iterate): Removed.
15165 * script/main.c (grub_normal_parse_line): Make global.
15166 (grub_sh_parser): Removed.
15167 (GRUB_MOD_INIT): Likewise.
15168 (GRUB_MOD_FINI): Likewise.
15169 * tests/lib/functional_test.c (grub_functional_test): Use
15170 FOR_LIST_ELEMENTS.
15171 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
15172 (grub_test_run): Use FOR_LIST_ELEMENTS.
15173 * tests/lib/unit_test.c (main): Likewise.
15174 * util/deviceiter.c (grub_util_iterate_devices): Don't use
15175 grub_list_pop.
15176 * util/grub-fstest.c (grub_term_input_class): Removed.
15177 (grub_term_output_class): Likewise.
15178 * util/grub-probe.c: Likewise.
15179 * util/i386/pc/grub-setup.c: Likewise.
15180 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15181 * util/grub-script-check.c (main): Don't call grub_init_all and
15182 grub_fini_all.
15183 * video/video.c (grub_video_adapter_list): Make global.
15184 (grub_video_register): Removed.
15185 (grub_video_unregister): Likewise.
15186 (grub_video_iterate): Likewise.
15187
6289c3a7
VS
151882010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
15189
15190 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
15191 reported by Henrique Ferreiro.
15192
91460247
RM
151932010-06-09 Robert Millan <rmh@gnu.org>
15194
15195 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
15196 ones, when both are available.
15197
0ea7c4f9
GS
151982010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15199
15200 Make --version uniform and avoid hard-coded program name.
15201
15202 * util/grub-mkimage.c (main): Use `program_name' instead of
15203 hard-coded string.
15204 * util/i386/pc/grub-setup.c (main): Likewise.
15205 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
15206 * util/grub-install.in: Save the basename of $0 in $self, and use the
15207 latter in informational messages. Use the same format for --version
15208 as the binary programs.
15209 * util/grub-mkconfig.in: Likewise.
15210 * util/grub-mkrescue.in: Likewise.
15211 * util/grub-reboot.in: Likewise.
15212 * util/grub-set-default.in: Likewise.
15213 * util/i386/efi/grub-install.in: Likewise.
15214 * util/ieee1275/grub-install.in: Likewise.
15215 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15216
e8a6f3b6
GS
152172010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15218
15219 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
15220 embedding area. Use <= instead of == when checking for non-emptiness.
15221
f4d095d7
GS
152222010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15223
15224 * configure.ac: Add `.' to the directories searched for unifont.
15225
50e532ca
CW
152262010-06-08 Colin Watson <cjwatson@ubuntu.com>
15227
15228 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
15229 grub_script.yy.h.
15230
d39f3dec
CW
152312010-06-08 Colin Watson <cjwatson@ubuntu.com>
15232
15233 * docs/grub.texi (History): Expand to cover GRUB 2.
15234 (Serial terminal): Refer to `terminal_input' and `terminal_output'
15235 commands, not `terminal'.
15236 (serial): Likewise.
15237 (terminal_input): New section.
15238 (terminal_output): New section.
15239 (uppermem): New section (stub).
15240 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
15241
6ef0ddb4
CW
152422010-06-08 Colin Watson <cjwatson@ubuntu.com>
15243
15244 * docs/grub.texi (Security): Menu entries are unrestricted by
15245 default, not restricted to superusers as I had previously thought.
15246 Reword to account for this.
15247
e0f4c438
CW
152482010-06-07 Colin Watson <cjwatson@ubuntu.com>
15249
15250 * kern/emu/misc.c (device_mapper_null_log): New function.
15251 (grub_device_mapper_supported): New function.
15252 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
15253 prototype.
15254 * kern/emu/hostdisk.c (find_partition_start): Check whether
15255 device-mapper is supported before trying to use it.
15256 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
15257
da908200
CW
152582010-06-07 Colin Watson <cjwatson@ubuntu.com>
15259
15260 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
15261 (File name syntax): Likewise.
15262 (help): --all is no longer supported in GRUB 2. Be more precise
15263 about pattern matching.
15264
fb55c3ac
CW
152652010-06-07 Colin Watson <cjwatson@ubuntu.com>
15266
15267 * normal/completion.c (grub_normal_do_completion): When completing
15268 arguments to "set" and the current word contains an equals sign,
15269 skip to after the equals sign before starting completion.
15270
258c2573
CW
152712010-06-07 Colin Watson <cjwatson@ubuntu.com>
15272
15273 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
15274
ee75515e
CW
152752010-06-07 Colin Watson <cjwatson@ubuntu.com>
15276
15277 * docs/grub.texi (Network): New section.
15278 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
15279 `(nd)' as in GRUB Legacy.
15280 (pxe_unload): New section.
15281
a6a700aa
CW
152822010-06-07 Colin Watson <cjwatson@ubuntu.com>
15283
15284 * docs/grub.texi (Troubleshooting): `echo' is not usually available
15285 in the rescue shell, so recommend using `set' instead. Thanks,
15286 Jordan Uggla.
15287
4003dd38
CW
152882010-06-07 Colin Watson <cjwatson@ubuntu.com>
15289
15290 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
15291 (password): New section.
15292 (password_pbkdf2): New section.
15293 (search): New section.
15294 (Security): New section.
15295 (Troubleshooting): New section, currently very incomplete.
15296 (Invoking grub-mkpasswd-pbkdf2): New section.
15297 (Internals): New section, currently very incomplete.
15298
e1cbcc40
CW
152992010-06-07 Colin Watson <cjwatson@ubuntu.com>
15300
15301 * util/grub.d/00_header.in: Add some more quoting (of
15302 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
15303 work again.
15304 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
15305
db8fa1ad
CW
153062010-06-07 Colin Watson <cjwatson@ubuntu.com>
15307
15308 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
15309 to `count', fixing variable shadowing that broke the -c option.
15310
153112010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
15312
15313 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
15314 in case they contain spaces.
15315
f28a9212
CW
153162010-06-04 Colin Watson <cjwatson@ubuntu.com>
15317
15318 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
15319 "part_" to partmap module names, in line with grub-install.
15320 Reported by: Jindřich Makovička (Debian bug #584426).
15321
9cdfe32f
CW
153222010-06-04 Colin Watson <cjwatson@ubuntu.com>
15323
15324 * util/grub-mkimage.c: Make target-related error messages slightly
15325 more helpful; -O talks about "format". Explicitly point to the use
15326 of -O if no target is specified.
15327 Reported by: Didier Raboud (Debian bug #584415).
15328
795b593a
CW
153292010-06-03 Colin Watson <cjwatson@ubuntu.com>
15330
15331 * INSTALL: Document several build requirements for optional features
15332 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
15333
9d9b5833
GS
153342010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
15335
15336 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
15337 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
15338 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
15339
0819fec8
CW
153402010-06-02 Colin Watson <cjwatson@ubuntu.com>
15341
15342 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
15343 Thanks to Jordan Uggla for spotting this.
15344
49396b4f
VS
153452010-06-02 Aleš Nesrsta <starous@volny.cz>
15346
15347 Finally make USB usable.
15348
15349 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
15350 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
15351 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
15352 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
15353 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
15354 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
15355 (GRUB_OHCI_FSMPS): Likewise.
15356 (GRUB_OHCI_PERIODIC_START): Likewise.
15357 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
15358 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
15359 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
15360 (GRUB_OHCI_SET_PORT_RESET): Likewise.
15361 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
15362 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
15363 (grub_ohci_transaction): Likewise.
15364 (grub_ohci_transfer): Improve condition detection algorithms.
15365 Handle toggle property. Program the transactions correctly.
15366 Improve error handling. Various important fixups.
15367 (grub_ohci_portstatus): Put register writes in right order.
15368 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
15369 (grub_uhci_transfer): Don't show "failed" message on success.
15370 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
15371 array.
15372 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
15373 determine its size.
15374 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
15375 before initialization is completed. Use IN direction for empty
15376 transfers. Use last_trans and compute toggle.
15377 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
15378 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
15379 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
15380 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
15381 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
15382 (grub_usb_device): Increase toggle to 256.
15383 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
15384 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
15385 GRUB_USBMS_SUBCLASS_SFF8070.
15386 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
15387 (grub_scsi_inquiry): New member page and alloc_length.
15388 (grub_scsi_request_sense): New structure.
15389 (grub_scsi_request_sense_data): Likewise.
15390 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
15391 control.
15392 * disk/scsi.c (grub_scsi_request_sense): New function.
15393 (grub_scsi_test_unit_ready): Likewise.
15394 (grub_scsi_inquiry): Fill new fields.
15395 (grub_scsi_read_capacity): Likewise.
15396 (grub_scsi_read10): Add request sense at the end.
15397 (grub_scsi_read12): Likewise.
15398 (grub_scsi_write10): Likewise.
15399 (grub_scsi_write12): Likewise.
15400 (grub_scsi_open): Add Test Unit Ready.
15401 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
15402 Support additional subclasses. Con't clear halt yet. Activate the
15403 proper config. Calculate LUNs correctly.
15404 (grub_usbms_transfer): Various important fixups.
15405
154062010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15407
15408 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
15409 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
15410 (grub_ohci_fini_hw): New function.
15411 (grub_ohci_restore_hw): Likewise.
15412 (GRUB_MOD_INIT(ohci)): Register preboot hook.
15413 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
15414 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
15415
154162010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15417
15418 Dedicated DMA allocations.
15419
15420 * bus/pci.c (grub_memalign_dma32): New function
15421 (grub_dma_free): Likewise.
15422 (grub_dma_get_virt): Likewise.
15423 (grub_dma_get_phys): Likewise.
15424 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
15425 (grub_ohci_pci_iter): Use dma32_alloc.
15426 (grub_ohci_transfer): Likewise.
15427 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
15428 (grub_usb_bulk_readwrite): Likewise.
15429 * include/grub/pci.h: Add declarations.
15430
154312010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15432
15433 CS5536 support.
15434
15435 * bus/cs5536.c: New file.
15436 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
15437 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
15438 (cs5536_mod_SOURCES): New variable.
15439 (cs5536_mod_CFLAGS): Likewise.
15440 (cs5536_mod_LDFLAGS): Likewise.
15441 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
15442 machine/pci.h.
15443 (kernel_img_SOURCES): Add bus/cs5536.c.
15444 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
15445 usb_keyboard.mod.
15446 (usb_mod_SOURCES): New variable.
15447 (usb_mod_CFLAGS): New variable.
15448 (usb_mod_LDFLAGS): New variable.
15449 (usbtest_mod_SOURCES): New variable.
15450 (usbtest_mod_CFLAGS): New variable.
15451 (usbtest_mod_LDFLAGS): New variable.
15452 (ohci_mod_SOURCES): New variable.
15453 (ohci_mod_CFLAGS): New variable.
15454 (ohci_mod_LDFLAGS): New variable.
15455 (usbms_mod_SOURCES): New variable.
15456 (usbms_mod_CFLAGS): New variable.
15457 (usbms_mod_LDFLAGS): New variable.
15458 (usb_keyboard_mod_SOURCES): New variable.
15459 (usb_keyboard_mod_CFLAGS): New variable.
15460 (usb_keyboard_mod_LDFLAGS): New variable.
15461 * include/grub/smbus.h: New file.
15462 * include/grub/cs5536.h: New file.
15463
0b35b2a9
CW
154642010-06-02 Colin Watson <cjwatson@ubuntu.com>
15465
15466 * util/grub.d/00_header.in: Add safety check to make sure that
15467 ${locale_dir} exists before trying to probe it.
15468
ca0afd5b
CW
154692010-06-02 Colin Watson <cjwatson@ubuntu.com>
15470
15471 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
15472 per the GNU Coding Standards; this is now too obscure to be worth
15473 documenting.
15474 (QNX): Likewise.
15475 (chainloader): Remove cross-reference to `SCO UnixWare'.
15476
1c41aa78
CW
154772010-06-02 Colin Watson <cjwatson@ubuntu.com>
15478
15479 * docs/grub.texi (Chain-loading): New section.
15480 (DOS/Windows): New section, borrowed from GRUB Legacy with details
15481 adjusted for GRUB 2.
15482 (SCO UnixWare): Likewise.
15483 (QNX): Likewise.
15484 (chainloader): Add reference to `Block list syntax'.
15485 (drivemap): New section.
15486 (parttool): New section.
15487
bb8ea0f5
CW
154882010-06-02 Colin Watson <cjwatson@ubuntu.com>
15489
15490 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
15491 the grub shell'.
15492 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
15493 (Installing GRUB using grub-install): Remove reference to the grub
15494 shell; mention `grub-mkimage' and `grub-setup' instead.
15495 (Invoking grub-install): Likewise.
15496 (Interface): Add reference to `Menu entry editor'.
15497 (serial): Remove `--device' option.
15498
288dd6ed
CW
154992010-06-02 Colin Watson <cjwatson@ubuntu.com>
15500
15501 * docs/grub.texi (Configuration): New section, documenting
15502 configuration file generation using grub-mkconfig. I've left a slot
15503 for documenting the full shell scripting format but have not yet
15504 started on writing that up.
15505 (Invoking grub-mkconfig): New section.
15506
34c9f0e9
CW
155072010-06-02 Colin Watson <cjwatson@ubuntu.com>
15508
15509 * docs/grub.texi (direntry): Remove grub-terminfo reference.
15510 (GNU GRUB manual): Likewise.
15511 (General commands): Update description of `terminfo' for GRUB 2.
15512
9121567e
CW
155132010-06-02 Colin Watson <cjwatson@ubuntu.com>
15514
15515 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
15516 (GRUB_MOD_INIT): Fix capitalisation.
15517 * docs/grub.texi (Command-line and menu entry commands): Document
15518 gettext and gptsync commands.
15519
ab631611
CW
155202010-06-02 Colin Watson <cjwatson@ubuntu.com>
15521
15522 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
15523 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
15524
bde4a9ac
CW
155252010-06-01 Colin Watson <cjwatson@ubuntu.com>
15526
15527 Add btrfs probing support, currently only in the single-device case.
15528
15529 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
15530 function.
15531 (grub_guess_root_device): Call find_root_device_from_mountinfo
15532 before looking in /dev.
15533
b1d17e10
VS
155342010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15535
15536 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
15537 GRUB_DISK_SIZE_UNKNOWN.
15538 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
15539
dfbfe004
JS
155402010-05-31 Jiro SEKIBA <jir@unicus.jp>
15541
15542 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
15543 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
15544 corrupted or not synced properly.
15545
c2ffc8e9
VS
155462010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15547
15548 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
15549 Reported by: Seth Goldberg.
15550
56293166
VS
155512010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15552
15553 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
15554 addition of dest.
15555 Reported by: Seth Goldberg.
15556
7620e7de
VS
155572010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15558
15559 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
15560 Reported by: Seth Goldberg.
15561
c837af3f
VS
155622010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15563
15564 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
15565 64-bit address as signed on MIPS.
15566
c7c75cf4
CW
155672010-05-28 Colin Watson <cjwatson@ubuntu.com>
15568
15569 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
15570 to the empty string.
15571
fa4b8490
BC
155722010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
15573
15574 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
15575
15576 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
15577 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
15578 * kern/misc.c (__enable_execute_stack): Disable on
15579 GRUB_MACHINE_EMU.
15580
a33075b9
CW
155812010-05-28 Colin Watson <cjwatson@ubuntu.com>
15582
15583 Make grub-probe work with symbolic links under /dev/mapper as well
15584 as with real block devices. The Linux world seems to be (at best)
15585 in transition here, and GRUB shouldn't get caught in the middle.
15586
15587 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
15588 /dev/mapper.
15589
d8708134
CW
155902010-05-27 Colin Watson <cjwatson@ubuntu.com>
15591
15592 * util/grub-script-check.c (main): Ensure defined behaviour on empty
15593 input files (in which case exit zero).
15594
db2102a0
CW
155952010-05-27 Colin Watson <cjwatson@ubuntu.com>
15596
15597 * kern/emu/misc.c (canonicalize_file_name): realpath can still
15598 return NULL for various reasons even if it has a maximum-length
15599 buffer: for example, there might be a symlink loop, or the path
15600 might exceed PATH_MAX. If this happens, return NULL.
15601
5fdba519
RM
156022010-05-27 Robert Millan <rmh@gnu.org>
15603
15604 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
15605 partmap module to handle cross-partmap setups.
15606 Reported by Orestes Mas. Gràcies!
15607
d1d368e4
CW
156082010-05-27 Colin Watson <cjwatson@ubuntu.com>
15609
15610 * util/grub-mkrescue.in: Initialise override_dir rather than
15611 assuming that it's unset or empty in the environment.
15612
95ac3c73
GS
156132010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
15614
15615 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
15616 variable index into p_index to suppress a warning with -Wshadow.
15617
7d8c0213
BC
156182010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
15619
15620 * INSTALL: Added flex >= 2.5.35 requirement.
15621
db4d5813
VS
156222010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15623
15624 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
15625
f24f4300
VS
156262010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15627
15628 cmostest support.
15629
15630 * commands/i386/cmostest.c: New file.
15631 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
15632 (cmostest_mod_SOURCES): New variable.
15633 (cmostest_mod_CFLAGS): Likewise.
15634 (cmostest_mod_LDFLAGS): Likewise.
15635 * conf/i386-pc.rmk: Likewise.
15636 * docs/grub.texi (Vendor power-on keys): New section.
15637 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
15638 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
15639 and GRUB_BUTTON_CMOS_ADDRESS.
15640 * util/grub.d/00_header.in: Handle powering-on by separate button.
15641
ad603f61
VS
156422010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15643
15644 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
15645 Removed drawing_scrollbar argument. All users updated
15646 Fixes #29792.
15647 Reported by Jo Shields
15648
3ecb080a
VS
156492010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15650
15651 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
15652 buffer since gfxterm handles double repaint.
15653
5f2316c1
VS
156542010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15655
15656 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
15657 * term/gfxterm.c (real_scroll): Likewise.
15658
9a25f885
VS
156592010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15660
15661 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
15662 before calling BIOS.
15663
39fbb79a
VS
156642010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15665
15666 * include/grub/i18n.h: Always enable grub_gettext.
15667
228cfa97
VS
156682010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15669
15670 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
15671 partition naming style.
15672
21717c8f
CW
156732010-05-21 Colin Watson <cjwatson@ubuntu.com>
15674
15675 * util/grub-mkconfig.in: Fix handling of -o so that it works when
15676 not the first option.
15677
c0f48e65
CW
156782010-05-20 Colin Watson <cjwatson@ubuntu.com>
15679
15680 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
15681
96779aec
CW
156822010-05-20 Colin Watson <cjwatson@ubuntu.com>
15683
15684 * util/misc.c: Move inclusion of <limits.h> to ...
15685 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
15686
fa9d256e
GS
156872010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
15688
15689 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
15690 Fix merge error in NetBSD code.
15691 (find_partition_start) [__NetBSD__]: Likewise.
15692
123b7a85
BC
156932010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
15694
15695 Fix grub-mkrescue usage unit testing.
15696
15697 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
15698
74276c0d
CF
156992010-05-18 Christian Franke <franke@computer.org>
15700
15701 * util/grub.d/10_windows.in: Use path names instead of
15702 drive letters to prevent warning from Cygwin 1.7.
15703 Add drivemap command to menuentry if needed.
15704
c4f7b523
ST
157052010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
15706
15707 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
15708 gnumach and gnumach.gz.
15709
95b97950
VS
157102010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15711
15712 * include/grub/i18n.h (gettext): Inline instead of using #define.
15713 (grub_gettext): Likewise.
15714 (_): Likewise.
15715
01b8d2d7
VS
157162010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15717
15718 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
15719 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
15720 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
15721 (main): Add a slash after pkglibdirroot.
15722
654e1d1e
VS
157232010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15724
15725 * util/grub-install.in: Add missing "in" keyword.
15726
26966aeb
VS
157272010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15728
15729 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
15730 Reported by: Seth Goldberg.
15731
75006747
VS
157322010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15733
15734 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
15735
74cbf5bd
CW
157362010-05-18 Colin Watson <cjwatson@ubuntu.com>
15737
15738 * configure.ac: Check for Linux device-mapper support.
15739
15740 * util/hostdisk.c (device_is_mapped): New function.
15741 (find_partition_start): New function, partly broken out from
15742 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
15743 device-mapper support added.
15744 (linux_find_partition): Use find_partition_start.
15745 (convert_system_partition_to_system_disk): Add `st' argument.
15746 Support Linux /dev/mapper/* devices if device-mapper support is
15747 available; only DM-RAID devices are understood at present.
15748 (find_system_device): Add `st' argument. Pass it to
15749 convert_system_partition_to_system_disk.
15750 (grub_util_biosdisk_get_grub_dev): Pass stat result to
15751 find_system_device and convert_system_partition_to_system_disk. Use
15752 find_partition_start.
15753
15754 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
15755 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
15756 * util/deviceiter.c [__linux__]: Define MINOR.
15757 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
15758 * util/mkdevicemap.c (grub_putchar): New function.
15759 (grub_getkey): New function.
15760 (grub_refresh): New function.
15761 (main): Set debug=all if -v -v is used.
15762
355b51e9
CW
157632010-05-18 Colin Watson <cjwatson@ubuntu.com>
15764
15765 Fix build with non-GNU libcs.
15766
15767 * util/misc.c (canonicalize_file_name): Move to ...
15768 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
15769 grub_make_system_path_relative_to_its_root.
15770
7fb5c25f
CW
157712010-05-18 Colin Watson <cjwatson@ubuntu.com>
15772
15773 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
15774 we handle finding grub-mkimage. Default to finding grub-mkimage in
15775 ${bindir} with program_transform_name applied, and provide a
15776 --grub-mkimage option to override this.
15777
1d3293d6
VS
157782010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15779
15780 Remove grub-mkisofs.
15781
15782 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
15783 (grub_mkisofs_SOURCES): Removed.
15784 (grub_mkisofs_CFLAGS): Removed.
15785 * util/mkisofs/defaults.h: Removed.
15786 * util/mkisofs/eltorito.c: Likewise.
15787 * util/mkisofs/exclude.h: Likewise.
15788 * util/mkisofs/hash.c: Likewise.
15789 * util/mkisofs/include/: Likewise.
15790 * util/mkisofs/include/fctldefs.h: Likewise.
15791 * util/mkisofs/include/mconfig.h: Likewise.
15792 * util/mkisofs/include/prototyp.h: Likewise.
15793 * util/mkisofs/include/statdefs.h: Likewise.
15794 * util/mkisofs/iso9660.h: Likewise.
15795 * util/mkisofs/joliet.c: Likewise.
15796 * util/mkisofs/match.c: Likewise.
15797 * util/mkisofs/match.h: Likewise.
15798 * util/mkisofs/mkisofs.c: Likewise.
15799 * util/mkisofs/mkisofs.h: Likewise.
15800 * util/mkisofs/msdos_partition.h: Likewise.
15801 * util/mkisofs/multi.c: Likewise.
15802 * util/mkisofs/name.c: Likewise.
15803 * util/mkisofs/rock.c: Likewise.
15804 * util/mkisofs/tree.c: Likewise.
15805 * util/mkisofs/write.c: Likewise.
15806
5dde9afe
VS
158072010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15808
15809 Unify grub-mkimage accross platforms.
15810
15811 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
15812 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
15813 (grub_mkelfimage_SOURCES): Removed.
15814 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
15815 (util/grub-mkimage.c_DEPENDENCIES): .. this.
15816 (bin_UTILITIES): Add grub-mkimage.
15817 (grub_mkimage_SOURCES): New variable.
15818 (kernel_img_HEADERS): Remove machine/kernel.h.
15819 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
15820 (pkglib_PROGRAMS): Add kernel.img.
15821 (kernel_img_HEADERS): Add machine/kernel.h.
15822 (kernel_img_FORMAT): Removed.
15823 (bin_UTILITIES): Remove grub-mkimage.
15824 (grub_mkimage_SOURCES): Removed.
15825 (grub_mkimage_CFLAGS): Likewise.
15826 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15827 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
15828 (pkglib_PROGRAMS): Add kernel.img.
15829 (bin_UTILITIES): Remove grub-mkimage.
15830 (grub_mkimage_SOURCES): Removed.
15831 (grub_mkimage_CFLAGS): Likewise.
15832 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15833 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
15834 (pkglib_PROGRAMS): Add kernel.img.
15835 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
15836 (pkglib_PROGRAMS): Add kernel.img.
15837 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
15838 (grub_mkimage_SOURCES): Removed.
15839 (grub_mkimage_CFLAGS): Likewise.
15840 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15841 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
15842 (pkglib_PROGRAMS): Add kernel.img.
15843 (bin_UTILITIES): Remove grub-mkimage.
15844 (grub_mkimage_SOURCES): Removed.
15845 (grub_mkimage_CFLAGS): Likewise.
15846 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15847 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
15848 (grub_mkimage_SOURCES): Removed.
15849 (grub_mkimage_CFLAGS): Likewise.
15850 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15851 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
15852 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
15853 (grub_pe32_optional_header): ... this.
15854 (grub_pe64_optional_header): ... and this. All users updated.
15855 (GRUB_PE32_PE32_MAGIC): Split into ..
15856 (GRUB_PE32_PE32_MAGIC): .. this.
15857 (GRUB_PE32_PE64_MAGIC): .. and this.
15858 (GRUB_PE32_SIGNATURE_SIZE): New definition.
15859 * include/grub/elf.h (PT_GNU_STACK): New definition.
15860 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
15861 * include/grub/i386/efi/kernel.h: Likewise.
15862 * include/grub/i386/kernel.h: Likewise.
15863 * include/grub/i386/pc/kernel.h: Likewise.
15864 * include/grub/i386/qemu/boot.h: Likewise.
15865 * include/grub/mips/kernel.h: Likewise.
15866 * include/grub/mips/qemu-mips/kernel.h: Likewise.
15867 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
15868 * include/grub/powerpc/kernel.h: Likewise.
15869 * include/grub/sparc64/ieee1275/boot.h: Likewise.
15870 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
15871 * include/grub/sparc64/kernel.h: Likewise.
15872 * include/grub/x86_64/efi/kernel.h: Likewise.
15873 * include/grub/x86_64/kernel.h: Likewise.
15874 * include/grub/offsets.h: New file.
15875 * include/grub/kernel.h (grub_module_info): Split into ...
15876 (grub_module_info32): ... this.
15877 (grub_module_info64): ... and this.
15878 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
15879 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
15880 (grub_boot_blocklist): Moved from here ...
15881 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
15882 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
15883 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
15884 * include/grub/types.h (grub_target_to_host16): Removed.
15885 (grub_target_to_host32): Likewise.
15886 (grub_target_to_host64): Likewise.
15887 (grub_host_to_target16): Likewise.
15888 (grub_host_to_target32): Likewise.
15889 (grub_host_to_target64): Likewise.
15890 (grub_host_to_target_addr): Likewise.
15891
15892 Support grub-mkrescue for efi, coreboot and qemu.
15893
15894 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
15895 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
15896 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
15897 * util/grub-mkrawimage.c: Moved from here ...
15898 * util/grub-mkimage.c: ... here. All users updated.
15899 (ALIGN_ADDR): Use image_target.
15900 (TARGET_NO_FIELD): New const.
15901 (image_target_desc): New type.
15902 (image_targets): New array.
15903 (grub_target_to_host64): Use image_target.
15904 (grub_target_to_host32): Likewise.
15905 (grub_target_to_host16): Likewise.
15906 (grub_host_to_target64): Likewise.
15907 (grub_host_to_target32): Likewise.
15908 (grub_host_to_target16): Likewise.
15909 (grub_host_to_target_addr): Likewise.
15910 (generate_image): Handle multiimage.
15911 (main): Require -O parameter. All users updated.
15912 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
15913 util/efi/grub-mkimage.c
15914 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
15915 New option --rom-directory.
15916 Use xorriso.
15917 * util/i386/efi/grub-mkimage.c: Removed.
15918 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
15919 (grub_target_to_host32): Likewise.
15920 (grub_target_to_host64): Likewise.
15921 (grub_host_to_target16): Likewise.
15922 (grub_host_to_target32): Likewise.
15923 (grub_host_to_target64): Likewise.
15924 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
15925 (grub_target_to_host32): Likewise.
15926 (grub_target_to_host64): Likewise.
15927 (grub_host_to_target16): Likewise.
15928 (grub_host_to_target32): Likewise.
15929 (grub_host_to_target64): Likewise.
15930
f4fc97d0
BC
159312010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
15932
15933 Source tree is reorganized for emu build.
15934
15935 * include/grub/util/console.h: Move from here...
15936 * include/grub/emu/console.h: ...to here.
15937 * include/grub/util/getroot.h: Move from here...
15938 * include/grub/emu/getroot.h: ...to here.
15939 * include/grub/util/hostdisk.h: Move from here...
15940 * include/grub/emu/hostdisk.h: ...to here.
15941 * util/console.c: Move from here...
15942 * kern/emu/console.c: ...to here.
15943 * util/getroot.c: Move from here...
15944 * kern/emu/getroot.c: ...to here.
15945 * util/grub-emu.c: Move from here...
15946 * kern/emu/main.c: ...to here.
15947 * util/hostdisk.c: Move from here...
15948 * kern/emu/hostdisk.c: ...to here.
15949 * util/hostfs.c: Move from here...
15950 * kern/emu/hostfs.c: ...to here.
15951 * util/mm.c: Move from here...
15952 * kern/emu/mm.c: ...to here.
15953 * util/pci.c: Move from here...
15954 * bus/emu/pci.c: ...to here.
15955 * util/sdl.c: Move from here...
15956 * video/emu/sdl.c: ...to here.
15957 * util/time.c: Move from here...
15958 * kern/emu/time.c: ...to here.
15959 * util/usb.c: Move from here...
15960 * bus/usb/emu/usb.c: ...to here.
15961
15962 * include/grub/emu/misc.h: New header for grub-emu functions.
15963 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
15964
15965 * conf/any-emu.rmk: Rule updates for above renames.
15966 * conf/common.rmk: Likewise.
15967 * conf/i386-pc.rmk: Likewise.
15968 * conf/i386-qemu.rmk: Likewise.
15969 * conf/mips.rmk: Likewise.
15970 * conf/sparc64-ieee1275.rmk: Likewise.
15971 * conf/x86-efi.rmk: Likewise.
15972
15973 * disk/lvm.h: #include updates for above renames.
15974 * util/grub-mkrelpath.c: Likewise.
15975 * util/grub-probe.c: Likewise.
15976 * util/i386/pc/grub-setup.c: Likewise.
15977 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15978 * kern/emu/console.c: Likewise.
15979 * kern/emu/getroot.c: Likewise.
15980 * kern/emu/hostdisk.c: Likewise.
15981 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
15982
15983 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
15984 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
15985 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
15986 * util/misc.c: Remove grub-emu functions.
15987
cced9145
VS
159882010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15989
15990 Fix gfxmenu crash.
15991 Reported by: Thorsten Grützmacher.
15992
15993 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
15994 timeout hook.
15995 (circprog_set_property): Register and unregister timeout hook.
15996 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
15997 (label_destroy): Free template. and unregister hook.
15998 (label_set_state): New function.
15999 (label_set_property): Handle templates and hooks.
16000 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
16001 timeout hook.
16002 (progress_bar_set_property): Register and unregister timeout hook.
16003 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
16004 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
16005 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
16006 (update_timeout_visit): Removed.
16007 (update_timeouts): New function.
16008 (redraw_timeouts): Likewise.
16009 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
16010 (grub_gfxmenu_clear_timeout): Likewise.
16011 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
16012 (grub_gfxmenu_timeout_notify): Likewise.
16013 (grub_gfxmenu_timeout_notifications): New external variable.
16014 (grub_gfxmenu_timeout_register): New function.
16015 (grub_gfxmenu_timeout_unregister): Likewise.
16016
c6e5caab
VS
160172010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16018
16019 Transform (broken) vga terminal into (working) vga video driver.
16020
16021 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
16022 video/i386/pc/vga.c.
16023 * include/grub/video.h (grub_video_driver_id):
16024 Add GRUB_VIDEO_DRIVER_VGA.
16025 * term/i386/pc/vga.c: Renamed to ...
16026 * video/i386/pc/vga.c: ...this
16027 (DEBUG_VGA): Removed.
16028 (CHAR_WIDTH): Likewise.
16029 (CHAR_HEIGHT): Likewise.
16030 (TEXT_WIDTH): Likewise.
16031 (TEXT_HEIGHT): Likewise.
16032 (DEFAULT_FG_COLOR): Likewise.
16033 (DEFAULT_BG_COLOR): Likewise.
16034 (colored_char): Likewise.
16035 (xpos): Likewise.
16036 (ypos): Likewise.
16037 (cursor_state): Likewise.
16038 (fg_color): Likewise.
16039 (bg_color): Likewise.
16040 (text_buf): Likewise.
16041 (page): Likewise.
16042 (font): Likewise.
16043 (framebuffer): New variable.
16044 (set_read_map): Disabled.
16045 (setup): New variable.
16046 (is_target): Likewise.
16047 (grub_vga_mod_init): Likewise.
16048 (grub_vga_mod_fini): Likewise.
16049 (check_vga_mem): Likewise.
16050 (write_char): Likewise.
16051 (write_cursor): Likewise.
16052 (scroll_up): Likewise.
16053 (grub_vga_putchar): Likewise.
16054 (grub_vga_getcharwidth): Likewise.
16055 (grub_vga_getwh): Likewise.
16056 (grub_vga_getxy): Likewise.
16057 (grub_vga_gotoxy): Likewise.
16058 (grub_vga_cls): Likewise.
16059 (grub_vga_setcolorstate): Likewise.
16060 (grub_vga_setcursor): Likewise.
16061 (grub_video_vga_init): New function.
16062 (grub_video_vga_setup): Likewise.
16063 (grub_video_vga_fini): Likewise.
16064 (update_target): Likewise.
16065 (grub_video_vga_blit_bitmap): Likewise.
16066 (grub_video_vga_blit_render_target): Likewise.
16067 (grub_video_vga_set_active_render_target): Likewise.
16068 (grub_video_vga_get_active_render_target): Likewise.
16069 (grub_video_vga_swap_buffers): Likewise.
16070 (grub_video_vga_set_palette): Likewise.
16071 (grub_video_vga_get_info_and_fini): Likewise.
16072 (grub_vga_term): Removed.
16073 (grub_video_vga_adapter): New variable.
16074 (GRUB_MOD_INIT): Register a video driver instead of terminal.
16075 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
16076
2bf61a98
VS
160772010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16078
16079 * video/readers/jpeg.c: Indented.
16080
09ddcd11
VS
160812010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16082
16083 Various jpeg cleanups.
16084
16085 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
16086 (grub_jpeg_decode_quan_table): Use sizeof.
16087 (grub_jpeg_decode_du): Use ARRAY_SIZE.
16088
e5507505
PH
160892010-05-05 Peter Hurley <No e-mail available> (tiny change)
16090
16091 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
16092 tables. Ignore non-last ac bit.
16093 (grub_jpeg_decode_quan_table): Likewise.
16094
7e720a9b
VS
160952010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16096
16097 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
16098 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
16099 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16100 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
16101 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
16102 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
16103
a7fc080b
VS
161042010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16105
16106 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
16107 error.
16108
2bf6012d
VS
161092010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16110
16111 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
16112
265d68cd
VS
161132010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16114
16115 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
16116 condition.
16117
161182010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
16119
16120 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
16121 part.
16122
265d68cd 161232010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
16124
16125 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
16126 pointers.
16127
265d68cd 161282010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
16129
16130 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
16131
d1b61374
CF
161322010-05-01 Christian Franke <franke@computer.org>
16133
16134 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
16135 Remove broken Cygwin path conversion.
16136 * util/misc.c: [__CYGWIN__] Add include and define.
16137 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
16138 for Cygwin 1.7.
16139 (make_system_path_relative_to_its_root): Simplify loop, replace early
16140 return by break.
16141 [__CYGWIN__] Add conversion to win32 path.
16142 Include "/" case in trailing slash removal.
16143
3558c6e9
VS
161442010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16145
16146 * kern/main.c (grub_load_config): Fix copy-pasted comment.
16147 Reported by: Seth Goldberg
16148
f5f3ff93
VS
161492010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16150
16151 * commands/help.c (grub_cmd_help): Fix a typo.
16152 Reported by: Seth Goldberg
16153
d8b5cd40
VS
161542010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16155
16156 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
16157 name and add N_.
16158 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
16159 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
16160 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
16161 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
16162 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
16163 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
16164 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
16165 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
16166 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
16167 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16168 * normal/context.c (GRUB_MOD_INIT): Likewise.
16169 * normal/main.c (GRUB_MOD_INIT): Likewise.
16170 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
16171 * term/serial.c (GRUB_MOD_INIT): Likewise.
16172 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
16173
88c14915
VS
161742010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16175
16176 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
16177 extra == 0.
16178
165134bc
VS
161792010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16180
16181 * commands/iorw.c: New file.
16182 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
16183 (iorw_mod_SOURCES): New variable.
16184 (iorw_mod_CFLAGS): Likewise.
16185 (iorw_mod_LDFLAGS): Likewise.
16186
c5ac9b32
VS
161872010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16188
16189 Hotkey support
16190
16191 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
16192 * normal/main.c (hotkey_aliases): New variable.
16193 (grub_normal_add_menu_entry): Parse "--hotkey".
16194 * normal/menu_text.c (run_menu): Handle hotkeys.
16195
ce60689c
VS
161962010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16197
16198 * kern/i386/coreboot/init.c (grub_machine_init): Call
16199 grub_machine_mmap_init on qemu.
16200
0359d006
VS
162012010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16202
16203 * boot/i386/qemu/boot.S: Add a missing .code16.
16204
7819a456
VS
162052010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16206
16207 Use LBIO on coreboot.
16208
16209 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
16210 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
16211 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
16212 New declaration.
16213 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
16214 grub_machine_mmap_init on coreboot.
16215 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
16216 GRUB_LINUXBIOS_MEMBER_LINK.
16217 (grub_machine_mmap_iterate): Fix declaration.
16218 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
16219
7210dca9
VS
162202010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16221
16222 Split coreboot and multiboot ports.
16223
16224 * conf/i386-multiboot.rmk: New file.
16225 * configure.ac: Add multiboot port.
16226 * include/grub/i386/multiboot/boot.h: New file.
16227 * include/grub/i386/multiboot/console.h: Likewise.
16228 * include/grub/i386/multiboot/init.h: Likewise.
16229 * include/grub/i386/multiboot/kernel.h: Likewise.
16230 * include/grub/i386/multiboot/loader.h: Likewise.
16231 * include/grub/i386/multiboot/memory.h: Likewise.
16232 * include/grub/i386/multiboot/serial.h: Likewise.
16233 * include/grub/i386/multiboot/time.h: Likewise.
16234 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
16235 * loader/multiboot.c: Likewise.
16236 * loader/multiboot_mbi2.c: Likewise.
16237 * util/grub-mkrescue.in: Generate multiboot rescue.
16238
6f8aaf68
VS
162392010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16240
3080f7a7
VS
16241 * kern/parser.c (grub_parser_execute): Cope with read-only config.
16242
162432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16244
16245 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
16246
16247 * commands/terminal.c (abstract_terminal): New struct.
16248 (handle_command): New function. Based on grub_cmd_terminal_input.
16249 (grub_cmd_terminal_input): Use handle_command.
16250 (grub_cmd_terminal_output): Use handle_command.
16251
a8ebb841
BC
162522010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
16253
16254 Fix comment handling.
16255
16256 * tests/grub_script_comments.in: New testcase.
16257 * conf/tests.rmk: Rules for new testcase.
16258 * script/yylex.l: Updated flex rules.
16259
bb06ba08
ST
162602010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
16261
16262 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
16263 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
16264 if argc is 1.
bb06ba08 16265
cc9d2425
VS
162662010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
16267
16268 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
16269 autogen issues.
16270
460d8402
CF
162712010-04-26 Christian Franke <franke@computer.org>
16272
16273 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
16274 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
16275 (grub_get_prefix): Remove function.
16276 * util/grub-emu.c (main): Replace grub_get_prefix () call by
16277 make_system_path_relative_to_its_root ().
16278 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
16279
553c01f9
CF
162802010-04-24 Christian Franke <franke@computer.org>
16281
16282 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
16283 (kernel_img_LDFLAGS): Remove -static-libgcc.
16284
2aec1692
CF
162852010-04-24 Christian Franke <franke@computer.org>
16286
16287 * configure.ac: Do not CHECK_BSS_START_SYMBOL
16288 and CHECK_END_SYMBOL if grub-emu is built.
16289 Unset TARGET_OBJ2ELF if grub-emu is built
16290 without module support.
16291
f67dc308
JS
162922010-04-24 Jiro SEKIBA <jir@unicus.jp>
16293
16294 Nilfs2 support.
16295
16296 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
16297 (grub_fstest_SOURCES): Likewise.
16298 (pkglib_MODULES): Add nilfs2.mod.
16299 (nilfs2_mod_SOURCES): New variable.
16300 (nilfs2_mod_CFLAGS): Likewise.
16301 (nilfs2_mod_LDFLAGS): Likewise.
16302 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
16303 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
16304 * fs/nilfs2.c: New file.
16305
4ba8d354
VS
163062010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
16307
16308 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
16309 is not supported.
16310
0d2c20c6
GS
163112010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
16312
16313 Add grub-mkconfig support for NetBSD.
16314
16315 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
16316 * util/grub-mkconfig.in: export new NetBSD specific variables.
16317 * po/POTFILES-shell: added 10_netbsd.in.
16318 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
16319
bc4a2d83
BC
163202010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
16321
16322 Fix emu build with grub-emu-pci and grub-emu-modules.
16323
16324 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
16325 functions.
16326 * include/grub/libpciaccess.h: New file.
16327 * conf/any-emu.rmk: Update kernel headers for emu build.
16328
f48c87aa
VS
163292010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16330
16331 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
16332
18959385
VS
163332010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16334
16335 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
16336
0037de3f
VS
163372010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16338
16339 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
16340 Retrieve chosen/bootpath if bootpath isn't hardcoded.
16341 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
16342 util/ieee1275/ofpath.c.
16343 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
16344 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
16345 * include/grub/sparc64/ieee1275/boot.h
16346 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
16347 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
16348 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
16349 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
16350 const char *.
16351 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
16352 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
16353 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
16354 install.
16355
38e55e90
GS
163562010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
16357
16358 * util/grub-mkconfig.in: Corrected two == equality tests.
16359 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
16360 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
16361 expect a number appended to it.
16362 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
16363 expects a number appended to it.
16364
a9e6ff28
VS
163652010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16366
16367 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
16368
0b830b8f
VS
163692010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16370
16371 * util/hostdisk.c (make_device_name): Change to new partition naming.
16372
0973daeb
VS
163732010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16374
16375 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
16376
460d8402 163772010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
16378
16379 * Makefile.in: Add missing localedir setting.
16380
0b456309
CW
163812010-04-14 Colin Watson <cjwatson@ubuntu.com>
16382
16383 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
16384 mistake in r2156. Noticed by Anthony Fok.
16385
16386 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
16387 @localedir@.
16388 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
16389
08f46d62
BC
163902010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
16391
16392 Fix a spurious, uninitialized variable warning.
16393
16394 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
16395 Initialize variable, shdr.
16396 (grub_freebsd_load_elfmodule): Likewise.
16397 (grub_freebsd_load_elf_meta): Likewise.
16398
8c4a72d4
BC
163992010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
16400
16401 Fix for escaped dollar in double quoted strings.
16402
16403 * script/yylex.l: Updated flex rules.
16404 * conf/tests.rmk: Rule for new testcase.
16405 * tests/grub_script_dollar.in: New testcase.
16406
ce44826e
CPE
164072010-04-13 Carles Pina i Estany <carles@pina.cat>
164082010-04-13 Colin Watson <cjwatson@ubuntu.com>
16409
16410 Enclose all translated strings in grub.cfg in single quotes, and
16411 escape them appropriately (Ubuntu bug #552921).
16412
16413 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
16414 * util/grub.d/10_hurd.in: Use it.
16415 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
16416 * util/grub.d/10_linux.in (linux_entry): Likewise.
16417
4b0cd8f8
VS
164182010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16419
16420 Fix cygwin compilation.
16421
16422 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
16423 * include/grub/misc.h (__register_frame_info)
16424 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
16425 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
16426 * kern/misc.c (__register_frame_info)
16427 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
16428 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
16429
01fcf061
VS
164302010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16431
16432 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
16433
5d04b11e
VS
164342010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16435
16436 Unify libgcc processing.
16437
16438 * Makefile.in (kernel_img_LDFLAGS): New variable.
16439 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
16440 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
16441 overwriting.
16442 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
16443 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
16444 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
16445 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
16446 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
16447 overwriting. Remove -lgcc and -static-libgcc
16448 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
16449 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
16450 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
16451 (kernel_img_LDFLAGS): Append instead of overwriting.
16452 Remove -lgcc and -static-libgcc
16453 * conf/sparc64-ieee1275.rmk: Likewise.
16454 * include/grub/powerpc/libgcc.h: Move to ...
16455 * include/grub/libgcc.h: .. this.
16456 * include/grub/libgcc.h: Don't export most of the function on x86.
16457 (__bswapsi2): New export.
16458 (__bswapdi2): Likewise.
16459 * include/grub/mips/libgcc.h: Removed.
16460 * include/grub/sparc64/libgcc.h: Likewise.
16461
b7f3ac29
VS
164622010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16463
16464 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
16465 disk_info_msg (conflicts with gettexting into languages with cases).
16466
2c7031b1
GS
164672010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
16468
16469 Add grub-probe support for NetBSD.
16470
16471 * util/getroot.c (find_root_device): Convert block device to
16472 character device on NetBSD.
16473 * util/probe.c (probe): Require character device on NetBSD.
16474 * util/hostdisk.c: NetBSD specific headers.
16475 (configure_device_driver): new function to tune device driver
16476 parameters (currently only for NetBSD floppy driver).
16477 (grub_util_biosdisk_open): NetBSD specific code (get disk size
16478 via disklabel ioctl).
16479 (open_device): call configure_device_driver on NetBSD.
16480 (convert_system_partition_to_system_disk): NetBSD specific code.
16481 (device_is_wholedisk): Likewise.
16482 (grub_util_biosdisk_get_grub_dev): Likewise.
16483 (make_device_name): Fixed a typo in bsd_part_str.
16484 * configure.ac: check for opendisk() and getrawpartition() on
16485 NetBSD and set LIBUTIL.
16486 * Makefile.in: add LIBUTIL to LIBS.
16487
f516290c
BC
164882010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
16489
16490 Documentation fix.
16491
16492 * util/grub-script-check.c: Better help message.
16493
d8dcc0df
BC
164942010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
16495
16496 Fix FreeBSD build.
16497
16498 * configure.ac: Flex version check.
16499 * conf/common.rmk: Add -Wno-error to sh.mod.
16500 * script/yylex.l: Remove all #pragma.
16501
6734334a
VS
165022010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16503
16504 * include/grub/util/misc.h (canonicalise_file_name): Add missing
16505 prototype.
16506 Reported by: Seth Goldberg.
16507
daea6abd
VS
165082010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16509
16510 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
16511 Rename "module" to "module2".
16512 Reported by: Seth Goldberg.
16513
f2fd9d2b
VS
165142010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16515
16516 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
16517 EXPORT_FUNC.
16518 Reported by: Seth Goldberg.
16519
be124579
VS
165202010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16521
16522 * lib/posix_wrap/locale.h: Add missing file.
16523 Reported by: Seth Goldberg.
16524
ef5da797
VS
165252010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16526
16527 grub-emu module load support.
16528
16529 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
16530 NO_DYNAMIC_MODULES switched to this.
16531 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
16532 (CFLAGS): Likewise.
16533 * conf/any-emu.rmk: Generate symlist.
16534 (kernel_img_HEADERS): Add util/datetime.h.
16535 (kernel_img_HEADERS) [sdl]: Add sdl.h.
16536 (kernel_img_HEADERS) [libusb]: Add libusb.h.
16537 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
16538 kern/$(target_cpu)/cache.S.
16539 * configure.ac (grub-emu-modules): New option.
16540 * genmk.rb: Handle multiple source lists.
16541 * include/grub/sdl.h: New file.
16542 * include/grub/libusb.h: Likewise.
16543 * util/grub-emu.c (main): Hanle (host) root.
16544 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
16545 GRUB_ERR_UNKNOWN_DEVICE.
16546 * util/misc.c: Move mm functions to ...
16547 * util/mm.c: ... here. All users updated.
16548
47822096
VS
165492010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16550
16551 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
16552 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
16553 missing files.
16554 (maintainer-clean): Remove libgcrypt-grub.
16555
5d7e7445
VS
165562010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16557
16558 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
16559
25f4e252
EC
165602010-04-09 EFI Coder <eficoder@hotmail.com>
16561
16562 * normal/menu_text.c (print_message): Clean up the message and show
16563 the Fn information when on EFI
16564 * term/efi/console.c (grub_console_checkkey): Add F4 support.
16565
027de555
VS
165662010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16567
16568 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
16569 All users updated.
16570 * normal/crypto.c (read_crypto_list): Likewise.
16571 * normal/dyncmd.c (read_command_list): Likewise.
16572 * normal/term.c (read_terminal_list): Likewise.
16573 * normal/main.c (read_lists): Use explicit prefix.
16574 (read_lists_hook): Use read_lists.
16575 (grub_normal_execute): Likewise.
16576
47779711
VS
165772010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16578
16579 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
16580 Reported by: Thomas Schmitt.
16581 Add -no-emul-boot to grub-mkisofs parameters.
16582
1118c32e
VS
165832010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16584
16585 * font/font.c: Indented.
16586
7d652447
BC
165872010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
16588
16589 Elif support to GRUB script (by Deepak Vankadaru).
16590
16591 * tests/grub_script_if.in: New testcase.
16592 * conf/tests.rmk: Rule for new testcase.
16593 * script/parser.y: Grammar rules for elif.
16594
34bb22df
BC
165952010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
16596
16597 While and until loops support to GRUB script.
16598
16599 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
16600 (grub_script_create_cmdwhile): New function prototype.
16601 (grub_script_execute_cmdwhile): New function prototype.
16602 * script/execute.c (grub_script_execute_cmdwhile): New function.
16603 * script/parser.y (command): New commands.
16604 (whilecmd): New grammar rule.
16605 (untilcmd): New grammar rule.
16606 * script/script.c (grub_script_create_cmdwhile): New function.
16607 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
16608 function.
16609
16610 * tests/grub_script_while1.in: New testcase.
16611 * conf/tests.rmk: Rule for new testcase.
16612
e215d8e0
VS
166132010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16614
16615 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
16616 as *.jpg.
16617
d7c43ba1
MV
166182010-04-09 Mario Vazquez <mariovazq@gmail.com>
16619
16620 GRUB_BACKGROUND support.
16621
16622 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
16623 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
16624
d64795c0
VS
166252010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16626
16627 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 16628 Idea by: Mario Vazquez
d64795c0
VS
16629
16630 * util/grub.d/00_header.in: Load pf2 and image modules.
16631
f267f83a
VS
166322010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16633
16634 grub-mkconfig multiple terminal support.
16635
16636 * util/grub-mkconfig.in: Handle multiple terminals correctly.
16637 * util/grub.d/00_header.in: Likewise.
16638
b7841ceb
VS
166392010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16640
16641 * Makefile.in: Specify files explicitly instead of using $< and $@ since
16642 we use cd $(srcdir).
16643
df60998c
CW
166442010-04-08 Colin Watson <cjwatson@ubuntu.com>
16645
16646 * util/grub.d/10_linux.in: Only use the first word of
16647 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
16648 spaces in GRUB_DISTRIBUTOR.
16649 * util/grub.d/10_kfreebsd.in: Likewise.
16650 * util/grub.d/10_hurd.in: Likewise.
16651
fa09c82e
BC
166522010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
16653
14e18ae3 16654 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
16655
16656 * tests/util/grub-shell.in: Remove -serial stdio option.
16657
daf892b3
BC
166582010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16659
16660 POSIX header file wrappers.
16661
16662 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
16663 equivalents.
16664 * lib/posix_wrap/ctype.h: Likewise.
16665 * lib/posix_wrap/errno.h: Likewise.
16666 * lib/posix_wrap/langinfo.h: Likewise.
16667 * lib/posix_wrap/limits.h: Likewise.
16668 * lib/posix_wrap/localcharset.h: Likewise.
16669 * lib/posix_wrap/stdint.h: Likewise.
16670 * lib/posix_wrap/stdio.h: Likewise.
16671 * lib/posix_wrap/stdlib.h: Likewise.
16672 * lib/posix_wrap/string.h: Likewise.
16673 * lib/posix_wrap/sys/types.h: Likewise.
16674 * lib/posix_wrap/unistd.h: Likewise.
16675 * lib/posix_wrap/wchar.h: Likewise.
16676 * lib/posix_wrap/wctype.h: Likewise.
16677 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
16678 (grub_script.yy.h): Likewise.
16679 * script/yylex.l: Remove POSIX emulation #defines.
16680 * Makefile.in (POSIX_CFLAGS): New variable.
16681 (GNULIB_UTIL_CFLAGS): Likewise.
16682
16683 Regexp support.
16684
16685 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
16686 (regexp_mod_SOURCES): New variable.
16687 (regexp_mod_CFLAGS): Likewise.
16688 (regexp_mod_LDFLAGS): Likewise.
16689 * commands/regexp.c: New file.
16690 * gnulib/regcomp.c: New file. Imported from gnulib.
16691 * gnulib/regex.c: Likewise.
16692 * gnulib/regex_internal.c: Likewise.
16693 * gnulib/regex_internal.h: Likewise.
16694 * gnulib/regexec.c: Likewise.
16695 * gnulib/regex.h: Likewise.
16696
974ac4f7
VS
166972010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16698
16699 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
16700 unsupported video mode types.
16701
2622c3ff
VS
167022010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16703
16704 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
16705
064cb524
VS
167062010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16707
16708 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
16709 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
16710
a8c3b552
VS
167112010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
16712
16713 Remove unused grub_vga_get_font.
16714
16715 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
16716 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
16717
187bbe3d
GS
167182010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16719
16720 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
16721 * include/grub/misc.h: Likewise.
16722
b9396631
GS
167232010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16724
16725 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
16726 for which failure is fatal.
16727
50479feb
GS
167282010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16729
16730 * util/grub-install.in: Use mkdir -p to create grub directory.
16731 * util/i386/efi/grub-install.in: Likewise.
16732 * util/ieee1275/grub-install.in: Likewise.
16733
b1654fdf
GS
167342010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16735
16736 * Makefile.in (LEX): new variable.
16737
bd5a6415
GS
167382010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16739
16740 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
16741 `=' and added double quotes on operands of this equality test.
16742
3db3a82b
VS
167432010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
16744
16745 * Makefile.in (uninstall): Remove a leftover debug echo.
16746 Reported by: Grégoire Sutre
16747
38023412
VS
167482010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
16749
16750 MIPS multiboot2 support.
16751
16752 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
16753 (multiboot2_mod_SOURCES): New variable.
16754 (multiboot2_mod_CFLAGS): Likewise.
16755 (multiboot2_mod_LDFLAGS): Likewise.
16756 (multiboot2_mod_ASFLAGS): Likewise.
16757 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
16758 definition.
16759 (MULTIBOOT_ENTRY_REGISTER): Likewise.
16760 (MULTIBOOT_MBI_REGISTER): Likewise.
16761 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
16762 (MULTIBOOT_ELF32_MACHINE): Likewise.
16763 (MULTIBOOT_ELF64_MACHINE): Likewise.
16764 * include/grub/mips/multiboot.h: New file.
16765 * include/grub/video.h (grub_video_driver_id): New type
16766 GRUB_VIDEO_DRIVER_SM712.
16767 (grub_video_get_info_and_fini): Export.
16768 (grub_video_get_palette): Likewise.
16769 (grub_video_get_driver_id): Likewise.
16770 * include/multiboot2.h: Resynced with spec.
16771 * loader/i386/multiboot.c: Moved from here ...
16772 * loader/multiboot.c: ... here. All users updated.
16773 (grub_multiboot_boot): Use platform-specific macros.
16774 * loader/i386/multiboot_elfxx.c: Moved from here ...
16775 * loader/multiboot_elfxx.c: ... here. All users updated.
16776 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
16777 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
16778 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
16779
47674667
VS
167802010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16781
16782 Import gnulib argp module.
16783
16784 * gnulib/argp-ba.c: New file.
16785 * gnulib/argp-eexst.c: Likewise.
16786 * gnulib/argp-fmtstream.c: Likewise.
16787 * gnulib/argp-fmtstream.h: Likewise.
16788 * gnulib/argp-fs-xinl.c: Likewise.
16789 * gnulib/argp-help.c: Likewise.
16790 * gnulib/argp-namefrob.h: Likewise.
16791 * gnulib/argp-parse.c: Likewise.
16792 * gnulib/argp-pin.c: Likewise.
16793 * gnulib/argp-pv.c: Likewise.
16794 * gnulib/argp-pvh.c: Likewise.
16795 * gnulib/argp-version-etc.c: Likewise.
16796 * gnulib/argp-version-etc.h: Likewise.
16797 * gnulib/argp-xinl.c: Likewise.
16798 * gnulib/argp.h: Likewise.
16799
495442ed
VS
168002010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16801
16802 * kern/device.c (grub_device_iterate): Clear errors after failed
16803 opening device.
16804
f9fd65df
VS
168052010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16806
16807 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
16808 returned by firmware.
16809
af09641e
VS
168102010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16811
16812 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
16813 compilation on coreboot and qemu
16814
016883a5
VS
168152010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
16816
16817 * include/multiboot2.h: Resync with spec.
16818
f97e1f7d
VS
168192010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
16820
16821 Multiboot2 tag support
16822
16823 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
16824 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
16825 Remove loader/multiboot_loader.c.
16826 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
16827 (grub_multiboot2_real_boot): Likewise.
16828 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
16829 (grub_get_multiboot_mmap_count): New proto.
16830 (grub_fill_multiboot_mmap): Likewise.
16831 (grub_multiboot_set_video_mode): Likewise.
16832 (grub_multiboot_set_console): Likewise.
16833 (grub_multiboot_load): Likewise.
16834 (grub_multiboot_load_elf): Likewise.
16835 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
16836 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
16837 * include/multiboot.h: Resynced with specification.
16838 * include/multiboot2.h: Resynced with specification.
16839 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
16840 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
16841 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
16842 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
16843 users updated.
16844 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
16845 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
16846 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
16847 Removed.
16848 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
16849 Moved from here...
16850 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
16851 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
16852 Moved from here...
16853 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
16854 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
16855 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
16856 All users updated.
16857 * loader/i386/multiboot_mbi2.c: New file.
16858
3506b90b
VS
168592010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
16860
16861 Resync with gnulib.
16862
16863 * Makefile.in (GNULIB_CFLAGS): New variable.
16864 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
16865 (grub_script_check_CFLAGS): New variable.
16866 * gnulib/alloca.h: Resync with gnulib.
16867 * gnulib/error.c: Likewise.
16868 * gnulib/error.h: Likewise.
16869 * gnulib/fnmatch.c: Likewise.
16870 * gnulib/fnmatch_loop.c: Likewise.
16871 * gnulib/getdelim.c: Likewise.
16872 * gnulib/getline.c: Likewise.
16873 * gnulib/getopt.c: Likewise.
16874 * gnulib/getopt1.c: Likewise.
16875 * gnulib/getopt_int.h: Likewise.
16876 * gnulib/gettext.h: Likewise.
16877 * gnulib/progname.c: Likewise.
16878 * gnulib/progname.h: Likewise.
16879
394a3120
GS
168802010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
16881
16882 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
16883 which is the case with --disabled-nls.
16884
16885 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
16886 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
16887 * util/misc.c: Likewise.
16888 * util/mkisofs/mkisofs.c: Likewise.
16889 * util/mkisofs/mkisofs.h: Likewise.
16890
969d1c78
VS
168912010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
16892
16893 Simplify Apple CC support.
16894
16895 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
16896 Add 0 byte at the end not to have a symbol with empty target.
16897 * mmap/i386/pc/mmap_helper.S: Likewise.
16898 * genmk.rb: Ignore errors 2030 and 2050.
16899 * kern/i386/pc/startup.S: Use LOCAL when possible.
16900
8d2977bb
BC
169012010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
16902
16903 Testcase and the fix for final semicolon on cmdline.
16904
16905 * tests/grub_script_final_semicolon.in: New testcase.
16906 * conf/tests.rmk: Rules for the new testcase.
16907 * script/parser.y: Grammar fix.
16908
a7bd6915
BC
169092010-03-26 BVK Chaitanya <bvk@localhost>
16910
16911 Blank lines testcase for GRUB script.
16912
16913 * tests/grub_script_blanklines.in: New testcase.
16914 * conf/tests.rmk: Rules for the new testcase.
16915
e4ff6628
VS
169162010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16917
16918 Don't use __FILE__.
16919
16920 * genmk.rb: Add -DGRUB_FILE to all C targets.
16921 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
16922 * include/grub/list.h: Likewise.
16923 * include/grub/misc.h: Likewise.
16924 * include/grub/mm.h: Likewise.
16925 * include/grub/test.h: Likewise.
16926 * kern/mm.c: Likewise.
16927 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
16928
6a5cf6b6
VS
169292010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16930
16931 Sunpc partitions support.
16932
16933 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
16934 (grub_fstest_SOURCES): Likewise.
16935 (pkglib_MODULES): Add part_sunpc.mod.
16936 (part_sunpc_mod_SOURCES): New variable.
16937 (part_sunpc_mod_CFLAGS): Likewise.
16938 (part_sunpc_mod_LDFLAGS): Likewise.
16939 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
16940 * partmap/sunpc.c: New file.
16941
746d9045
BC
169422010-03-26 BVK Chaitanya <bvk@localhost>
16943
16944 For loop support to GRUB script.
16945
16946 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
16947 (grub_script_create_cmdfor): New function prototype.
16948 (grub_script_execute_cmdfor): New function prototype.
16949 * script/execute.c (grub_script_execute_cmdfor): New function.
16950 * script/parser.y (command): New for command.
16951 (forcmd): New grammar rule.
16952 * script/script.c (grub_script_create_cmdfor): New function.
16953 * util/grub-script-check.c (grub_script_execute_cmdfor): New
16954 function.
16955 * tests/grub_script_for1.in: New testcase.
16956 * conf/tests.rmk: Rules for new testcase.
16957
18486b18
VS
169582010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16959
16960 Nested partitions
16961
16962 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
16963 'partition' is NULL, grub_partition_get_start already does that.
16964 * commands/loadenv.c (check_blocklists): Likewise.
16965 (write_blocklists): Likewise.
16966 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
16967 (grub_fstest_SOURCES): Likewise.
16968 (pkglib_MODULES): Add part_bsd.mod.
16969 (part_bsd_mod_SOURCES): New variable.
16970 (part_bsd_mod_CFLAGS): Likewise.
16971 (part_bsd_mod_LDFLAGS): Likewise.
16972 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
16973 (grub_emu_SOURCES): Likewise.
16974 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16975 * include/grub/bsdlabel.h: New file.
16976 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
16977 'get_name'.
16978 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
16979 (grub_partition_map_list): New variable.
16980 (grub_partition_map_register): Inline.
16981 (grub_partition_map_unregister): Likewise.
16982 (FOR_PARTITION_MAPS): New macro.
16983 (grub_partition_map_iterate): Removed.
16984 (grub_partition_get_start): Handle nested partitions.
16985 * include/grub/msdos_partition.h: Remove bsd-related entries.
16986 (grub_pc_partition): Remove.
16987 * kern/disk.c (grub_disk_close): Free partition data.
16988 (grub_disk_adjust_range): Handle nested partitions.
16989 * kern/partition.c (grub_partition_map_probe): New function.
16990 (grub_partition_probe): Parse name to number, handle subpartitions.
16991 (get_partmap): New function.
16992 (grub_partition_iterate): Handle subpartitions.
16993 (grub_partition_get_name): Likewise.
16994 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
16995 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
16996 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
16997 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
16998 Set 'number'.
16999 (acorn_partition_map_probe): Remove.
17000 (acorn_partition_map_get_name): Likewise.
17001 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
17002 Set 'number'.
17003 Set 'index' to 0 since there can be only one partition entry per sector.
17004 (amiga_partition_map_probe): Remove.
17005 (amiga_partition_map_get_name): Likewise.
17006 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
17007 Set 'number'.
17008 Set 'offset' and 'index' to real positions of partitions.
17009 (apple_partition_map_probe): Remove.
17010 (apple_partition_map_get_name): Likewise.
17011 * partmap/bsdlabel.c: New file.
17012 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
17013 Set 'number'.
17014 Allocate 'data' so it can be correctly freed.
17015 Set 'index' to offset inside sector.
17016 (gpt_partition_map_probe): Remove.
17017 (gpt_partition_map_get_name): Likewise.
17018 * partmap/msdos.c (grub_partition_parse): Remove.
17019 (pc_partition_map_iterate): Don't force raw access.
17020 Set 'number'.
17021 Make 'ext_offset' a local variable.
17022 (pc_partition_map_probe): Remove.
17023 (pc_partition_map_get_name): Remove.
17024 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
17025 Set 'number'.
17026 (sun_partition_map_probe): Remove.
17027 (sun_partition_map_get_name): Likewise.
17028 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
17029 (grub_pcpart_type): Likewise.
17030 * util/hostdisk.c (open_device): Handle new numbering scheme.
17031 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
17032 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
17033 * util/grub-probe.c (probe_partmap): Handle nested paritions.
17034 * util/grub-install.in: Insert all subpartition modules.
17035 * util/ieee1275/grub-install.in: Likewise.
17036
a3940f88
AG
170372010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
17038
17039 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
17040 grammar.
17041
21b99926 170422010-03-24 Colin Watson <cjwatson@ubuntu.com>
17043
17044 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
17045
bed1d352
CW
170462010-03-21 Colin Watson <cjwatson@ubuntu.com>
17047
17048 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
17049 match where 'make install' puts them.
17050 * util/i386/efi/grub-install.in: Likewise.
17051
c9f58427
CW
170522010-03-19 Colin Watson <cjwatson@ubuntu.com>
17053
17054 * .bzrignore: Add gentrigtables, grub-script-check,
17055 grub_script_check_init.c, grub_script_check_init.h, and
17056 trigtables.c.
17057
f84afb27
VS
170582010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
17059
17060 * kern/parser.c: Indented.
17061
ed0e3d30
VS
170622010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
17063
17064 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
17065
0ea81d98
VS
170662010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
17067
17068 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
17069 alpha_mask_size == 0 case.
17070
0cdc2a09
BC
170712010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
17072
17073 GRUB shell lexer and parser improvements.
17074
17075 * conf/any-emu.rmk: Build rule updates.
17076 * conf/common.rmk: Likewise.
17077 * conf/i386-coreboot.rmk: Likewise.
17078 * conf/i386-efi.rmk: Likewise.
17079 * conf/i386-ieee1275.rmk: Likewise.
17080 * conf/i386-pc.rmk: Likewise.
17081 * conf/powerpc-ieee1275.rmk: Likewise.
17082 * conf/x86_64-efi.rmk: Likewise.
17083
17084 * configure.ac: Configure check for flex.
17085
17086 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
17087 types.
17088 (grub_lexer_param): Struct member updates.
17089 (grub_parser_param): Likewise.
17090 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
17091 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
17092 (grub_script_lexer_init): Prototype update.
17093 (grub_script_lexer_record_start): Likewise.
17094 (grub_script_lexer_record_stop): Likewise.
17095 (grub_script_lexer_yywrap): New function prototype.
17096 (grub_script_lexer_fini): Likewise.
17097 (grub_script_execute_argument_to_string): Removed by...
17098 (grub_script_execute_argument_to_argv): ...better version.
17099
17100 * script/execute.c (ROUND_UPTO): New macro.
17101 (grub_script_execute_cmdline): Out of memory fixes.
17102 (grub_script_execute_menuentry): Likewise.
17103 (grub_script_execute_argument_to_string): Removed. Update all
17104 users by...
17105 (grub_script_execute_argument_to_argv): ...better version.
17106 * script/function.c (grub_script_function_create): Use
17107 grub_script_execute_argument_to_argv instead of
17108 grub_script_execute_argument_to_string.
17109
17110 * script/lexer.c (check_varstate): Removed.
17111 (check_textstate): Removed.
17112 (grub_script_lexer_record_start): Likewise.
17113 (grub_script_lexer_record_stop): Likewise.
17114 (recordchar): Replaced with...
17115 (grub_script_lexer_record): ...new function.
17116 (nextchar): Removed.
17117 (grub_script_lexer_init): Rewritten.
17118 (grub_script_yylex): Rewritten.
17119 (append_newline): New function.
17120 (grub_script_lexer_yywrap): New function.
17121 (grub_script_lexer_fini): New function.
17122 (grub_script_yyerror): Sets error flag.
17123
17124 * script/yylex.l: New file.
17125 (grub_lexer_yyfree): Wrapper for flex yyffre.
17126 (grub_lexer_yyalloc): Likewise.
17127 (grub_lexer_yyrealloc): Likewise.
17128 * script/parser.y: Refactored.
17129
17130 * script/script.c (grub_script_arg_add): Out of memory fixes.
17131 (grub_script_add_arglist): Likewise.
17132 (grub_script_create_cmdline): Likewise.
17133 (grub_script_create_cmdmenu): Likewise.
17134 (grub_script_add_cmd): Likewise.
17135 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
17136 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
17137 unnecessary code.
17138
17139 * tests/grub_script_echo1.in: New testcase.
17140 * tests/grub_script_vars1.in: New testcase.
17141 * tests/grub_script_echo_keywords.in: New testcase.
17142
1d63a066
VS
171432010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17144
17145 Remove some redundancy in build system.
17146
17147 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
17148 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
17149 (TARGET_LDFLAGS): Add -nostdlib.
17150 (TARGET_IMG_LDFLAGS): Likewise.
17151 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
17152 anything since mmap isn't available.
17153 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
17154 Add util/time.c.
17155 (pkglib_MODULES): Remove reboot.mod.
17156 (reboot_mod_SOURCES): Removed.
17157 (reboot_mod_CFLAGS): Likewise.
17158 (reboot_mod_LDFLAGS): Likewise.
17159 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
17160 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
17161 (DEFSYMFILES): Add kernel_syms.lst.
17162 (kernel_img_HEADERS): Add common headers.
17163 (symlist.c): New target.
17164 (kernel_syms.lst): Likewise.
17165 (pkglib_MODULES): Add memdisk.mod.
17166 (memdisk_mod_SOURCES): New variable.
17167 (memdisk_mod_CFLAGS): Likewise.
17168 (memdisk_mod_LDFLAGS): Likewise.
17169 (pkglib_MODULES): Add reboot.mod.
17170 (reboot_mod_SOURCES): New variable.
17171 (reboot_mod_CFLAGS): Likewise.
17172 (reboot_mod_LDFLAGS): Likewise.
17173 (pkglib_MODULES): Add date.mod.
17174 (date_mod_SOURCES): New variable.
17175 (date_mod_CFLAGS): Likewise.
17176 (date_mod_LDFLAGS): Likewise.
17177 (pkglib_MODULES): Add datehook.mod.
17178 (datehook_mod_SOURCES): New variable.
17179 (datehook_mod_CFLAGS): Likewise.
17180 (datehook_mod_LDFLAGS): Likewise.
17181 (pkglib_MODULES): Add lsmmap.mod.
17182 (lsmmap_mod_SOURCES): New variable.
17183 (lsmmap_mod_CFLAGS): Likewise.
17184 (lsmmap_mod_LDFLAGS): Likewise.
17185 (pkglib_MODULES): Add boot.mod.
17186 (boot_mod_SOURCES): New variable.
17187 (boot_mod_CFLAGS): Likewise.
17188 (boot_mod_LDFLAGS): Likewise.
17189 * conf/i386-coreboot.rmk: Removed redundant parts.
17190 * conf/i386-ieee1275.rmk: Likewise.
17191 * conf/i386-pc.rmk: Likewise.
17192 * conf/mips-yeeloong.rmk: Likewise.
17193 * conf/mips.rmk: Likewise.
17194 * conf/powerpc-ieee1275.rmk: Likewise.
17195 * conf/sparc64-ieee1275.rmk: Likewise.
17196 * conf/x86_64-efi.rmk: Likewise.
17197 * conf/i386-coreboot.rmk: Moved qemu parts ..
17198 * conf/i386-qemu.rmk: ... here
17199 * conf/i386-efi.rmk: Moved common parts to...
17200 * conf/x86-efi.rmk: ... here.
17201 * conf/i386.rmk: Added modules common to all x86 variants.
17202 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
17203 * disk/memdisk.c: Remove grub/machine/kernel.h.
17204 * gensymlist.sh.in: Include symbol.h.
17205 * hook/datehook.c: Correct module name.
17206 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
17207 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
17208 * include/grub/i386/efi/serial.h: New file.
17209 * include/grub/x86_64/efi/serial.h: Likewise.
17210 * util/time.c: Likewise.
17211 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
17212
463ac55f
CK
172132010-03-14 Colin King <colin.king@ubuntu.com>
172142010-03-14 Colin Watson <cjwatson@ubuntu.com>
17215
17216 Shrink the pre-partition-table part of boot.img by eight bytes.
17217
17218 * boot/i386/pc/boot.S (ERR): New macro.
17219 (chs_mode): Use ERR.
17220 (geometry_error): Likewise.
17221 (hd_probe_error): Remove. This is only used once, so we wrwite
17222 it inline instead.
17223 (read_error): Instead of printing read_error_string, just set up
17224 %si and fall through to ...
17225 (error_message): ... this new function, also used by ERR.
17226
08e46ede
CW
172272010-03-14 Colin Watson <cjwatson@ubuntu.com>
17228
17229 Speed up consecutive hostdisk operations on the same device.
17230
17231 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
17232 (grub_util_biosdisk_open): Initialise disk->data.
17233 (struct linux_partition_cache): New structure.
17234 (linux_find_partition): Cache partition start positions; these are
17235 expensive to compute on every read and write.
17236 (open_device): Cache open file descriptor in disk->data, so that we
17237 don't have to reopen it and flush the buffer cache for consecutive
17238 operations on the same device.
17239 (grub_util_biosdisk_close): New function.
17240 (grub_util_biosdisk_dev): Set `close' member.
17241
17242 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
17243 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
17244 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17245 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
17246 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
17247
4a6d2d06
VS
172482010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17249
17250 Compile parts of grub-emu as modules.
17251
17252 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
17253 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
17254 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
17255 (all-local): Add $(GRUB_EMU).
17256 (install-local): Install $(GRUB_EMU).
17257 (uninstall): Uninstall $(GRUB_EMU).
17258 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
17259 * kern/dl.c: Likewise.
17260 * commands/sleep.c: Not include machine/time.h.
17261 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
17262 (COMMON_CFLAGS): Likewise.
17263 (sbin_UTILITIES): Remove grub-emu.
17264 (grub_emu_SOURCES): Removed.
17265 (kernel_img_RELOCATABLE): New variable.
17266 (pkglib_PROGRAMS): Add kernel.img.
17267 (kernel_img_SOURCES): New variable
17268 (kernel_img_CFLAGS): Likewise.
17269 (kernel_img_LDFLAGS): Likewise.
17270 (TARGET_NO_STRIP): Likewise.
17271 (TARGET_NO_DYNAMIC_MODULES): Likewise.
17272 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
17273 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
17274 (grub-emu): New target.
17275 (GRUB_EMU): New variable.
17276 * configure.ac: Whitelist -emu as possible x86_64 architecture.
17277 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
17278 * loader/xnu.c: Likewise.
17279 * include/grub/pci.h: Likewise.
17280 * genemuinit.sh: New file.
17281 * genemuinitheader.sh: Likewise.
17282 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
17283 Support TARGET_NO_DYNAMIC_MODULES.
17284 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
17285 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
17286 * disk/loopback.c: Likewise.
17287 * font/font_cmd.c: Likewise.
17288 * partmap/acorn.c: Likewise.
17289 * partmap/amiga.c: Likewise.
17290 * partmap/apple.c: Likewise.
17291 * partmap/gpt.c: Likewise.
17292 * partmap/msdos.c: Likewise.
17293 * partmap/sun.c: Likewise.
17294 * parttool/msdospart.c: Likewise.
17295 * term/gfxterm.c: Likewise.
17296 * video/bitmap.c: Likewise.
17297 * video/readers/jpeg.c: Likewise.
17298 * video/readers/png.c: Likewise.
17299 * video/readers/tga.c: Likewise.
17300 * video/video.c: Likewise.
17301 * util/grub-emu.c (read_command_list): Removed.
17302 (main): Don't call util_init_nls.
17303 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
17304 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
17305
91fdd2ed
VS
173062010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17307
17308 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
17309 date.mod, datehook.mod.
17310 (datetime_mod_SOURCES): New variable.
17311 (datetime_mod_CFLAGS): Likewise.
17312 (datetime_mod_LDFLAGS): Likewise.
17313 (date_mod_SOURCES): Likewise.
17314 (date_mod_CFLAGS): Likewise.
17315 (date_mod_LDFLAGS): Likewise.
17316 (datehook_mod_SOURCES): Likewise.
17317 (datehook_mod_CFLAGS): Likewise.
17318 (datehook_mod_LDFLAGS): Likewise.
17319 * conf/sparc64-ieee1275.rmk: Likewise.
17320 * lib/ieee1275/datetime.c: New file.
17321
873ccae6
VS
173222010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17323
17324 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
17325 (ieee1275_fb_mod_SOURCES): New variable.
17326 (ieee1275_fb_mod_CFLAGS): Likewise.
17327 (ieee1275_fb_mod_LDFLAGS): Likewise.
17328 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
17329 New proto.
17330 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
17331 (HEAP_MAX_ADDR): Likewise.
17332 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
17333 type.
17334 Correct stop condition.
17335 (grub_ieee1275_devices_iterate): New function.
17336 * video/ieee1275.c: New file.
17337
601c97c0
VS
173382010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17339
17340 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
17341
17342 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
17343 as scratch.
17344 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
17345 SCRATCH_PAD_DISKBOOT as scratch.
17346 (bootit): Pass Openfirmware pointer in %o4.
17347 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
17348 of 0x200000.
17349 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
17350 with util/grub-mkrawimage.c.
17351 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
17352 * include/grub/aout.h (AOUT_MID_SUN): New definition.
17353 (grub_aout_get_type) [GRUB_UTIL]: Removed.
17354 (grub_aout_load) [GRUB_UTIL]: Likewise.
17355 * include/grub/kernel.h (grub_modules_get_end): New proto.
17356 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
17357 (SCRATCH_PAD_BOOT): New definition.
17358 (SCRATCH_PAD_DISKBOOT): Likewise.
17359 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
17360 * include/grub/sparc64/ieee1275/ieee1275.h
17361 (grub_ieee1275_original_stack): New variable
17362 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
17363 New definition
17364 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
17365 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
17366 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
17367 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
17368 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
17369 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
17370 (grub_platform_image_format_t): New type.
17371 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
17372 * kern/main.c (grub_modules_get_end)
17373 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
17374 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
17375 (codestart): Switch stacks.
17376 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
17377 variable.
17378 (grub_heap_init): Use grub_modules_get_end.
17379 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
17380 stack.
17381 * util/grub-mkrawimage.c (generate_image): Support sparc64.
17382 (main): Likewise.
17383 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
17384
d68b491e
TG
173852010-03-14 Thorsten Glaser <tg@mirbsd.org>
17386
17387 * util/grub-mkrescue.in: Base ISO UUID on UTC.
17388
4e02ed50
MK
173892010-03-08 Matt Kraai <kraai@ftbfs.org>
17390
17391 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
17392 bug #559005).
17393
1f15fc1e
VS
173942010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
17395
17396 * genmoddep.awk: Output all missing symbols and not only first.
17397
fce5d8ff
VS
173982010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17399
17400 * NEWS: Put the date of 1.98 release.
17401
d1e8a02f
VS
174022010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17403
17404 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
17405 ft2build.h.
17406
696fd607
VS
174072010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17408
17409 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
17410 completition in the middle of string.
17411
33e2e6f3
VS
174122010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17413
17414 * util/grub-mkrescue.in: Use mktemp with explicit template.
17415
b1f6d291
VS
174162010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17417
17418 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
17419
2ac227c7
VS
174202010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17421
17422 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
17423 right pointer.
17424
8f9a632b
VS
174252010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
17426
17427 Fix FreeBSD compilation.
17428
17429 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
17430 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
17431
60b03859
VS
174322010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
17433
17434 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
17435
48a5a769
VS
174362010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17437
17438 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
17439
3ab4bd77
VS
174402010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17441
17442 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
17443
d116e0d8
RM
174442010-03-04 Robert Millan <rmh.grub@aybabtu.com>
17445
17446 Support relative image path in theme file.
17447
17448 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
17449 (image_set_property): Handle theme_dir and relative path.
17450
c7ef54aa
VS
174512010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17452
17453 * configure.ac: Alias amd64 to x86_64.
17454
fcee14ed
VS
174552010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17456
17457 * NEWS: mention multiboot on EFI.
17458
d0780363
VS
174592010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17460
17461 * kern/main.c (grub_load_modules): Handle errors from init functions of
17462 embeded modules.
17463
41168ea4
VS
174642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17465
17466 * normal/autofs.c (autoload_fs_module): Handle errors.
17467
b54d93ac
VS
174682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17469
17470 Disable linux.mod on qemu-mips since it's not functional and leads
17471 to compilation failure.
17472
17473 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
17474 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
17475 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
17476 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
17477 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
17478 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
17479 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
17480 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
17481 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
17482 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
17483 Reported by: BVK Chaitanya
17484
fc8345da
JU
174852010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
17486
17487 * INSTALL: Add gettext as a dependency and add qemu to a new section
17488 "Prerequisites for make-check".
17489
4760f979
CF
174902010-03-04 Christian Franke <franke@computer.org>
17491
17492 * util/grub-pe2elf.c: Add missing include "progname.h".
17493
f209b5b2
VS
174942010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17495
17496 * normal/crypto.c (read_crypto_list): Fix a typo.
17497 Reported by: Seth Goldberg.
17498
b4b7be98
VS
174992010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17500
17501 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 17502 Reported by: Seth Goldberg.
b4b7be98 17503
c0ee0385
VS
175042010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17505
17506 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
17507 ascii.bitmaps.
17508
a8efbf64
VS
175092010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17510
17511 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 17512 Reported by: Seth Goldberg.
a8efbf64 17513
08dcd913
VS
175142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17515
17516 * util/i386/efi/grub-install.in: Copy gettext files.
17517
c4d0b332
VS
175182010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17519
17520 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
17521
c6f2fe52
VS
175222010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17523
17524 Wait for user entry basing on presence of output rather than on errors.
17525
17526 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
17527 (grub_install_newline_hook): Likewise.
17528 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
17529 * normal/menu.c (show_menu): Check line_counter to determine presence
17530 of output.
17531 * normal/term.c (grub_normal_line_counter): New variable.
17532 (grub_normal_get_line_counter): New function.
17533 (grub_install_newline_hook): Likewise.
17534
5382b1e4
VS
175352010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17536
17537 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
17538
5519963b
VS
175392010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17540
17541 * configure.ac: Update version to 1.98.
17542
72b28631
VS
175432010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
17544
17545 * util/grub.d/10_linux.in (linux_entry): Don't default to
17546 gfxpayload=keep if Linux doesn't support video handover.
17547
c140a180
VS
175482010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
17549
17550 Don't compile video modules on yeeloong since video subsystem is part
17551 of kernel.
17552
17553 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
17554 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
17555 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
17556 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
17557 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
17558 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
17559 * include/grub/bitmap_scale.h: Likewise.
17560 * include/grub/bufio.h: Likewise.
17561 * include/grub/font.h: Likewise.
17562 * include/grub/gfxterm.h: Likewise.
17563 * include/grub/video.h: Likewise.
17564 * include/grub/vbe.h: Don't include video_fb.h.
17565 * video/i386/pc/vbe.c: Include video_fb.h.
17566 * commands/i386/pc/vbetest.c: Include video.h.
17567
a0ca21c2
CW
175682010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
17569
17570 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
17571 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
17572 default entry if GRUB_SAVEDEFAULT=true. This allows using
17573 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
17574 saving a new default on every boot.
17575
4a8a763c
VS
175762010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
17577
17578 * normal/crypto.c (read_crypto_list): Fix a memory leak.
17579 * normal/term.c (read_terminal_list): Likewise.
17580 * normal/main.c (grub_normal_init_page): Likewise.
17581 (grub_normal_read_line_real): Likewise.
17582
607ffde2
VS
175832010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
17584
17585 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
17586 memory leak.
17587 Reported by: Seth Goldberg.
17588
2b8fa975
CW
175892010-02-24 Joey Korkames <joey+lists@kidfixit.com>
17590
17591 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
17592 duplicate declaration of `start'.
17593
618307dd
VS
175942010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
17595
17596 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
17597 filename.
17598 Reported by: Georgy Buranov
17599
7dd05b96 176002010-02-20 Carles Pina i Estany <carles@pina.cat>
17601
17602 * util/grub-mkrawimage.c (usage): Change string formatting to
17603 improve gettext.
17604
d1484a42
MRA
176052010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
17606
17607 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
17608 backspace keys.
17609
42b1d186
VS
176102010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
17611
17612 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
17613 Reported by: Michael Suchanek.
17614
176152010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
17616
17617 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
17618 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
17619
d9f31a41
VS
176202010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
17621
17622 Remove any reference to non-free fonts.
17623
17624 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
17625 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
17626 uses non-free components.
17627 * font/font.c (grub_font_get_name): Remove example name.
17628 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
17629 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
17630 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
17631 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
17632
2793c71e
GB
176332010-02-16 Georgy Buranov <gburanov@gmail.com>
17634
17635 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
17636
402e3779
VS
176372010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
17638
17639 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
17640 Double divisor.
17641 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
17642 features.
17643 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
17644
0dd1e0dd
VS
176452010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
17646
17647 * gensymlist.sh.in: Use TARGET_CC instead of CC.
17648
6fa7cfce
ST
176492010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17650
17651 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
17652 * docs/grub.texi (Command-line and menu entry commands): Document play
17653 command.
17654
37c8483b
ST
176552010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17656
17657 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
17658 parse arguments as inline tempo and notes. Move code for playing notes
17659 to...
17660 (play): ... new function.
17661
14da0fb7
ST
176622010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17663
17664 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
17665 grub_uint16_t instead of short.
17666 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
17667 disk from little endian to cpu endianness.
17668
04459e70
ST
176692010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
17670
17671 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
17672 GRUB_TICKS_PER_SECOND instead of 120.
17673
a0876943
VS
176742010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17675
17676 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
17677 escape sequence after \e.
17678
e29f95dc
VS
176792010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17680
17681 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
17682 non-ASCII characters.
17683
d27859b2
VS
176842010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17685
17686 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
17687 set root in single quotes to prevent \, from being unescaped.
17688
bc028f2f
VS
176892010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17690
17691 Prevent unknown commands from stopping menuentry execution.
17692
17693 * script/execute.c (grub_script_execute_cmdline): Print error after
17694 unknown command.
17695
095f5f82
VS
176962010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17697
17698 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
17699 Reported by: Pavel Pisa.
17700
8c717950
VS
177012010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17702
17703 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
17704
904935c3
VS
177052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17706
17707 Merge grub_ieee1275_map_physical into grub_map and rename to
17708 grub_ieee1275_map
17709
17710 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
17711 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
17712 Remove.
17713 * kern/ieee1275/openfw.c (grub_map): Rename to ...
17714 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
17715 necessary.
17716 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
17717
5b59a4e3
VS
177182010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17719
17720 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
17721 opening and not after.
17722
69e137e8
VS
177232010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17724
17725 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
17726 constants.
17727
2c0fcc36
VS
177282010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17729
17730 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
17731 (alloc_phys): Use ALIGN_UP instead of align_addr.
17732
8c6052ce
VS
177332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17734
17735 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
17736
17cec782
VS
177372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17738
17739 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
17740
e0128bbd
VS
177412010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17742
17743 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
17744 verbose dprintf.
17745
ca62070b
VS
177462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17747
17748 Fix over-4GiB seek on sparc64.
17749
17750 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
17751 Replace pos_i and pos_lo with pos. All users updated.
17752 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
17753 New constant.
17754 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
17755 Likewise.
17756 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
17757 and pos_lo.
17758
bdca2607
VS
177592010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17760
17761 * util/grub-mkrawimage.c (main): Call set_program_name.
17762
da278c4d
VS
177632010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17764
17765 Properly align 64-bit targets.
17766
17767 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
17768 (generate_image): Use ALIGN_ADDR.
17769
b274d734
VS
177702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17771
17772 Properly create cross-endian images.
17773
17774 * include/grub/types.h (grub_host_to_target_addr): New macro
17775 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
17776
82da2062
VS
177772010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17778
17779 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
17780
7cae4377
VS
177812010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17782
17783 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
17784
17785 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
17786 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
17787 (grub_linux_boot): Divide by 64K when on VESA.
17788
65a533e7
VS
177892010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17790
17791 Support GRUB_GFXPAYLOAD_LINUX.
17792
17793 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
17794 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
17795
dd01d397
VS
177962010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17797
17798 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
17799 to show messages instead of discarding them.
17800 Process errors after executing command and not before. Keep old method
17801 too as precaution.
17802
660960d6
VS
178032010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
17804
17805 * configure.ac: Check for ft2build.h.
17806
62509f04
VS
178072010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17808
17809 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
17810
473df63d
VS
178112010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17812
17813 * genkernsyms.sh.in: Use TARGET_CC.
17814
c98d2a13
CW
178152010-02-07 Colin Watson <cjwatson@ubuntu.com>
17816
17817 * NEWS: Update.
17818
6e14234c
VS
178192010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17820
17821 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
17822 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
17823 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 17824
b255e9cf
YB
178252010-02-07 Yves Blusseau <blusseau@zetam.org>
17826
6e14234c 17827 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 17828
98e6959d
VS
178292010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17830
17831 Fix warnings in grub-emu when compiling with maximum warning options.
17832
17833 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
17834 (grub_arch_modules_addr): Return 0 and not NULL.
17835 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 17836 (xstrdup): Use newstr instead of dup.
f88d801b
VS
17837 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
17838 of disk to dsk to avoid shadowing.
74e4934e
VS
17839 (find_free_slot): Fix prototype.
17840 * util/getroot.c (grub_util_is_dmraid): Make static.
17841 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
17842 Add missing prototype.
17843 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 17844
74e31b5c
VS
178452010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17846
17847 * loader/i386/linux.c (grub_linux_setup_video): Handle error
17848 appropriately.
17849
6b2ad14b
VS
178502010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17851
17852 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
17853 code out.
17854
8f891adc
VS
178552010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17856
17857 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
17858 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
17859 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
17860 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
17861 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
17862 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
17863
74b45184
VS
178642010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17865
17866 * include/grub/err.h (grub_err_printf): Don't export.
17867
a4bced77
VS
178682010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17869
17870 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
17871
007d0695
VS
178722010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17873
17874 * include/grub/i18n.h (grub_gettext_dummy): Removed.
17875 * kern/misc.c (grub_gettext_dummy): Make static.
17876
b6c0d9c2
VS
178772010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17878
17879 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
17880 by non-valid ones.
17881 * kern/term.c (grub_putchar): Likewise.
17882
f51a90d0
VS
178832010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17884
17885 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
17886 buggy hook call and memory leak.
17887
6846cec5
VS
178882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17889
17890 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
17891
468d69fe
VS
178922010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17893
17894 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
17895
51906b8c
VS
178962010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17897
17898 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
17899 modevar.
17900 Return grub_errno on allocation error.
17901
09706ce5
VS
179022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17903
17904 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
17905
911df80c
YB
179062010-02-06 Yves Blusseau <blusseau@zetam.org>
17907
17908 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
17909 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
17910
3746a6bc
VS
179112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17912
17913 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
17914 non-pxe disk.
17915 (grub_pxefs_open): Likewise.
17916
09706ce5
VS
179172010-02-06 Robert Millan <rmh.grub@aybabtu.com>
17918
17919 * util/grub.d/10_hurd.in: Add --class information to menuentries.
17920 * util/grub.d/10_kfreebsd.in: Likewise.
17921 * util/grub.d/10_linux.in: Likewise.
17922
7cc192d9
VS
179232010-02-06 Colin D Bennett <colin@gibibit.com>
17924
17925 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
17926 (gfxmenu_mod_SOURCES): New variable.
17927 (gfxmenu_mod_CFLAGS): Likewise.
17928 (gfxmenu_mod_LDFLAGS): Likewise.
17929 * include/grub/term.h (grub_term_set_current_output): Declare
17930 argument as const.
17931 * docs/gfxmenu-theme-example.txt: New file.
17932 * gfxmenu/gfxmenu.c: Likewise.
17933 * gfxmenu/gui_box.c: Likewise.
17934 * gfxmenu/gui_canvas.c: Likewise.
17935 * gfxmenu/gui_circular_progress.c: Likewise.
17936 * gfxmenu/gui_image.c: Likewise.
17937 * gfxmenu/gui_label.c: Likewise.
17938 * gfxmenu/gui_list.c: Likewise.
17939 * gfxmenu/gui_progress_bar.c: Likewise.
17940 * gfxmenu/gui_string_util.c: Likewise.
17941 * gfxmenu/gui_util.c: Likewise.
17942 * gfxmenu/icon_manager.c: Likewise.
17943 * gfxmenu/model.c: Likewise.
17944 * gfxmenu/named_colors.c: Likewise.
17945 * gfxmenu/theme_loader.c: Likewise.
17946 * gfxmenu/view.c: Likewise.
17947 * gfxmenu/widget-box.c: Likewise.
17948 * include/grub/gfxmenu_model.h: Likewise.
17949 * include/grub/gfxmenu_view.h: Likewise.
17950 * include/grub/gfxwidgets.h: Likewise.
17951 * include/grub/gui.h: Likewise.
17952 * include/grub/gui_string_util.h: Likewise.
17953 * include/grub/icon_manager.h: Likewise.
17954
179552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17956
17957 Agglomerate scrolling in gfxterm.
17958
17959 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
17960 (grub_virtual_screen_setup): Initialise 'total_screen'.
17961 (write_char): Split to ...
17962 (paint_char): ... this ...
17963 (write_char): ... and this.
17964 (paint_char): Handle delayed scrolling.
17965 (draw_cursor): Likewise.
17966 (scroll_up): Split to ...
17967 (real_scroll): ... this ...
17968 (scroll_up): ... and this.
17969 (real_scroll): Handle multi-line scroll and draw below-the-bottom
17970 characters.
17971 (grub_gfxterm_refresh): Call real_scroll.
17972
179732010-02-06 Colin D Bennett <colin@gibibit.com>
17974
17975 * include/grub/misc.h (grub_iscntrl): New inline function.
17976 (grub_isalnum): Likewise.
17977 (grub_strtol): Likewise.
17978
179792010-02-06 Colin D Bennett <colin@gibibit.com>
17980
17981 * normal/menu_text.c (get_entry_number): Move from here ...
17982 * normal/menu.c (get_entry_number): ... moved here.
17983 * include/grub/menu.h (grub_menu_get_default_entry_index):
17984 New prototype.
17985 * normal/menu.c (grub_menu_get_default_entry_index): New function.
17986 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
17987 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
17988 (grub_menu_viewer_should_return): Likewise.
17989 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
17990 * normal/menu_text.c (run_menu): Enable menu switching.
17991 * normal/menu_viewer.c (should_return): New variable.
17992 (menu_viewer_changed): Likewise.
17993 (grub_menu_viewer_show_menu): Handle menu viewer changes.
17994 (grub_menu_viewer_should_return): New function.
17995 (menuviewer_write_hook): Likewise.
17996 (grub_menu_viewer_init): Likewise.
17997
179982010-02-06 Colin D Bennet <colin@gibibit.com>
179992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18000
18001 Support for gfxterm in a window.
18002
18003 * include/grub/gfxterm.h: New file.
18004 * include/grub/video.h (struct grub_video_rect): New declaration.
18005 (grub_video_rect_t): Likewise.
18006 * term/gfxterm.c (struct grub_gfxterm_window): New type.
18007 (refcount): New variable.
18008 (render_target): Likewise.
18009 (window): Likewise.
18010 (repaint_callback): Likewise.
18011 (grub_virtual_screen_setup): Use 'render_target'.
18012 (init_window): New function.
18013 (grub_gfxterm_init_window): Likewise.
18014 (grub_gfxterm_init): Check reference counter.
18015 Use init_window.
18016 (destroy_window): New function.
18017 (grub_gfxterm_destroy_window): Likewise.
18018 (grub_gfxterm_fini): Check reference counter.
18019 Use destroy_window.
18020 (redraw_screen_rect): Restore viewport.
18021 Use 'render_target' and 'window'.
18022 Call 'repaint_callback'.
18023 (write_char): Use 'render_target'.
18024 (draw_cursor): Likewise.
18025 (scroll_up): Restore viewport.
18026 Use 'render_target' and 'window'.
18027 Call 'repaint_callback'.
18028 (grub_gfxterm_cls): Likewise.
18029 (grub_gfxterm_refresh): Use 'window'.
18030 (grub_gfxterm_set_repaint_callback): New function.
18031 (grub_gfxterm_background_image_cmd): Use 'window'.
18032 (grub_gfxterm_get_term): New function.
18033 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
18034
180352010-02-06 Colin D Bennett <colin@gibibit.com>
18036
18037 Bitmap scaling support.
18038
18039 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
18040 (bitmap_scale_mod_SOURCES): New variable.
18041 (bitmap_scale_mod_CFLAGS): Likewise.
18042 (bitmap_scale_mod_LDFLAGS): Likewise.
18043 * include/grub/bitmap_scale.h: New file.
18044 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
18045 (background_image_cmd_options): New variable.
18046 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
18047 (cmd): Rename and change type to ...
18048 (background_image_cmd_handle): ... this. All users updated.
18049 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
18050 * video/bitmap_scale.c: New file.
18051
180522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18053
18054 SDL support.
18055
18056 * Makefile.in (LIBSDL): New variable.
18057 (enable_grub_emu_sdl): Likewise.
18058 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
18059 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
18060 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
18061 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
18062 * util/sdl.c: New file.
18063
180642010-02-06 Colin D Bennett <colin@gibibit.com>
180652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18066
18067 Double buffering support.
18068
18069 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
18070 * include/grub/video.h: Update comment.
18071 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
18072 New type.
18073 (grub_video_fb_doublebuf_blit_init): New prototype.
18074 * term/gfxterm.c (scroll_up): Support double buffering.
18075 (grub_gfxterm_refresh): Likewise.
18076 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
18077 (grub_video_fb_doublebuf_blit_init): Likewise.
18078 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
18079 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
18080 'displayed_page', 'render_page' and 'update_screen'.
18081 (grub_video_vbe_fini): Free offscreen buffer.
18082 (doublebuf_pageflipping_commit): New function.
18083 (doublebuf_pageflipping_update_screen): Likewise.
18084 (doublebuf_pageflipping_init): Likewise.
18085 (double_buffering_init): Likewise.
18086 (grub_video_vbe_setup): Enable doublebuffering.
18087 (grub_video_vbe_swap_buffers): Implement.
18088 (grub_video_vbe_set_active_render_target): Handle double buffering.
18089 (grub_video_vbe_get_active_render_target): Likewise.
18090 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
18091 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
18092 (grub_video_vbe_enable_double_buffering): Likewise.
18093 (grub_video_vbe_swap_buffers): Use update_screen.
18094 (grub_video_set_mode): Use double buffering.
18095
180962010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18097
18098 * maintainance/gentrigtables.py: Remove.
18099 * lib/trig.c: Likewise.
18100
18101 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
18102
18103 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
18104 `trigtables.c'.
18105 (trigtables.c): New rule.
18106 (gentrigtables): Likewise.
18107 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
18108
181092010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18110
18111 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
18112 integer constants.
18113
181142010-02-06 Colin D Bennet <colin@gibibit.com>
18115
18116 Trigonometry support.
18117
18118 * include/grub/trig.h: New file.
18119 * lib/trig.c: Likewise.
18120 * maintainance/gentrigtables.py: Likewise.
18121 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
18122 (trig_mod_SOURCES): New variable.
18123 (trig_mod_CFLAGS): Likewise.
18124 (trig_mod_LDFLAGS): Likewise.
18125
5562834e
VS
181262010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18127
18128 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
18129 disk devices.
18130
4f8528fc
VS
181312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18132
18133 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
18134 error.
18135
2b4068e9
VS
181362010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
18137
18138 * util/hostdisk.c (open_device): Don't use partition device when reading
18139 before the partition.
18140 (grub_util_biosdisk_read): Don't read from partition and before the
18141 partition in single operation.
18142 (grub_util_biosdisk_write): Don't write to partition and before the
18143 partition in single operation.
18144
399f6e4d
TL
181452010-02-03 Torsten Landschoff <torsten@debian.org>
18146
18147 * kern/disk.c (grub_disk_read): Fix offset computation when reading
18148 last sectors.
18149
996649b0
VS
181502010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
18151
18152 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
18153 CDROM reads.
18154 (grub_biosdisk_write): Refuse to write to CDROM.
18155
3b205d4d
VS
181562010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
18157
18158 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
18159
61e89d9d
VS
181602010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
18161
18162 * font/font.c (find_glyph): Check that bmp_idx is available before
18163 using it.
18164 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
18165 with (font == NULL).
18166
bf7fcba2
CS
181672010-01-28 Christian Schmitt <chris@ilovelinux.de>
18168
18169 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
18170
f45d2663
BC
181712010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
18172
18173 * include/grub/script_sh.h (sourcecode): Add const qualifier.
18174 * util/grub-script-check.c (getline): Fix empty lines case.
18175
ec1444e6
RM
181762010-01-28 Robert Millan <rmh.grub@aybabtu.com>
18177
18178 * Makefile.in (check): Exit with fail status when one of the tests
18179 fails.
18180 * tests/example_functional_test.c (example_test): Fix reversed assert.
18181 * tests/example_unit_test.c (example_test): Likewise.
18182
2e1cb9bb
CW
181832010-01-28 Colin Watson <cjwatson@ubuntu.com>
18184
18185 * util/grub.d/10_linux.in: This script does not use any of the
18186 contents of gettext.sh, only the external command `gettext', so stop
18187 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
18188 the same prefix as GRUB.)
18189 * util/grub.d/10_kfreebsd.in: Likewise.
18190
63533ab0
VS
181912010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18192
18193 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
18194 of the line.
18195
989e1f93
VS
181962010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18197
18198 * kern/disk.c (grub_disk_read): Fix offset computation when reading
18199 last sectors.
18200
e709ebe2
VS
182012010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18202
18203 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
18204 having a 4KiB and not 32KiB buffer size.
18205
27dea7ed
RM
182062010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18207
18208 * util/hostfs.c: Include `<errno.h>'.
18209 (grub_hostfs_read): Handle errors from fseeko() and fread().
18210
67667b9c
RM
182112010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18212
18213 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
18214 loop when using read hooks on files whose size isn't sector-aligned.
18215
c294d9d8
RM
182162010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18217
18218 Remove unused parameter.
18219
18220 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
18221 (grub_iso9660_open): Remove initialization of `data->length'.
18222
af75a9f1
RM
182232010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18224
18225 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
18226 memleak conditions.
18227
254e2ce5 182282010-01-27 Carles Pina i Estany <carles@pina.cat>
18229
18230 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
18231 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
18232
b510928c 182332010-01-26 Carles Pina i Estany <carles@pina.cat>
18234
18235 * util/bin2h.c (usage): Fix warning (space after backslash).
18236
aa2f9dd2 182372010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 18238
18239 * font/font.c: Include `grub/fontformat.h.
18240 Remove font file format constants.
18241 (grub_font_load): Use the new macros.
18242 * include/grub/fontformat.h: New file.
18243 * util/grub-mkfont.c: Include `grub/fontformat.c'.
18244 (write_font_pf2): Use the new macros.
18245
94e7e712
RM
182462010-01-26 Robert Millan <rmh.grub@aybabtu.com>
18247
18248 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
18249 does.
18250
3973a59a
RM
182512010-01-26 Robert Millan <rmh.grub@aybabtu.com>
18252
18253 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
18254
18255 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
18256 (_start): Macroify `0x7F'.
18257
18258 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
18259 (make_install_device): Use "(pxe)" as fallback prefix when booting
18260 via PXE.
18261
42e0cba3
GS
182622010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
18263
18264 * configure.ac: Reset LIBS after check for libgcc symbols.
18265
847effd8
CW
182662010-01-25 Colin Watson <cjwatson@ubuntu.com>
18267
18268 * util/hostdisk.c (open_device): Add trailing newline to debug
18269 message.
18270
ea4a7e35
GS
182712010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
18272
18273 * configure.ac: Check for `limits.h'.
18274 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
18275
67951a53
RM
182762010-01-24 Robert Millan <rmh.grub@aybabtu.com>
18277
18278 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
18279 capitalize error strings.
18280
c273d4ce
ST
182812010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
18282
18283 * util/grub.d/10_hurd.in: Add a recovery mode.
18284
69be5b74
VS
182852010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
18286
18287 * configure.ac: Check for libgcc symbols with -nostdlib.
18288
fc9e5810
BC
182892010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
18290
18291 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
18292
4b358c0a
VS
182932010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18294
18295 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
18296 stack since heap may be unavailable at that point.
18297 (grub_ofconsole_gotoxy): Likewise.
18298
454fcd1c
VS
182992010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18300
18301 * configure.ac: Check for _restgpr_14_x.
18302 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
18303 and _savegpr_* prototypes.
18304
566863ca
RM
183052010-01-22 Robert Millan <rmh.grub@aybabtu.com>
18306
18307 Use generic grub_reboot() for i386-efi.
18308
18309 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
18310 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
18311 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
18312
bf86e59a
VS
183132010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18314
18315 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
18316 presence of "prefix" variable as it breaks when normal.mod is
18317 embedded.
18318
d645e0f8
VS
183192010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18320
18321 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
18322 stack since heap is unavailable at that point.
18323
f9ab2e25
VS
183242010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18325
18326 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
18327 (grub_freebsd_bootinfo): Rewritten.
18328 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
18329
01fc7054
VS
183302010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18331
18332 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
18333
caab4fd6
RM
183342010-01-21 Robert Millan <rmh.grub@aybabtu.com>
18335
18336 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
18337 domain now.
18338
67eb1427
FZ
183392010-01-20 Felix Zielcke <fzielcke@z-51.de>
18340
18341 * util/misc.c (make_system_path_relative_to_its_root): Change the work
18342 around for handling "/" to the correct fix. Fix a memory leak. Use
18343 xstrdup instead of strdup.
18344
a9ed4ff3
VS
183452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18346
18347 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
18348
183492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
18350
18351 Optimise glyph lookup by Basic Multilingual Plane lookup array.
18352
18353 * font/font.c (struct grub_font): New member 'bmp_idx'.
18354 (font_init): Initialise 'bmp_idx'.
18355 (load_font_index): Fill 'bmp_idx'.
18356 (find_glyph): Make inline. Use bmp_idx for BMP characters.
18357
48209f4f
VS
183582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18359
18360 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
18361 unnecessary calls.
18362
9f0a4bb7
VS
183632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18364
18365 Move context handling out of the kernel.
18366
18367 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
18368 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
18369 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
18370 * conf/i386-efi.rmk: Likewise.
18371 * conf/i386-ieee1275.rmk: Likewise.
18372 * conf/i386-pc.rmk: Likewise.
18373 * conf/powerpc-ieee1275.rmk: Likewise.
18374 * conf/sparc64-ieee1275.rmk: Likewise.
18375 * conf/x86_64-efi.rmk: Likewise.
18376 * include/grub/env.h: Include grub/menu.h.
18377 (grub_env_var_type): Removed.
18378 (grub_env_var): Replaced field 'type' with 'global'.
18379 (grub_env_find): New prototype.
18380 (grub_env_context_open): Remove EXPORT_FUNC.
18381 (grub_env_context_close): Likewise.
18382 (grub_env_export): Likewise.
18383 (grub_env_set_data_slot): Removed.
18384 (grub_env_get_data_slot): Likewise.
18385 (grub_env_unset_data_slot): Likewise.
18386 (grub_env_unset_menu): New prototype.
18387 (grub_env_set_menu): Likewise.
18388 (grub_env_get_menu): Likewise.
18389 * include/grub/env_private.h: New file.
18390 * include/grub/normal.h (grub_context_init): New prototype.
18391 (grub_context_fini): Likewise.
18392 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
18393 * normal/context.c (grub_cmd_export): ... to here.
18394 * kern/env.c: Include env_private.h.
18395 (HASHSZ): Moved to include/grub/env_private.h.
18396 (grub_env_context): Likewise.
18397 (grub_env_sorted_var): Likewise.
18398 (current_context): Renamed from this ...
18399 (grub_current_context): ...to this. 'static' removed. All users updated.
18400 (grub_env_find): Removed 'static'.
18401 (grub_env_context_open): Moved to normal/context.c.
18402 (grub_env_context_close): Likewise.
18403 (grub_env_export): Likewise.
18404 (mangle_data_slot_name): Removed.
18405 (grub_env_set_data_slot): Likewise.
18406 (grub_env_get_data_slot): Likewise.
18407 (grub_env_unset_data_slot): Likewise.
18408 * kern/main.c (grub_set_root_dev): Don't export root.
18409 It will be done later.
18410 (grub_main): Don't export prefix.
18411 It will be done later.
18412 * normal/context.c: New file.
18413 * normal/main.c (free_menu): Use grub_env_unset_menu.
18414 (grub_normal_add_menu_entry): Use grub_env_get_menu.
18415 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
18416 (GRUB_MOD_INIT(normal)): Call grub_context_init.
18417 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
18418
8dd35b8c
VS
184192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18420
18421 setpci support.
18422
18423 * commands/setpci.c: New file.
18424 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
18425 (setpci_mod_SOURCES): New variable.
18426 (setpci_mod_CFLAGS): Likewise.
18427 (setpci_mod_LDFLAGS): Likewise.
18428
449193d5
VS
184292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18430
18431 Byte-addressable PCI configuration space.
18432
18433 * bus/pci.c (grub_pci_make_address): Use byte address instead of
18434 dword address.
18435 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
18436 GRUB_PCI_REG_CACHELINE.
18437 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
18438 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
18439 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
18440 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
18441 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
18442 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
18443 grub_pci_make_address.
18444 (lock_rom_area): Likewise.
18445 * commands/lspci.c (grub_lspci_iter): Use macroses
18446 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
18447 of grub_pci_make_address.
18448 * disk/ata.c (grub_ata_pciinit): Likewise.
18449 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
18450 (GRUB_PCI_REG_VENDOR): Likewise.
18451 (GRUB_PCI_REG_DEVICE): Likewise.
18452 (GRUB_PCI_REG_COMMAND): Likewise.
18453 (GRUB_PCI_REG_STATUS): Likewise.
18454 (GRUB_PCI_REG_REVISION): Likewise.
18455 (GRUB_PCI_REG_CLASS): Likewise.
18456 (GRUB_PCI_REG_CACHELINE): Likewise.
18457 (GRUB_PCI_REG_LAT_TIMER): Likewise.
18458 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
18459 (GRUB_PCI_REG_BIST): Likewise.
18460 (GRUB_PCI_REG_ADDRESSES): Likewise.
18461 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18462 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18463 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18464 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18465 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18466 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18467 (GRUB_PCI_REG_CIS_POINTER): Likewise.
18468 (GRUB_PCI_REG_SUBVENDOR): Likewise.
18469 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
18470 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
18471 (GRUB_PCI_REG_CAP_POINTER): Likewise.
18472 (GRUB_PCI_REG_IRQ_LINE): Likewise.
18473 (GRUB_PCI_REG_IRQ_PIN): Likewise.
18474 (GRUB_PCI_REG_MIN_GNT): Likewise.
18475 (GRUB_PCI_REG_MAX_LAT): Likewise.
18476 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
18477 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
18478 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 18479 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
18480 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
18481 space.
18482
96d73208
RM
184832010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18484
18485 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
18486 can be reliably determined to be supported.
18487
d4484482
RM
184882010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18489
18490 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
18491 that VESA is supported.
18492 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
18493 supported.
18494
00308ecf
VS
184952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18496
18497 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
18498
f66924a4
RM
184992010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18500
18501 * util/misc.c (make_system_path_relative_to_its_root): Work around
18502 special-casing of "/", as previous incarnation of this routine did.
18503
cbca0ada
VS
185042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18505
18506 Fix any-emu compilation.
18507
18508 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
18509 * grub_bin2h_SOURCES: New variable.
18510
34a66d99
RM
185112010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18512
18513 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
18514
94fabf58
RM
185152010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18516
18517 * util/grub.d/00_header.in: Fix handling of locale_dir.
18518
02cf98ca
VS
185192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18520
18521 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
18522 as possible unifont location (Gentoo).
18523 Reported by: Alexander Brüning
18524
327dbcd7
VS
185252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18526
18527 Don't try to generate lists for kernel.img.
18528
18529 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
18530 (pkglib_MODULES): Remove kernel.img.
18531 (kernel_img_EXPORTS): Removed.
18532 (kernel_img_RELOCATABLE): New variable.
18533 * conf/x86_64-efi.rmk: Likewise.
18534 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
18535
ca467290
VS
185362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18537
18538 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
18539 grub_xasprintf or grub_snprintf.
18540 (grub_vsprintf): Likewise.
18541 (grub_snprintf): New proto.
18542 (grub_vsnprintf): Likewise.
18543 (grub_xasprintf): Likewise.
18544 (grub_xvasprintf): Likewise.
18545 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
18546 (grub_sprintf): Removed.
18547 (grub_vsnprintf): New function.
18548 (grub_snprintf): Likewise.
18549 (grub_xvasprintf): Likewise.
18550 (grub_xasprintf): Likewise.
18551 (grub_vsprintf): Renamed to ...
18552 (grub_vsnprintf_real): ...this. New argument max_len.
18553
aca655fd
BC
185542010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
18555
18556 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
18557 fix grub-script-check warning.
18558
7ee92c32
VS
185592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18560
18561 * include/grub/font.h (grub_font_load): Fix prototype.
18562
f80927ca
VS
185632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18564
18565 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
18566
119c50ea
VS
185672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18568
18569 * include/grub/x86_64/at_keyboard.h: New file.
18570
47d5f3c1
VS
185712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18572
18573 * loader/mips/linux.c: Include missing grub/i18n.h.
18574
55ff5266
RM
185752009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18576
18577 * normal/menu.c (notify_execution_failure): Clarify error message.
18578
c893cc87
RM
185792009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18580
18581 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
18582 return value (and revert all return statements). Update users.
18583
917dd370
CW
185842010-01-20 Dan Merillat <debian@dan.merillat.org>
18585
18586 * kern/device.c (grub_device_iterate): Allocate new part_ent
18587 structure based on sizeof (*p) rather than sizeof (p->next), to
18588 account for structure padding.
18589
18590 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
18591 disk is NULL, which might happen for LVM physical volumes with no
18592 LVM signature.
18593
d4a4ee57
RM
185942009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18595
18596 * loader/mips/linux.c (grub_cmd_initrd)
18597 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
18598
185992009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18600
18601 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
18602 (grub_video_video_init, grub_video_bitmap_init)
18603 (grub_font_manager_init, grub_term_gfxterm_init)
18604 (grub_at_keyboard_init): New extern declarations.
18605 (grub_machine_init): Initialize gfxterm and at_keyboard.
18606
18607 * kern/main.c (grub_main): Revert grub_printf delay kludge.
18608
18609 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
18610 `gfxterm.mod' into core image.
18611
18612 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18613 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18614 (kernel_img_FORMAT): Copy to ...
18615
18616 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18617 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18618 (kernel_img_FORMAT): ... here, and ...
18619
18620 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18621 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18622 (kernel_img_FORMAT): ... here.
18623
18624 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
18625 and input (at_keyboard) terminals in kernel.
18626 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
18627
18628 (pkglib_MODULES): Remove `pci.mod'.
18629 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
18630 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
18631 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
18632 (at_keyboard_mod_LDFLAGS): Remove variables.
18633
186342010-01-11 Felix Zielcke <fzielcke@z-51.de>
18635
18636 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
18637
186382009-12-10 Robert Millan <rmh.grub@aybabtu.com>
18639
18640 * include/grub/mips/libgcc.h: Only export symbols for functions
18641 that libgcc provides.
18642
186432009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
18644
18645 MIPS support.
18646
18647 * bus/bonito.c: New file.
18648 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
18649 GRUB_PCI_NUM_DEVICES.
18650 * term/i386/pc/serial.c: Move to ...
18651 * term/serial.c: ... here. All users updated.
18652 * util/i386/pc/grub-mkimage.c: Move to ...
18653 * util/grub-mkrawimage.c: ... here. All users updated.
18654 * term/i386/pc/at_keyboard.c: Move to ...
18655 * term/at_keyboard.c: ... here. All users updated.
18656 * conf/mips-qemu-mips.rmk: New file.
18657 * conf/mips-yeeloong.rmk: Likewise.
18658 * conf/mips.rmk: Likewise.
18659 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
18660 mipsel-qemu-mips.
18661 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
18662 to port addresses.
18663 (grub_ata_pciinit): Support CS5536.
18664 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
18665 * font/font_cmd.c (loadfont_command): Open file before passing it to
18666 grub_font_load.
18667 (pseudo_file_read): New function.
18668 (pseudo_file_close): Likewise.
18669 (pseudo_fs): New structure.
18670 (load_font_module): New function.
18671 (GRUB_MOD_INIT(font_manager)): Load embedded font.
18672 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
18673 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
18674 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
18675 * include/grub/i386/at_keyboard.h: Split into ...
18676 * include/grub/at_keyboard.h: ... this ...
18677 * include/grub/i386/at_keyboard.h: ... and this.
18678 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
18679 New prototype.
18680 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
18681 updated.
18682 (grub_elf64_size): Likewise.
18683 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
18684 filename.
18685 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
18686 * include/grub/i386/coreboot/serial.h: Rewritten.
18687 * include/grub/i386/ieee1275/serial.h: Include
18688 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
18689 * include/grub/i386/pc/serial.h: Moved from here ...
18690 * include/grub/serial.h: ... to here. All users updated.
18691 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
18692 (GRUB_PCI_NUM_BUS): Likewise.
18693 (GRUB_PCI_NUM_DEVICES): Likewise.
18694 (grub_pci_device_map_range): Add missing volatile keyword.
18695 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
18696 * include/grub/mips/at_keyboard.h: New file.
18697 * include/grub/mips/cache.h: Likewise.
18698 * include/grub/mips/io.h: Likewise.
18699 * include/grub/mips/kernel.h: Likewise.
18700 * include/grub/mips/libgcc.h: Likewise.
18701 * include/grub/mips/pci.h: Likewise.
18702 * include/grub/mips/qemu-mips/boot.h: Likewise.
18703 * include/grub/mips/qemu-mips/kernel.h: Likewise.
18704 * include/grub/mips/qemu-mips/loader.h: Likewise.
18705 * include/grub/mips/qemu-mips/memory.h: Likewise.
18706 * include/grub/mips/qemu-mips/serial.h: Likewise.
18707 * include/grub/mips/qemu-mips/time.h: Likewise.
18708 * include/grub/mips/relocator.h: Likewise.
18709 * include/grub/mips/time.h: Likewise.
18710 * include/grub/mips/types.h: Likewise.
18711 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
18712 * include/grub/mips/yeeloong/boot.h: Likewise.
18713 * include/grub/mips/yeeloong/kernel.h: Likewise.
18714 * include/grub/mips/yeeloong/loader.h: Likewise.
18715 * include/grub/mips/yeeloong/memory.h: Likewise.
18716 * include/grub/mips/yeeloong/pci.h: Likewise.
18717 * include/grub/mips/yeeloong/serial.h: Likewise.
18718 * include/grub/mips/yeeloong/time.h: Likewise.
18719 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
18720 * kern/elf.c (grub_elf32_size): New parameter. All users
18721 updated.
18722 (grub_elf64_size): Likewise.
18723 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
18724 Load modules before saying "Welcome to GRUB!".
18725 Call grub_refresh after saying "Welcome to GRUB!".
18726 * kern/mips/cache.S: New file.
18727 * kern/mips/cache_flush.S: Likewise.
18728 * kern/mips/dl.c: Likewise.
18729 * kern/mips/init.c: Likewise.
18730 * kern/mips/qemu-mips/init.c: Likewise.
18731 * kern/mips/startup.S: Likewise.
18732 * kern/mips/yeeloong/init.c: Likewise.
18733 * kern/term.c (grub_putcode): Handle NULL terminal.
18734 (grub_getcharwidth): Likewise.
18735 (grub_getkey): Likewise.
18736 (grub_checkkey): Likewise.
18737 (grub_getkeystatus): Likewise.
18738 (grub_getxy): Likewise.
18739 (grub_getwh): Likewise.
18740 (grub_gotoxy): Likewise.
18741 (grub_cls): Likewise.
18742 (grub_setcolorstate): Likewise.
18743 (grub_setcolor): Likewise.
18744 (grub_getcolor): Likewise.
18745 (grub_refresh): Likewise.
18746 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
18747 (write_jump): Add hatch nop.
18748 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
18749 * lib/mips/setjmp.S: New file.
18750 * loader/mips/linux.c: Likewise.
18751 * term/i386/pc/at_keyboard.c: Move from here ...
18752 * term/at_keyboard.c: ... to here.
18753 * term/i386/pc/serial.c: Moved from here ...
18754 * term/serial.c: ... to here. All users updated.
18755 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
18756 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
18757 (serial_translate_key_sequence): Avoid deadlock.
18758 (grub_serial_getkey): Handle backspace.
18759 (grub_serial_putchar): Fix newline handling.
18760 * util/i386/pc/grub-mkimage.c: Move from here ...
18761 * util/grub-mkrawimage.c: ... to here. All users updated.
18762 (generate_image): New parameters 'font_path' and 'format'.
18763 Support embedding font.
18764 Use grub_host_to_target* instead of grub_cpu_to_le*.
18765 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
18766 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
18767 (options): New option "--font".
18768 (usage): Likewise.
18769 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
18770 (main): Handle "--font".
18771 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
18772 (grub_virtual_screen_setup): Set bg_color_display.
18773 (redraw_screen_rect): Use bg_color_display instead of incorrect
18774 bg_color.
18775 (grub_gfxterm_cls): Likewise.
18776 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
18777 Support embedding config file.
18778 (add_segments): Likewise.
18779 (options): New option "--config".
18780 (main): Handle "--config".
18781 * video/sm712.c: New file.
18782
25c2b5b3
RM
187832010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18784
18785 Fix parallel builds.
18786
18787 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
18788 font.c depend on ascii.h).
18789
187902010-01-12 Carles Pina i Estany <carles@pina.cat>
18791
18792 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
18793
187942010-01-11 Carles Pina i Estany <carles@pina.cat>
18795
18796 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
18797 By default: disabled.
18798 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
18799 parameter.
18800
188012010-01-10 Carles Pina i Estany <carles@pina.cat>
18802
18803 * font/font.c: Update copyright years.
18804 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
18805
188062010-01-10 Carles Pina i Estany <carles@pina.cat>
18807
18808 * font/font.c: Include `ascii.h'.
18809 (ASCII_BITMAP_SIZE): New macro.
18810 (ascii_font_glyph): Define.
18811 (ascii_glyph_lookup): New function.
18812 (grub_font_get_string_width): Change comment. If glyph not found, use
18813 ascii_glyph_lookup.
18814 (grub_font_get_glyph_with_fallback): If glyph not available returns
18815 ascii_glyph_lookup.
18816 * util/grub-mkfont.c (file_formats): New enum.
18817 (options): Add `ascii-bitmaps' new option.
18818 (usage): Add `asii-bitmaps' new option.
18819 (write_font_ascii_bitmap): New function.
18820 (write_font): Rename to ...
18821 (write_font_p2): ... this. Remove print_glyphs call.
18822 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
18823 used. Call print_glyphs.
18824 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
18825
188262010-01-14 Robert Millan <rmh.grub@aybabtu.com>
18827
18828 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
18829 (grub_bin2h_SOURCES): New variable.
18830 * util/bin2h.c: New file.
18831
915fc1b8
VS
188322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18833
18834 * include/multiboot.h: Resynced with spec.
18835 * include/multiboot2.h: Likewise.
18836 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
18837 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
18838
9444b678
RM
188392010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18840
18841 * include/grub/term.h (grub_term_register_input,
18842 grub_term_register_output): Check return of terminal init()
18843 routines, and abort if errors are raised.
18844
18845 * commands/terminal.c: Update copyright year.
18846
cba98e8d
RM
188472010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18848
18849 * commands/terminal.c (grub_cmd_terminal_input)
18850 (grub_cmd_terminal_output): Check return of terminal init()
18851 routines, and abort if errors are raised.
18852
6f7db5d6
VS
188532010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
18854
18855 * include/grub/i386/bsd.h: Fix include pathes.
18856
262bff8d
VS
188572010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
18858
18859 Add missing *BSD copyright headers.
18860
18861 * include/grub/aout.h: Add BSD licence.
18862 * include/grub/i386/bsd.h: Parts under different licences moved to ...
18863 * include/grub/i386/freebsd_linker.h: ... here,
18864 * include/grub/i386/freebsd_reboot.h: ... here,
18865 * include/grub/i386/netbsd_bootinfo.h: ... here,
18866 * include/grub/i386/netbsd_reboot.h: ... here,
18867 * include/grub/i386/openbsd_bootarg.h: ... here,
18868 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
18869 licence to each file.
18870
b2cab848
RM
188712010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18872
18873 * acinclude.m4: Remove `nop' assembly instruction; it's not
18874 implemented by all architectures.
18875
2cb6be4b
RM
188762010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18877
18878 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
18879 ELILO. This is no longer necessary.
18880
a2eaee15
BC
188812010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
18882
18883 Added new tool, grub-scrit-check to verify grub.cfg syntax.
18884
18885 * util/grub-script-check.c: grub-script-check tool.
18886 * conf/common.rmk: Make rules for grub-script-check.
18887
88d17012
RM
188882010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18889
18890 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
18891 spotting it back in 2008. Shame on me for forgetting he did.
18892
18893 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
18894
8040619d
RM
188952010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18896
18897 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
18898 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
18899 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
18900 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
18901 (GRUB_VIDEO_TYPE_EFI): Rename to ...
18902 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
18903
a0c2a0f6
RM
189042010-01-17 Robert Millan <rmh.grub@aybabtu.com>
18905
18906 * include/grub/test.h: Add license header.
18907 * tests/example_functional_test.c: Likewise.
18908 * tests/example_unit_test.c: Likewise.
18909 * tests/lib/functional_test.c: Likewise.
18910 * tests/lib/test.c: Likewise.
18911 * tests/lib/unit_test.c: Likewise.
18912
b0b13907
VS
189132010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
18914
18915 Use flag-based instead of hook-based video mode selection and "auto"
18916 keyword.
18917
18918 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
18919 (grub_video_set_mode): Changed prototype. All users updated.
18920 (grub_video_check_mode_flag): New inline function.
18921 * video/video.c (parse_modespec): New function.
18922 (grub_video_set_mode): Parse flags and keywords.
18923
ea379330 189242010-01-17 Carles Pina i Estany <carles@pina.cat>
18925
18926 * util/misc.c (grub_util_info): Fix the order of the parameters in a
18927 fprintf call.
18928
e15c215e
FZ
189292010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
18930
18931 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
18932
409ae1c9 189332010-01-16 Carles Pina i Estany <carles@pina.cat>
18934
18935 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
18936 string.
18937 * util/grub-emu.c (usage): Likewise.
18938 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
18939 * util/i386/efi/grub-mkimage.c (usage): Likewise.
18940 * util/i386/pc/grub-mkimage.c (usage): Likewise.
18941 * util/i386/pc/grub-setup.c (usage): Likewise.
18942
70a14d3d 189432010-01-16 Carles Pina i Estany <carles@pina.cat>
18944
18945 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
18946 the message.
18947 (grub_util_info): Likewise.
18948 (grub_util_error): Likewise.
18949 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
18950 and/or new lines in `grub_util_warna', `grub_util_info',
18951 `grub_util_error' calls.
18952 * util/getroot.c: Likewise.
18953 * util/grub-editenv.c: Likewise.
18954 * util/grub-emu.c: Likewise.
18955 * util/grub-fstest.c: Likewise.
18956 * util/grub-mkdevicemap.c: Likewise.
18957 * util/grub-mkfont.c: Likewise.
18958 * util/grub-mkpasswd-pbkdf2.c: Likewise.
18959 * util/grub-mkrelpath.c: Likewise.
18960 * util/grub-pe2elf.c: Likewise.
18961 * util/grub-probe.c: Likewise.
18962 * util/hostdisk.c: Likewise.
18963 * util/i386/efi/grub-mkimage.c: Likewise.
18964 * util/i386/pc/grub-mkimage.c: Likewise.
18965 * util/i386/pc/grub-setup.c: Likewise.
18966 * util/ieee1275/ofpath.c: Likewise.
18967 * util/mkisofs/eltorito.c: Likewise.
18968 * util/mkisofs/rock.c: Likewise.
18969 * util/mkisofs/write.c: Likewise.
18970 * util/raid.c: Likewise.
18971 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
18972 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18973
a0b766fc
VS
189742010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18975
18976 Enable multiboot on non-pc.
18977
18978 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
18979 multiboot.mod and multiboot2.mod to ...
18980 * conf/i386.rmk (pkglib_MODULES): ... here.
18981 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
18982 Moved to ...
18983 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
18984 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
18985 Moved to ...
18986 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
18987 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
18988 Moved to ...
18989 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
18990 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
18991 Moved to ...
18992 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
18993 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
18994 relocator.mod.
18995 (ata_mod_SOURCES): Removed.
18996 (ata_mod_CFLAGS): Likewise.
18997 (ata_mod_LDFLAGS): Likewise.
18998 (relocator_mod_SOURCES): Removed.
18999 (relocator_mod_CFLAGS): Likewise.
19000 (relocator_mod_ASFLAGS): Likewise.
19001 (relocator_mod_LDFLAGS): Likewise.
19002 Include i386.mk.
19003 * include/grub/x86_64/multiboot.h: New file.
19004 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
19005 Terminate EFI.
19006
884ade56
VS
190072010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19008
19009 Video multiboot support.
19010
19011 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
19012 New prototype.
19013 * include/multiboot.h: Resynced with multiboot specification.
19014 * include/multiboot2.h: Likewise.
19015 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
19016 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
19017 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
19018 (HAS_VGA_TEXT): Likewise.
19019 (accepts_video): New variable.
19020 (grub_multiboot_set_accepts_video): New function.
19021 (grub_multiboot_get_mbi_size): Account for video structures.
19022 (set_video_mode): New function.
19023 (retrieve_video_parameters): Likewise.
19024 (grub_multiboot_make_mbi): Fill video fields.
19025
0d90e8a6
VS
190262010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19027
19028 Video driver ids.
19029
19030 * include/grub/video.h (grub_video_driver_id): New type.
19031 (grub_video_adapter): New member 'id'. All users updated.
19032 (grub_video_get_driver_id): New proto.
19033 * video/video.c (grub_video_get_driver_id): New function.
19034
5c71db1b 190352010-01-14 Carles Pina i Estany <carles@pina.cat>
19036
19037 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
19038 `var=val'.
19039
cca15b52 190402010-01-14 Carles Pina i Estany <carles@pina.cat>
19041
19042 * normal/cmdline.c (print_completion): Gettextizze.
19043
c586fbb2 190442001-01-14 Carles Pina i Estany <carles@pina.cat>
19045
19046 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
19047
ba2f6848 190482010-01-14 Carles Pina i Estany <carles@pina.cat>
19049
19050 * gettext/gettext.c (grub_gettext_translate): Push and pop
19051 grub_errno.
19052 (grub_gettext_delete_list): Change comment style.
19053 * kern/err.c (grub_error): Gettextizze.
19054 (grub_fatal): Gettextizze.
19055
0a46429a
RM
190562010-01-14 Robert Millan <rmh.grub@aybabtu.com>
19057
19058 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
19059 (grub_linux16_real_boot): ... this.
19060 * kern/i386/loader.S: Likewise.
19061 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
19062 (grub_linux16_boot): New function. Switches to text mode and calls
19063 grub_linux16_real_boot().
19064
19065 * loader/i386/bsd.c: Include `<grub/video.h>'.
19066 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
19067 text mode before calling grub_unix_real_boot().
19068
19069 * loader/i386/multiboot.c: Include `<grub/video.h>'.
19070 (grub_multiboot_boot): Switch to text mode before calling
19071 grub_relocator32_boot().
19072
19073 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
19074 (grub_chainloader_boot): Switch to text mode before calling
19075 grub_chainloader_real_boot().
19076
d6f93a66
RM
190772010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
190782010-01-05 Colin Watson <cjwatson@ubuntu.com>
19079
19080 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
19081 non-empty value.
19082
190832010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
190842010-01-05 Colin Watson <cjwatson@ubuntu.com>
19085
19086 * util/grub.d/00_header.in: Define a "savedefault" function for use
19087 in menu entries.
19088 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
19089
190902010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
190912010-01-05 Colin Watson <cjwatson@ubuntu.com>
19092
19093 * util/grub-mkconfig_lib.in (save_default_entry): Only set
19094 saved_entry if boot_once is unset.
19095 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
19096 previous saved entry (i.e. grub-reboot).
19097
190982009-12-08 Colin Watson <cjwatson@ubuntu.com>
19099
19100 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
19101
191022009-12-08 Colin Watson <cjwatson@ubuntu.com>
19103
19104 * util/grub.d/00_header.in: Use `set var=val' rather than plain
19105 `var=val'.
19106 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
19107
191082009-12-08 Colin Watson <cjwatson@ubuntu.com>
19109
19110 * util/grub-reboot.in: Fix --version output.
19111 * util/grub-set-default.in: Likewise.
19112
191132009-12-08 Colin Watson <cjwatson@ubuntu.com>
19114
19115 * util/grub.d/00_header.in: Silently ignore zero-sized environment
19116 blocks.
19117
191182009-12-08 Colin Watson <cjwatson@ubuntu.com>
19119
19120 * util/grub.d/00_header.in: Quote the value assigned to `default',
19121 in case it contains spaces.
19122
191232009-12-08 Colin Watson <cjwatson@ubuntu.com>
19124
19125 * util/grub.d/30_os-prober.in: Fix merge error that moved a
19126 `save_default_entry' call from the macosx case to the linux case.
19127
191282009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
191292009-10-25 Colin Watson <cjwatson@ubuntu.com>
19130
19131 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
19132 in `chosen' environment variable.
19133 * normal/menu_text.c (get_entry_number): Check if the variable
19134 matches the title of a menu entry.
19135 (run_menu): Pass menu to get_entry_number.
19136
19137 * util/grub-reboot.in: New file.
19138 * util/grub-set-default.in: New file.
19139 * conf/common.rmk (grub-reboot): New utility.
19140 (grub-set-default): New utility.
19141
19142 * util/grub-mkconfig_lib.in (save_default_entry): New function.
19143 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
19144 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
19145 move it to `saved_entry' for the next boot. Load environment on
19146 initialisation.
19147 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
19148 * util/grub.d/10_hurd.in: Likewise.
19149 * util/grub.d/10_linux.in (linux_entry): Likewise.
19150 * util/grub.d/10_windows.in: Likewise.
19151 * util/grub.d/30_os-prober.in: Likewise.
19152
19153 * util/grub-install.in: Create environment block.
19154 * util/i386/efi/grub-install.in: Likewise.
19155 * util/ieee1275/grub-install.in: Likewise.
19156 * util/sparc64/ieee1275/grub-install.in: Likewise.
19157
0934d184
BC
191582010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
19159
19160 Unit testing framework for GRUB.
19161
19162 * Makefile.in: Test framework build rules for 'make check'.
19163 * conf/tests.rmk: Build rules for individual tests and framework.
19164
19165 * include/grub/test.h: Header file for whitebox tests.
19166 * tests/lib/functional_test.c: Framework support for whitebox
19167 functional tests.
19168 * tests/lib/test.c: Common whitebox testing code for unit and
19169 functional tests.
19170 * tests/lib/unit_test.c: Framework support for whitebox unit
19171 tests.
19172
19173 * tests/util/grub-shell-tester.in: Support utility for grub-script
19174 tests.
19175 * tests/util/grub-shell.in: Utility to execute grub-script
19176 commands in a Qemu instance.
19177
19178 * tests/example_functional_test.c: Example whitebox functional
19179 test.
19180 * tests/example_grub_script_test.in: Example grub-script test.
19181 * tests/example_scripted_test.in: Example scripted test.
19182 * tests/example_unit_test.c: Example whitebox unit test.
19183
9c4ffeeb
VS
191842010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19185
19186 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
19187 Add loader/i386/multiboot_mbi.c.
19188 (multiboot2_mod_SOURCES): Likewise.
19189 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
19190 (multiboot2_mod_SOURCES): Likewise.
19191 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
19192 (grub_multiboot_make_mbi): Likewise.
19193 (grub_multiboot_free_mbi): Likewise.
19194 (grub_multiboot_init_mbi): Likewise.
19195 (grub_multiboot_add_module): Likewise.
19196 (grub_multiboot_set_bootdev): Likewise.
19197 * loader/i386/multiboot.c (mbi): Removed.
19198 (mbi_dest): Likewise.
19199 (alloc_mbi): New variable.
19200 (grub_multiboot_payload_size): Removed. All users updated.
19201 (grub_multiboot_pure_size): New variable.
19202 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
19203 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
19204 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
19205 (grub_fill_multiboot_mmap): Likewise.
19206 (grub_multiboot_get_bootdev): Likewise.
19207 (grub_multiboot): Use multiboot_mbi functions.
19208 * loader/i386/multiboot_mbi.c: New file.
19209
17383dfe
VS
192102010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19211
19212 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
19213 it would result in module crash.
19214
c1f28820
VS
192152010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19216
19217 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
19218 (grub_ofconsole_getwh): Split to ...
19219 (grub_ofconsole_getwh): ... this.
19220 (grub_ofconsole_dimensions): ...and this.
19221 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
19222
58655a16
RM
192232010-01-13 Robert Millan <rmh.grub@aybabtu.com>
19224
19225 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
19226
10891398
VS
192272010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19228
19229 * loader/i386/pc/multiboot2.c: Removed stalled file.
19230
0b8a223c
VS
192312010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19232
19233 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
19234 Reported by: Grégoire Sutre
19235
92ab12b0
RM
192362010-01-11 Robert Millan <rmh.grub@aybabtu.com>
19237
19238 * util/misc.c (canonicalize_file_name): New function.
19239 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
19240 instead of realpath().
19241
a788afb6
CW
192422010-01-11 Colin Watson <cjwatson@ubuntu.com>
19243
19244 * util/grub-install.in (usage): Clarify meaning of --root-directory,
19245 and make it clearer that it's optional. Based on confusion
19246 witnessed on IRC.
19247
ffa8e3d2
VS
192482010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19249
19250 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
19251 in premature implicit newline.
19252
e9060a9d
VS
192532010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19254
19255 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
19256 which resulted in garbled command line at the end of screen.
19257
f0d0c0b7
RM
192582010-01-10 Robert Millan <rmh.grub@aybabtu.com>
19259
19260 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
19261 initialization with similar approach as with other Linux loaders.
19262
0e60bae7
RM
192632010-01-10 Robert Millan <rmh.grub@aybabtu.com>
19264
19265 Fix i386-ieee1275 build.
19266
19267 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
19268 and grub_term_height() for video_{width,height} initialization.
19269
192702010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
19271
19272 Fix grub-emu build.
19273
19274 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
19275
cdb3f378
RM
192762010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
192772010-01-09 Robert Millan <rmh.grub@aybabtu.com>
19278
19279 Support for multiple terminals.
19280
19281 * Makefile.in (pkglib_DATA): terminal.lst.
19282 (terminal.lst): New target.
19283 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
19284 (GRUB_MOD_INIT(handler)): Likewise.
19285 (GRUB_MOD_FINI(handler)): Likewise.
19286 * commands/help.c (grub_cmd_help): Handle multiple terminals.
19287 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
19288 * commands/sleep.c (do_print): Use grub_term_restore_pos.
19289 (grub_cmd_sleep): Use grub_term_save_pos.
19290 * commands/terminal.c: New file.
19291 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
19292 commands/terminal.c and lib/charset.c.
19293 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
19294 (pkglib_MODULES): Add terminal.mod.
19295 (terminal_mod_SOURCES): New variable.
19296 (terminal_mod_CFLAGS): Likewise.
19297 (terminal_mod_LDFLAGS): Likewise.
19298 * genhandlerlist.sh: Don't handle terminals.
19299 * genmk.rb: Generate terminal-*.lst.
19300 * genterminallist.sh: New file.
19301 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
19302 (grub_is_valid_utf8): Likewise.
19303 (grub_utf8_to_ucs4_alloc): Likewise.
19304 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
19305 (grub_menu_register_viewer): Changed argument.
19306 (grub_menu_try_text): New proto.
19307 (grub_gfxmenu_try_hook): New declaration.
19308 * include/grub/normal.h (grub_normal_exit_level): New declaration.
19309 (grub_menu_init_page): Additional argument term.
19310 (grub_normal_init_page): Likewise.
19311 (grub_cmdline_get): Arguments simplified.
19312 (grub_utf8_to_ucs4_alloc): Removed.
19313 (grub_print_ucs4): Additional argument term.
19314 (grub_getstringwidth): Likewise.
19315 (grub_print_message_indented): Likewise.
19316 (grub_menu_text_register_instances): New proto.
19317 (grub_show_menu): Likewise.
19318 (read_terminal_list): Likewise.
19319 (grub_set_more): Likewise.
19320 * include/grub/parser.h: Include handler.h.
19321 * include/grub/reader.h: Rewritten.
19322 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
19323 (GRUB_TERM_WIDTH): Changed to function.
19324 (GRUB_TERM_HEIGHT): Likewise.
19325 (GRUB_TERM_BORDER_WIDTH): Likewise.
19326 (GRUB_TERM_BORDER_HEIGHT): Likewise.
19327 (GRUB_TERM_NUM_ENTRIES): Likewise.
19328 (GRUB_TERM_ENTRY_WIDTH): Likewise.
19329 (GRUB_TERM_CURSOR_X): Likewise.
19330 (grub_term_input_class): Likewise.
19331 (grub_term_output_class): Likewise.
19332 (grub_term_outputs_disabled): New declaration.
19333 (grub_term_inputs_disabled): Likewise.
19334 (grub_term_outputs): Likewise.
19335 (grub_term_inputs): Likewise.
19336 (grub_term_register_input): Rewritten.
19337 (grub_term_register_output): Likewise.
19338 (grub_term_unregister_input): Likewise.
19339 (grub_term_unregister_output): Likewise.
19340 (FOR_ACTIVE_TERM_INPUTS): New macro.
19341 (FOR_DISABLED_TERM_INPUTS): Likewise.
19342 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19343 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19344 * include/grub/terminfo.h: Add oterm argument to all protypes.
19345 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
19346 Use grub_rescue_run.
19347 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
19348 All users updated.
19349 * kern/reader.c: Removed. All users updated.
19350 * kern/rescue_reader.c (grub_rescue_init): Removed.
19351 (grub_rescue_reader): Likewise.
19352 (grub_register_rescue_reader): Likewise.
19353 (grub_rescue_run): New function based on kern/reader.c.
19354 * kern/term.c: Adapted for multiterm.
19355 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
19356 (grub_is_valid_utf8): Likewise.
19357 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
19358 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
19359 right terminal.
19360 * loader/i386/linux.c (grub_linux_boot): Likewise.
19361 * normal/auth.c (grub_username_get): New function.
19362 (grub_auth_check_authentication): Use grub_username_get.
19363 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
19364 * normal/color.c: Adapt for multiterm.
19365 * normal/main.c (read_config_file): Don't use grub_reader_loop.
19366 (grub_normal_init_page): Additional argument term.
19367 (read_lists): Call read_terminal_lists.
19368 (grub_enter_normal_mode): Call grub_cmdline_run.
19369 Handle grub_normal_exit_level.
19370 (grub_cmd_normal): Make reentrant.
19371 (grub_cmd_normal_exit): New function.
19372 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
19373 * normal/menu.c: Adapt for multiterm.
19374 * normal/menu_entry.c: Likewise.
19375 * normal/menu_text.c: Likewise.
19376 * normal/menu_viewer.c: Removed. All users updated.
19377 * normal/term.c: New file.
19378 * util/console.c: Change order of includes to workaround a bug in
19379 ncurses headers.
19380 * term/terminfo.c: New argument oterm on all exported functions.
19381 All users updated.
19382 * util/grub-editenv.c (grub_term_input_class): Removed.
19383 (grub_term_output_class): Likewise.
19384
1a064917
RM
193852010-01-09 Robert Millan <rmh.grub@aybabtu.com>
19386
19387 Make loader output a bit more user-friendly.
19388
19389 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
19390 is being loaded. Likewise for the Hurd.
19391
19392 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
19393 that kernel of FreeBSD ${version} is being loaded.
19394
19395 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
19396 grub_dprintf().
19397 (grub_cmd_initrd): Likewise.
19398 * util/grub.d/10_linux.in (linux_entry): Print message indicating
19399 that Linux ${version} is being loaded. Likewise for initrd.
19400
5ce0a83a 194012010-01-09 Carles Pina i Estany <carles@pina.cat>
19402
19403 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
19404
809bbfeb 194052010-01-08 Carles Pina i Estany <carles@pina.cat>
19406
19407 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
19408 (GRUB_MOD_INIT): Gettextizze.
19409 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
19410 (GRUB_MOD_INIT): Gettextizze.
19411 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
19412 (grub_cmd_linux): Capitalise Linux.
19413 (GRUB_MOD_INIT): Gettextizze.
19414 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
19415 (grub_cmd_linux): Capitalise Linux.
19416 (GRUB_MOD_INIT): Gettextizze.
19417 * loader/i386/linux.c: Include `<grub/i18n.h>'.
19418 (grub_cmd_linux): Capitalise Linux.
19419 (GRUB_MOD_INIT): Gettextizze.
19420 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
19421 (GRUB_MOD_INIT): Gettextizze.
19422 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
19423 (grub_cmd_linux): Capitalise Linux.
19424 (GRUB_MOD_INIT): Gettextizze.
19425 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
19426 (grub_cpu_xnu_init): Gettextizze.
19427 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
19428 (GRUB_MOD_INIT): Gettextizze.
19429 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
19430 (GRUB_MOD_INIT): Gettextizze.
19431 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
19432 (grub_linux_load64): Capitalise Linux.
19433 (GRUB_MOD_INIT): Gettextizze.
19434 * loader/xnu.c: Include `<grub/i18n.h>'.
19435 (GRUB_MOD_INIT): Gettextizze.
19436 * po/POTFILES: Add `loader/efi/appleloader.c',
19437 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
19438 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
19439 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
19440 `loader/i386/xnu.c', `loader/multiboot_loader.c',
19441 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
19442 and `loader/xnu.c'.
19443
b394b2ca
RM
194442010-01-08 Robert Millan <rmh.grub@aybabtu.com>
19445
19446 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
19447
194482010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
19449
19450 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
19451 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
19452 * util/mkisofs/mkisofs.c (main): Readjust --version output.
19453
bc8b32b3
RM
194542010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19455
19456 Reset Multiboot 2 support. New loader implements the draft in
19457 /branches/multiboot2 and shares as much code as possible with the
19458 production Multiboot 1 implementation.
19459
19460 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
19461 * loader/multiboot2.c: Likewise.
19462 * loader/i386/multiboot_helper.S: Likewise.
19463 * include/multiboot2.h: Replace with latest version from the draft
19464 in /branches/multiboot2.
19465
19466 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
19467 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
19468 and `loader/multiboot2.c'.
19469 (pkglib_MODULES): Add `multiboot2.mod'.
19470 (multiboot2_mod_SOURCES): New variable.
19471 (multiboot2_mod_LDFLAGS): Likewise.
19472 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
19473
19474 * conf/i386-pc.rmk: Likewise.
19475
19476 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
19477 (multiboot_mod_SOURCES): Remove variable.
19478 (multiboot_mod_LDFLAGS): Likewise.
19479 (multiboot_mod_CFLAGS): Likewise.
19480
19481 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
19482 `<multiboot2.h>' instead of `<multiboot.h>'.
19483 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
19484 (MULTIBOOT_HEADER_MAGIC): New macros.
19485
19486 * loader/multiboot_loader.c (module_version_status): Remove variable.
19487 (find_multi_boot2_header): Remove function.
19488 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
19489 logic. Always check for the Multiboot version we're compiling for.
19490 (grub_cmd_module_loader): Likewise.
19491 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
19492 command instead of `multiboot'.
19493
5d2c52b8
RM
194942010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19495
19496 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
19497 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
19498 all users.
19499
53108d92
RM
195002010-01-07 Robert Millan <rmh.grub@aybabtu.com>
195012010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19502
19503 Fix breakage introduced with previous commit.
19504
19505 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
19506 commands.
19507 * normal/handler.c (read_handler_list): Revert part of previous commit
19508 affecting this file.
19509 * normal/main.c (read_lists): Move read_handler_list() call back to ...
19510 (grub_normal_execute): ... here.
19511
e2e936b2
RM
195122010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19513
19514 Merge prefix-redefinition-fix branch.
19515
19516 * normal/autofs.c (read_fs_list): Make function capable of being
19517 run multiple times, gracefuly replacing the previous data
19518 structures.
19519 * normal/dyncmd.c (read_command_list): Likewise.
19520 * normal/handler.c (read_handler_list): Likewise.
19521 * normal/main.c (read_lists): New function. Calls all the
19522 list reading functions.
19523 (grub_normal_execute): Use read_lists() instead of calling all
19524 list reading functions explicitly. Register read_lists() as a
19525 variable hook attached to ${prefix}.
19526
607a3701
VS
195272010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19528
19529 Merge crypto branch.
19530
19531 * Makefile.in (pkglib_DATA): Add crypto.lst.
19532 (crypto.lst): New target.
19533 * commands/hashsum.c: New file.
19534 * commands/password.c (check_password): Use grub_crypto_memcmp.
19535 * commands/password_pbkdf2.c: New file.
19536 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
19537 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
19538 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
19539 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
19540 -I$(srcdir)/lib/libgcrypt_wrap.
19541 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
19542 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
19543 password_pbkdf2.mod.
19544 (crypto_mod_SOURCES): New variable.
19545 (crypto_mod_CFLAGS): Likewise.
19546 (crypto_mod_LDFLAGS): Likewise.
19547 (hashsum_mod_SOURCES): New variable.
19548 (hashsum_mod_CFLAGS): Likewise.
19549 (hashsum_mod_LDFLAGS): Likewise.
19550 (pbkdf2_mod_SOURCES): New variable.
19551 (pbkdf2_mod_CFLAGS): Likewise.
19552 (pbkdf2_mod_LDFLAGS): Likewise.
19553 (password_pbkdf2_mod_SOURCES): New variable.
19554 (password_pbkdf2_mod_CFLAGS): Likewise.
19555 (password_pbkdf2_mod_LDFLAGS): Likewise.
19556 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
19557 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
19558 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
19559 Include conf/gcry.rmk.
19560 * include/grub/auth.h: Rewritten.
19561 * include/grub/crypto.h: New file.
19562 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
19563 * include/grub/normal.h (read_crypto_list): New prototype.
19564 * lib/crypto.c: New file.
19565 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
19566 * lib/pbkdf2.c: Likewise.
19567 * normal/auth.c (grub_auth_strcmp): Removed.
19568 (grub_iswordseparator): Likewise.
19569 (grub_auth_strword): Likewise.
19570 (is_authenticated): Use grub_strword.
19571 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
19572 and grub_strword. Pass entered password to authentication callback.
19573 * normal/crypto.c: New file.
19574 * normal/main.c: Call read_crypto_list.
19575 * util/grub-mkpasswd-pbkdf2.c: New file.
19576 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
19577
42841caa
VS
195782010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
19579
19580 Fix descent and ascent calculation.
19581
19582 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
19583 (options): New option "asce".
19584 (usage): Likewise.
19585 (add_char): Ignore invalid glyphs for descent calculation.
19586 Calculate ascent from actual content.
19587 (print_glyphs): Use 'asce'.
19588 (write_font): Likewise. Allow ascent override.
19589 (main): Handle "asce" option.
19590
e7730de7 195912010-01-06 Carles Pina i Estany <carles@pina.cat>
19592
19593 * kern/err.c: Include `<grub/i18n.h>'.
19594 (grub_print_error): Add full stop. Gettextizze.
19595 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
19596 (grub_bsd_load_elf): Capitalise ELF.
19597 (grub_cmd_freebsd_loadenv): Add `s' in error string.
19598 (grub_cmd_freebsd_module): Likewise.
19599 (grub_cmd_freebsd_module_elf): Likewise.
19600 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
19601
40e3a41f 196022010-01-06 Carles Pina i Estany <carles@pina.cat>
19603
19604 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
19605 * commands/search_file.c (HELP_MESSAGE): New macro.
19606 * commands/search_label.c (HELP_MESSAGE): Likewise.
19607 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
19608 * po/POTFILES: Add `commands/search_file.c',
19609 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
19610 `commands/search.c'.
19611
83507e68
RM
196122010-01-05 Robert Millan <rmh.grub@aybabtu.com>
19613
19614 * config.rpath: Update from Gnulib.
19615
465c787b
YB
196162010-01-05 Yves Blusseau <blusseau@zetam.org>
19617
19618 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
19619
6581dd3a
YB
196202010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
19621
19622 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
19623
3bff18c5
CW
196242010-01-05 Colin Watson <cjwatson@ubuntu.com>
19625
19626 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
19627 arguments to fread so that we get a return value in bytes, rather
19628 than something that will normally be rounded down to 0.
19629 Adjust error handling to avoid producing garbage when size_t is not
19630 the same size as long long.
19631
a1368118
CW
196322010-01-05 Colin Watson <cjwatson@ubuntu.com>
19633
19634 * util/mkisofs/write.c (padblock_write): Check return value of
19635 fread.
19636
7c302978
RM
196372010-01-05 Robert Millan <rmh.grub@aybabtu.com>
19638
19639 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
19640 floppy images now.
19641
19642 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
19643
e33ace06
RM
196442010-01-04 Robert Millan <rmh.grub@aybabtu.com>
19645
19646 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
19647 instead of manual alignment.
19648 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
19649 verbose). Avoid attempts to read past end of the device
19650 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
19651 but GRUB_DISK_CACHE_SIZE may exceed that).
19652
4b856776
RM
196532010-01-04 Robert Millan <rmh.grub@aybabtu.com>
19654
19655 * commands/crc.c (grub_cmd_crc): Abort on read errors.
19656 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
19657 it to upper layer.
19658
52c2d97f
VS
196592010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19660
19661 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
19662 New constant.
19663 (grub_efi_piwg_device_path): New structure
19664 (grub_efi_piwg_device_path_t): New type.
19665 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
19666 (devpath_1): Transform to a structure. All users updated.
19667 (devpath_2): Likewise.
19668 (devpath_3): Likewise.
19669 (devpath_4): Likewise.
19670 (devpath_5): Likewise.
19671
98ff6a54
VS
196722010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19673
19674 * loader/efi/appleloader.c: Restored. Update all users.
19675
3a73dcb6
RM
196762010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19677
19678 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
19679
19680 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
19681 (struct boot_blocklist): Move from here ...
19682 * include/grub/i386/pc/boot.h [ASM_FILE]
19683 (struct grub_boot_blocklist): ... to here. Update all users.
19684 (setup): Only initialize `start' member of `first_block'
19685 structure. Add assert() calls to verify the other members.
19686
19687 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
19688 (generate_image): Fix broken blocklist length initialization.
19689 Add assert() call to verify blocklist `segment' field.
19690
ab0eeb0c
RM
196912010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19692
19693 * loader/efi/appleloader.c: Remove. Update all users.
19694
58bc8bd5
RM
196952010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19696
19697 * boot/i386/pc/boot.S: Update copyright year.
19698 * boot/i386/pc/cdboot.S: Likewise.
19699 * boot/i386/pc/diskboot.S: Likewise.
19700 * boot/i386/pc/lnxboot.S: Likewise.
19701 * boot/i386/pc/pxeboot.S: Likewise.
19702 * bus/pci.c: Likewise.
19703 * commands/cmp.c: Likewise.
19704 * commands/help.c: Likewise.
19705 * commands/hexdump.c: Likewise.
19706 * commands/i386/pc/halt.c: Likewise.
19707 * commands/i386/pc/play.c: Likewise.
19708 * commands/i386/pc/vbeinfo.c: Likewise.
19709 * commands/ls.c: Likewise.
19710 * commands/test.c: Likewise.
19711 * disk/dmraid_nvidia.c: Likewise.
19712 * disk/i386/pc/biosdisk.c: Likewise.
19713 * disk/ieee1275/nand.c: Likewise.
19714 * disk/ieee1275/ofdisk.c: Likewise.
19715 * disk/lvm.c: Likewise.
19716 * disk/raid.c: Likewise.
19717 * disk/raid6_recover.c: Likewise.
19718 * disk/scsi.c: Likewise.
19719 * fs/affs.c: Likewise.
19720 * fs/cpio.c: Likewise.
19721 * fs/ext2.c: Likewise.
19722 * fs/hfs.c: Likewise.
19723 * fs/iso9660.c: Likewise.
19724 * fs/ntfs.c: Likewise.
19725 * fs/sfs.c: Likewise.
19726 * fs/udf.c: Likewise.
19727 * fs/ufs.c: Likewise.
19728 * fs/xfs.c: Likewise.
19729 * gencmdlist.sh: Likewise.
19730 * genmk.rb: Likewise.
19731 * include/grub/disk.h: Likewise.
19732 * include/grub/efi/api.h: Likewise.
19733 * include/grub/efi/efi.h: Likewise.
19734 * include/grub/efi/pe32.h: Likewise.
19735 * include/grub/elf.h: Likewise.
19736 * include/grub/fs.h: Likewise.
19737 * include/grub/i386/at_keyboard.h: Likewise.
19738 * include/grub/i386/pc/memory.h: Likewise.
19739 * include/grub/i386/pc/vbe.h: Likewise.
19740 * include/grub/i386/pci.h: Likewise.
19741 * include/grub/i386/tsc.h: Likewise.
19742 * include/grub/ieee1275/ieee1275.h: Likewise.
19743 * include/grub/ntfs.h: Likewise.
19744 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
19745 * include/grub/sparc64/libgcc.h: Likewise.
19746 * include/grub/symbol.h: Likewise.
19747 * include/grub/types.h: Likewise.
19748 * include/multiboot2.h: Likewise.
19749 * io/gzio.c: Likewise.
19750 * kern/device.c: Likewise.
19751 * kern/disk.c: Likewise.
19752 * kern/efi/efi.c: Likewise.
19753 * kern/efi/mm.c: Likewise.
19754 * kern/elf.c: Likewise.
19755 * kern/file.c: Likewise.
19756 * kern/i386/dl.c: Likewise.
19757 * kern/i386/pc/init.c: Likewise.
19758 * kern/i386/pc/startup.S: Likewise.
19759 * kern/ieee1275/ieee1275.c: Likewise.
19760 * kern/ieee1275/init.c: Likewise.
19761 * kern/main.c: Likewise.
19762 * kern/mm.c: Likewise.
19763 * kern/powerpc/dl.c: Likewise.
19764 * kern/sparc64/dl.c: Likewise.
19765 * kern/x86_64/dl.c: Likewise.
19766 * lib/hexdump.c: Likewise.
19767 * loader/efi/appleloader.c: Likewise.
19768 * loader/i386/ieee1275/linux.c: Likewise.
19769 * loader/i386/pc/chainloader.c: Likewise.
19770 * loader/i386/pc/linux.c: Likewise.
19771 * loader/i386/pc/multiboot2.c: Likewise.
19772 * loader/ieee1275/multiboot2.c: Likewise.
19773 * loader/multiboot2.c: Likewise.
19774 * loader/multiboot_loader.c: Likewise.
19775 * loader/powerpc/ieee1275/linux.c: Likewise.
19776 * normal/completion.c: Likewise.
19777 * normal/menu_entry.c: Likewise.
19778 * partmap/apple.c: Likewise.
19779 * util/grub.d/10_hurd.in: Likewise.
19780 * util/hostfs.c: Likewise.
19781 * video/readers/png.c: Likewise.
19782
e2d70b5c
CW
197832010-01-03 Colin Watson <cjwatson@ubuntu.com>
19784
19785 * include/grub/misc.h (GNUC_PREREQ): New macro.
19786 (ATTRIBUTE_ERROR): New macro.
19787 * include/grub/list.h (grub_bad_type_cast_real): Use
19788 ATTRIBUTE_ERROR.
19789
a173283f 197902010-01-03 Carles Pina i Estany <carles@pina.cat>
19791
19792 * normal/menu_text.c (print_message): Change messages.
19793
7fa7ff74 197942010-01-03 Carles Pina i Estany <carles@pina.cat>
19795
19796 * normal/menu_entry.c (store_completion): Gettextizze.
19797
136d24f6 197982010-01-03 Carles Pina i Estany <carles@pina.cat>
19799
19800 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
19801
f936862e 198022010-01-03 Carles Pina i Estany <carles@pina.cat>
19803
19804 * po/POTFILES: Sort correctly.
19805
29c44ad1 198062010-01-03 Carles Pina i Estany <carles@pina.cat>
19807
19808 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
19809 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
19810 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
19811 full stop.
19812 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
19813 summary. Gettextizze the strings.
19814 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
19815 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
19816 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
19817 full stop.
19818 (GRUB_MOD_INIT): Remove command name from summary.
19819 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
19820 summary.
19821 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
19822 * term/i386/pc/serial.c (options): Add full stops.
19823 (GRUB_MOD_INIT): Remove command name from the summary.
19824
77a79592 198252010-01-03 Carles Pina i Estany <carles@pina.cat>
19826
19827 * commands/acpi.c: Gettextizze help strings and/or options. Include
19828 `grub/i18n.h' if needed.
19829 * commands/blocklist.c: Likewise.
19830 * commands/boot.c: Likewise.
19831 * commands/cat.c: Likewise.
19832 * commands/cmp.c: Likewise.
19833 * commands/configfile.c: Likewise.
19834 * commands/crc.c: Likewise.
19835 * commands/date.c: Likewise.
19836 * commands/echo.c: Likewise.
19837 * commands/efi/fixvideo.c: Likewise.
19838 * commands/efi/loadbios.c: Likewise.
19839 * commands/gptsync.c: Likewise.
19840 * commands/halt.c: Likewise.
19841 * commands/handler.c: Likewise.
19842 * commands/hdparm.c: Likewise.
19843 * commands/hexdump.c: Likewise.
19844 * commands/i386/cpuid.c: Likewise.
19845 * commands/i386/pc/drivemap.c: Likewise.
19846 * commands/i386/pc/halt.c: Likewise.
19847 * commands/i386/pc/pxecmd.c: Likewise.
19848 * commands/i386/pc/vbeinfo.c: Likewise.
19849 * commands/i386/pc/vbetest.c: Likewise.
19850 * commands/ieee1275/suspend.c: Likewise.
19851 * commands/keystatus.c: Likewise.
19852 * commands/loadenv.c: Likewise.
19853 * commands/ls.c: Likewise.
19854 * commands/lsmmap.c: Likewise.
19855 * commands/lspci.c: Likewise.
19856 * commands/memrw.c: Likewise.
19857 * commands/minicmd.c: Likewise.
19858 * commands/parttool.c: Likewise.
19859 * commands/password.c: Likewise.
19860 * commands/probe.c: Likewise.
19861 * commands/read.c: Likewise.
19862 * commands/reboot.c: Likewise.
19863 * commands/search.c: Likewise.
19864 * commands/sleep.c: Likewise.
19865 * commands/test.c: Likewise.
19866 * commands/true.c: Likewise.
19867 * commands/usbtest.c: Likewise.
19868 * commands/videotest.c: Likewise.
19869 * commands/xnu_uuid.c: Likewise.
19870 * disk/loopback.c: Likewise.
19871 * hello/hello.c: Likewise.
19872 * loader/i386/bsd.c: Likewise.
19873 * term/i386/pc/serial.c: Likewise.
19874 * po/POTFILES: Add new files.
19875
da8d5c53
CW
198762010-01-02 Colin Watson <cjwatson@ubuntu.com>
19877
19878 * term/i386/pc/at_keyboard.c
19879 (keyboard_controller_wait_untill_ready): Rename to ...
19880 (keyboard_controller_wait_until_ready): ... this. Update all users.
19881
33937904 198822010-01-01 Carles Pina i Estany <carles@pina.cat>
19883
19884 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
19885 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
19886 string using string width.
19887 * normal/menu_text.c (grub_print_message_indented): Use
19888 grub_print_spaces and not print_spaces.
19889 (print_timeout): Likewise.
19890 (print_spaces): Move to...
19891 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
19892
3fd3b8d8
RM
198932010-01-01 Robert Millan <rmh.grub@aybabtu.com>
19894
19895 Import from Gnulib.
19896
19897 * gnulib/getdelim.c: New file.
19898 * gnulib/getline.c: Likewise.
19899
33433555
VS
199002009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
19901
19902 * include/grub/list.h (grub_assert_fail): Removed.
19903 (grub_bad_type_cast_real): New function.
19904 (grub_bad_type_cast): New macro.
19905 (GRUB_AS_LIST): Use grub_bad_type_cast.
19906 (GRUB_AS_LIST_P): Likewise.
e44721e8 19907 (GRUB_AS_NAMED_LIST): Likewise.
33433555 19908 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 19909 (GRUB_AS_PRIO_LIST): Likewise.
33433555 19910 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 19911 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 19912
f5a51306
VS
199132009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
19914
19915 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
19916 Fix syntax error.
19917
90d1e879
RM
199182009-12-29 Robert Millan <rmh.grub@aybabtu.com>
19919
19920 * configure.ac: Check for TARGET_CFLAGS initialization before we
19921 initialize it ourselves (sigh).
19922 Move a few modifications to TARGET_CFLAGS to be unconditional
19923 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
19924 eh_frame)
19925
19926 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
19927 * term/i386/pc/at_keyboard.c
19928 (keyboard_controller_wait_untill_ready): Likewise.
19929 (keyboard_controller_led): Rename `led_status' paramter to avoid
19930 name conflict.
19931
465b5a81 199322009-12-28 Carles Pina i Estany <carles@pina.cat>
19933
19934 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
19935 quotes.
19936
c181849b
VS
199372009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19938
19939 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
19940
9c8739a4
VS
199412009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19942
19943 * normal/menu_text.c (grub_print_message_indented): Prevent
19944 past-the-end-of-array dereference.
19945
3e74249c
VS
199462009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19947
19948 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
19949 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
19950
64fd18ed 199512009-12-27 Carles Pina i Estany <carles@pina.cat>
19952
19953 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
19954 * normal/main.c (grub_normal_read_line): Remove a space from the
19955 default prompt.
19956
714af9b9 199572009-12-27 Carles Pina i Estany <carles@pina.cat>
19958
19959 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
19960 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19961 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
19962 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
19963 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19964 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19965 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
19966
82f3e412 199672009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 19968
19969 * video/readers/jpeg.c (cmd): Declare.
19970 (grub_cmd_jpegtest): Use `grub_command_t' type.
19971 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
19972 Assign to `cmd'.
19973 (GRUB_MOD_FINI): Use `cmd' to unregister.
19974 * video/readers/png.c (cmd): Declare.
19975 (grub_cmd_pngtest): Use `grub_command_t' type.
19976 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
19977 Assign to `cmd'.
19978 (GRUB_MOD_FINI): Use `cmd' to unregister.
19979 * video/readers/tga.c (cmd): Declare.
19980 (grub_cmd_tgatest): Use `grub_command_t' type.
19981 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
19982 Assign to `cmd'.
19983 (GRUB_MOD_FINI): Use `cmd' to unregister.
19984
82f3e412 199852009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 19986
19987 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
19988 stops.
19989 * kern/corecmd.c (grub_register_core_commands): Likewise.
19990 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
19991 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
19992 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
19993 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19994 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
19995 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
19996 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
19997 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
19998 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19999 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20000 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
20001 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20002 * normal/handler.c (insert_handler): Likewise.
20003 * normal/main.c (GRUB_MOD_INIT): Likewise.
20004 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
20005
fdcdbb66 200062009-12-26 Carles Pina i Estany <carles@pina.cat>
20007
20008 * commands/help.c (grub_cmd_help): Print the command name before the
20009 summary.
20010 (GRUB_MOD_INIT): Remove command name from the summary.
20011 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 20012 string as summary.
fdcdbb66 20013 * lib/arg.c (find_long): Print the command name before the summary.
20014 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
20015 summary.
20016 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
20017 * commands/cat.c (GRUB_MOD_INIT): Likewise.
20018 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
20019 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
20020 * commands/crc.c (GRUB_MOD_INIT): Likewise.
20021 * commands/date.c (GRUB_MOD_INIT): Likewise.
20022 * commands/echo.c (GRUB_MOD_INIT): Likewise.
20023 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
20024 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
20025 * commands/handler.c (GRUB_MOD_INIT): Likewise.
20026 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
20027 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
20028 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
20029 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
20030 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
20031 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
20032 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
20033 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
20034 * commands/ls.c (GRUB_MOD_INIT): Likewise.
20035 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
20036 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
20037 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
20038 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
20039 * commands/password.c (GRUB_MOD_INIT): Likewise.
20040 * commands/probe.c (GRUB_MOD_INIT): Likewise.
20041 * commands/read.c (GRUB_MOD_INIT): Likewise.
20042 * commands/search.c (GRUB_MOD_INIT): Likewise.
20043 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
20044 * commands/test.c (GRUB_MOD_INIT): Likewise.
20045 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
20046 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
20047 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
20048 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
20049 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
20050 * lib/arg.c (GRUB_MOD_INIT): Likewise.
20051 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
20052 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
20053 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
20054 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20055 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
20056 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
20057 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
20058 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
20059
9c288be2
VS
200602009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20061
20062 Use search command for preliminar UUID search.
20063
20064 * commands/search.c: Split into ...
20065 * commands/search_wrap.c: ...this
20066 * commands/search.c: ...and this.
20067 * commands/search_file.c: New file.
20068 * commands/search_label.c: New file.
20069 * commands/search_uuid.c: New file.
20070 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
20071 Add commands/search_wrap.c, commands/search_file.c,
20072 commands/search_label.c and commands/search_uuid.c.
20073 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
20074 (search_mod_SOURCES): Set to commands/search_wrap.c.
20075 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
20076 search_label.mod.
20077 (search_fs_file_mod_SOURCES): New variable.
20078 (search_fs_file_mod_CFLAGS): Likewise.
20079 (search_fs_file_mod_LDFLAGS): Likewise.
20080 (search_label_mod_SOURCES): Likewise.
20081 (search_label_mod_CFLAGS): Likewise.
20082 (search_label_mod_LDFLAGS): Likewise.
20083 (search_fs_uuid_mod_SOURCES): New variable.
20084 (search_fs_uuid_mod_CFLAGS): Likewise.
20085 (search_fs_uuid_mod_LDFLAGS): Likewise.
20086 (fs_file_mod_SOURCES): Removed.
20087 (fs_file_mod_CFLAGS): Likewise.
20088 (fs_file_mod_LDFLAGS): Likewise.
20089 (fs_uuid_mod_SOURCES): Removed.
20090 (fs_uuid_mod_CFLAGS): Likewise.
20091 (fs_uuid_mod_LDFLAGS): Likewise.
20092 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
20093 Set to util/grub-install.in.
20094 * disk/fs_file.c: Removed.
20095 * disk/fs_uuid.c: Likewise.
20096 * include/grub/search.h: New file.
20097 * util/grub-install.in: Handle sparc64.
20098 Create and use load.cfg.
20099 * util/sparc64/ieee1275/grub-install.in: Removed.
20100
db943399
VS
201012009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20102
20103 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
20104 Ignore return status if CF is cleared.
20105 (grub_biosdisk_get_diskinfo_standard): Likewise.
20106
3fdae612
RM
201072009-12-25 Robert Millan <rmh.grub@aybabtu.com>
20108
20109 * term/i386/pc/at_keyboard.c
20110 (keyboard_controller_wait_untill_ready): New function.
20111 (grub_keyboard_controller_write, grub_keyboard_controller_read)
20112 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
20113 for keyboard polling, rather than duplicate the same loop. This
20114 saves a few bytes in code size.
20115
7ebaa2b4
VS
201162009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20117
20118 Support for (pxe[:server[:gateway]]) syntax and
20119 use environment variable for PXE.
20120
20121 * commands/i386/pc/pxecmd.c (options): Removed.
20122 (print_ip): Removed.
20123 (grub_cmd_pxe): Removed
20124 (grub_cmd_pxe_unload): New function.
20125 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
20126 (grub_pxe_your_ip): Made static.
20127 (grub_pxe_default_server_ip): Likewise.
20128 (grub_pxe_default_gateway_ip): Likewise.
20129 (grub_pxe_blksize): Likewise.
20130 (parse_ip): New function.
20131 (grub_pxe_open): Support server and gateway specification.
20132 (grub_pxe_close): Free disk->data.
20133 (grub_pxefs_open): Use disk->data.
20134 (grub_pxefs_read): Likewise.
20135 (grub_env_write_readonly): New function.
20136 (set_mac_env): Likewise.
20137 (set_env_limn_ro): Likewise.
20138 (parse_dhcp_vendor): Likewise.
20139 (grub_pxe_detect): Set the environment variables.
20140 (set_ip_env): New function.
20141 (write_ip_env): Likewise.
20142 (grub_env_write_pxe_default_server): Likewise.
20143 (grub_env_write_pxe_default_gateway): Likewise.
20144 (grub_env_write_pxe_blocksize): Likewise.
20145 (GRUB_MOD_INIT(pxe)): Set environment variables.
20146 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
20147 (grub_pxe_mac_addr_t): ... this. All users updated.
20148 (grub_pxe_your_ip): Removed.
20149 (grub_pxe_server_ip): Likewise.
20150 (grub_pxe_gateway_ip): Likewise.
20151 (grub_pxe_blksize): Likewise.
20152
ec5f98ab 201532009-12-25 Carles Pina i Estany <carles@pina.cat>
20154
20155 * commands/help.c: Include `<grub/i18n.h>'.
20156 (grub_cmd_help): Gettextizze.
20157 (GRUB_MOD_INIT): Likewise.
20158 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
20159 (GRUB_MOD_INIT): Gettextizze.
20160 * commands/search.c: Include `<grub/i18n.h>'.
20161 (options): Gettextizze.
20162 (GRUB_MOD_INIT): Gettextizze.
20163 * lib/arg.c: Include `<grub/i18n.h>'.
20164 (help_options): Gettextizze.
20165 (find_long): Likewise.
20166 (grub_arg_show_help): Likewise.
20167 * normal/dyncmd.c: Include `<grub/i18n.h>'.
20168 (read_command_list): Gettextizze.
20169 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 20170 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 20171
22815526
RM
201722009-12-25 Robert Millan <rmh.grub@aybabtu.com>
20173
20174 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
20175 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
20176 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
20177 (led_status): New variable.
20178 (keyboard_controller_led): New function.
20179 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
20180 update led status for caps lock, num lock and scroll lock.
20181
0ad46fd7
FZ
201822009-12-25 Felix Zielcke <fzielcke@z-51.de>
20183
20184 * util/hostdisk.c (open_device): Fix a comment.
20185
d0e158c2
RM
201862009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20187
20188 * util/grub-install.in (host_os): New variable.
20189 * util/i386/efi/grub-install.in (host_os): Likewise.
20190
401c0ad6
RM
201912009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20192
20193 * util/mkisofs/write.c (padblock_write): Abort when given an
20194 excedingly large embed image, instead of silently truncating it.
20195
d14d3370
RM
201962009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20197
20198 * include/multiboot.h: Indentation fixes.
20199
eeed10b4
RM
202002009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20201
20202 * include/multiboot.h (struct multiboot_aout_symbol_table)
20203 (struct multiboot_elf_section_header_table): New structure
20204 declarations (stolen from GRUB Legacy).
20205 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
20206 table information.
20207
20208 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
20209 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
20210 type aliases.
20211
681c70ab
RM
202122009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20213
20214 * include/multiboot.h: Make comments src2texi-friendly.
20215
e4d47d8d
RM
202162009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20217
20218 For consistency with [multiboot]/docs/boot.S.
20219
20220 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
20221 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
20222 (MULTIBOOT_MAGIC2): Rename from this ...
20223 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
20224
a0b70bda
RM
202252009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20226
20227 * include/multiboot.h: Remove `<grub/types.h>'.
20228 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
20229 types. Update all users.
20230
61ba42be 202312009-12-25 Carles Pina i Estany <carles@pina.cat>
20232
20233 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
20234 `couldn't' and `can not' by `cannot'.
20235 * commands/i386/pc/drivemap.c: Likewise.
20236 * disk/ata.c: Likewise.
20237 * disk/ieee1275/nand.c: Likewise.
20238 * fs/affs.c: Likewise.
20239 * fs/fat.c: Likewise.
20240 * fs/hfs.c: Likewise.
20241 * fs/hfsplus.c: Likewise.
20242 * fs/iso9660.c: Likewise.
20243 * fs/jfs.c: Likewise.
20244 * fs/minix.c: Likewise.
20245 * fs/reiserfs.c: Likewise.
20246 * fs/sfs.c: Likewise.
20247 * fs/udf.c: Likewise.
20248 * fs/ufs.c: Likewise.
20249 * fs/xfs.c: Likewise.
20250 * loader/powerpc/ieee1275/linux.c: Likewise.
20251 * loader/sparc64/ieee1275/linux.c: Likewise.
20252 * util/grub-probe.c: Likewise.
20253 * util/misc.c: Likewise.
20254
7fd0baee 202552009-12-24 Carles Pina i Estany <carles@pina.cat>
20256
20257 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
20258 grub_errno calls.
20259 * commands/acpi.c: Likewise.
20260 * commands/blocklist.c: Likewise.
20261 * commands/efi/loadbios.c: Likewise.
20262 * commands/i386/pc/drivemap.c: Likewise.
20263 * commands/loadenv.c: Likewise.
20264 * commands/memrw.c: Likewise.
20265 * commands/password.c: Likewise.
20266 * commands/videotest.c: Likewise.
20267 * disk/ata.c: Likewise.
20268 * disk/ata_pthru.c: Likewise.
20269 * disk/dmraid_nvidia.c: Likewise.
20270 * disk/ieee1275/nand.c: Likewise.
20271 * disk/ieee1275/ofdisk.c: Likewise.
20272 * disk/loopback.c: Likewise.
20273 * disk/lvm.c: Likewise.
20274 * disk/mdraid_linux.c: Likewise.
20275 * disk/raid.c: Likewise.
20276 * disk/raid6_recover.c: Likewise.
20277 * disk/scsi.c: Likewise.
20278 * efiemu/main.c: Likewise.
20279 * efiemu/mm.c: Likewise.
20280 * efiemu/pnvram.c: Likewise.
20281 * efiemu/symbols.c: Likewise.
20282 * font/font.c: Likewise.
20283 * fs/cpio.c: Likewise.
20284 * fs/hfsplus.c: Likewise.
20285 * fs/iso9660.c: Likewise.
20286 * fs/jfs.c: Likewise.
20287 * fs/minix.c: Likewise.
20288 * fs/ntfs.c: Likewise.
20289 * fs/ntfscomp.c: Likewise.
20290 * fs/reiserfs.c: Likewise.
20291 * fs/ufs.c: Likewise.
20292 * fs/xfs.c: Likewise.
20293 * gettext/gettext.c: Likewise.
20294 * include/grub/auth.h: Likewise.
20295 * kern/elf.c: Likewise.
20296 * kern/file.c: Likewise.
20297 * kern/ieee1275/init.c: Likewise.
20298 * kern/ieee1275/mmap.c: Likewise.
20299 * kern/ieee1275/openfw.c: Likewise.
20300 * kern/powerpc/dl.c: Likewise.
20301 * kern/sparc64/dl.c: Likewise.
20302 * lib/arg.c: Likewise.
20303 * loader/i386/bsd.c: Likewise.
20304 * loader/i386/bsdXX.c: Likewise.
20305 * loader/i386/efi/linux.c: Likewise.
20306 * loader/i386/efi/xnu.c: Likewise.
20307 * loader/i386/ieee1275/linux.c: Likewise.
20308 * loader/i386/linux.c: Likewise.
20309 * loader/i386/multiboot.c: Likewise.
20310 * loader/i386/pc/linux.c: Likewise.
20311 * loader/i386/pc/multiboot2.c: Likewise.
20312 * loader/i386/xnu.c: Likewise.
20313 * loader/ieee1275/multiboot2.c: Likewise.
20314 * loader/macho.c: Likewise.
20315 * loader/machoXX.c: Likewise.
20316 * loader/multiboot2.c: Likewise.
20317 * loader/multiboot_loader.c: Likewise.
20318 * loader/powerpc/ieee1275/linux.c: Likewise.
20319 * loader/sparc64/ieee1275/linux.c: Likewise.
20320 * loader/xnu.c: Likewise.
20321 * loader/xnu_resume.c: Likewise.
20322 * mmap/i386/pc/mmap.c: Likewise.
20323 * normal/menu_viewer.c: Likewise.
20324 * partmap/acorn.c: Likewise.
20325 * partmap/amiga.c: Likewise.
20326 * partmap/apple.c: Likewise.
20327 * script/lexer.c: Likewise.
20328 * term/gfxterm.c: Likewise.
20329 * term/i386/pc/serial.c: Likewise.
20330 * term/i386/pc/vga.c: Likewise.
20331 * term/ieee1275/ofconsole.c: Likewise.
20332 * term/terminfo.c: Likewise.
20333 * video/bitmap.c: Likewise.
20334 * video/efi_gop.c: Likewise.
20335 * video/efi_uga.c: Likewise.
20336 * video/fb/video_fb.c: Likewise.
20337 * video/i386/pc/vbe.c: Likewise.
20338 * video/readers/tga.c: Likewise.
20339 * video/video.c: Likewise.
20340
0ad46fd7 203412009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
20342
20343 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
20344 * commands/lspci.c: Likewise.
20345 * commands/probe.c: Likewise.
20346 * commands/xnu_uuid.c: Likewise.
20347 * conf/i386-coreboot.rmk: Likewise.
20348 * conf/i386-efi.rmk: Likewise.
20349 * conf/i386-ieee1275.rmk: Likewise.
20350 * conf/i386-pc.rmk: Likewise.
20351 * conf/powerpc-ieee1275.rmk: Likewise.
20352 * conf/sparc64-ieee1275.rmk: Likewise.
20353 * conf/x86_64-efi.rmk: Likewise.
20354 * fs/i386/pc/pxe.c: Likewise.
20355 * gettext/gettext.c: Likewise.
20356 * include/grub/efi/graphics_output.h: Likewise.
20357 * include/grub/i386/pc/memory.h: Likewise.
20358 * kern/env.c: Likewise.
20359 * kern/i386/qemu/startup.S: Likewise.
20360 * lib/i386/pc/biosnum.c: Likewise.
20361 * lib/i386/relocator.c: Likewise.
20362 * lib/i386/relocator_asm.S: Likewise.
20363 * lib/relocator.c: Likewise.
20364 * loader/i386/bsd.c: Likewise.
20365 * loader/i386/multiboot.c: Likewise.
20366 * loader/i386/pc/chainloader.c: Likewise.
20367 * loader/i386/xnu.c: Likewise.
20368 * loader/xnu.c: Likewise.
20369 * normal/main.c: Likewise.
20370 * normal/menu_text.c: Likewise.
20371 * util/getroot.c: Likewise.
20372 * util/grub-mkconfig_lib.in: Likewise.
20373 * util/grub.d/00_header.in: Likewise.
20374 * util/i386/pc/grub-mkimage.c: Likewise.
20375 * util/mkisofs/eltorito.c: Likewise.
20376 * util/mkisofs/exclude.h: Likewise.
20377 * util/mkisofs/hash.c: Likewise.
20378 * util/mkisofs/iso9660.h: Likewise.
20379 * util/mkisofs/joliet.c: Likewise.
20380 * util/mkisofs/mkisofs.c: Likewise.
20381 * util/mkisofs/mkisofs.h: Likewise.
20382 * util/mkisofs/multi.c: Likewise.
20383 * util/mkisofs/name.c: Likewise.
20384 * util/mkisofs/rock.c: Likewise.
20385 * util/mkisofs/tree.c: Likewise.
20386 * util/mkisofs/write.c: Likewise.
20387 * video/efi_gop.c: Likewise.
20388
009ec743
VS
203892009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
20390
20391 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
20392 size counting.
20393
0ad46fd7 203942009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
20395
20396 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
20397 * genmk.rb (class SCRIPT): Modify the target file instead of source.
20398
d3d30ea0
VS
203992009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20400
20401 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
20402 (GRUB_MOD_INIT(memrw)): Update help line.
20403
a34f5c70
VS
204042009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20405
20406 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
20407 Use grub_extcmd_t. All users updated.
20408 (options): New variable.
20409 (grub_cmd_read): Restructure for readability. Support "-v" option.
20410 (grub_cmd_write): Restructure for readability.
20411
0ad46fd7 204122009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
20413
20414 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
20415
0ad46fd7 204162009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
20417
20418 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
20419 with the actual contents of the correspondending make variable.
20420 * util/grub-mkrescue.in (pkglib_DATA): New variable.
20421 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
20422 specifying `*.lst' and `efiemu??.o'
20423
0ad46fd7 204242009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
20425
20426 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
20427 after function name.
20428 Noticed by Rene Engelhard <rene@debian.org>.
20429
dc77a799
VS
204302009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20431
20432 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
20433 (options): New variable.
20434 (iospace): Likewise.
20435 (grub_lspci_iter): List IO spaces if "-i" was given.
20436 (grub_cmd_lspci): Parse options.
20437 (GRUB_MOD_INIT(lspci)): Use extcmd.
20438 (GRUB_MOD_FINI(lspci)): Likewise.
20439
0ad46fd7 204402009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
20441
20442 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
20443 `function' keyword.
20444 Patch by Tony Mancill <tmancill@debian.org>.
20445
b5d5993b
VS
204462009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20447
20448 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
20449 (grub_uhci_portstatus): Likewise.
20450 (grub_uhci_portstatus): Add necessary delay.
11d18281 20451 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 20452
941903f2 204532009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 20454
941903f2 20455 * commands/acpi.c (options): Fix capitalizations and/or full stops.
20456 (GRUB_MOD_INIT): Likewise.
20457 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 20458 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
20459 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 20460 * commands/efi/loadbios.c (enable_rom_area): Likewise.
20461 (enable_rom_area): Likewise.
20462 (GRUB_MOD_INIT): Likewise.
20463 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
20464 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
20465 * commands/handler.c (GRUB_MOD_INIT): Likewise.
20466 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
20467 * commands/hexdump.c (options): Likewise.
20468 * commands/i386/cpuid.c (options): Likewise.
20469 (GRUB_MOD_INIT): Likewise.
20470 * commands/i386/pc/drivemap.c (options): Likewise.
20471 (GRUB_MOD_INIT): Likewise.
20472 * commands/i386/pc/halt (options): Likewise.
20473 (GRUB_MOD_INIT): Likewise.
20474 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
20475 * commands/i386/pc/pxecmd.c (options): Likewise.
20476 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
20477 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
20478 * commands/keystatus.c (options): Likewise.
20479 (GRUB_MOD_INIT): Likewise.
20480 * commands/loadenv.c (options): Likewise.
20481 * commands/ls.c (options): Likewise.
20482 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
20483 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
20484 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
20485 * commands/parttool.c (helpmsg): Likewise.
20486 * commands/probe.c (options): Likewise.
20487 * commands/read.c (GRUB_MOD_INIT): Likewise.
20488 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
20489 * commands/search.c (options): Likewise.
20490 * commands/sleep.c (options): Likewise.
20491 * commands/test.c (GRUB_MOD_INIT): Likewise.
20492 * commands/true.c (GRUB_MOD_INIT): Likewise.
20493 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
20494 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
20495 * lib/arg.c (help_options): Likewise.
e9bbb4e7 20496 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
20497 `$(XGETTEXT)'.
98a50553 20498 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 20499
0ad46fd7 205002009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 20501
ef3c2c3a 20502 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
20503 instead of specifying them explicit.
20504
7922f68b
RM
205052009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20506
20507 * NEWS: Add grub-probe support for GNU/Hurd.
20508
537ce47f
RM
205092009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20510
20511 * NEWS: gettext was added after 1.97.
20512
9b214e3a
RM
205132009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20514
20515 * util/mkisofs/msdos_partition.h: New file (based on
20516 include/grub/msdos_partition.h).
20517 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
20518 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
20519 (ld_options, main): Recognize --protective-msdos-label.
20520 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
20521 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
20522 (padblock_write): If `use_protective_msdos_label' is set, patch a
20523 protective DOS-style label in the output image.
20524
20525 * util/grub-mkrescue.in: Use --protective-msdos-label.
20526
e9309813
RM
205272009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20528
20529 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
20530 boot.
20531
0ae56929
RM
205322009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20533
20534 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
20535 variables.
20536 (ld_options, main): Recognize `--embedded-boot'.
20537 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
20538 declarations.
20539 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
20540 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
20541 (padblock_write): Likewise. Rewrite to support embedded boot image.
20542
20543 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
20544 for BIOS-based disk boot instead of only ElTorito.
20545
b15937b1
RM
205462009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20547
20548 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
20549 build (not needed for bootstrap).
20550
52cc3ce0
RM
205512009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20552
20553 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
20554 from i386-pc build (not needed for bootstrap).
20555 Rewrite a pair of strings.
20556
36f5ff04
RM
205572009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20558
20559 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
20560
973c6c85 205612009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
20562
20563 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
20564
05d21547
AB
205652009-12-21 Andreas Born <futur.andy@googlemail.com>
20566
20567 * kern/env.c (grub_env_context_open): Mark exported variable for
20568 reexport.
20569
0175d51f
AB
205702009-12-21 Andreas Born <futur.andy@googlemail.com>
20571
20572 * kern/env.c (grub_env_export): Create nonexistent variables before
20573 exporting.
20574
7f39d92f 205752009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 20576
7f39d92f 20577 * include/grub/auth.h: Include `<grub/i18n.h>'.
20578 (GRUB_GET_PASSWORD): Gettextizze string.
20579 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
20580 menu_text.c.
20581 (grub_utf8_to_ucs4_alloc): Fix indentation.
20582 (grub_print_ucs4): Likewise.
20583 (grub_getstringwidth): Likewise.
20584 (print_message_indented): New declaration.
20585 * normal/auth.c: Include `<grub/i18n.h>'.
20586 (grub_auth_check_authentication): Gettexttize string.
20587 * normal/cmdline.c: Include `<grub/i18n.h>'.
20588 (grub_cmdline_get): Gettextizze.
20589 * normal/color.c: Include `<grub/i18n.h>'.
20590 (grub_parse_color_name_pair): Gettexttize strings.
20591 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
20592 string (use `print_message_indented').
20593 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
20594 `include/grub/normal.h'.
20595 (print_message_indented): Renamed to ...
20596 (grub_print_message_indented): ... this. Remove `static' qualifer (now
20597 used in normal/main.c).
20598 (print_message): Use `grub_print_message_indented' instead of
20599 `print_message_indented'.
20600 (print_timeout): Likewise.
20601 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
20602 (grub_normal_print_device_info): Gettexttize strings.
20603 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
20604
3041d898
VS
206052009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20606
20607 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
20608 of arguments. Return number of tokens and not arguments. All users
20609 updated.
20610
de15bf8e
VS
206112009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20612
20613 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
20614 non-MSDOS paritions.
20615
e0a6ca52
VS
206162009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20617
20618 * include/grub/types.h (UNUSED): Removed since it conflicts with
20619 NetBSD headers. All users changed to direct __attribute__ ((unused)).
20620 Reported by Grégoire Sutre.
20621
b99518d1 206222009-12-19 Carles Pina i Estany <carles@pina.cat>
20623
20624 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
20625 (grub_print_ucs4_alloc): Likewise.
20626 (grub_getstringwidth): Likewise.
20627 * normal/main.c (grub_normal_init_page): Gettextize version string.
20628 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
20629 (getstringwidth): Renamed to ...
20630 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
20631 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
20632 (grub_print_ucs4): Remove `static' qualifer (now used in
20633 normal/main.c).
20634 * po/POTFILES: Add normal/main.c.
20635
bfd5e52b 206362009-12-19 Carles Pina i Estany <carles@pina.cat>
20637
20638 * normal/menu_text.c (STANDARD_MARGIN): New macro.
20639 (print_message_indented): Add `margin_left' and `margin_right'
20640 parameters.
20641 (print_message): Update `print_message_indented' calls. Adds '\n' to the
20642 strings.
20643 (print_timeout): Use `print_message_indented' to print the message.
20644 Deletes `second_stage' parameter.
20645 (run_menu): Update `print_timeout' calls.
20646
5a1ad2b9
VS
206472009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20648
20649 Fix console palette on OpenFirmware.
20650
20651 * term/ieee1275/ofconsole.c (MAX): Removed.
20652 (colors): Redone based on VGA palette.
20653 (grub_ofconsole_setcolor): Discard brightness bit since only 8
20654 colors are supported.
20655 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
20656
b045f00a
VS
206572009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20658
20659 Fix potential EfiEmu double prepare.
20660
20661 * efiemu/main.c (prepared): New variable
20662 (grub_efiemu_unload): Set prepare to '0'.
20663 (grub_efiemu_prepare): Return if already prepared. Set prepared.
20664
20665 set_virtual_address_map support.
20666
20667 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
20668 prototype.
20669 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
20670 prototype.
20671 (grub_efiemu_crc32): Likewise.
20672 (grub_efiemu_crc64): Likewise.
20673 (grub_efiemu_set_virtual_address_map): Likewise.
20674 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
20675 New definition.
20676 (grub_autoefi_set_virtual_address_map): Likewise.
20677 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
20678 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
20679 Restructure flow to accomodate it.
20680 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
20681 (grub_efiemu_crc): Recompute CRC32.
20682 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
20683 (efiemu_ptv_relocated): ... this. Made global. All users updated.
20684 * efiemu/symbols.c (relocated_handle): New variable.
20685 (grub_efiemu_free_syms): Free relocated_handle.
20686 (grub_efiemu_alloc_syms): Allocate relocated_handle.
20687 (grub_efiemu_write_sym_markers): New function.
20688 (grub_efiemu_set_virtual_address_map): Likewise.
20689
20690 Newer XNU parameters.
20691
20692 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
20693 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
20694 (grub_xnu_fill_devicetree): New prototype.
20695 (grub_xnu_heap_real_start): New variable.
20696 * loader/xnu.c (get_name_ptr): New function.
20697 (grub_xnu_load_driver): Fill namelen and name.
20698
20699 64-bit xnu support.
20700
20701 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
20702 and 'loader/macho64.c'.
20703 * conf/i386-pc.rmk: Likewise.
20704 * conf/x86_64-efi.rmk: Likewise.
20705 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
20706 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
20707 * include/grub/macho.h (grub_macho_segment64): New structure.
20708 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
20709 (grub_macho_size32): ... to this.
20710 (grub_macho32_get_entry_point): Renamed from ...
20711 (grub_macho_get_entry_point32): ... to this.
20712 (grub_macho_contains_macho64): New prototype.
20713 (grub_macho_size64): Likewise.
20714 (grub_macho_get_entry_point64): Likewise.
20715 (grub_macho32_load): Renamed from ...
20716 (grub_macho_load32): ... to this.
20717 (grub_macho32_filesize): Renamed from ...
20718 (grub_macho_filesize32): ... to this.
20719 (grub_macho32_readfile): Renamed from ...
20720 (grub_macho_readfile32): ... to this.
20721 (grub_macho_filesize64): New prototype.
20722 (grub_macho_readfile64): Likewise.
20723 (grub_macho_parse32): Likewise.
20724 (grub_macho_parse64): Likewise.
20725 * loader/macho.c: Split into ...
20726 * loader/machoXX.c: ... and this. Replace 32 with XX.
20727 * loader/macho32.c: New file.
20728 * loader/macho64.c: Likewise.
20729 * loader/xnu.c (grub_xnu_is_64bit): New variable.
20730 (grub_cmd_xnu_kernel): Make 32-bit only.
20731 (grub_cmd_xnu_kernel64): New function.
20732 (grub_xnu_load_driver): Support Mach-O 64.
20733 (grub_cmd_xnu_mkext): Likewise.
20734 * util/grub.d/30_os-prober.in (osx_entry): New function.
20735 Generate entries for 64-bit boot too.
20736
20737 Eliminate ad-hoc tree format in XNU and EfiEmu.
20738
20739 * efiemu/main.c (grub_efiemu_prepare): Update comment.
20740 * efiemu/pnvram.c: Rewritten to use environment variables.
20741 All users updated.
20742
20743 Inline utf16_to_utf8.
20744
20745 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
20746 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
20747 All users updated.
20748 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
20749
20750 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
20751 * commands/usbtest.c (grub_usb_get_string): ... move here.
20752 (usb_print_str): Fix error handling.
20753 * include/grub/usb.h (grub_usb_get_string): Remove.
20754
20755 UTF-8 to UTF-16 transformation.
20756
20757 * conf/common.rmk (pkglib_MODULES): Add charset.mod
20758 (charset_mod_SOURCES): New variable.
20759 (charset_mod_CFLAGS): Likewise.
20760 (charset_mod_LDFLAGS): Likewise.
20761 * include/grub/utf.h: New file.
20762 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
20763
20764 Support for device properties.
20765
20766 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
20767 (grub_xnu_devprop_device_header): Likewise.
20768 (grub_xnu_devprop_device_descriptor): Likewise.
20769 (grub_xnu_devprop_add_device): New prototype.
20770 (grub_xnu_devprop_remove_device): Likewise.
20771 (grub_xnu_devprop_remove_property): Likewise.
20772 (grub_xnu_devprop_add_property_utf8): Likewise.
20773 (grub_xnu_devprop_add_property_utf16): Likewise.
20774 (grub_cpu_xnu_init): Likewise.
20775 (grub_cpu_xnu_fini): Likewise.
20776 (grub_cpu_xnu_unload): Likewise.
20777 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
20778 (property_descriptor): Likewise.
20779 (devices): New variable.
20780 (grub_xnu_devprop_remove_property): New function.
20781 (grub_xnu_devprop_add_device): Likewise.
20782 (grub_xnu_devprop_remove_device): Likewise.
20783 (grub_xnu_devprop_add_property): Likewise.
20784 (grub_xnu_devprop_add_property_utf8): Likewise.
20785 (grub_xnu_devprop_add_property_utf16): Likewise.
20786 (hextoval): Likewise.
20787 (grub_cpu_xnu_fill_devprop): Likewise.
20788 (grub_cmd_devprop_load): Likewise.
20789 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
20790 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
20791 (cmd_devprop_load): New variable.
20792 (grub_cpu_xnu_init): New function.
20793 (grub_cpu_xnu_fini): Likewise.
20794 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
20795 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
20796 (grub_cmd_xnu_devtree): Likewise.
20797 (hextoval): New function.
20798 (unescape): Likewise.
20799 (grub_xnu_fill_devicetree): Likewise.
20800
20801 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
20802 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
20803
0945f181
VS
208042009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20805
20806 Workaround for broken ATI VBE.
20807
20808 * video/i386/pc/vbe.c (last_set_mode): New variable.
20809 (grub_vbe_set_video_mode): Set 'last_set_mode'.
20810 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
20811 (grub_video_vbe_setup): Don't check for reserved flag.
20812
0ad46fd7 208132009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
20814
20815 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
20816 the `find' command.
20817
c179ebe4
VS
208182009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
20819
20820 UUID support for HFS.
20821
20822 * fs/hfs.c (grub_hfs_uuid): New function.
20823 (grub_hfs_fs): New value .uuid.
20824 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
20825
0ad46fd7 208262009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
20827
20828 Fix a segfault with parsing unknown long options.
20829
20830 * util/grub-mkrelpath.c (options): Zero terminate it.
20831
c4a3e41a
CPE
208322009-12-13 Carles Pina i Estany <carles@pina.cat>
20833
20834 * include/grub/misc.h (grub_puts): New declaration.
20835 (grub_puts_): Likewise.
a22008a6 20836 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
20837 (grub_puts_): Likewise.
20838
2e8a7602
RM
208392009-12-13 Robert Millan <rmh.grub@aybabtu.com>
20840
20841 * util/grub-probe.c (probe): Improve error message.
20842
b50b77b9
RM
208432009-12-13 Robert Millan <rmh.grub@aybabtu.com>
20844
20845 * loader/i386/multiboot_elfxx.c
20846 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
20847 initialization.
20848
208492009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
20850
20851 Relocator framework
20852
20853 * loader/i386/xnu_helper.S: Removed. All users updated.
20854 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
20855 (relocator_mod_SOURCES): New variable.
20856 (relocator_mod_CFLAGS): Likewise.
20857 (relocator_mod_LDFLAGS): Likewise.
20858 (relocator_mod_ASFLAGS): Likewise.
20859 * conf/x86_64.rmk: Likewise.
20860 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
20861 (grub_multiboot_payload_entry_offset): Likewise.
20862 (grub_multiboot_forward_relocator): Likewise.
20863 (grub_multiboot_forward_relocator_end): Likewise.
20864 (grub_multiboot_backward_relocator): Likewise.
20865 (grub_multiboot_backward_relocator_end): Likewise.
20866 (grub_multiboot_payload_eip): New variable.
20867 (grub_multiboot_payload_orig): Likewise.
20868 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
20869 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
20870 * include/grub/i386/memory.h
20871 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
20872 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
20873 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
20874 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
20875 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
20876 * include/grub/i386/relocator.h: New file.
20877 * include/grub/x86_64/relocator.h: Likewise.
20878 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
20879 (XNU_RELOCATOR): New macro.
20880 (grub_xnu_launcher_start): Remove.
20881 (grub_xnu_launcher_end): Likewise.
20882 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
20883 (grub_xnu_heap_real_start): Remove.
20884 (grub_xnu_heap_start): Change to void *. All users updated.
20885 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
20886 * lib/i386/relocator.c: New file.
20887 * lib/i386/relocator_asm.S: Likewise.
20888 * lib/i386/relocator_backward.S: Likewise.
20889 * lib/mips/relocator.c: Likewise.
20890 * lib/mips/relocator_asm.S: Likewise.
20891 * lib/relocator.c: Likewise.
20892 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
20893 (entry): Removed.
20894 (playground): Likewise.
20895 (grub_multiboot_payload_orig): New variable.
20896 (grub_multiboot_payload_dest): Likewise.
20897 (grub_multiboot_payload_size): Likewise.
20898 (grub_multiboot_payload_eip): Likewise.
20899 (grub_multiboot_payload_esp): Likewise.
20900 (grub_multiboot_boot): Use grub_relocator32_boot.
20901 (grub_multiboot_unload): Free relocators.
20902 (grub_multiboot): Setup stack. Use relocators.
20903 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
20904 (grub_multiboot_load_elfXX): Use relocators.
20905 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
20906 (grub_multiboot_payload_size): Likewise.
20907 (grub_multiboot_payload_dest): Likewise.
20908 (grub_multiboot_payload_entry_offset): Likewise.
20909 (grub_multiboot_forward_relocator): Likewise.
20910 (grub_multiboot_backward_relocator): Likewise.
20911 (grub_multiboot_real_boot): Likewise.
20912 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
20913 (grub_xnu_entry_point): Likewise.
20914 (grub_xnu_arg1): Likewise.
20915 (grub_xnu_stack): Likewise.
20916 (grub_xnu_launch): Removed.
20917 (grub_xnu_boot_resume): New function.
20918 (grub_xnu_boot): Use relocators.
20919 * loader/i386/xnu_helper.S: Removed.
20920 * loader/xnu.c (grub_xnu_heap_start): New variable.
20921 (grub_xnu_heap_size): Likewise.
20922 (grub_xnu_heap_malloc): Use relocators.
20923 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
20924
29eb90c6
VS
209252009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
20926
20927 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
20928 anything.
20929
31027430
CPE
209302009-12-13 Carles Pina i Estany <carles@pina.cat>
20931
20932 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
20933 GRUB_ERR_NONE before calling grub_env_set.
20934
dc0c71d9
RM
209352009-12-12 Robert Millan <rmh@aybabtu.com>
20936
20937 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
20938 * genmk.rb (video): New variable.
20939 (CLEANFILES, VIDEOFILES): Add #{video}.
20940 (#{video}): New target rule.
20941 * genvideolist.sh: New file.
20942 * Makefile.in (pkglib_DATA): Add video.lst.
20943 (video.lst): New target rule.
20944 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
20945 `video.lst'.
20946 * util/grub.d/30_os-prober.in: Replace `vbe' with
20947 ${GRUB_VIDEO_BACKEND}.
20948
2a4bfcf0
RM
209492009-12-11 Robert Millan <rmh.grub@aybabtu.com>
20950
20951 * THANKS: Add David Miller.
20952
2a3aa4d5
RM
209532009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
20954
20955 libpciaccess support.
20956
20957 * Makefile.in (LIBPCIACCESS): New variable.
20958 (enable_grub_emu_pci): Likewise.
20959 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
20960 util/pci.c and commands/lspci.c.
20961 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
20962 * configure.ac (grub-emu-pci): New option.
20963 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
20964 (grub_pci_device_unmap_range): Likewise.
20965 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
20966 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
20967 (grub_pci_address_t) [!GRUB_UTIL]: New type.
20968 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
20969 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
20970 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
20971 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
20972 * include/grub/pciutils.h: New file.
20973 * util/pci.c: Likewise.
20974
0ad46fd7 209752009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
20976
20977 * util/misc.c: Don't include <errno.h> twice.
20978
0ad46fd7 209792009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
20980
20981 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
20982 name in an error message.
20983 (grub_biosdisk_rw): Likewise.
20984
2e59983c
VS
209852009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20986
20987 Eliminate NTFS 4Gib barrier.
20988
20989 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
20990 (read_run_data): Likewise.
20991 (grub_ntfs_read_run_list): Likewise.
20992 (grub_ntfs_read_block): Likewise.
20993 (grub_ntfs_iterate_dir): Likewise.
20994 (read_mft): Likewise.
20995 (read_data): Likewise.
20996 Use COM_LOG_LEN.
20997 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
20998 to avoid 64-bit division
20999 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
21000 (grub_ntfs_rlst): Use grub_disk_addr_t.
21001
71ee178a
VS
210022009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21003
21004 Eliminate grub-fstest 4Gib barrier.
21005
21006 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
21007 (read_file): Fix error reporting.
21008
2520d4b8
VS
210092009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21010
21011 Eliminate hexdump 4Gib barrier.
21012
21013 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
21014 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
21015
e1f27065
VS
210162009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21017
21018 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
21019 Fixes amarsh bug.
21020
1a0f7f45
RM
210212009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
21022
21023 Remove miscellaneous files in distclean target.
21024
21025 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
21026
c631d9fb
CW
210272009-12-09 Colin Watson <cjwatson@ubuntu.com>
21028
21029 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
21030 if they're already set. This resolves the conflict between my
21031 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
21032 fixing the --grub-probe option again.
21033 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
21034 change on 2009-10-06, so that we now once again source
21035 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
21036
7c7b6106
RM
210372009-12-08 Robert Millan <rmh.grub@aybabtu.com>
21038
21039 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
21040 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
21041 `util/devicemap.c'.
21042
e3069ec1
CPE
210432009-12-08 Carles Pina i Estany <carles@pina.cat>
21044
21045 * include/grub/misc.h (grub_printf_): New declaration.
21046 * kern/misc.c (grub_printf_): New definition.
21047 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
21048 instead of `grub_printf' and `_'.
21049 * normal/menu_entry.c (store_completion): Likewise.
21050 (run): Likewise.
21051 (grub_menu_entry_run): Likewise.
21052 * normal/menu_text.c (grub_wait_after_message): Likewise.
21053 (notify_booting): Likewise.
21054 (notify_fallback): Likewise.
21055 (notify_execution_failure): Likewise.
21056
d6ceebf1
CW
210572009-12-07 Colin Watson <cjwatson@ubuntu.com>
21058
21059 * configure.ac: Check for vasprintf.
21060 * util/misc.c (asprintf): Move allocation from here ...
21061 (vasprintf): ... to here. New function.
21062 (xasprintf): New function.
21063 * include/grub/util/misc.h (vasprintf, xasprintf): Add
21064 prototypes.
21065 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
21066 * util/grub-mkfont.c (write_font): Likewise.
21067 * util/grub-probe.c (probe): Likewise.
21068 * util/hostdisk.c (make_device_name): Likewise.
21069
de6daa8b
DM
210702009-12-06 David S. Miller <davem@sunset.davemloft.net>
21071
21072 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
21073 anything even prefixed with 'cdrom' as a cdrom.
21074
0ad46fd7 210752009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
21076
21077 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
21078 mount points.
21079
98d3dc02
CPE
210802009-12-05 Carles Pina i Estany <carles@pina.cat>
21081
21082 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
21083 grub_gettext_msg_list.
21084 (grub_gettext_gettranslation_from_position): Return const char *
21085 and not char *.
a2c1332b 21086 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
21087 returns from the list if existing there.
21088 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
21089 (grub_gettext_delete_list): Delete the list.
21090 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
21091 lang environment variable is changed.
21092 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
21093
b283f108
VS
210942009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
21095
21096 Rename kernel.mod to kernel.img.
21097
21098 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
21099 (kernel_mod_EXPORTS): Rename to ...
21100 (kernel_img_EXPORTS): ... this.
21101 (kernel_mod_SOURCES): Rename to ...
21102 (kernel_img_SOURCES): ... this.
21103 (kernel_mod_HEADERS): Rename to ...
21104 (kernel_img_HEADERS): ... this. All users updated.
21105 (kernel_mod_CFLAGS): Rename to ...
21106 (kernel_img_CFLAGS): ... this.
21107 (kernel_mod_ASFLAGS): Rename to ...
21108 (kernel_img_ASFLAGS): ... this.
21109 (kernel_mod_LDFLAGS): Rename to ...
21110 (kernel_img_LDFLAGS): ... this.
21111 * conf/x86_64-efi.rmk: Likewise.
21112 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
21113 (read_kernel_image): ... this. All users updated.
21114 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
21115
69055f8a
CPE
211162009-12-05 Carles Pina i Estany <carles@pina.cat>
21117
21118 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
21119 (print_spaces): New function.
21120 (grub_print_ucs4): New function.
21121 (getstringwidth): New function.
21122 (print_message_indented): New function.
21123 (print_message): Gettexttize strings using print_message_indented.
21124 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
21125 width.
21126 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 21127 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
21128 Gettextize.
21129 * normal/menu_entry.c (store_completion): Cleanup the gettextized
21130 string.
21131 (run): Likewise.
21132 (grub_menu_entry_run): Likewise.
21133 * PO/POTFILES: Add normal/menu_entry.c.
21134
f616f51c
VS
211352009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
21136
21137 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
21138
57bbe3be
CPE
211392009-12-05 Carles Pina i Estany <carles@pina.cat>
21140
21141 * util/grub-install.in: Install gettext .mo files.
21142 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
21143
013d67a1
CPE
211442009-12-05 Carles Pina i Estany <carles@pina.cat>
21145
21146 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
21147 grub_dprintf.
21148
fb954db0
RM
211492009-12-05 Robert Millan <rmh.grub@aybabtu.com>
21150
21151 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
21152 non-firmware-dependant one in realmode.S takes precedence.
21153
6b8474f8
RM
211542009-12-04 Robert Millan <rmh.grub@aybabtu.com>
21155
21156 * commands/halt.c: Replace misc arch-specific headers with
21157 `<grub/misc.h>'.
21158 * commands/reboot.c: Likewise.
21159 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
21160 `<grub/misc.h>'.
21161 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
21162 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
21163 (kernel_img_SOURCES): ... to here.
21164
21165 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
21166 * include/grub/i386/pc/init.h: Likewise.
21167 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
21168 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21169
21170 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
21171
21172 * include/grub/i386/halt.h: Remove.
21173 * include/grub/i386/reboot.h: Likewise.
21174
21175 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
21176
4b2e6ca2
DM
211772009-12-03 David S. Miller <davem@sunset.davemloft.net>
21178
21179 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
21180 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
21181 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
21182 "progname.h"
21183 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
21184 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21185 (usage): Add missing comma in printf.
21186
5239348f
RM
211872009-12-02 Robert Millan <rmh.grub@aybabtu.com>
21188
21189 Use the same reboot approach on i386 coreboot and qemu as we do on
21190 BIOS.
21191
21192 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
21193 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
21194 * kern/i386/reboot.c: Remove.
21195 * include/grub/i386/reboot.h (grub_reboot): Export function.
21196 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
21197 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
21198 0xf000:0xfff0 instead of 0xffff:0x0000.
21199 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
21200 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
21201
ef34cbd4
RM
212022009-11-30 Robert Millan <rmh.grub@aybabtu.com>
21203
21204 Fix $srcdir != $objdir build.
21205
21206 * Makefile.in (po/%.po): Rewrite as ...
21207 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
21208
dc9837ea
ST
212092009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
21210
21211 Fix GNU/Hurd grub-install crash.
21212 * util/grub-probe.c (probe): Try to access `path' only when it is not
21213 NULL.
21214
2f857f98
VS
212152009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21216
21217 Correct module naming.
21218
21219 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
21220 (GRUB_MOD_INIT(efi_uga)): ... to this
21221 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
21222 (GRUB_MOD_FINI(efi_uga)): ... to this
21223 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
21224 (GRUB_MOD_INIT(efi_gop)): ... to this
21225 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
21226 (GRUB_MOD_FINI(efi_gop)): ... to this
21227
c5448046
RM
212282009-11-28 Robert Millan <rmh.grub@aybabtu.com>
21229
21230 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
21231 translatable.
21232 (usage): Translate `arg' strings using gettext().
21233 Thanks to Jordi Mallach for the suggestion.
21234
c85184ad
VS
212352009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21236
21237 GOP support. Based on patch from Bean
21238 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
21239
21240 * video/efi_gop.c: New file.
21241 * include/grub/efi/graphics_output.h: Likewise.
21242 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
21243 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
21244 variables.
21245 * conf/x86_64-efi.rmk: Likewise.
21246
8a4c48d8
VS
212472009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21248
21249 Rename efi_fb to efi_uga.
21250
21251 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
21252 'efi_uga.mod'.
21253 (efi_fb_mod_SOURCES): Rename this ...
21254 (efi_uga_mod_SOURCES): ... to this.
21255 (efi_fb_mod_CFLAGS): Rename this ...
21256 (efi_uga_mod_CFLAGS): ... to this.
21257 (efi_fb_mod_LDFLAGS): Rename this ...
21258 (efi_uga_mod_LDFLAGS): ... to this.
21259 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
21260 'efi_uga.mod'.
21261 (efi_fb_mod_SOURCES): Rename this ...
21262 (efi_uga_mod_SOURCES): ... to this.
21263 (efi_fb_mod_CFLAGS): Rename this ...
21264 (efi_uga_mod_CFLAGS): ... to this.
21265 (efi_fb_mod_LDFLAGS): Rename this ...
21266 (efi_uga_mod_LDFLAGS): ... to this.
21267 * video/efi_fb.c: Move this ...
21268 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
21269
fb6c1a7b
RM
212702009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21271
21272 * po/README: New file. Explain our PO file workflow.
21273
3bc7896c
RM
212742009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21275
21276 * po/ChangeLog: Remove. Move relevant entries back to ...
21277 * ChangeLog: ... here.
21278 * po/ca.po: Remove (now handled by TLP).
21279 * po/id.po: Likewise.
21280 * po/zh_CN.po: Likewise.
21281 * Makefile.in (LINGUAS): Initialize in a way that supports
21282 empty set.
21283
9ed4841d
RM
212842009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21285
21286 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
21287 reliing on po/LINGUAS.
21288 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
21289 (po/%.po): ... this.
21290
0ad46fd7 212912009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
21292
21293 * util/i386/efi/grub-mkimage.c: Include "progname.h".
21294 (main): Use `program_name' instead of nonexistent `progname'.
21295
e30dd392
FZ
212962009-11-26 Felix Zielcke <fzielcke@z-51.de>
21297
21298 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21299 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
21300
7656de4f
RM
213012009-11-26 Robert Millan <rmh.grub@aybabtu.com>
21302
21303 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
21304 commit.
21305 * conf/i386-efi.rmk: Likewise.
21306 * conf/i386-ieee1275.rmk: Likewise.
21307 * conf/powerpc-ieee1275.rmk: Likewise.
21308 * conf/sparc64-ieee1275.rmk: Likewise.
21309 * conf/x86_64-efi.rmk: Likewise.
21310
db77c4d4
FZ
213112009-11-26 Felix Zielcke <fzielcke@z-51.de>
21312
21313 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
21314
a755bb04
FZ
213152009-11-26 Felix Zielcke <fzielcke@z-51.de>
21316
21317 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
21318
8a4c07fd
RM
213192009-11-26 Robert Millan <rmh.grub@aybabtu.com>
21320
21321 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
21322 (grub_mkdevicemap_SOURCES): New variable.
21323 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
21324 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
21325 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
21326 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
21327 (grub_mkdevicemap_SOURCES): Remove.
21328 * conf/i386-efi.rmk: Likewise.
21329 * conf/i386-ieee1275.rmk: Likewise.
21330 * conf/i386-pc.rmk: Likewise.
21331 * conf/powerpc-ieee1275.rmk: Likewise.
21332 * conf/sparc64-ieee1275.rmk: Likewise.
21333 * conf/x86_64-efi.rmk: Likewise.
21334 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
21335 (usage): Fix strings to use `program_name'.
21336 (main): Initialize gettext.
21337 * util/grub-editenv.c: Likewise.
21338 * util/grub-emu.c: Likewise.
21339 * util/grub-fstest.c: Likewise.
21340 * util/grub-mkdevicemap.c: Likewise.
21341 * util/grub-mkfont.c: Likewise.
21342 * util/grub-mkrelpath.c: Likewise.
21343 * util/grub-pe2elf.c: Likewise.
21344 * util/grub-probe.c: Likewise.
21345 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
21346 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
21347 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21348
21349 * util/misc.c: Include `"progname.h"'.
21350 (progname): Remove variable.
21351 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
21352
6f61ed55
FZ
213532009-11-25 Felix Zielcke <fzielcke@z-51.de>
21354
21355 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
21356 printf and print a newline after the menuentry header line.
21357 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21358
f022876b
FZ
213592009-11-25 Felix Zielcke <fzielcke@z-51.de>
21360
21361 autoconf >= 2.60 support $(localedir).
21362
21363 * INSTALL: Note that autoconf 2.60 is required.
21364 * configure.ac (AC_PREREQ): Bump to 2.60.
21365 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
21366 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
21367
6717926e
YB
213682009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
21369
21370 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
21371 aclocal is run.
21372
08806a54
RM
213732009-11-25 Robert Millan <rmh.grub@aybabtu.com>
21374
21375 * normal/main.c (grub_normal_read_line): Fix off-by-one
21376 buffer overflow.
21377
13b33fba
RM
213782009-11-25 Robert Millan <rmh.grub@aybabtu.com>
21379
21380 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
21381 "parser.grub" in grub_command_execute() call.
21382
4a8572e9
CPE
213832009-11-24 Carles Pina i Estany <carles@pina.cat>
21384
21385 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
21386 * conf/i386-efi.rmk: Likewise.
21387 * conf/i386-ieee1275.rmk: Likewise.
21388 * conf/i386-pc.rmk: Likewise.
21389 * conf/powerpc-ieee1275.rmk: Likewise.
21390 * conf/sparc64-ieee1275.rmk: Likewise.
21391 * conf/x86_64-efi.rmk: Likewise.
21392 * gettext/gettex.c: Include <grub/i18n.h>.
21393 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
21394 here ...
21395 * include/grub/i18n.h: ... to here
21396 * include/grub/i18n.h: ... to here.
21397 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 21398 (grub_gettext_dummy): Move above user.
4a8572e9 21399
bee48093
FZ
214002009-11-24 Felix Zielcke <fzielcke@z-51.de>
21401
21402 * util/Makefile.in (install-local): Convert a `for' into a normal
21403 shell expansion.
21404
a031e91c
RM
214052009-11-24 Robert Millan <rmh.grub@aybabtu.com>
21406
21407 * autogen.sh: Add automake call.
21408 * config.guess: Remove.
21409 * config.sub: Likewise.
21410 * install-sh: Likewise.
21411
26bec39d
FZ
214122009-11-24 Felix Zielcke <fzielcke@z-51.de>
21413
21414 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
21415
8e2532fd
FZ
214162009-11-24 Felix Zielcke <fzielcke@z-51.de>
21417
21418 * util/Makefile.in (install-local): Convert a make `$(foreach)'
21419 function to a normal shell `for'.
21420
fefa1b7d
FZ
214212009-11-24 Felix Zielcke <fzielcke@z-51.de>
21422
21423 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21424
4501250b
FZ
214252009-11-24 Felix Zielcke <fzielcke@z-51.de>
21426
21427 * util/grub-mkrelpath.c: New file.
21428 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
21429 (grub_mkrelpath_SOURCES): New variable.
21430 * include/grub/util/misc.h: New function prototype.
21431 * util/misc.c (make_system_path_relative_to_its_root): New function.
21432
21433 * util/grub-mkconfig_lib.in (bindir): New variable.
21434 (grub_mkrelpath): Likewise.
21435 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
21436
21437 * util/probe.c (probe): Make the file path relative to its root.
21438 Change a info message to use the GRUB path. Enable again the
21439 check if we can read the file with GRUB facilities.
21440
21441 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
21442 to its root.
21443
11d9778b
FZ
214442009-11-24 Felix Zielcke <fzielcke@z-51.de>
21445
21446 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
21447 platform.
21448
4465287d
FZ
214492009-11-24 Felix Zielcke <fzielcke@z-51.de>
21450
21451 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
21452 strncmp().
21453
62b47f22
FZ
214542009-11-24 Felix Zielcke <fzielcke@z-51.de>
21455
21456 * util/getroot.c (grub_util_is_dmraid): New function.
21457 (grub_util_get_dev_abstraction): Treat dmraid and multipath
21458 devices as normal ones, not as LVM.
21459
1eafb9b9 214602009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
21461
21462 * conf/common.rmk: Add grub-gettext_lib target and updates
21463 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
21464 LDFLAGS.
21465 * gettext/gettext.c: New file. (Reads mo files).
21466 * include/grub/file.h (grub_file_pread): New prototype.
21467 * include/grub/i18n.h (_): New prototype.
21468 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
21469 prototypes.
21470 * kern/misc.c (grub_gettext_dummy): New function.
21471 * normal/menu_text.c: Include <grub/i18n.h>.
21472 * normal/menu_text.c (print_timeout): Gettexttize string.
21473 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
21474 * po/POTFILES: Add `normal/menu_text.c'.
21475 * po/ca.po: Add new translations.
c3ea6bd4
CPE
21476 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
21477 gettext module and defines locale_dir and lang in grub.cfg.
21478 * NEWS: Add gettext support.
21479
0fdb2568
RM
214802009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21481
21482 * util/hostdisk.c: Include `<grub/i18n.h>'.
21483 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
21484 (make_device_name): Rewrite using asprintf.
21485 (convert_system_partition_to_system_disk): Replace 0 with NULL.
21486 (find_system_device): If a device is not found, generate one just
21487 by reusing the OS path name.
21488 (read_device_map): Make it permissible for device.map not to exist.
21489
f515aa62
RM
214902009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21491
21492 * script/sh/execute.c: Move from here ...
21493 * script/execute.c: ... to here. Update all users.
21494 * script/sh/function.c: Move from here ...
21495 * script/function.c: ... to here. Update all users.
21496 * script/sh/lexer.c: Move from here ...
21497 * script/lexer.c: ... to here. Update all users.
21498 * script/sh/main.c: Move from here ...
21499 * script/main.c: ... to here. Update all users.
21500 * script/sh/parser.y: Move from here ...
21501 * script/parser.y: ... to here. Update all users.
21502 * script/sh/script.c: Move from here ...
21503 * script/script.c: ... to here. Update all users.
21504
f84b481b
RM
215052009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21506
21507 * configure.ac: Detect all `emu' platforms. Define
21508 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
21509 --enable-grub-emu logic. Disable include/grub/machine
21510 symlink on `emu' platforms.
21511
21512 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
21513 * gensymlist.sh.in: Likewise.
21514
21515 * include/grub/i386/coreboot/machine.h: Remove file.
21516 * include/grub/i386/efi/machine.h: Likewise.
21517 * include/grub/i386/ieee1275/machine.h: Likewise.
21518 * include/grub/i386/pc/machine.h: Likewise.
21519 * include/grub/i386/qemu/machine.h: Likewise.
21520 * include/grub/powerpc/ieee1275/machine.h: Likewise.
21521 * include/grub/sparc64/ieee1275/machine.h: Likewise.
21522 * include/grub/x86_64/efi/machine.h: Likewise.
21523
21524 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
21525 * commands/halt.c: Likewise.
21526 * commands/reboot.c: Likewise.
21527 * include/grub/autoefi.h: Likewise.
21528 * include/grub/i386/at_keyboard.h: Likewise.
21529 * include/grub/i386/kernel.h: Likewise.
21530 * include/grub/i386/loader.h: Likewise.
21531 * include/grub/i386/pc/memory.h: Likewise.
21532 * kern/dl.c: Likewise.
21533 * kern/i386/coreboot/init.c: Likewise.
21534 * loader/i386/bsd.c: Likewise.
21535 * loader/i386/linux.c: Likewise.
21536 * loader/multiboot_loader.c: Likewise.
21537 * term/i386/pc/serial.c: Likewise.
21538 * term/usb_keyboard.c: Likewise.
21539
21540 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
21541 `<grub/machine/machine.h>'
21542 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
21543 * util/misc.c: Remove `<grub/machine/machine.h>' and
21544 `<grub/machine/time.h>'.
21545
21546 * Makefile.in (enable_grub_emu): Remove variable.
21547 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
21548
21549 * conf/any-emu.rmk: New file.
21550 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
21551 (grub_emu_init.c): Move from here ...
21552 * conf/any-emu.rmk: ... to here.
21553
21554 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
21555 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
21556 * conf/any-emu.rmk: ... to here.
21557
4efeab03
RM
215582009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21559
21560 * include/grub/parser.h (grub_parser_register): Document need
21561 of `name' parameter.
21562 * normal/main.c (grub_normal_read_line): Simplify prompt string.
21563 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
21564 "sh" to "grub".
21565
ea1dd8bf
RM
215662009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21567
21568 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
21569 `$(XGETTEXT)'.
21570 * include/grub/i18n.h (N_): New macro.
21571 * util/mkisofs/mkisofs.h: Likewise.
21572 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
21573 around N_().
21574 (usage): Use gettext() to translate help strings when printing them.
21575
0c140626
RM
215762009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21577
21578 Based on patch from Bean
21579 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
21580
21581 * video/efi_fb.c: New file.
21582 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
21583 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
21584 variables.
21585 * conf/x86_64-efi.rmk: Likewise.
21586
87d58298
RM
215872009-11-22 Robert Millan <rmh.grub@aybabtu.com>
21588
21589 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
21590 * util/i386/pc/grub-setup.c: Likewise.
21591
994cc3a3
ST
215922009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
21593
21594 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
21595 <hurd/fs.h>
21596 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
21597 file_get_storage_info to implement grub_guess_root_device.
21598
26a61d6a
FZ
215992009-11-21 Felix Zielcke <fzielcke@z-51.de>
21600
21601 * Makefile.in (target): Use make's builtin $(shell) function
21602 instead of calling directly $(SHELL) to create the locale directories,
21603 inside the $(foreach) function.
21604
74ff1dd5
FZ
216052009-11-21 Felix Zielcke <fzielcke@z-51.de>
21606
21607 * util/grub-mkrescue.in: Print an error and usage if output option
21608 has not been given.
21609
0b787d0e
FZ
216102009-11-21 Felix Zielcke <fzielcke@z-51.de>
21611
21612 Patch from Loïc Minier <loic.minier@ubuntu.com>.
21613 * util/grub.d/30_os-prober.in: Cope with Linux entries where
21614 root and /boot are on different devices.
21615
1164b270
RM
216162009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21617
21618 Fix build for srcdir != objdir.
21619
21620 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
21621 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
21622 $(srcdir).
21623 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
21624 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
21625 reference for input.
21626
13774a2f
RM
216272009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21628
21629 * util/grub-mkrescue.in: Use source directory direcly (without copiing
21630 or hardlinking it). Remove -J option, Joliet is not compatible with
21631 multiple source directories.
21632
efda854e
RM
216332009-11-21 Carles Pina i Estany <carles@pina.cat>
216342009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21635
21636 * util/grub-mkrescue.in: Recognize `--override-directory' option.
21637 (process_input_dir): New function. Process an arbitrary input
21638 directory.
21639 Misc adjustments to support both "override mode" and system-wide mode.
21640
6c09890c
FZ
216412009-11-20 Felix Zielcke <fzielcke@z-51.de>
21642
21643 * configure.ac (UNIFONT_BDF): Rename to ...
21644 (FONT_SOURCE): ... this. Update all users.
21645
a797824f
FZ
216462009-11-20 Felix Zielcke <fzielcke@z-51.de>
21647
21648 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
21649 to the list of unifont files to look for.
21650
cd4f42b0
RM
216512009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21652
21653 Patch from Joe Auricchio <jauricchio@gmail.com>
21654 * commands/minicmd.c (grub_mini_cmd_clear): New function.
21655 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
21656 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
21657
393c783d
FZ
216582009-11-19 Felix Zielcke <fzielcke@z-51.de>
21659
21660 * Makefile.in (install-local): Add a missing backslash.
21661
b2f1e327
FZ
216622009-11-19 Felix Zielcke <fzielcke@z-51.de>
21663
21664 * include/grub/x86_64/io.h: New file.
21665
f577f7a0
RM
216662009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21667
21668 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
21669 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
21670 Include `"progname.h"'.
21671 (main): Initialize gettext.
21672 * util/i386/pc/grub-setup.c: Gettexttize.
21673 * util/i386/pc/grub-mkimage.c: Likewise.
21674
21675 * Makefile.in (po/*.po): Redefine as ...
21676 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
21677
3bc7896c
RM
21678 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
21679
c37943b6
RM
216802009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21681
21682 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
21683 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
21684 (program_name): Remove.
21685 (main): Initialize gettext support.
6323f705
RM
21686 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
21687 Include `<libintl.h>'.
21688 (_): New macro.
c37943b6
RM
21689
21690 * util/mkisofs/eltorito.c: Gettexttize.
21691 * util/mkisofs/joliet.c: Likewise.
21692 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
21693 * util/mkisofs/multi.c: Likewise.
21694 * util/mkisofs/rock.c: Likewise.
21695 * util/mkisofs/tree.c: Likewise.
21696 * util/mkisofs/write.c: Likewise.
21697
3bc7896c
RM
21698 * po/POTFILES: Update with new files.
21699
5ce77c6e
RM
217002009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21701
21702 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
21703 * util/mkisofs/iso9660.h: Likewise.
21704 * util/mkisofs/joliet.c: Likewise.
21705 * util/mkisofs/mkisofs.c: Likewise.
21706 * util/mkisofs/mkisofs.h: Likewise.
21707 * util/mkisofs/rock.c: Likewise.
21708 * util/mkisofs/tree.c: Likewise.
21709 * util/mkisofs/write.c: Likewise.
21710
21711 * util/mkisofs/eltorito.c (rcsid): Remove.
21712 * util/mkisofs/hash.c: Likewise.
21713 * util/mkisofs/joliet.c: Likewise.
21714 * util/mkisofs/name.c: Likewise.
21715 * util/mkisofs/rock.c: Likewise.
21716 * util/mkisofs/tree.c: Likewise.
21717 * util/mkisofs/write.c: Likewise.
21718
1dabbc77
RM
217192009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21720
21721 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
21722 instead of static allocation.
21723 * util/mkisofs/match.h: Likewise.
21724
633877cb
RM
217252009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21726
3bc7896c
RM
21727 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
21728 and `util/grub.d/10_linux.in'.
633877cb
RM
21729 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
21730 translatable Shell files.
21731
af1c0c85
RM
217322009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21733
21734 * Makefile.in ($(srcdir)/aclocal.m4): New target.
21735
769ae37b
RM
217362009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21737
21738 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 21739 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
21740 * util/grub.d/10_kfreebsd.in (bindir): New variable.
21741 Add gettext initialization.
21742 (kfreebsd_entry): Make menuentry output translatable.
21743
217442009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21745
21746 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
21747 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
21748 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
21749 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
21750 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 21751 * po/LINGUAS: New file.
769ae37b
RM
21752
217532009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21754
21755 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
21756 other things).
21757 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
21758 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
21759 bindtextdomain() calls for gettext initialization.
21760
217612009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21762
21763 * gnulib/progname.c: New file (imported from Gnulib).
21764 * gnulib/progname.h: Likewise.
21765 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21766 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
21767 (usage): Replace `progname' with `program_name'.
21768 (main): Use set_program_name() for program name initialization.
21769
217702009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21771
21772 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
21773 from here ...
21774 * Makefile.in (CPPFLAGS): ... to here.
21775
217762009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21777
21778 * aclocal.m4: Move from here ...
21779 * acinclude.m4: ... to here.
21780 * autogen.sh: Add call to `aclocal'.
21781 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
21782
217832009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21784
21785 * Makefile.in (CLEANFILES): Add `po/*.mo'.
21786 (LINGUAS): New variable.
21787 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
21788 (install-local): Install MO files.
21789 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
21790 * include/grub/i18n.h: New file.
3bc7896c
RM
21791 * po/POTFILES: New file.
21792 * po/ca.po: New file.
769ae37b
RM
21793 * util/grub.d/10_linux.in (bindir): New variable.
21794 Add gettext initialization.
21795 (linux_entry): Make menuentry output translatable.
21796 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
21797 (usage): Make --help output translatable.
21798 (main): Initialize gettext.
21799
02c0a6ad
RM
218002009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21801
21802 * import_gcry.py: New file (written by Vladimir with minor
21803 adjustments).
21804 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
21805 ciphers.
21806 * INSTALL: Document that Python is required for bootstrap.
21807
218082009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21809
21810 Import ciphers from libgcrypt 1.4.4.
21811
21812 * lib/libgcrypt/cipher/ChangeLog
21813 * lib/libgcrypt/cipher/ac.c
21814 * lib/libgcrypt/cipher/arcfour.c
21815 * lib/libgcrypt/cipher/bithelp.h
21816 * lib/libgcrypt/cipher/blowfish.c
21817 * lib/libgcrypt/cipher/camellia-glue.c
21818 * lib/libgcrypt/cipher/camellia.c
21819 * lib/libgcrypt/cipher/camellia.h
21820 * lib/libgcrypt/cipher/cast5.c
21821 * lib/libgcrypt/cipher/cipher.c
21822 * lib/libgcrypt/cipher/crc.c
21823 * lib/libgcrypt/cipher/des.c
21824 * lib/libgcrypt/cipher/dsa.c
21825 * lib/libgcrypt/cipher/ecc.c
21826 * lib/libgcrypt/cipher/elgamal.c
21827 * lib/libgcrypt/cipher/hash-common.c
21828 * lib/libgcrypt/cipher/hash-common.h
21829 * lib/libgcrypt/cipher/hmac-tests.c
21830 * lib/libgcrypt/cipher/md.c
21831 * lib/libgcrypt/cipher/md4.c
21832 * lib/libgcrypt/cipher/md5.c
21833 * lib/libgcrypt/cipher/primegen.c
21834 * lib/libgcrypt/cipher/pubkey.c
21835 * lib/libgcrypt/cipher/rfc2268.c
21836 * lib/libgcrypt/cipher/rijndael-tables.h
21837 * lib/libgcrypt/cipher/rijndael.c
21838 * lib/libgcrypt/cipher/rmd.h
21839 * lib/libgcrypt/cipher/rmd160.c
21840 * lib/libgcrypt/cipher/rsa.c
21841 * lib/libgcrypt/cipher/seed.c
21842 * lib/libgcrypt/cipher/serpent.c
21843 * lib/libgcrypt/cipher/sha1.c
21844 * lib/libgcrypt/cipher/sha256.c
21845 * lib/libgcrypt/cipher/sha512.c
21846 * lib/libgcrypt/cipher/tiger.c
21847 * lib/libgcrypt/cipher/twofish.c
21848 * lib/libgcrypt/cipher/whirlpool.c
21849
af2f93ac
RM
218502009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21851
21852 Fix build for systems without error().
21853
21854 * gnulib/error.c: New file (imported from Gnulib).
21855 * gnulib/error.h: Likewise.
21856 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
21857 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
21858 (this variable is now used by error()).
21859
73fb3dd5
FZ
218602009-11-16 Felix Zielcke <fzielcke@z-51.de>
21861
814f5e96
FZ
21862 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
21863 instead of relying that char is signed.
73fb3dd5 21864
a691ca33
VS
218652009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21866
21867 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
21868 blocksize different from specified.
21869 (grub_pxefs_read): Likewise.
21870
2af8f0f4
FZ
218712009-11-16 Felix Zielcke <fzielcke@z-51.de>
21872
21873 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
21874
21875 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
21876 (grub_ata_readwrite): Likewise. Update 2 format strings.
21877 (grub_atapi_read): Likewise.
21878
21879 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
21880 * conf/i386.rmk (pkglib_MODULES): ... to here ...
21881 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
21882 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
21883 (ata_mod_LDFLAGS): Move from here ...
21884 * conf/i386.rmk: ... to here ...
21885 * conf/x86_64-efi.rmk: ... and here.
21886 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
21887 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
21888
83bdecaf
RM
218892009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21890
21891 Relicense multiboot.h, with RMS' blessing.
21892
21893 * include/multiboot.h: Change to X11 license.
21894
fd6fd3d7
RM
218952009-11-15 Robert Millan <rmh.grub@aybabtu.com>
21896
21897 Support --version in grub-mkisofs.
21898
21899 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
21900 (OPTION_VERSION): New macro.
21901 (ld_options): Recognize --version.
21902 (usage): Move `program_name' from here ...
21903 (program_name): ... to here. Add `static' qualifier.
21904 (main): Recognize `OPTION_VERSION'.
21905
16a88c49
FZ
219062009-11-15 Felix Zielcke <fzielcke@z-51.de>
21907
21908 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
21909 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
21910
a4158476
RM
219112009-11-14 Robert Millan <rmh.grub@aybabtu.com>
21912
21913 Fix help2man generation for mkisofs.
21914
21915 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
21916 (usage): Send output to stdout (rather than stderr).
21917
fc2208b0
RM
219182009-11-14 Robert Millan <rmh.grub@aybabtu.com>
21919
21920 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
21921 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
21922 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
21923 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
21924 (bin_SCRIPTS): Add `grub-mkfloppy'.
21925 (grub_mkfloppy_SOURCES): New variable.
21926
21927 * util/grub-mkrescue.in: New file.
21928 * util/i386/pc/grub-mkfloppy.in: New file.
21929
21930 * util/i386/coreboot/grub-mkrescue.in: Remove.
21931 * util/i386/pc/grub-mkrescue.in: Remove.
21932
8d0edf4a
RM
219332009-11-13 Robert Millan <rmh.grub@aybabtu.com>
21934
21935 * include/grub/multiboot.h (struct grub_multiboot_header): Move
21936 from here ...
21937 * include/multiboot.h (struct multiboot_header): ... to here. Update
21938 all users.
21939 * include/grub/multiboot.h (struct grub_multiboot_info): Move
21940 from here ...
21941 * include/multiboot.h (struct multiboot_info): ... to here. Update
21942 all users.
21943 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
21944 from here ...
21945 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
21946 Update all users.
21947 * include/grub/multiboot.h (struct grub_mod_list): Move
21948 from here ...
21949 * include/multiboot.h (struct multiboot_mod_list): ... to here.
21950 Update all users.
21951
a73f5969
RM
219522009-11-13 Robert Millan <rmh.grub@aybabtu.com>
21953
21954 * include/multiboot2.h (multiboot_word): Rename from this ...
21955 (multiboot2_word): ... to this. Update all users.
21956 (multiboot_header): Rename from this ...
21957 (multiboot2_header): ... to this. Update all users.
21958 (multiboot_tag_header): Rename from this ...
21959 (multiboot2_tag_header): ... to this. Update all users.
21960 (multiboot_tag_start): Rename from this ...
21961 (multiboot2_tag_start): ... to this. Update all users.
21962 (multiboot_tag_name): Rename from this ...
21963 (multiboot2_tag_name): ... to this. Update all users.
21964 (multiboot_tag_module): Rename from this ...
21965 (multiboot2_tag_module): ... to this. Update all users.
21966 (multiboot_tag_memory): Rename from this ...
21967 (multiboot2_tag_memory): ... to this. Update all users.
21968 (multiboot_tag_unused): Rename from this ...
21969 (multiboot2_tag_unused): ... to this. Update all users.
21970 (multiboot_tag_end): Rename from this ...
21971 (multiboot2_tag_end): ... to this. Update all users.
21972
1c8927f0
RM
219732009-11-13 Robert Millan <rmh.grub@aybabtu.com>
21974
21975 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
21976 this platform we should support Multiboot1 first.
21977
21978 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
21979 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
21980 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
21981
6e1e0d89
RM
219822009-11-12 Robert Millan <rmh.grub@aybabtu.com>
21983
21984 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
21985 of write calls (converting them to fwrite() if they aren't already).
21986 (get_torito_desc): Likewise.
21987 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
21988
7f2b34d8
RM
219892009-11-12 Robert Millan <rmh.grub@aybabtu.com>
21990
21991 * util/i386/pc/grub-install.in: Move from here ...
21992 * util/grub-install.in: ... to here. Update all users.
21993
c0ef3311
CW
219942009-11-11 Colin Watson <cjwatson@ubuntu.com>
21995
21996 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
21997
e1f240ff
RM
219982009-11-11 Robert Millan <rmh.grub@aybabtu.com>
21999
22000 Support for El Torito without floppy emulation.
22001
22002 * util/mkisofs/eltorito.c: Include `<errno.h>'.
22003 (init_boot_catalog): Improve error handling.
22004 (get_torito_desc): Don't use floppy emulation unless requested by
22005 user. Patch boot information table when requested via
22006 `-boot-info-table'.
22007 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
22008 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
22009 (use_boot_info_table): New variables.
22010 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
22011 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
22012 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
22013 `--eltorito-emul-floppy'.
22014 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
22015 and `OPTION_ELTORITO_EMUL_FLOPPY'.
22016 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
22017 (use_boot_info_table, get_731): New prototypes.
22018 * util/mkisofs/write.c (get_731): New function.
22019
af7d4de5
FZ
220202009-11-11 Felix Zielcke <fzielcke@z-51.de>
22021
22022 Fix the generation of the man page.
22023
22024 * util/pc/i386/grub-install.in: Source
22025 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
22026
2c55dbc0
RM
220272009-11-11 Robert Millan <rmh.grub@aybabtu.com>
22028
22029 Large file support for grub-mkisofs.
22030
22031 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
22032 * util/mkisofs/mkisofs.c (next_extent, last_extent)
22033 (session_start): Upgrade type to `uint64_t'. Update all users.
22034 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
22035 (struct directory_entry): Upgrade type of `starting_block' and
22036 `size' to `uint64_t'. Update all users.
22037 (struct deferred): Remove unused structure.
22038 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
22039 Update all users.
22040 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
22041 file is larger than `UINT32_MAX'.
22042 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
22043 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
22044 return value.
22045 (struct deferred_write): Upgrade type of `extent' and `size' to
22046 `uint64_t'. Update all users.
22047 (last_extent_written): Upgrade type to `uint64_t'. Update all
22048 users.
22049 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
22050 Update all users. Upgrade type of `remain' to `int64_t' and
22051 `use' to `size_t'. Use error() to handle fread() errors.
22052 (write_files): Rely on write_one_file() rather than calling
22053 xfwrite() directly.
22054
6a9cead5
FZ
220552009-11-09 Felix Zielcke <fzielcke@z-51.de>
22056
22057 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
22058
4825d790
RM
220592009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22060
22061 * util/mkisofs/fnmatch.c: Remove.
22062 * util/mkisofs/getopt1.c: Likewise.
22063 * util/mkisofs/getopt.c: Likewise.
22064 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
22065 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
22066 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
22067 `gnulib/getopt1.c' and `gnulib/getopt.c'.
22068 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
22069
22070 * configure.ac: Detect `mingw32msvc' host_os.
22071 Check for lstat(), getuid() and getgid().
22072
22073 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
22074 instances of `u_char' with `uint8_t'.
22075
22076 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
22077 [!HAVE_GETUID] (getuid): New function (stub).
22078 [!HAVE_GETGID] (getgid): Likewise.
22079 [!HAVE_LSTAT] (lstat): Likewise.
22080 [!S_IROTH] (S_IROTH): New macro (dummy).
22081 [!S_IRGRP] (S_IRGRP): Likewise.
22082
84b860d8
RM
220832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22084
22085 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
22086 conditional expression).
22087
66e9b712
RM
220882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22089
22090 Import from Gnulib.
22091
22092 * gnulib/fnmatch.c: New file.
22093 * gnulib/fnmatch.h: Likewise.
22094 * gnulib/fnmatch_loop.c: Likewise.
22095 * gnulib/getopt.c: Likewise.
22096 * gnulib/getopt.h: Likewise.
22097 * gnulib/getopt1.c: Likewise.
22098 * gnulib/getopt_int.h: Likewise.
22099 * gnulib/gettext.h: Likewise.
22100
34f4a5b0
RM
221012009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22102
22103 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
22104 * normal/handler.c (read_handler_list): Likewise.
22105
ac451143
RM
221062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22107
22108 Misc cleanup.
22109
22110 * kern/command.c (grub_register_command_prio): Use
22111 grub_zalloc() instead of explicitly zeroing data.
22112 * kern/list.c: Include `<grub/mm.h>'.
22113 (grub_named_list_find): Replace `0' with `NULL'.
22114 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
22115 (fs_module_list): Change type to `grub_named_list_t'. Update all
22116 users.
22117 * normal/dyncmd.c (read_command_list): Add space between function
22118 call and parenthesis.
22119 * normal/handler.c (read_handler_list): Likewise.
22120
4089b167
RM
221212009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22122
22123 * normal/auth.c (punishment_delay): Moved from here ...
22124 (grub_auth_strcmp): ... to here (inside function).
22125
325f5037
RM
221262009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22127
22128 * include/grub/list.h (struct grub_named_list): Remove `const'
22129 qualifier from `name'.
22130 (struct grub_prio_list): Likewise.
22131
7aea29a3
RM
221322009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22133
22134 * normal/auth.c: Include `<grub/time.h>'.
22135 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
22136
3fd6f044
RM
221372009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22138
22139 * normal/auth.c (punishment_delay): New variable.
22140 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
22141 (grub_auth_check_authentication): Punish failed login attempts with
22142 an incremental (2^N) delay.
22143
a4cd68e4
RM
221442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22145
22146 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
22147 path with $(srcdir).
22148
7ad12f43
VS
221492009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
22150
22151 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
22152
c1129f03
RM
221532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22154
22155 * util/i386/coreboot/grub-mkrescue.in: New file.
22156 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
22157 variables.
22158
22159 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
22160 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
22161 * configure.ac: Add header and function checks to satisfy grub-mkisofs
22162 requirements.
22163 * util/mkisofs/defaults.h: New file.
22164 * util/mkisofs/eltorito.c: Likewise.
22165 * util/mkisofs/exclude.h: Likewise.
22166 * util/mkisofs/fnmatch.c: Likewise.
22167 * util/mkisofs/getopt.c: Likewise.
22168 * util/mkisofs/getopt1.c: Likewise.
22169 * util/mkisofs/hash.c: Likewise.
22170 * util/mkisofs/include/fctldefs.h: Likewise.
22171 * util/mkisofs/include/mconfig.h: Likewise.
22172 * util/mkisofs/include/prototyp.h: Likewise.
22173 * util/mkisofs/include/statdefs.h: Likewise.
22174 * util/mkisofs/iso9660.h: Likewise.
22175 * util/mkisofs/joliet.c: Likewise.
22176 * util/mkisofs/match.c: Likewise.
22177 * util/mkisofs/match.h: Likewise.
22178 * util/mkisofs/mkisofs.c: Likewise.
22179 * util/mkisofs/mkisofs.h: Likewise.
22180 * util/mkisofs/multi.c: Likewise.
22181 * util/mkisofs/name.c: Likewise.
22182 * util/mkisofs/rock.c: Likewise.
22183 * util/mkisofs/tree.c: Likewise.
22184 * util/mkisofs/write.c: Likewise.
22185
ec8bb77d
VS
221862009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
22187
22188 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
22189 being insecure.
22190
3716b12c
RM
221912009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22192
22193 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
22194 `grub-mkimage' (and use $0 when possible).
22195
b97b7b91
RM
221962009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22197
22198 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
22199 error message for excessively large memory map.
22200
04114812
RM
222012009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22202
22203 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
22204 executable bit.
22205
e4eb2373
RM
222062009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22207
22208 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
22209 message for coreboot users.
22210
c926e1d5 222112009-11-07 Robert Millan <rmh.grub@aybabtu.com>
22212
22213 Fix build with GNU gold.
22214
22215 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
22216 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
22217 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
22218 link addresses.
22219 * aclocal.m4: Likewise.
22220
86e5b1db 222212009-11-04 Felix Zielcke <fzielcke@z-51.de>
22222
22223 * configure.ac (AC_PREREQ): Bump to 2.59d.
22224 * INSTALL: Make it more clear when Autoconf and Ruby are
22225 needed and when to run `./autogen.sh'.
22226
246cd78f 222272009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
22228
22229 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
22230 OSes.
22231
4f9dfb37 222322009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22233
22234 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
22235
b82bd5e1 222362009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22237
22238 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
22239 giving it to GNU Mach.
22240
ff1a9bca 222412009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22242
22243 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
22244 GNU partition number to get internal GRUB partition number.
22245
61697d9c 222462009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22247
22248 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
22249 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
22250
a50569e1 222512009-11-01 Robert Millan <rmh.grub@aybabtu.com>
22252
22253 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
22254 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
22255 case.
22256
5b153867 222572009-11-01 Felix Zielcke <fzielcke@z-51.de>
22258
22259 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
22260
d9e2cd70 222612009-10-30 Robert Millan <rmh.grub@aybabtu.com>
22262
22263 Fix build problem.
22264
22265 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
22266 `-isystem=$(srcdir)/include'.
22267
805111a4 222682009-10-30 Robert Millan <rmh.grub@aybabtu.com>
22269
22270 * util/i386/pc/grub-install.in: Remove hint that device.map should be
22271 checked (grub-install doesn't currently rely on it).
22272
fa6e945f 222732009-10-29 Robert Millan <rmh.grub@aybabtu.com>
22274
22275 Revert SVN r2660.
22276
22277 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
22278 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
22279 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
22280 * conf/i386-ieee1275.rmk: Likewise.
22281 * conf/i386-pc.rmk: Likewise.
22282 * conf/powerpc-ieee1275.rmk: Likewise.
22283 * conf/sparc64-ieee1275.rmk: Likewise.
22284 * conf/x86_64-efi.rmk: Likewise.
22285
cee15086 222862009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22287
22288 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
22289
95b9239e 222902009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22291
22292 * include/grub/misc.h: Stop checking for APPLE_CC.
22293
2ed19dfd 222942009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22295
22296 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
22297 doesn't cause an infinite call loop.
22298
fdcdde19 222992009-10-28 Felix Zielcke <fzielcke@z-51.de>
22300
22301 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
22302 strings.
22303
cefabfe1 223042009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22305
22306 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
22307 variable.
22308 * Makefile.in: Likewise.
22309
ed96ab6d 223102009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22311
22312 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
22313
0579b753 223142009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22315
22316 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
22317
478df409 223182009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22319
22320 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
22321
083d1679 223222009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22323
22324 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
22325 from here ...
22326 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
22327
5947ae32 223282009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22329
22330 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
22331 in $(MAKEINFO) invocation. This makes it clear in output that
22332 errors are being ignored.
22333
94180ff6 223342009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22335
22336 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
22337 from here ...
22338 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
22339 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
22340 * conf/i386-ieee1275.rmk: Likewise.
22341 * conf/i386-pc.rmk: Likewise.
22342 * conf/powerpc-ieee1275.rmk: Likewise.
22343 * conf/sparc64-ieee1275.rmk: Likewise.
22344 * conf/x86_64-efi.rmk: Likewise.
22345
9031b03a 223462009-10-26 Colin Watson <cjwatson@ubuntu.com>
22347
22348 * util/grub-editenv.c (main): If only a command is given, use
22349 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
22350 (usage): FILENAME is now optional and has a default.
22351
e4f6809b 223522009-10-26 Colin Watson <cjwatson@ubuntu.com>
22353
22354 Improve grub-mkconfig performance when there are several menu
22355 entries on a single filesystem.
22356
22357 * util/grub.d/10_linux.in (linux_entry): Cache the output of
22358 prepare_grub_to_access_device.
22359 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
22360 * util/grub.d/30_os-prober.in: Likewise.
22361
67937d4d 223622009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22363
22364 * util/grub.d/10_freebsd.in: Remove.
22365 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
22366 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
22367
ee3756cc 223682009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22369
5c35048e 22370 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 22371
4dea1c6f 223722009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22373
22374 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
22375 grub_util_error() call.
22376
042484d7 223772009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22378
22379 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
22380 `reserved_first_sector' member.
22381 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
22382 `reserved_first_sector' to 1.
22383 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
22384 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
22385 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
22386 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
22387 filesystems which begin at first sector.
22388 (options): New option --skip-fs-probe.
22389 (main): Handle --skip-fs-probe and pass it to setup().
22390
d64448a7 223912009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22392
22393 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
22394 (memset): Fix function prototype.
22395
508d42ec 223962009-10-25 Robert Millan <rmh.grub@aybabtu.com>
223972009-10-25 Vasily Averin <vvs@parallels.com>
22398
22399 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
22400 `dirent.direntlen == 0'.
22401
b240e30c 224022009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22403
22404 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
22405 `cpio'.
22406 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
22407
346e7fbe 224082009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22409
22410 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
22411 `__trampoline_setup' and `__ucmpdi2'.
22412 * include/grub/powerpc/libgcc.h: Only export symbols for functions
22413 that libgcc provides.
22414
cdb308b0 224152009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22416
22417 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
22418 * include/grub/sparc64/libgcc.h (memset): Likewise.
22419 * include/grub/misc.h (memset, memcmp): New function prototypes.
22420
fb26abc2 224212009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22422
22423 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
22424 `cpio'.
22425 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
22426
f6693890 224272009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22428
22429 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
22430 * docs/grub.cfg: Compensate for recent change in multiboot
22431 loader (since 2009-08-14 it won't pass filename to payload).
22432 * util/grub.d/10_hurd.in: Likewise.
22433
0933cdc0 224342009-10-21 Felix Zielcke <fzielcke@z-51.de>
22435
22436 * config.guess: Update to latest version from config git
22437 repository.
22438 * config.sub: Likewise.
22439
3b2fe8c2 224402009-10-20 Robert Millan <rmh.grub@aybabtu.com>
22441
22442 Fix build on sparc64.
22443
22444 * configure.ac: Perform checks for libgcc symbols before
22445 adding `-nostdlib' to LDFLAGS.
22446
46695a62 224472009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22448
22449 Let user specify OpenBSD root device.
22450
22451 * loader/i386/bsd.c (openbsd_root): New variable.
22452 (openbsd_opts): New option 'root'.
22453 (OPENBSD_ROOT_ARG): New macro.
22454 (grub_openbsd_boot): Use 'openbsd_root'.
22455 (grub_cmd_openbsd): Fill 'openbsd_root'.
22456
d2b6b7fc 224572009-10-16 Robert Millan <rmh.grub@aybabtu.com>
22458
22459 * NEWS: Misc adjustments.
22460
421bd7ac 224612009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22462
22463 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
22464
f1d29d87 224652009-10-16 Robert Millan <rmh.grub@aybabtu.com>
22466
22467 * configure.ac: Bump version to 1.97.
22468
6f3cd880 224692009-10-16 Colin Watson <cjwatson@ubuntu.com>
22470
22471 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
22472 -mno-3dnow on x86 architectures. Some toolchains enable these
22473 features by default, but they rely on registers that aren't enabled
22474 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
22475
035f7122 224762009-10-15 Robert Millan <rmh.grub@aybabtu.com>
22477
22478 Make entry text a bit more readable.
22479
22480 * util/grub.d/10_linux.in: Add `with' before `Linux'.
22481
44998e58 224822009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22483
22484 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
22485
cd2851b3 224862009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22487
22488 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
22489 operations.
22490
c6f3b249 224912009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22492
22493 * configure.ac: Add missing dollar.
22494
6b5886ba 224952009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22496
22497 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
22498
22499 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
22500 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
22501 exports.
22502 * include/grub/sparc64/libgcc.h: Likewise. Use
22503 preprocessor conditionals.
22504
e9d66f6d 225052009-10-14 Robert Millan <rmh.grub@aybabtu.com>
22506
22507 * conf/common.rmk (grub-dumpbios): Remove rule.
22508 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
22509 * util/grub-dumpbios.in: Remove file.
22510
9155bc17 225112009-10-14 Robert Millan <rmh.grub@aybabtu.com>
22512
22513 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
22514 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
22515
22516 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
22517 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
22518 users.
22519
22520 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
22521 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
22522 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
22523 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
22524 users.
22525
bf7f7a18 225262009-10-12 Robert Millan <rmh.grub@aybabtu.com>
22527
22528 * term/tparm.c: Switch to GPLv3.
22529
86564c26 225302009-10-09 Robert Millan <rmh.grub@aybabtu.com>
22531
22532 * include/grub/i386/cpuid.h: Add header protection.
22533
5c936493 225342009-10-09 Robert Millan <rmh.grub@aybabtu.com>
22535
22536 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
22537
22538 * include/grub/i386/cpuid.h: New file.
22539 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
22540 (has_longmode): Rename to ...
22541 (grub_cpuid_has_longmode): ... this. Update all users. Remove
22542 `static' attribute.
22543 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
22544 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
22545 on a CPU that doesn't implement AMD64 instruction set.
22546
186e7cf2 225472009-10-06 Colin Watson <cjwatson@ubuntu.com>
22548
22549 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
22550 that version.texi is rebuilt on version number changes.
22551
83b65c4a 225522009-10-06 Colin Watson <cjwatson@ubuntu.com>
22553
22554 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
22555 Fixes bug #27602.
22556
d244281c 225572009-10-06 Colin Watson <cjwatson@ubuntu.com>
22558
22559 * util/i386/pc/grub-install.in: Source
22560 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
22561 that the --grub-probe option will work.
22562 * util/sparc64/ieee1275/grub-install.in: Likewise.
22563
da25306d 225642009-10-05 Robert Millan <rmh.grub@aybabtu.com>
22565
22566 * configure.ac: Bump version to 1.97~beta4.
22567
e8ee83c0 225682009-10-03 Robert Millan <rmh.grub@aybabtu.com>
22569
22570 Resync grub-mkdevicemap in x86_64-efi.
22571
22572 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
22573 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
22574 `util/devicemap.c'.
22575
50dcabcf 225762009-10-01 Colin Watson <cjwatson@ubuntu.com>
22577
22578 * util/grub-editenv.c (create_envblk_file): Write new block with a
22579 .new suffix and then rename it into place, to ensure atomic
22580 creation.
22581
0e51c3a7 225822009-09-28 Robert Millan <rmh.grub@aybabtu.com>
22583
22584 Do not automatically install headers.
22585
22586 * Makefile.in (include_DATA): Remove. Update all users.
22587
31299a95 225882009-09-26 Robert Millan <rmh.grub@aybabtu.com>
22589
22590 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
22591 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
22592
22593 * util/osdetect.lua: Remove.
22594 * script/lua/lauxlib.c: Likewise.
22595 * script/lua/ldebug.c: Likewise.
22596 * script/lua/grub_main.c: Likewise.
22597 * script/lua/lauxlib.h: Likewise.
22598 * script/lua/ldebug.h: Likewise.
22599 * script/lua/ltablib.c: Likewise.
22600 * script/lua/liolib.c: Likewise.
22601 * script/lua/lstrlib.c: Likewise.
22602 * script/lua/lualib.h: Likewise.
22603 * script/lua/ldo.c: Likewise.
22604 * script/lua/ldump.c: Likewise.
22605 * script/lua/ldo.h: Likewise.
22606 * script/lua/loslib.c: Likewise.
22607 * script/lua/lundump.c: Likewise.
22608 * script/lua/grub_lib.c: Likewise.
22609 * script/lua/ldblib.c: Likewise.
22610 * script/lua/lundump.h: Likewise.
22611 * script/lua/lmem.c: Likewise.
22612 * script/lua/grub_lib.h: Likewise.
22613 * script/lua/lmathlib.c: Likewise.
22614 * script/lua/lstate.c: Likewise.
22615 * script/lua/ltm.c: Likewise.
22616 * script/lua/lvm.c: Likewise.
22617 * script/lua/lmem.h: Likewise.
22618 * script/lua/lstate.h: Likewise.
22619 * script/lua/ltm.h: Likewise.
22620 * script/lua/ltable.c: Likewise.
22621 * script/lua/lvm.h: Likewise.
22622 * script/lua/llex.c: Likewise.
22623 * script/lua/lgc.c: Likewise.
22624 * script/lua/grub_lua.h: Likewise.
22625 * script/lua/loadlib.c: Likewise.
22626 * script/lua/lfunc.c: Likewise.
22627 * script/lua/lopcodes.c: Likewise.
22628 * script/lua/lparser.c: Likewise.
22629 * script/lua/ltable.h: Likewise.
22630 * script/lua/llex.h: Likewise.
22631 * script/lua/lgc.h: Likewise.
22632 * script/lua/lfunc.h: Likewise.
22633 * script/lua/lbaselib.c: Likewise.
22634 * script/lua/lopcodes.h: Likewise.
22635 * script/lua/lparser.h: Likewise.
22636 * script/lua/lzio.c: Likewise.
22637 * script/lua/linit.c: Likewise.
22638 * script/lua/lobject.c: Likewise.
22639 * script/lua/llimits.h: Likewise.
22640 * script/lua/lstring.c: Likewise.
22641 * script/lua/lzio.h: Likewise.
22642 * script/lua/lapi.c: Likewise.
22643 * script/lua/lcode.c: Likewise.
22644 * script/lua/lua.h: Likewise.
22645 * script/lua/lobject.h: Likewise.
22646 * script/lua/lstring.h: Likewise.
22647 * script/lua/lapi.h: Likewise.
22648 * script/lua/lcode.h: Likewise.
22649 * script/lua/luaconf.h: Likewise.
22650
cb8a2c38 226512009-09-26 Colin Watson <cjwatson@ubuntu.com>
22652
22653 * docs/grub.texi (Command-line and menu entry commands): Document
22654 date and echo commands.
22655
6b9b6276 226562009-09-24 Pavel Roskin <proski@gnu.org>
22657
22658 * include/grub/kernel.h (struct grub_module_header): Remove
22659 `grub_module_header_types'. Make `type' unsigned. Make `size'
22660 32-bit on all platforms.
22661 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
22662 8-bit field. Use grub_host_to_target32() for `size'.
22663 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
22664 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
22665 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
22666
4e5a02a7 226672009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22668
22669 Fix "lost keypress" bug in at_keyboard.
22670
22671 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
22672 Checks for readyness of input buffer (without flushing it).
22673 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
22674 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
22675
c6dcedf6 226762009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22677
22678 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
22679 size check within GRUB_MACHINE_PCBIOS section.
22680
74c958b1 226812009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22682
22683 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
22684 return value.
22685 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
22686 KEYBOARD_ISREADY check.
22687 (grub_at_keyboard_checkkey): Rename to ...
22688 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
22689 Remove gratuitous cast.
22690
ff420223 226912009-09-23 Colin Watson <cjwatson@ubuntu.com>
22692
22693 * configure.ac: Call AC_PROG_MKDIR_P.
22694 * Makefile.in (docs/stamp-vti): Create docs directory. Create
22695 version.texi in $(builddir) rather than $(srcdir).
22696 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
22697 to makeinfo's @include search path.
22698
d96875df 226992009-09-23 Felix Zielcke <fzielcke@z-51.de>
22700
22701 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
22702
9b3f8365 227032009-09-23 Felix Zielcke <fzielcke@z-51.de>
22704
22705 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
22706 for `*.dpkg-new'.
22707
c44c90db 227082009-09-21 Colin Watson <cjwatson@ubuntu.com>
22709
22710 Build info documentation. Some code borrowed from Automake.
22711
22712 * configure.ac: Check for makeinfo.
22713 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
22714 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
22715 docs/version.texi.
22716 (MOSTLYCLEANFILES): Add vti.tmp.
22717 (docs/version.texi, docs/stamp-vti): Update automatically.
22718 (docs/grub.info): Build info documentation. Use --force and ignore
22719 errors for now.
22720 (all-local): Add $(INFOS).
22721 (install-local): Install info files.
22722 (uninstall): Uninstall info files.
22723 * docs/version.texi: Remove from revision control. This file is
22724 automatically generated on build now.
22725 * gendistlist.sh: Add `*.info'.
22726
e0b37bb5 227272009-09-21 Felix Zielcke <fzielcke@z-51.de>
22728
22729 * kern/term.c: Fix indentation.
22730
5a78865b 227312009-09-21 Felix Zielcke <fzielcke@z-51.de>
22732
22733 * util/hostdisk.c: Fix a comment.
22734
dace7e8a 227352009-09-20 Robert Millan <rmh.grub@aybabtu.com>
22736
22737 Fix regression introduced in r2539.
22738
22739 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
22740 to 0xA1.
22741
a83d079b 227422009-09-19 Colin Watson <cjwatson@ubuntu.com>
22743
22744 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 22745 os-prober. Under normal operation, it does not print anything to
22746 stderr; if it does, we need to debug it, and throwing away stderr
22747 makes that excessively difficult.
a83d079b 22748
be94a509 227492009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
22750
22751 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
22752
63f745e8 227532009-09-16 Robert Millan <rmh.grub@aybabtu.com>
22754
22755 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
22756 AC_LANG_PROGRAM from autoconf.
22757 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
22758 prototypes (fixes warning).
22759
22760 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
22761 `--disable-werror' was used.
22762
bbb2a70f 227632009-09-16 Robert Millan <rmh.grub@aybabtu.com>
22764
22765 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
22766 uninitialized `lastaddr'.
22767
77c24f1d 227682009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22769
0f0b8c87 22770 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 22771
07197f23 227722009-09-14 Colin Watson <cjwatson@ubuntu.com>
22773
22774 * commands/test.c (get_fileinfo): Return immediately if
22775 grub_fs_probe fails.
22776
dabf1798 227772009-09-14 José Martínez <xosemp@gmail.com>
22778
22779 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
22780
d52109a7 227812009-09-14 Colin Watson <cjwatson@ubuntu.com>
22782
22783 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
22784 output.
22785
56532179 227862009-09-13 Robert Millan <rmh.grub@aybabtu.com>
22787
22788 * configure.ac: Remove --enable-grub-pe2elf. Only build
22789 grub-pe2elf when needed by the build system itself.
22790 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
22791
8ef070f5 227922009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22793
22794 * configure.ac: Bump version to 1.97~beta3.
22795 * docs/version.texi: Likewise.
22796
61229557 227972009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22798
22799 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
22800 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
22801 from here ...
22802 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
22803 (grub_linux_setup_video): ... to here (with some adjustments).
22804
5c9f8d84 228052009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22806
22807 Fix memory corruption issue (spotted by Colin Watson).
22808
22809 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
22810 causing returned size to be stored in an incorrect memory location.
22811 Fix use of uninitialized value when storing the returned size.
22812
e8f5d6e9 228132009-09-12 Yves Blusseau <blusseau@zetam.org>
22814
22815 Change clean rules to properly remove files
22816
22817 * genmk.rb: add new clean rules
22818 * Makefile.in (clean): add the new targets
22819 (mostlyclean): likewise
22820
cda2a409 228212009-09-11 Colin Watson <cjwatson@ubuntu.com>
22822
22823 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
22824 to grub_uint64_t.
22825 * fs/ntfs.c (init_file): Understand 64-bit sizes for
22826 non-resident files.
22827
86695375 228282009-09-11 Colin Watson <cjwatson@ubuntu.com>
22829
22830 * configure.ac: Don't look for help2man when cross-compiling. Fixes
22831 part of bug #27349.
22832
8aa1541a 228332009-09-10 Felix Zielcke <fzielcke@z-51.de>
22834
22835 * util/grub-mkconfig.in: Make the created config mode 400 and
22836 print a warning if it fails.
22837
48d9bb0a 228382009-09-10 Robert Millan <rmh.grub@aybabtu.com>
22839
22840 * util/grub.d/40_custom.in: Ask user to type custom entries below
22841 comment, rather than below 'exec tail' line.
22842
3b0521be 228432009-09-10 Colin Watson <cjwatson@ubuntu.com>
22844
22845 * util/grub.d/40_custom.in: Make sure that the explanatory text is
22846 visible in grub.cfg.
22847
50051d55 228482009-09-10 Colin Watson <cjwatson@ubuntu.com>
22849
22850 * util/grub.d/40_custom.in: Make it a little clearer how to use this
22851 file.
22852
c0d34387 228532009-09-10 Felix Zielcke <fzielcke@z-51.de>
22854
22855 * docs/grub.cfg: Add an example menu entry for memtest86+.
22856
80a608f3 228572009-09-09 Felix Zielcke <fzielcke@z-51.de>
22858
a2094832 22859 * config.guess: Update to latest version from config git.
80a608f3 22860 * config.sub: Likewise.
22861
99423078 228622009-09-08 Colin Watson <cjwatson@ubuntu.com>
22863
22864 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
22865 unknown-command case. Fixes bug #27320.
22866
44454e4c 228672009-09-08 Felix Zielcke <fzielcke@z-51.de>
22868
22869 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
22870 `help' if the command exists.
22871
e30d87ad 228722009-09-06 Robert Millan <rmh.grub@aybabtu.com>
22873
22874 * INSTALL: Require GCC 4.1.3 or later.
22875
9a86f1ec 228762009-09-06 Yves Blusseau <blusseau@zetam.org>
22877
22878 * Makefile.in (RMKFILES): add i386-qemu.rmk
22879 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
22880 $(srcdir)/stamp-h.in
22881
7f26d466 228822009-09-05 Robert Millan <rmh.grub@aybabtu.com>
22883
22884 * util/grub-probe.c (probe): Comment out buggy codepath, which
22885 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
22886 should be re-enabled after 1.97.
22887
3a613259 228882009-09-05 Felix Zielcke <fzielcke@z-51.de>
22889
22890 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
22891 find searches for.
22892
197f76c7 228932009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22894
22895 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
22896 unnecessary calls to grub_error.
22897
70ba68ce 228982009-09-04 Colin Watson <cjwatson@ubuntu.com>
22899
22900 * NEWS: Mention `keystatus' and Unicode fonts.
22901
4ff0d7a4 229022009-09-04 Robert Millan <rmh.grub@aybabtu.com>
22903
22904 * configure.ac: Bump version to 1.97~beta2.
22905 * docs/version.texi: Likewise.
22906
77c55a87 229072009-09-03 Colin Watson <cjwatson@ubuntu.com>
22908
22909 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
22910 containing unwind information in some cases where it previously did
22911 not. Use -fno-dwarf2-cfi-asm if available to restore the old
22912 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
22913 discussion.
22914
f79572cd 229152009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
22916
22917 Embedding loadenv module into grub-emu
22918
22919 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
22920 commands/loadenv.c
22921 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
22922 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
22923 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
22924 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
22925 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
22926 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
22927
93a81088 229282009-09-03 Magnus Granberg <zorry@ume.nu>
22929
22930 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
22931 include -fPIE in the default specs.
22932 * configure.ac: Check if pie_possible is yes and add -fno-PIE
22933 to TARGET_CFLAGS.
22934
160034b2 229352009-09-03 Felix Zielcke <fzielcke@z-51.de>
22936
22937 * INSTALL: Note that GNU Bison 2.3 or later is required.
22938
087c07c4 229392009-09-03 Colin Watson <cjwatson@ubuntu.com>
22940
22941 * kern/i386/pc/startup.S: Fix typo.
22942
cbf978c0 229432009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22944
22945 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
22946 according to GCS.
22947
229482009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 22949
22950 * docs/grub.texi (Naming convention): Describe one-based partition
22951 numbering.
22952 (Device syntax): Likewise.
22953 (File name syntax): Likewise.
22954 (Block list syntax): Likewise.
22955 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
22956 menu.lst.
22957 (File name syntax): Likewise.
22958 (Command-line and menu entry commands): Document acpi, blocklist,
22959 crc, export, insmod, keystatus, ls, set, and unset commands.
22960
f3e8cdfd 229612009-09-02 Colin Watson <cjwatson@ubuntu.com>
22962
22963 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
22964 to avoid implying that only one of --shift, --ctrl, or --alt may be
22965 used.
22966
c0bc232b 229672009-09-02 Colin Watson <cjwatson@ubuntu.com>
22968
22969 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
22970 rather than comparing against S_IFREG, which will almost never work.
22971
aa0f752d 229722009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
22973
22974 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
22975 (write_blocklists): Likewise.
22976
ecb3166a 229772009-09-01 Colin Watson <cjwatson@ubuntu.com>
22978
22979 * script/lua/grub_lua.h (fputs): Supply a format string as the first
22980 argument to grub_printf.
22981
c403a125 229822009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 22983
22984 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 22985 non GNU test.
31aba781 22986
b5e7312c 229872009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22988
22989 * kern/file.c (grub_file_read): Spelling fix
22990
fe00f472 229912009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22992
22993 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
22994 loading of headers in some cases.
22995
cc55302e 229962009-08-30 Robert Millan <rmh.grub@aybabtu.com>
22997
22998 * configure.ac: Bump version to 1.97~beta1.
22999 * docs/version.texi: Likewise.
23000
5c90cdd2 230012009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 23002
23003 * include/grub/i386/xnu.h: Add license header.
23004 include grub/err.h explicitly.
23005
c90edae4 230062009-08-29 Robert Millan <rmh.grub@aybabtu.com>
23007
23008 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
23009 to `ufs' in the vfs.root.mountfrom kernel parameter.
23010
d8888b5c 230112009-08-29 Robert Millan <rmh.grub@aybabtu.com>
23012
23013 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
23014
23015 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
23016 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
23017
23018 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
23019 `ARRAY_SIZE' macro.
23020
6f07b921 230212009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23022
23023 * kern/file.c (grub_file_read): Check offset.
23024 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
23025 * fs/jfs.c (grub_jfs_read_file): Likewise.
23026 * fs/ntfs.c (grub_ntfs_read): Likewise.
23027 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
23028 * fs/minix.c (grub_minix_read_file): Correct offset check.
23029 * fs/ufs.c (grub_ufs_read_file): Likewise.
23030
b4f34077 230312009-08-28 Colin Watson <cjwatson@ubuntu.com>
23032
23033 * term/i386/pc/console.c (bios_data_area): Cast
23034 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
23035
e7c69859 230362009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23037
23038 1-bit optimised blitters.
23039
23040 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
23041 prototype.
23042 (grub_video_fbblit_replace_24bit_1bit): Likewise.
23043 (grub_video_fbblit_replace_16bit_1bit): Likewise.
23044 (grub_video_fbblit_replace_8bit_1bit): Likewise.
23045 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
23046 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
23047 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
23048 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
23049 function.
23050 (grub_video_fbblit_replace_24bit_1bit): Likewise.
23051 (grub_video_fbblit_replace_16bit_1bit): Likewise.
23052 (grub_video_fbblit_replace_8bit_1bit): Likewise.
23053 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
23054 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
23055 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
23056 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
23057 when possible.
23058 * video/video.c (grub_video_get_blit_format): Return
23059 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
23060
a57da43f 230612009-08-28 Colin Watson <cjwatson@ubuntu.com>
23062
23063 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
23064 the first argument to grub_printf.
23065
4cbe67e5 230662009-08-28 Colin Watson <cjwatson@ubuntu.com>
230672009-08-28 Robert Millan <rmh.grub@aybabtu.com>
23068
23069 Add `getkeystatus' terminal method. Add a new `keystatus' command
23070 to query it.
23071
23072 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
23073 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
23074 modifier key bitmasks.
23075 (struct grub_term_input): Add `getkeystatus' member.
23076 (grub_getkeystatus): Add prototype.
23077 * kern/term.c (grub_getkeystatus): New function.
23078
23079 * include/grub/i386/pc/memory.h
23080 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
23081 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
23082 Data Area layout.
23083 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
23084 (grub_console_term_input): Set `getkeystatus' member.
23085 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
23086 constants.
23087 (grub_usb_keyboard_getreport): Likewise.
23088 (grub_usb_keyboard_checkkey): Likewise.
23089 (grub_usb_keyboard_getkeystatus): New function.
23090 (grub_usb_keyboard_term): Set `getkeystatus' member.
23091
23092 * commands/keystatus.c: New file.
23093 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
23094 (keystatus_mod_SOURCES): New variable.
23095 (keystatus_mod_CFLAGS): Likewise.
23096 (keystatus_mod_LDFLAGS): Likewise.
23097 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
23098 commands/keystatus.c.
23099 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23100 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23101 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23102 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23103 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23104 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 23105
6e2a9085 231062009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23107
23108 Split befs.mod and afs.mod into *_be.mod and *.mod
23109
23110 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
23111 (grub_fstest_SOURCES): Likewise.
23112 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
23113 (afs_be_mod_SOURCES): New variable.
23114 (afs_be_mod_CFLAGS): Likewise.
23115 (afs_be_mod_LDFLAGS): Likewise.
23116 (befs_be_mod_SOURCES): Likewise.
23117 (befs_be_mod_CFLAGS): Likewise.
23118 (befs_be_mod_LDFLAGS): Likewise.
23119 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
23120 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23121 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23122 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23123 (grub_emu_SOURCES): Likewise.
23124 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23125 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23126 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23127 * fs/afs_be.c: New file.
23128 * fs/befs_be.c: New file.
23129 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
23130 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
23131 (U16): Replaced with ...
23132 (grub_afs_to_cpu16): ...this. All users updated.
23133 (U32): Replaced with ...
23134 (grub_afs_to_cpu32): ...this. All users updated.
23135 (U64): Replaced with ...
23136 (grub_afs_to_cpu64): ...this. All users updated.
23137 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
23138 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 23139 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 23140 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
23141 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
23142 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
23143 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
23144 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
23145 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
23146 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
23147 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
23148
32a71655 231492009-08-26 Bean <bean123ch@gmail.com>
23150
23151 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
23152 64-bit number.
23153 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
23154 (grub_xfs_inode_block): Change return type to grub_uint64_t.
23155 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
23156
552bf6c5 231572009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23158
23159 NetBSD memory map support.
23160
23161 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
23162 (grub_netbsd_btinfo_mmap_header): New structure.
23163 (grub_netbsd_btinfo_mmap_entry): Likewise.
23164 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
23165
1ae2078c 231662009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23167
23168 Enable bsd.mod on coreboot.
23169
23170 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
23171 (bsd_mod_SOURCES): New variable.
23172 (bsd_mod_CFLAGS): Likewise.
23173 (bsd_mod_LDFLAGS): Likewise.
23174 (bsd_mod_ASFLAGS): Likewise.
23175 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
23176 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
23177
beefc598 231782009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23179
23180 Cleanup NetBSD root support.
23181
23182 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
23183 grub_bsd_get_device.
23184 Fix typo.
23185
3b76e68b 231862009-08-25 Felix Zielcke <fzielcke@z-51.de>
23187
23188 * util/grub.d/00_header.in: Move check for the video backend of
23189 gfxterm from here ...
23190 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
23191 a suitable video backend.
23192
aea664ea 231932009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23194
23195 Fix breakage in grub-setup.
23196
23197 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
23198 "msdos_partition_map".
23199
ff747d50 232002009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23201
23202 Fix breakage in normal/auth.c.
23203
23204 * normal/auth.c (grub_iswordseparator): New function.
23205
e7e1f93f 232062009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23207
23208 Authentication support.
23209
23210 * commands/password.c: New file.
23211 * conf/common.rmk (pkglib_MODULES): Add password.mod.
23212 (password_mod_SOURCES): New variable.
23213 (password_mod_CFLAGS): Likewise.
23214 (password_mod_LDFLAGS): Likewise.
23215 (normal_mod_SOURCES): Add normal/auth.c.
23216 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
23217 normal/auth.c.
23218 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23219 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23220 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23221 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23222 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23223 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23224 * include/grub/auth.h: New file.
23225 * include/grub/err.h (grub_err_t): New enum value
23226 GRUB_ERR_ACCESS_DENIED.
23227 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
23228 'users'.
23229 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
23230 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
23231 users updated.
23232 * normal/auth.c: New file.
23233 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
23234 (grub_cmdline_run): Don't allow to go to command line without
23235 authentication.
23236 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
23237 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
23238 menuentry without superuser rights.
23239 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
23240 user isn't a superuser.
23241
70f1161d 232422009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23243
23244 Save space by inlining misc.c functions.
23245
23246 * kern/misc.c (grub_iswordseparator): Made static.
23247 * kern/misc.c (grub_strcat): Moved from here ...
23248 * include/grub/misc.h (grub_strcat): ... here. Inlined.
23249 * kern/misc.c (grub_strncat): Moved from here ...
23250 * include/grub/misc.h (grub_strncat): ... here. Inlined.
23251 * kern/misc.c (grub_strcasecmp): Moved from here ...
23252 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
23253 * kern/misc.c (grub_strncasecmp): Moved from here ...
23254 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
23255 * kern/misc.c (grub_isalpha): Moved from here ...
23256 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
23257 * kern/misc.c (grub_isdigit): Moved from here ...
23258 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
23259 * kern/misc.c (grub_isgraph): Moved from here ...
23260 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
23261 * kern/misc.c (grub_tolower): Moved from here ...
23262 * include/grub/misc.h (grub_tolower): ... here. Inlined.
23263
48e40bff 232642009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23265
23266 * script/sh/function.c (grub_script_function_find): Cut error message
23267 not to flood terminal.
23268 * script/sh/lexer.c (grub_script_yylex): Remove command line length
23269 limit.
23270 * script/sh/script.c (grub_script_arg_add): Duplicate string.
23271
c385bfc3 232722009-08-24 Colin Watson <cjwatson@ubuntu.com>
23273
23274 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
23275 `report' grub_uint8_t *.
23276 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
23277 Use a 50-millisecond timeout rather than just repeating
23278 grub_usb_keyboard_getreport 50 times.
23279 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
23280
2d21e3e8 232812009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23282
23283 Rename *_partition_map to part_*
23284
23285 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
23286 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
23287 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
23288 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
23289 All users updated.
23290 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
23291 All users updated.
23292 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
23293 * util/grub-probe.c (probe_partmap): Don't transform partition name
23294 to get module name.
23295
dd103c4e 232962009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23297
23298 Fix OpenBSD and NetBSD support.
23299
23300 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
23301 memory address conflict.
23302 (OPENBSD_MMAP_ACPI): New definition.
23303 (OPENBSD_MMAP_NVS): Likewise.
23304 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
23305 and OPENBSD_MMAP_NVS.
23306 Add memory map terminator
23307 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 23308 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 23309
16c84d74 233102009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23311
23312 Let user specify NetBSD root device.
23313
23314 * loader/i386/bsd.c (netbsd_root): New variable.
23315 (netbsd_opts): New option 'root'.
23316 (NETBSD_ROOT_ARG): New macro.
23317 (grub_netbsd_boot): Use 'netbsd_root'.
23318 (grub_bsd_unload): Free 'netbsd_root'.
23319 (grub_cmd_netbsd): Fill 'netbsd_root'.
23320
adb29902 233212009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23322
23323 Support for 64-bit NetBSD.
23324
23325 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
23326 point when booting non-FreeBSD.
23327
f5ae9f74 233282009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23329
23330 Support --no-smp and --no-acpi for NetBSD.
23331
23332 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
23333 (NETBSD_AB_NOACPI): Likewise.
23334 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
23335 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
23336
de74f136 233372009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23338
23339 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
23340 errors.
23341 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
23342 errors. Call grub_error when needed.
23343
e9a925da 233442009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23345
23346 * commands/search.c (search_fs): Try searching without autoload first.
23347 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
23348 filesystem module explicitly for faster booting.
23349
5174302b 233502009-08-23 Colin Watson <cjwatson@ubuntu.com>
23351
23352 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
23353
c8c80635 233542009-08-23 Colin Watson <cjwatson@ubuntu.com>
23355
23356 * util/grub.d/30_os-prober.in: Disable os-prober if
23357 `GRUB_DISABLE_OS_PROBER' was set to true.
23358
71acf5e5 233592009-08-23 Robert Millan <rmh.grub@aybabtu.com>
23360
23361 * partmap/pc.c: Rename to ...
23362 * partmap/msdos.c: ... this. Update all users.
23363 (grub_pc_partition_map): Rename to ...
23364 (grub_msdos_partition_map): ... this. Update all users.
23365
23366 * parttool/pcpart.c: Rename to ...
23367 * parttool/msdospart.c: ... this. Update all users.
23368
23369 * include/grub/pc_partition.h: Rename to ...
23370 * include/grub/msdos_partition.h: ... this. Update all users.
23371 (grub_pc_partition_bsd_entry): Rename to ...
23372 (grub_msdos_partition_bsd_entry): ... this. Update all users.
23373 (grub_pc_partition_disk_label): Rename to ...
23374 (grub_msdos_partition_disk_label): ... this. Update all users.
23375 (grub_pc_partition_entry): Rename to ...
23376 (grub_msdos_partition_entry): ... this. Update all users.
23377 (grub_pc_partition_mbr): Rename to ...
23378 (grub_msdos_partition_mbr): ... this. Update all users.
23379 (grub_pc_partition): Rename to ...
23380 (grub_msdos_partition): ... this. Update all users.
23381 (grub_pc_partition_is_empty): Rename to ...
23382 (grub_msdos_partition_is_empty): ... this. Update all users.
23383 (grub_pc_partition_is_extended): Rename to ...
23384 (grub_msdos_partition_is_extended): ... this. Update all users.
23385 (grub_pc_partition_is_bsd): Rename to ...
23386 (grub_msdos_partition_is_bsd): ... this. Update all users.
23387
23388 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
23389 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
23390 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
23391 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
23392 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
23393 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
23394 (gpt_mod_LDFLAGS): Rename to ...
23395 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
23396 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
23397 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
23398 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
23399 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
23400 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
23401 (part_gpt_mod_LDFLAGS): ... this.
23402 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
23403 `pcpart.mod' to `msdospart.mod'.
23404 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
23405 to ...
23406 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
23407 (msdospart_mod_LDFLAGS): ... this.
23408
c11fded5 234092009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23410
23411 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
23412 (openbsd_opts): Likewise.
23413 (netbsd_opts): Likewise.
23414 (freebsd_flags): Added 0 terminator.
23415 (openbsd_flags): Likewise.
23416 (netbsd_flags): Likewise.
23417 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
23418 (grub_cmd_freebsd): Transformed into extended command.
23419 (grub_cmd_openbsd): Likewise.
23420 (grub_cmd_netbsd): Likewise.
23421 (cmd_freebsd): Changed type to grub_extcmd_t.
23422 (cmd_openbsd): Likewise.
23423 (cmd_netbsd): Likewise.
23424 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
23425 grub_cmd_openbsd as extended commands.
23426 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
23427 cmd_netbsd and cmd_openbsd
23428
11d1c769 234292009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23430
23431 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
23432
7a9094e5 234332009-08-21 Pavel Roskin <proski@gnu.org>
23434
5496c37e 23435 * Makefile.in (install-local): When checking if a file is in the
23436 build directory, use "test -e" to detect symlinks.
23437
7a9094e5 23438 * Makefile.in (install-local): Remove all files in
23439 $(DESTDIR)$(pkglibdir) before installing new files there.
23440
e53cea11 234412009-08-18 Felix Zielcke <fzielcke@z-51.de>
23442
23443 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
23444 grub-mkelfimage.
23445
9aced544 234462009-08-18 Felix Zielcke <fzielcke@z-51.de>
23447
23448 * util/grub-mkconfig.in: Don't use gfxterm by default if not
23449 explicitly specified by the user.
23450
b7da6bab 234512009-08-18 Pavel Roskin <proski@gnu.org>
23452
23453 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
23454 grub_uint8_t pointer for data.
23455 * include/grub/fbutil.h (struct grub_video_fbblit_info):
23456 Likewise.
23457 * video/fb/fbutil.c: Remove unnecessary casts.
23458
19f1b335 234592009-08-17 Michal Suchanek <hramrach@centrum.cz>
23460
23461 VBE cleanup.
23462
23463 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
23464 (grub_vbe_set_video_mode): Save active mode info
23465 only after setting the mode.
23466 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
23467 second argument.
23468
2f467aa9 234692009-08-17 Michal Suchanek <hramrach@centrum.cz>
23470
23471 Rename variables for clarity.
23472
23473 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
23474 (active_vbe_mode_info): ... this. All users updated.
23475 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
23476 All users updated.
23477 (initial_mode): Rename to ...
23478 (initial_vbe_mode): ... this. All users updated.
23479 (mode_in_use): Rename to ..
23480 (vbe_mode_in_use): ... this. All users updated.
23481 (mode_list): Rename to ..
23482 (vbe_mode_list): ... this. All users updated.
23483 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
23484 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
23485 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
23486 'mode_list_size' to 'vbe_mode_list_size'.
23487 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
23488 'best_mode_info' to 'best_vbe_mode_info' and
23489 'best_mode' to 'best_vbe_mode'
23490
6025fcd7 234912009-08-17 Michal Suchanek <hramrach@centrum.cz>
23492
23493 Remove duplicate grub_video_fb_get_video_ptr.
23494
23495 * include/grub/fbutil.h (get_data_ptr): Rename to ...
23496 (grub_video_fb_get_video_ptr): ... this.
23497 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
23498 * video/fb/fbutil.c: Add comment about addressing.
23499 (get_data_ptr): Rename to ...
23500 (grub_video_fb_get_video_ptr): ... this. All users updated.
23501 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
23502
cc8c6faf 235032009-08-17 Robert Millan <rmh.grub@aybabtu.com>
23504
23505 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
23506 grub_dprintf() that was just added.
23507
08aa61f0 235082009-08-17 Robert Millan <rmh.grub@aybabtu.com>
23509
23510 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
23511 (DEFAULT_VIDEO_MODE): Remove macros.
23512 (grub_linux_boot): Remove assumption that Linux has FB support,
23513 and use "text" as default video mode.
23514
7cef4f75 235152009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
23516
23517 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
23518 grub_dprintf.
23519 * fs/fat.c (grub_fat_read_data): Likewise.
23520
e1f39873 235212009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23522
23523 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
23524 payload.
23525 (grub_module): Likewise.
23526
c166d79e 235272009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23528
23529 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
23530 mbi->cmdline but free playground.
23531
c60cee8e 235322009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23533
23534 Handle group offset on UFS1.
23535
23536 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
23537 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
23538
c0d8b5d4 235392009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23540
23541 Split ufs.mod into ufs1.mod and ufs2.mod.
23542
23543 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
23544 (grub_fstest_SOURCES): Likewise.
23545 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
23546 (ufs_mod_SOURCES): Remove.
23547 (ufs_mod_CFLAGS): Likewise.
23548 (ufs_mod_LDFLAGS): Likewise.
23549 (ufs1_mod_SOURCES): New variable.
23550 (ufs1_mod_CFLAGS): Likewise.
23551 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 23552 (ufs2_mod_SOURCES): New variable.
23553 (ufs2_mod_CFLAGS): Likewise.
23554 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 23555 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
23556 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
23557 Likewise.
23558 (grub_emu_SOURCES): Likewise.
23559 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23560 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23561 (grub_setup_SOURCES): Likewise.
23562 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23563 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
23564 (grub_setup_SOURCES): Likewise.
23565 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
23566 Likewise.
23567 * fs/ufs2.c: New file.
23568 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
23569
d3539132 235702009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23571
23572 Framebuffer split.
23573
23574 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
23575 subsystem at the end.
23576 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
23577 (video_fb_mod_SOURCES): New variable.
23578 (video_fb_mod_CFLAGS): Likewise.
23579 (video_fb_mod_LDFLAGS): Likewise.
23580 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
23581 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
23582 * video/i386/pc/vbeblit.c: Moved from here ...
23583 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
23584 * video/i386/pc/vbefill.c: Moved from here ...
23585 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
23586 * video/i386/pc/vbeutil.c: Moved from here ...
23587 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
23588 * include/grub/i386/pc/vbeblit.h: Moved from here ...
23589 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
23590 * include/grub/i386/pc/vbefill.h: Moved from here ...
23591 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
23592 * include/grub/i386/pc/vbeutil.h: Moved from here ...
23593 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
23594 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
23595 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
23596 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
23597 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
23598 (grub_video_adapter): Added 'get_info_and_fini'.
23599 (grub_video_get_info_and_fini): New prototype.
23600 (grub_video_set_mode): make modestring const char *.
23601 * loader/i386/linux.c (grub_linux_setup_video): Use
23602 grub_video_get_info_and_fini.
23603 (grub_linux_boot): Move modesetting just before booting.
23604 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
23605 grub_video_get_info_and_fini.
23606 * video/i386/pc/vbe.c: Moved framebuffer part ...
23607 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
23608 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
23609 grub_video_fbstd_colors and grub_video_fb_set_palette.
23610 (grub_video_vbe_init): Clear 'framebuffer' variable and use
23611 grub_video_fb_init.
23612 (grub_video_vbe_fini): Use grub_video_fb_fini.
23613 (grub_video_vbe_setup): Use framebuffer.render_target instead of
23614 render_target and use grub_video_fb_set_active_render_target and
23615 grub_video_fb_set_palette.
23616 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
23617 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
23618 (grub_video_vbe_adapter): Use framebuffer.
23619 * video/video.c (grub_video_get_info_and_fini): New function.
23620 (grub_video_set_mode): Make modestring const char *.
23621 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
23622 values are already initialised.
23623
d404ee56 236242009-08-14 Pavel Roskin <proski@gnu.org>
23625
23626 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
23627 ABS and APPLE_CC.
23628 * boot/i386/pc/diskboot.S: Likewise.
23629 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
23630 sectors allow compilation on MacOSX.
23631 * conf/i386-pc.rmk: Enable unconditional compilation of
23632 lnxboot.img.
23633
9a10df16 236342009-08-13 Colin Watson <cjwatson@ubuntu.com>
23635
23636 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
23637 * util/grub.d/00_header.in: Enter interruptible sleep if
23638 GRUB_HIDDEN_TIMEOUT is set.
23639
be3c9ca7 236402009-08-13 Yves Blusseau <blusseau@zetam.org>
23641
23642 * include/grub/symbol.h: Add the LOCAL macro.
23643 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
23644 starting with "L_".
23645
1f9e557e 236462009-08-13 Pavel Roskin <proski@gnu.org>
23647
9ca62843 23648 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
23649 any modern compilers we support.
23650
1f9e557e 23651 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
23652 Use local labels starting with "L_" so that Apple assembler
23653 knows they are local.
23654
81623db6 236552009-08-10 Robert Millan <rmh.grub@aybabtu.com>
23656
23657 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
23658 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
23659 (bsd_kernel_types): ... this enum.
23660
23661 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
23662 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
23663 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
23664
23665 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
23666 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
23667 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
23668 messages.
23669
f5d35e7a 236702009-08-08 Robert Millan <rmh.grub@aybabtu.com>
23671
23672 * util/grub-dumpdevtree: Moved from here ...
23673 * util/i386/efi/grub-dumpdevtree: ... to here.
23674 (hexify): New function. Converts a string to its hex version.
23675 Generate hex versions of "efi" and "device-properties" by calling
23676 hexify() on the ASCII strings rather than by hardcoding numbers.
23677
d1e1d527 236782009-08-08 Robert Millan <rmh.grub@aybabtu.com>
23679
23680 * fs/jfs.c: Update copyright year.
23681
1ebbe064 236822009-08-08 Felix Zielcke <fzielcke@z-51.de>
23683
23684 * util/grub.d/00_header.in: Fix a comment.
23685 * util/grub.d/10_linux.in: Likewise.
23686 * util/grub.d/10_windows.in: Likewise.
23687 * util/grub.d/10_hurd.in: Likewise.
23688
a78c8d24 236892009-08-08 Felix Zielcke <fzielcke@z-51.de>
23690
23691 * util/grub-mkconfig.in: Allow the user to specify the used font
23692 with GRUB_FONT.
23693
29a6b9e8 236942009-08-08 Pavel Roskin <proski@gnu.org>
23695
b5f16cc4 23696 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
23697 available, xfs.mod needs it now.
23698
2f5cb827 23699 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
23700 the "g" modifier in sed when the intention is to strip something
23701 once. This fixes comparison of kernels with multiple dashes.
23702
29a6b9e8 23703 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
23704 on it. Add missing space before closing bracket. Fix
23705 misleading formatting.
23706
892a3d98 237072009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23708
23709 * docs/grub.texi: Major overhaul. Remove all sections that are
23710 specific to GRUB Legacy, or mostly composed of Legacy-specific
23711 information.
23712
ed94253f 237132009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23714
23715 * docs/version.texi: New file. Provides version information for
23716 grub.texi.
23717
126d6628 237182009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23719
23720 * docs/grub.texi: Update CVS information to SVN.
23721 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
23722
998b5aa9 237232009-08-07 Felix Zielcke <fzielcke@z-51.de>
23724
23725 * util/grub-mkconfig.in: Remove a wrong `fi'.
23726
818e094a 237272009-08-07 Felix Zielcke <fzielcke@z-51.de>
23728
23729 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
23730 (grub_jfs_uuid): New function.
23731 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
23732
b969c52f 237332009-08-07 Felix Zielcke <fzielcke@z-51.de>
23734
23735 * util/grub-mkconfig_lib.in (font_path): Move the functionality
23736 of it to ...
23737 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
23738 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
23739
7a4894cc 237402009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23741
23742 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
23743 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
23744 Update all users.
23745
23746 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
23747 not just "vmlinu[zx]".
23748 Moved from here ...
23749 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
23750 all users.
23751
23752 * util/grub.d/10_linux.in (find_latest): Moved from here ...
23753 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
23754 all users.
23755
4e2171f8 237562009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23757
23758 * util/grub.d/10_freebsd.in: Use an absolute device path for
23759 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
23760
6dcfcb32 237612009-08-06 Felix Zielcke <fzielcke@z-51.de>
23762
23763 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
23764 handling of multiple abstraction modules.
23765
f56a8756 237662009-08-04 Robert Millan <rmh.grub@aybabtu.com>
23767
23768 Fix a bug resulting in black screen when loading Linux using a
23769 packed video mode.
23770
23771 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
23772 function.
23773
23774 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
23775 (grub_vbe_bios_getset_dac_palette_width): New function.
23776 (grub_vbe_bios_get_dac_palette_width)
23777 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
23778 grub_vbe_bios_getset_dac_palette_width()).
23779
23780 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
23781 check for return status.
23782 (grub_vbe_get_video_mode_info): When getting information for a packed
23783 mode (<= 8 bpp), obtain DAC palette width using
23784 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
23785 {red,green,blue}_mark_size.
23786
222671b2 237872009-08-04 Felix Zielcke <fzielcke@z-51.de>
23788
ecb1a6d9 23789 * commands/search.c (options): Fix help output to match actual code.
222671b2 23790
f84114f5 237912009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
23792
23793 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
23794 of homegrown code.
23795
bd288a20 237962009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 23797
23798 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
23799 on XFS or ReiserFS.
23800
8aab5e25 238012009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23802
23803 Support Apple partition map with sector size different from 512 bytes.
23804
23805 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
23806 (apple_partition_map_iterate): Respect 'aheader.blocksize'
23807 and 'apart.partmap_size'.
23808
6ad6258a 238092009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
238102009-08-01 Robert Millan <rmh.grub@aybabtu.com>
23811
23812 Fix cpuid command.
23813
23814 * commands/i386/cpuid.c (options): New variable.
23815 (grub_cmd_cpuid): Return real error.
23816 (GRUB_MOD_INIT(cpuid)): Declare options.
23817
67459bc6 238182009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
23819
23820 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
23821 valid.
23822
fbc6ab54 238232009-07-31 Bean <bean123ch@gmail.com>
23824
23825 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
23826 log2_inode.
23827 (grub_fshelp_node): Move inode field to the end.
23828 (grub_xfs_data): Remove inode field.
23829 (grub_xfs_inode_block): Calculate inode size using sblock.
23830 (grub_xfs_inode_offset): Likewise.
23831 (grub_xfs_read_inode): Calculate inode size using sblock.
23832 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
23833 (grub_xfs_iterate_dir): Calculate inode size using sblock.
23834 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
23835 to match inode size.
23836 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
23837 not accessible when data is null.
23838 (grub_xfs_open): Likewise.
23839
f45d6cfc 238402009-07-31 Bean <bean123ch@gmail.com>
23841
23842 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
23843 Don't change pv->disk if it's already set.
23844
23845 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
23846 (grub_raid_register): ... here.
23847 (grub_raid_rescan): Removed.
23848
23849 * include/grub/raid.h (grub_raid_rescan): Removed.
23850
23851 * util/grub-fstest.c: Remove include file <grub/raid.h>.
23852 (fstest): Replace grub_raid_rescan with module fini function followed
23853 by init function.
23854
23855 * util/grub-probe.c: Add include file <grub/raid.h>.
23856 (probe_raid_level): New function.
23857 (probe): Detect abstraction by walking the disk device, support two
23858 level of abstraction (LVM on RAID) when detecting partition map.
23859
24443b5a 238602009-07-31 Pavel Roskin <proski@gnu.org>
23861
23862 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
23863 to grub_zalloc(), it was erroneous.
23864 Reported by Bean <bean123ch@gmail.com>
23865
a275d9e7 238662009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
23867
23868 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 23869 embedding zone, not only the first one.
a275d9e7 23870
56c5a47f 238712009-07-29 Joe Auricchio <jauricchio@gmail.com>
23872
23873 * term/gfxterm.c (clear_char): New function.
23874 (grub_virtual_screen_setup): Use clear_char.
23875 (scroll_up): Likewise.
23876 (grub_virtual_screen_cls): Likewise.
23877
67bb323a 238782009-07-29 Felix Zielcke <fzielcke@z-51.de>
23879
23880 * util/deviceiter.c (get_acceleraid_disk_name): New static
23881 function.
23882 (grub_util_iterate_devices): Handle Accelraid devices.
23883 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
23884
388a7c75 238852009-07-28 Robert Millan <rmh.grub@aybabtu.com>
23886
23887 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
23888 separator for the suggested gfxpayload string (';' collides with the
23889 parser and needs escaping).
23890
3bb7abcf 238912009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
23892
23893 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
23894 Clear direction flag before jumping to OS.
23895 (grub_multiboot2_real_boot): Likewise.
23896
2ddd36d7 238972009-07-28 Felix Zielcke <fzielcke@z-51.de>
23898
23899 * util/i386/pc/grub-install: Fix parsing of --disk-module
23900 option.
23901
c521b62b 239022009-07-28 Felix Zielcke <fzielcke@z-51.de>
23903
23904 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
23905 when embedding.
23906
880e0a0c 239072009-07-26 Felix Zielcke <fzielcke@z-51.de>
23908
23909 * util/grub-mkconfig.in (package_version): New variable.
23910 Use it do display the version.
23911
2366e356 239122009-07-25 Felix Zielcke <fzielcke@z-51.de>
23913
23914 * kern/file.c (grub_file_open): Revert to previous check with
23915 grub_errno.
23916
7ad8c80e 239172009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
23918
23919 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
23920 from help line. It's out of sync with code.
23921
72b9658b 239222009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
23923
23924 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
23925 entries on failed boot.
23926
77435277 239272009-07-25 Felix Zielcke <fzielcke@z-51.de>
23928
23929 * kern/file.c (grub_file_open): Fix an error check.
23930
fcaa8b21 239312009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
23932
35d16c74 23933 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
23934 partition map couldn't be identified.
fcaa8b21 23935
48904cd1 239362009-07-23 Pavel Roskin <proski@gnu.org>
23937
ef3c317f 23938 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
23939 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
23940 case of little endian words becomes just an optimization.
23941 Respect const modifier.
ad8ea1f4 23942 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 23943
48904cd1 23944 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
23945 to avoid loss of upper bits if align is unsigned and shorter
23946 than addr.
23947
260c9a89 239482009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
23949
23950 UUID support for UFS
23951
23952 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
23953 (grub_ufs_uuid): New function.
23954 (grub_ufs_fs): add .uuid
23955
f76ce889 239562009-07-21 Pavel Roskin <proski@gnu.org>
23957
23958 * kern/dl.c (grub_dl_check_header): Make static.
23959
6a6cbcaf 239602009-07-21 Felix Zielcke <fzielcke@z-51.de>
23961
23962 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
23963 add drivemap for Vista. It breaks Windows 7.
23964
cffcddb2 239652009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
23966
23967 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
23968 128 bytes
23969
1ef44b80 239702009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23971
23972 Add BFS support
23973
23974 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
23975 (grub_fstest_SOURCES): Likewise.
23976 (pkglib_MODULES): Add befs.mod.
23977 (befs_mod_SOURCES): New variable.
23978 (befs_mod_CFLAGS): Likewise.
23979 (befs_mod_LDFLAGS): Likewise.
23980 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23981 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23982 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23983 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23984 (grub_setup_SOURCES): Likewise.
23985 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23986 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23987 (grub_setup_SOURCES): Likewise.
23988 * fs/befs.c: New file.
23989 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
23990 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
23991 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
23992 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
23993 (B_KEY_INDEX_ALIGN): New declaration.
23994 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
23995 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
23996 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
23997 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
23998 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
23999 (grub_afs_mount) [MODE_BFS]: Likewise.
24000 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
24001 (grub_afs_fs): Use GRUB_AFS_FSNAME
24002 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
24003 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
24004 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
24005 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
24006
4f253044 240072009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
24008
24009 * util/getroot.c (find_root_device): Add support for MacOSX.
24010 * util/hostdisk.c: Likewise.
24011
57a55913 240122009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24013
24014 * font/font.c (find_glyph): Check whether a font is present to avoid
24015 segmentation fault.
75421ca9 24016
240172009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 24018
24019 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
24020
e98cd0c2 240212009-07-20 Pavel Roskin <proski@gnu.org>
24022
24023 * configure.ac: Trim excessively wordy excuses.
24024
1d2d169a 240252009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24026
24027 Add symlink, mtime and label support to AtheFS.
24028
24029 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
24030 (grub_afs_iterate_dir): Handle symlinks.
24031 (grub_afs_open): Use grub_afs_read_symlink.
24032 (grub_afs_dir): Likewise.
24033 Pass mtime.
24034 (grub_afs_label): New function.
24035 (grub_afs_fs): Add grub_afs_label.
24036 (grub_afs_read_symlink): New function.
24037
186f3189 240382009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24039
24040 Fix AtheFS support.
24041
24042 * fs/afs.c: Fix comments style.
24043 (grub_afs_blockrun): Declare as packed.
24044 (grub_afs_datastream): Likewise.
24045 (grub_afs_bnode): Likewise.
24046 (grub_afs_btree): Likewise.
24047 (grub_afs_sblock): Likewise.
24048 Declare `name' as char.
24049 (grub_afs_inode): Declare as packed.
24050 Change void *vnode to grub_uint32_t unused.
24051 (grub_afs_iterate_dir): Check that key_size is positive.
24052 (grub_afs_mount): Don't read superblock twice.
75421ca9 24053 (grub_afs_dir): Don't free node in case of error,
186f3189 24054 grub_fshelp_find_file already handles this.
24055 (grub_afs_open): Likewise.
24056
5680109e 240572009-07-19 Pavel Roskin <proski@gnu.org>
24058
24059 * Makefile.in: Remove LIBLZO and enable_lzo.
24060 * conf/i386-pc.rmk: Remove lzo support.
24061 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
24062 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
24063 support.
24064 * kern/i386/pc/lzo1x.S: Remove.
24065 * kern/i386/pc/startup.S: Remove lzo support.
24066 * util/i386/pc/grub-mkimage.c: Likewise.
24067
ac70fa32 240682009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
24069
24070 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
24071 * fs/xfs.c (grub_xfs_dir): Likewise.
24072 * fs/afs.c (grub_afs_dir): Likewise.
24073 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
24074 (grub_iso9660_open): Likewise.
24075 * fs/jfs.c (grub_jfs_open): Likewise.
24076 * fs/ext2.c (grub_ext2_dir): Likewise.
24077 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
24078 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 24079
eab58da2 240802009-07-16 Pavel Roskin <proski@gnu.org>
24081
d2838156 24082 * configure.ac: Never add "-c" to CFLAGS.
24083
55c70904 24084 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
24085
43e6200c 24086 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
24087 grub_cv_cc_efiemu should be used.
24088
ce7a733d 24089 * configure.ac: Typo fixes.
24090
eab58da2 24091 * kern/mm.c (grub_zalloc): New function.
24092 (grub_debug_zalloc): Likewise.
24093 * include/grub/mm.h: Declare grub_zalloc() and
24094 grub_debug_zalloc().
24095 * util/misc.c (grub_zalloc): New function.
24096 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
24097 instead of grub_malloc(), remove unneeded initializations.
24098 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
24099 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
24100 * commands/parttool.c (grub_cmd_parttool): Likewise.
24101 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
24102 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
24103 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
24104 * disk/usbms.c (grub_usbms_finddevs): Likewise.
24105 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
24106 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
24107 (grub_cmd_efiemu_pnvram): Likewise.
24108 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
24109 * fs/iso9660.c (grub_iso9660_mount): Likewise.
24110 (grub_iso9660_iterate_dir): Likewise.
24111 * fs/jfs.c (grub_jfs_opendir): Likewise.
24112 * fs/ntfs.c (list_file): Likewise.
24113 (grub_ntfs_mount): Likewise.
24114 * kern/disk.c (grub_disk_open): Likewise.
24115 * kern/dl.c (grub_dl_load_core): Likewise.
24116 * kern/elf.c (grub_elf_file): Likewise.
24117 * kern/env.c (grub_env_context_open): Likewise.
24118 (grub_env_set): Likewise.
24119 (grub_env_set_data_slot): Likewise.
24120 * kern/file.c (grub_file_open): Likewise.
24121 * kern/fs.c (grub_fs_blocklist_open): Likewise.
24122 * loader/i386/multiboot.c (grub_module): Likewise.
24123 * loader/xnu.c (grub_xnu_create_key): Likewise.
24124 (grub_xnu_create_value): Likewise.
24125 * normal/main.c (grub_normal_add_menu_entry): Likewise.
24126 (read_config_file): Likewise.
24127 * normal/menu_entry.c (make_screen): Likewise.
24128 * partmap/sun.c (sun_partition_map_iterate): Likewise.
24129 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
24130 * script/sh/script.c (grub_script_parse): Likewise.
24131 * video/bitmap.c (grub_video_bitmap_create): Likewise.
24132 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
24133 * video/readers/png.c (grub_png_output_byte): Likewise.
24134 (grub_video_reader_png): Likewise.
24135
830afef7 241362009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 24137
24138 Enable all targets that can be built by default
24139
830afef7 24140 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 24141 grub-mkfont and grub-fstest if they can be built
24142
ee293aee 241432009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24144
24145 Fix hang and segmentation fault in grub-emu-usb
24146
24147 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
24148 * util/usb.c (grub_libusb_devices): likewise
24149 (grub_libusb_init): rename to ...
24150 (GRUB_MOD_INIT (libusb)):...this
24151 (grub_libusb_fini): rename to ..
24152 (GRUB_MOD_FINI (libusb)):...this
24153 * disk/usbms.c (grub_usbms_transfer): fix retry logic
24154 * include/grub/disk.h (grub_raid_init): removed, it's useless
24155 (grub_raid_fini): likewise
24156 (grub_lvm_init): likewise
24157 (grub_lvm_fini): likewise
24158 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
24159 by grub_init_all
24160
94414221 241612009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24162
24163 Fix libusb
24164
24165 * Makefile.in (LIBUSB): new macro
24166 * genmk.rb (Utility/print_tail): new method
24167 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
24168 (top level): call util.print_tail at the end.
24169
59ade63d 241702009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24171
24172 Make FreeBSD accept zpool.cache
24173
24174 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
24175 type is /boot/zfs/zpool.cache
24176
a58da8c7 241772009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24178
24179 Fix 64-bit efiemu
24180
24181 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
24182 correct wrong typedef
24183 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
24184
20591577 241852009-07-15 Pavel Roskin <proski@gnu.org>
24186
560ca572 24187 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
24188 * kern/disk.c (struct grub_disk_cache): Likewise.
24189
e8e8e4fd 24190 * commands/probe.c (options): Typo fix.
24191
fde24e10 24192 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
24193 Increase to 0x5a to accommodate FAT32. Adjust other offsets
24194 accordingly.
24195 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
24196
379c54c1 24197 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
24198 the end of "Error" to make the message more readable.
24199
7bd8f5bf 24200 * boot/i386/pc/boot.S (kernel_segment): Remove.
24201 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
24202 for destination.
24203
40b132c5 24204 * boot/i386/pc/boot.S (boot_version): Remove.
24205 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
24206 Remove.
24207
20591577 24208 * include/grub/i386/pc/boot.h: Sort all offsets.
24209 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
24210 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
24211 * boot/i386/pc/boot.S: Assert location of every offset listed in
24212 include/grub/i386/pc/boot.h.
24213
2df32b2c 242142009-07-13 Pavel Roskin <proski@gnu.org>
24215
44b5d879 24216 * include/grub/i386/coreboot/machine.h: Rename
24217 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
24218 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
24219 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
24220
17dc3751 24221 * kern/dl.c: Force native word size to suppress warnings when
24222 compiling grub-emu.
24223
2df32b2c 24224 * kern/device.c (grub_device_iterate): Change struct part_ent to
24225 hold the name, not a pointer to it. Use one grub_malloc() per
24226 partition, not two. Free partition_name if grub_malloc() fails.
24227 Set ents to NULL only before grub_partition_iterate() is called.
24228
75c59f59 242292009-07-11 Bean <bean123ch@gmail.com>
24230
24231 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
24232 childname.
24233
0ae1bf88 242342009-07-10 Bean <bean123ch@gmail.com>
242352009-07-10 Robert Millan <rmh.grub@aybabtu.com>
24236
24237 * kern/ieee1275/openfw.c (grub_children_iterate)
24238 (grub_devalias_iterate): Fix size evaluation for property or path
24239 strings, which was broken since r2132.
24240
8279cade 242412009-07-07 Pavel Roskin <proski@gnu.org>
24242
7d8a52d3 24243 * commands/search.c (search_file): Merge into ...
24244 (search_fs): ... this. Accept search type as argument.
24245 (grub_cmd_search): Pass search type to search_fs().
24246
25f9a05a 24247 * include/grub/util/console.h: New file.
24248 * util/console.c: Use it instead of grub/machine/console.h.
24249 * util/grub-emu.c: Likewise.
24250
8279cade 24251 * lib/arg.c (find_long_option): Remove.
24252 (find_long): Add `len' argument, make `s' const char *.
24253 (grub_arg_parse): Parse long options in place, not in a
24254 temporary buffer.
24255
4a11b60f 242562009-07-06 Pavel Roskin <proski@gnu.org>
24257
99f68041 24258 * commands/search.c (search_fs): Fix potential NULL pointer
24259 dereference.
24260
4a11b60f 24261 * commands/search.c (search_fs): Replace QUID macro with quid_fn
24262 function pointer.
24263
e110f4de 242642009-07-06 Daniel Mierswa <impulze@impulze.org>
24265
24266 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
24267 comparison.
24268
46eeb6a2 242692009-07-05 Pavel Roskin <proski@gnu.org>
24270
bab74958 24271 * include/grub/i386/linux.h (struct linux_kernel_params):
24272 Restore padding3, it's still needed.
24273
46eeb6a2 24274 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
24275 FreeBSD.
24276 * util/osdetect.lua: Likewise.
24277
b4a1dc79 242782009-07-05 Bean <bean123ch@gmail.com>
24279
24280 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
24281
24282 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
24283 (grub_lua_getenv): Likewise.
24284 (grub_lua_setenv): Likewise.
24285 (save_errno): New function.
24286 (push_result): Likewise.
24287 (grub_lua_enum_device): Likewise.
24288 (grub_lua_enum_file): Likewise.
24289 (grub_lua_file_open): Likewise.
24290 (grub_lua_file_close): Likewise.
24291 (grub_lua_file_seek): Likewise.
24292 (grub_lua_file_read): Likewise.
24293 (grub_lua_file_getline): Likewise.
24294 (grub_lua_file_getsize): Likewise.
24295 (grub_lua_file_getpos): Likewise.
24296 (grub_lua_file_eof): Likewise.
24297 (grub_lua_file_exist): Likewise.
24298 (grub_lua_add_menu): Likewise.
24299
24300 * script/lua/grub_lua.h (isupper): New inline function.
24301 (islower): Likewise.
24302 (ispunct): Likewise.
24303 (isxdigit): Likewise.
24304 (strcspn): Change to normal function.
24305 (strpbkr): New function declaration.
24306 (memchr): Likewise.
24307
24308 * script/lua/grub_main.c (scan_str): New function.
24309 (strcspn): Likewise.
24310 (strpbrk): Likewise.
24311 (memchr): Likewise.
24312
24313 * script/lua/linit.c (lualibs): Enable the string library.
24314
24315 * util/osdetect.lua: New file.
24316
2da92295 243172009-07-04 Robert Millan <rmh.grub@aybabtu.com>
24318
24319 * include/grub/i386/linux.h (struct linux_kernel_params): Add
24320 `capabilities' member.
24321
b2582ec9 243222009-07-02 Pavel Roskin <proski@gnu.org>
24323
24324 * genparttoollist.sh: Add missing newline at the end.
24325
32622956 243262009-07-01 Pavel Roskin <proski@gnu.org>
24327
87a7339e 24328 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
24329
d23af54e 24330 * util/hostdisk.c (open_device): Remove `const' from
24331 `sysctl_size', as sysctlbyname() can change it (in this case it
24332 doesn't actually happen).
24333
c94b18a9 24334 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
24335 using signed long int constants.
24336
c6cd3ef0 24337 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
24338 constant to avoid a warning on FreeBSD.
24339
0df63420 24340 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
24341 where it's needed.
24342
999577f1 24343 * Makefile.in: Install include/grub/machine symlink.
24344
6f41557f 24345 * Makefile.in: When installing symlinks, use "cp -fR", which
24346 works on FreeBSD and MacOSX.
24347 From Yves Blusseau <cl7m42e02@sneakemail.com>
24348
c8d22988 24349 * kern/dl.c (grub_dl_resolve_symbol): Make static.
24350 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
24351
1b96e952 24352 * util/misc.c: Move grub_reboot() and grub_halt() ...
24353 * util/grub-emu.c: ... here. Make main_env static.
24354 * include/grub/util/misc.h: Remove main_env.
24355
2ef0084d 24356 * kern/mm.c: Use correct format to print size_t.
24357
32622956 24358 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
24359 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
24360 * kern/powerpc/dl.c: Likewise.
24361 * kern/sparc64/dl.c: Likewise.
24362 * kern/x86_64/dl.c: Likewise.
24363
3f7f0cd0 243642009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24365
24366 Fix grub-emu build on sparc64-ieee1275.
24367
75421ca9 24368 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 24369 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
24370
211d06b5 243712009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24372
24373 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
24374 (grub_reboot, grub_halt): New functions.
24375
24376 * util/i386/pc/misc.c: Delete. Update all users.
24377 * util/sparc64/ieee1275/misc.c: Likewise.
24378 * util/powerpc/ieee1275/misc.c: Likewise.
24379
aaf53e3c 243802009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24381
24382 * conf/i386.rmk (setjmp_mod_SOURCES)
24383 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
24384 * conf/common.rmk (setjmp_mod_SOURCES)
24385 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
24386 to use $(target_cpu).
24387 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
24388 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
24389 * conf/powerpc-ieee1275.rmk: Likewise.
24390 * conf/sparc64-ieee1275.rmk: Likewise.
24391
24392 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
24393 $(target_cpu) for kern/$(target_cpu)/dl.c.
24394 * conf/i386-efi.rmk: Likewise.
24395 * conf/i386-ieee1275.rmk: Likewise.
24396 * conf/x86_64-efi.rmk: Likewise.
24397 * conf/i386-coreboot.rmk: Likewise.
24398 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
24399 $(target_cpu) for kern/$(target_cpu)/dl.c and for
24400 kern/$(target_cpu)/cache.S.
24401 * conf/sparc64-ieee1275.rmk: Likewise.
24402
a337130b 244032009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24404
24405 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
24406 type to `grub_uint8_t', and adjust `padding9' accordingly.
24407
c6fe4d53 244082009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24409
b09db61d 24410 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
24411
c6fe4d53 24412 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
24413 assembly in final jump, using register constraints.
24414
b09db61d 24415 (grub_linux_boot): For text mode, initialize `have_vga' using
24416 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
24417
24418 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
24419 right before the final jump.
24420
24421 Set `video_mode' to 0x3.
24422
24423 Document initialization of `video_page', `video_mode' and
24424 `video_ega_bx'.
24425
28333ad0 244262009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24427
24428 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
24429 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 24430 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 24431
02164e1b 244322009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24433
24434 Fix build on Debian / sparc.
24435
24436 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
24437
18b6c557 244382009-06-28 Pavel Roskin <proski@gnu.org>
24439
85f2aab6 24440 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
24441 fix a warning.
24442
18b6c557 24443 * util/grub.d/10_linux.in: Match SUSE style initrd names.
24444
ad760f81 244452009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24446
24447 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
24448 `err'.
24449
87a4623b 244502009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24451
24452 Revert r2338.
24453
24454 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
24455 file can't be opened. grub_file_open() is already supposed to set
75421ca9 24456 grub_errno / grub_errmsg appropriately.
87a4623b 24457 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24458
8231fb77 244592009-06-27 Pavel Roskin <proski@gnu.org>
244602009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24461
24462 * include/grub/dl.h: Include grub/elf.h.
24463 (struct grub_dl): Add symtab field.
24464 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
24465 GRUB_MODULES_MACHINE_READONLY.
24466 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
24467 of the header for read-only modules.
24468 (grub_dl_unload): Free mod->symtab for read-only modules.
24469 * kern/i386/dl.c: Use mod->symtab.
24470 * kern/powerpc/dl.c: Likewise.
24471 * kern/sparc64/dl.c: Likewise.
24472 * kern/x86_64/dl.c: Likewise.
24473
24474 * conf/i386-qemu.rmk: New file.
24475 * kern/i386/qemu/startup.S: Likewise.
24476 * kern/i386/qemu/mmap.c: Likewise.
24477 * boot/i386/qemu/boot.S: Likewise.
24478 * include/grub/i386/qemu/time.h: Likewise.
24479 * include/grub/i386/qemu/serial.h: Likewise.
24480 * include/grub/i386/qemu/kernel.h: Likewise.
24481 * include/grub/i386/qemu/console.h: Likewise.
24482 * include/grub/i386/qemu/boot.h: Likewise.
24483 * include/grub/i386/qemu/init.h: Likewise.
24484 * include/grub/i386/qemu/machine.h: Likewise.
24485 * include/grub/i386/qemu/loader.h: Likewise.
24486 * include/grub/i386/qemu/memory.h: Likewise.
24487
24488 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
24489 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
24490 [qemu] (pkglib_IMAGES): Add `boot.img'.
24491 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
24492 [qemu] (boot_img_FORMAT): New variables.
24493 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
24494 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
24495 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
24496 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24497 [qemu] (kernel_img_FORMAT): New variables.
24498
24499 * configure.ac: Recognise `i386-qemu'.
24500
24501 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
24502 (for no compression).
24503 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
24504 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
24505 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
24506 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
24507 ifdefs).
24508
97fe384e 245092009-06-27 Pavel Roskin <proski@gnu.org>
24510
24511 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
24512 read.
24513 * efiemu/prepare32.c: Likewise.
24514 * efiemu/prepare64.c: Likewise.
24515
c402ab17 245162009-06-26 Pavel Roskin <proski@gnu.org>
24517
24518 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
24519 * include/grub/elf.h: Define symbols without "32" or "64" based
24520 on GRUB_TARGET_WORDSIZE.
24521 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
24522 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
24523 ELF definitions.
24524 * efiemu/loadcore64.c: Likewise.
24525 * loader/i386/bsd32.c: Likewise.
24526 * loader/i386/bsd64.c: Likewise.
24527 * kern/dl.c: Remove own ELF definitions.
24528 * util/i386/efi/grub-mkimage.c: Likewise.
24529
9bbdfd4d 245302009-06-23 Robert Millan <rmh.grub@aybabtu.com>
24531
24532 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
24533 segment 0x0 unconditionally, because the reference generated by
24534 GAS is an absolute address.
24535
a42ce6e9 245362009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24537
24538 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
24539 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
24540
c952cf92 245412009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24542
24543 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
24544 indexes. Check for -f explicitly.
cc3752ad 24545 (search_file): Improve error message.
24546 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 24547
132a0a59 245482009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24549
24550 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
24551 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
24552
387a140c 245532009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24554
24555 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
24556 * conf/i386-ieee1275.rmk: Likewise.
24557 * conf/i386-coreboot.rmk: Likewise.
24558
24559 * kern/i386/pc/startup.S (grub_stop): Remove function.
24560 * kern/i386/ieee1275/startup.S: Likewise.
24561 * kern/i386/coreboot/startup.S: Likewise.
24562 * kern/i386/misc.S (grub_stop): New function.
24563
41da9665 245642009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24565
24566 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
24567 * kern/i386/realmode.S (real_to_prot): ... to here.
24568
bf337234 245692009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24570
24571 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
24572 with `kernel.img'.
24573 (kernel_elf_SOURCES): Rename to ...
24574 (kernel_img_SOURCES): ... this.
24575 (kernel_elf_HEADERS): Rename to ...
24576 (kernel_img_HEADERS): ... this. Update all users.
24577 (kernel_elf_ASFLAGS): Rename to ...
24578 (kernel_img_ASFLAGS): ... this.
24579 (kernel_elf_CFLAGS): Rename to ...
24580 (kernel_img_CFLAGS): ... this.
24581 (kernel_elf_LDFLAGS): Rename to ...
24582 (kernel_img_LDFLAGS): ... this.
24583 * conf/i386-coreboot.rmk: Likewise.
24584 * conf/powerpc-ieee1275.rmk: Likewise.
24585
24586 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
24587 with "kernel.img".
24588
f52196ff 245892009-06-21 Pavel Roskin <proski@gnu.org>
24590
c3cee413 24591 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
24592 to match nested functions.
24593 * loader/sparc64/ieee1275/linux.c: Likewise.
24594
f52196ff 24595 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
24596
58750afc 245972009-06-21 Robert Millan <rmh.grub@aybabtu.com>
24598
24599 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
24600 all i386 platforms.
24601
15355c7d 246022009-06-21 Robert Millan <rmh.grub@aybabtu.com>
24603
24604 Fix asm file handling on ELF, and remove workarounds.
24605
24606 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 24607 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 24608 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
24609 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
24610
3f3ec72b 246112009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
24612
24613 Load BSD ELF modules
24614
24615 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
24616 and loader/i386/bsd64.c
24617 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
24618 (FREEBSD_MODTYPE_ELF_MODULE): New definition
24619 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
24620 (grub_freebsd_load_elfmodule32): New declaration
24621 (grub_freebsd_load_elfmoduleobj64): Likewise
24622 (grub_freebsd_load_elf_meta32): Likewise
24623 (grub_freebsd_load_elf_meta64): Likewise
24624 (grub_freebsd_add_meta): Likewise
24625 (grub_freebsd_add_meta_module): Likewise
24626 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
24627 (grub_freebsd_add_meta_module): Likewise and move module-specific
24628 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
24629 (grub_cmd_freebsd): Add elf-kernel specific parts
24630 based on grub_freebsd_add_meta_module
24631 (grub_cmd_freebsd_module): Add type parsing moved from
24632 grub_freebsd_add_meta_module
24633 (grub_cmd_freebsd_module_elf): New function
24634 (cmd_freebsd_module_elf): New variable
24635 (GRUB_MOD_INIT): Register freebsd_module_elf
24636 * loader/i386/bsd32.c: New file
24637 * loader/i386/bsd64.c: Likewise
24638 * loader/i386/bsdXX.c: Likewise
24639 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
24640 (grub_elf64_load): Likewise
24641 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
24642 All users updated
24643 (grub_elf64_load_hook_t): Likewise
24644
0db15301 246452009-06-21 Colin Watson <cjwatson@ubuntu.com>
24646
24647 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
24648 variable.
24649 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
24650 don't write a menu entry for recovery mode.
24651
546796c1 246522009-06-20 Robert Millan <rmh.grub@aybabtu.com>
24653
24654 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
24655 after it's no longer needed.
24656
cd7310d5 246572009-06-20 Robert Millan <rmh.grub@aybabtu.com>
24658
24659 * include/grub/i386/loader.h (grub_linux_prot_size)
24660 (grub_linux_tmp_addr, grub_linux_real_addr)
24661 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
24662 GRUB_MACHINE_PCBIOS.
24663 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
24664 common grub_util_info() call to ...
24665 (generate_image): ... here.
24666 Fix use of uninitialized memory, comparison of signed with
24667 unsigned integers and memory leak.
24668 Remove bogus module address message.
24669
ab32d3b5 246702009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24671
24672 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
24673 grub_raid_register
24674 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
24675
024ef597 246762009-06-19 Pavel Roskin <proski@gnu.org>
24677
24678 * configure.ac: Remove stray AC_MSG_CHECKING.
24679
3ac72b51 246802009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
24681
24682 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 24683
e14cd814 246842009-06-18 Pavel Roskin <proski@gnu.org>
24685
24686 * conf/common.rmk: Add fs_file.mod.
24687 * disk/fs_file.c: New file.
24688 * include/grub/disk.h (enum grub_disk_dev_id): Add
24689 GRUB_DISK_DEVICE_FILE_ID.
24690
26586d98 246912009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24692
24693 Fix build with Apple's toolchain. Part 2
24694
24695 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
24696 a fake start
24697
26de2bcd 246982009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24699
24700 Fix build with Apple's toolchain. Part 1
24701
24702 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
24703 for long calls
24704 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 24705 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 24706 Apple's toolchain
24707
09b3490b 247082009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24709
24710 Fix warnings
24711
24712 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
24713 (decomp_block): initialize ch
24714 use grub_memcpy instead of memcpy
24715
c22a006a 247162009-06-17 Pavel Roskin <proski@gnu.org>
24717
d3638678 24718 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
24719 version, use declarations needed to use vga_text as the startup
24720 console.
24721
c22a006a 24722 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
24723 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
24724 the kernel.
24725 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
24726 and grub_at_keyboard_fini(), it's done on module load and
24727 unload.
24728
05b129e0 247292009-06-17 Felix Zielcke <fzielcke@z-51.de>
24730
24731 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
24732 file can't be found.
24733 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24734
cf24ed9e 247352009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
24736
24737 Fix newline handling
24738
24739 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 24740 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 24741 (grub_script_yylex): don't segfault on unterminated script
24742 newline terminates command and variable
24743
74aa8e4b 247442009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
24745
24746 avoid double grub_adjust_range call. Bug reported by David Simner
24747
24748 * kern/disk.c (grub_disk_write): change to raw disk access before
24749 calling disk_read
24750
1bd265f3 247512009-06-17 Colin Watson <cjwatson@ubuntu.com>
24752
24753 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
24754 spaces, for the benefit of help2man.
24755 * util/i386/efi/grub-mkimage.c (usage): Likewise.
24756
a2d08c06 247572009-06-16 Pavel Roskin <proski@gnu.org>
24758
24759 * kern/i386/halt.c: Include grub/machine/init.h.
24760 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
24761
b97bcb19 247622009-06-16 Felix Zielcke <fzielcke@z-51.de>
24763
24764 * util/grub.d/30_os-prober.in: Use ${root} in the generated
24765 drivemap menuentry.
24766
0644f96c 247672009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
24768
24769 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
24770 `echo' command.
24771
3ef17a2e 247722009-06-16 Pavel Roskin <proski@gnu.org>
24773
24774 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
24775 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
24776 save %dx, we only need %dl and we never change it.
24777 * boot/i386/pc/cdboot.S: Don't set the root drive.
24778 * boot/i386/pc/pxeboot.S: Likewise.
24779 * include/grub/i386/pc/boot.h: Remove
24780 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
24781 GRUB_BOOT_MACHINE_DRIVE_CHECK.
24782 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
24783 * kern/i386/pc/init.c (make_install_device): Remove references
24784 to grub_root_drive.
24785 * kern/i386/pc/startup.S: Likewise.
24786 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
24787
693fe637 247882009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
24789
24790 xnu_uuid command
24791
24792 * commands/xnu_uuid.c: new file
24793 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
24794 (xnu_uuid_mod_SOURCES): new variable
24795 (xnu_uuid_mod_CFLAGS): likewise
24796 (xnu_uuid_mod_LDFLAGS): likewise
24797 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
24798 * conf/i386-ieee1275.rmk: likewise
24799 * conf/i386-pc.rmk: likewise
24800 * conf/powerpc-ieee1275.rmk: likewise
24801 * conf/sparc64-ieee1275.rmk: likewise
24802 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
24803
c9da87d0 248042009-06-16 Pavel Roskin <proski@gnu.org>
24805
24806 * configure.ac: Avoid '==' in test command, it's not portable.
24807
9c6f4596 248082009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
24809
24810 Probe command
24811
24812 * commands/probe.c: new file
24813 * conf/common.rmk (pkglib_MODULES): add probe.mod
24814 (probe_mod_SOURCES): new variable
24815 (probe_mod_CFLAGS): likewise
24816 (probe_mod_LDFLAGS): likewise
24817 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
24818 * conf/i386-ieee1275.rmk: likewise
24819 * conf/i386-pc.rmk: likewise
24820 * conf/powerpc-ieee1275.rmk: likewise
24821 * conf/sparc64-ieee1275.rmk: likewise
24822
70b7f9fd 248232009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
24824
24825 Fix handling of string like \"hello\" and "a
24826 b"
24827
24828 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
24829 (grub_script_yylex): fix parsing of quoting, escaping and newline
24830
71c79a6b 248312009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
24832
dd74360c 24833 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 24834 handling
dd74360c 24835
0644f96c 248362009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 24837
24838 * util/grub-mkconfig.in: Fix parsing of --output option.
24839
e40893c3 248402009-06-12 Pavel Roskin <proski@gnu.org>
24841
24842 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
24843 genmk.rb don't need to be generated or installed.
24844
3a1acfe2 248452009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24846
24847 * commands/i386/pc/drivemap_int13h.S: add more comments
24848
3a4575d4 248492009-06-11 Pavel Roskin <proski@gnu.org>
24850
0658e928 24851 * Makefile.in (uninstall): Uninstall manuals.
24852
ca0388f0 24853 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
24854 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
24855 and update-grub_lib in two places.
24856 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
24857
e3b27c39 24858 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
24859 a compiler warning.
24860
3a4575d4 24861 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
24862 `entry_lo' to fix variable shadowing.
24863
af1f4f55 248642009-06-11 Christian Franke <franke@computer.org>
24865
24866 * kern/misc.c (__enable_execute_stack): Add missing return type
24867 to prevent gcc warning.
24868
5225e649 248692009-06-11 Felix Zielcke <fzielcke@z-51.de>
24870
24871 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
24872
7d83bd47 248732009-06-11 Pavel Roskin <proski@gnu.org>
24874
c1cb63ba 24875 * Makefile.in: Don't rely on any scripts being executable.
24876 Always use $(SHELL) to run shell scripts.
24877
7d83bd47 24878 * configure.ac: Always define ___main if using -nostdlib. This
24879 fixes tests on Cygwin.
24880
948f48e7 248812009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
24882
24883 UDF fix
24884
7d83bd47 24885 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 24886 is in bytes and not in blocks
7d83bd47 24887
8ada9bc1 248882009-06-11 Pavel Roskin <proski@gnu.org>
24889
24890 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
24891 warning.
24892
25ad2323 248932009-06-11 Felix Zielcke <fzielcke@z-51.de>
24894
24895 * util/grub.d/30_os-prober.in: Fix a comment. Source
24896 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
24897 to set the root device. Place drivemap command in the generated
24898 chain entry.
24899
e65acb0c 249002009-06-11 Pavel Roskin <proski@gnu.org>
24901
24902 * configure.ac: Remove host_m32. Issues with 64-bit utilities
24903 have long been resolved.
24904
f285fe2d 249052009-06-11 Colin Watson <cjwatson@ubuntu.com>
24906
bd47b0b5 24907 * util/grub.d/10_linux.in: Capitalise "Linux".
24908
f285fe2d 24909 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
24910
a0c62e4e 249112009-06-11 Pavel Roskin <proski@gnu.org>
24912
b6783cb2 24913 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
24914 fix a gcc warning and ensure that the function won't ever exit.
24915
dde032e8 24916 * kern/i386/ieee1275/init.c: Add missing prototype for
24917 grub_stop_floppy().
24918
22cd079d 24919 * loader/ieee1275/multiboot2.c [__i386__]: Include
24920 grub/cpu/multiboot.h.
24921
a0c62e4e 24922 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
24923 casts to short - they are not portable and cause warnings. Fix
24924 use of uninitialized values in input_buf. Use ARRAY_SIZE.
24925
63963d17 249262009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
24927
24928 Drivemap fixes
24929
24930 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
24931 new function
24932 (grub_get_root_biosnumber_saved): new variable
24933 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
24934 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 24935 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 24936 %dx after the call if necessary
24937 * conf/common.rmk (pkglib_MODULES): remove boot.mod
24938 (boot_mod_SOURCES): remove
24939 (boot_mod_CFLAGS): remove
24940 (boot_mod_LDFLAGS): remove
24941 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
24942 (boot_mod_SOURCES): new variable
24943 (boot_mod_CFLAGS): likewise
24944 (boot_mod_LDFLAGS): likewise
24945 * conf/i386-efi.rmk: likewise
24946 * conf/i386-ieee1275.rmk: likewise
24947 * conf/i386-pc.rmk: likewise
24948 * conf/powerpc-ieee1275.rmk: likewise
24949 * conf/sparc64-ieee1275.rmk: likewise
24950 * conf/x86_64-efi.rmk: likewise
24951 * include/grub/i386/pc/biosnum.h: new file
24952 * lib/i386/pc/biosnum.c: likewise
24953 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
24954 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
24955 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 24956
33abf7ae 249572009-06-10 Pavel Roskin <proski@gnu.org>
24958
5ac35b35 24959 * io/gzio.c (test_header): Don't reuse one buffer for all data.
24960 Use separate variables. Read only the file size at the end, but
24961 not the checksum that we don't use.
24962
5c5215d5 24963 * kern/file.c (grub_file_read): Use void pointer for the buffer.
24964 Adjust all callers.
24965
27d5fef7 24966 * kern/ieee1275/openfw.c: Remove libc includes.
24967 * kern/ieee1275/cmain.c: Likewise.
24968 * include/grub/ieee1275/ieee1275.h: Likewise.
24969
33abf7ae 24970 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
24971 compiler warnings.
24972
19d50c2b 249732009-06-10 Felix Zielcke <fzielcke@z-51.de>
24974
24975 * Makefile.in: Remove all trailing whitespace.
24976 * conf/i386-pc.rmk: Likewise.
24977 * conf/powerpc-ieee1275.rmk: Likewise.
24978 * conf/sparc64-ieee1275.rmk: Likewise.
24979 * docs/grub.texi: Likewise.
24980 * docs/texinfo.tex: Likewise.
24981 * disk/fs_uuid.c: Likewise.
24982 * disk/lvm.c: Likewise.
24983 * disk/scsi.c: Likewise.
24984 * disk/ata.c: Likewise.
24985 * disk/ieee1275/ofdisk.c: Likewise.
24986 * disk/i386/pc/biosdisk.c: Likewise.
24987 * disk/host.c: Likewise.
24988 * disk/raid.c: Likewise.
24989 * disk/efi/efidisk.c: Likewise.
24990 * disk/usbms.c: Likewise.
24991 * disk/memdisk.c: Likewise.
24992 * disk/loopback.c: Likewise.
24993 * kern/powerpc/dl.c: Likewise.
24994 * kern/device.c: Likewise.
24995 * kern/dl.c: Likewise.
24996 * kern/sparc64/dl.c: Likewise.
24997 * kern/ieee1275/ieee1275.c: Likewise.
24998 * kern/term.c: Likewise.
24999 * kern/fs.c: Likewise.
25000 * kern/i386/dl.c: Likewise.
25001 * kern/i386/pc/startup.S: Likewise.
25002 * kern/i386/pc/init.c: Likewise.
25003 * kern/i386/pc/mmap.c: Likewise.
25004 * kern/i386/pc/lzo1x.S: Likewise.
25005 * kern/i386/ieee1275/init.c: Likewise.
25006 * kern/i386/realmode.S: Likewise.
25007 * kern/i386/tsc.c: Likewise.
25008 * kern/partition.c: Likewise.
25009 * kern/corecmd.c: Likewise.
25010 * kern/file.c: Likewise.
25011 * kern/efi/efi.c: Likewise.
25012 * kern/efi/init.c: Likewise.
25013 * kern/efi/mm.c: Likewise.
25014 * kern/main.c: Likewise.
25015 * kern/err.c: Likewise.
25016 * kern/env.c: Likewise.
25017 * kern/disk.c: Likewise.
25018 * kern/generic/millisleep.c: Likewise.
25019 * kern/generic/rtc_get_time_ms.c: Likewise.
25020 * kern/misc.c: Likewise.
25021 * kern/parser.c: Likewise.
25022 * genmk.rb: Likewise.
25023 * configure.ac: Likewise.
25024 * boot/i386/pc/diskboot.S: Likewise.
25025 * boot/i386/pc/pxeboot.S: Likewise.
25026 * boot/i386/pc/boot.S: Likewise.
25027 * boot/i386/pc/lnxboot.S: Likewise.
25028 * boot/i386/pc/cdboot.S: Likewise.
25029 * parttool/pcpart.c: Likewise.
25030 * video/readers/tga.c: Likewise.
25031 * video/video.c: Likewise.
25032 * video/bitmap.c: Likewise.
25033 * lib/envblk.c: Likewise.
25034 * lib/i386/setjmp.S: Likewise.
25035 * fs/xfs.c: Likewise.
25036 * fs/afs.c: Likewise.
25037 * fs/fat.c: Likewise.
25038 * fs/ntfs.c: Likewise.
25039 * fs/udf.c: Likewise.
25040 * fs/affs.c: Likewise.
25041 * fs/iso9660.c: Likewise.
25042 * fs/hfs.c: Likewise.
25043 * fs/fshelp.c: Likewise.
25044 * fs/ext2.c: Likewise.
25045 * fs/jfs.c: Likewise.
25046 * fs/reiserfs.c: Likewise.
25047 * fs/hfsplus.c: Likewise.
25048 * fs/minix.c: Likewise.
25049 * fs/cpio.c: Likewise.
25050 * fs/sfs.c: Likewise.
25051 * fs/ufs.c: Likewise.
25052 * efiemu/prepare.c: Likewise.
25053 * efiemu/loadcore_common.c: Likewise.
25054 * efiemu/runtime/efiemu.sh: Likewise.
25055 * efiemu/runtime/efiemu.S: Likewise.
25056 * efiemu/runtime/efiemu.c: Likewise.
25057 * efiemu/pnvram.c: Likewise.
25058 * efiemu/main.c: Likewise.
25059 * efiemu/i386/pc/cfgtables.c: Likewise.
25060 * efiemu/i386/loadcore64.c: Likewise.
25061 * efiemu/i386/loadcore32.c: Likewise.
25062 * efiemu/loadcore.c: Likewise.
25063 * efiemu/symbols.c: Likewise.
25064 * efiemu/mm.c: Likewise.
25065 * include/grub/autoefi.h: Likewise.
25066 * include/grub/datetime.h: Likewise.
25067 * include/grub/term.h: Likewise.
25068 * include/grub/hfs.h: Likewise.
25069 * include/grub/lvm.h: Likewise.
25070 * include/grub/i386/tsc.h: Likewise.
25071 * include/grub/i386/linux.h: Likewise.
25072 * include/grub/i386/xnu.h: Likewise.
25073 * include/grub/i386/efiemu.h: Likewise.
25074 * include/grub/i386/pc/biosdisk.h: Likewise.
25075 * include/grub/i386/pc/memory.h: Likewise.
25076 * include/grub/i386/pc/vbe.h: Likewise.
25077 * include/grub/parttool.h: Likewise.
25078 * include/grub/video.h: Likewise.
25079 * include/grub/memory.h: Likewise.
25080 * include/grub/fs.h: Likewise.
25081 * include/grub/partition.h: Likewise.
25082 * include/grub/xnu.h: Likewise.
25083 * include/grub/efi/api.h: Likewise.
25084 * include/grub/efi/pe32.h: Likewise.
25085 * include/grub/efi/memory.h: Likewise.
25086 * include/grub/multiboot.h: Likewise.
25087 * include/grub/usbdesc.h: Likewise.
25088 * include/grub/multiboot2.h: Likewise.
25089 * include/grub/acpi.h: Likewise.
25090 * include/grub/efiemu/efiemu.h: Likewise.
25091 * include/grub/disk.h: Likewise.
25092 * include/grub/ieee1275/ieee1275.h: Likewise.
25093 * include/grub/net.h: Likewise.
25094 * include/grub/machoload.h: Likewise.
25095 * include/grub/macho.h: Likewise.
25096 * include/multiboot.h: Likewise.
25097 * genmoddep.awk: Likewise.
25098 * normal/main.c: Likewise.
25099 * normal/menu_entry.c: Likewise.
25100 * normal/menu_viewer.c: Likewise.
25101 * normal/completion.c: Likewise.
25102 * normal/cmdline.c: Likewise.
25103 * normal/misc.c: Likewise.
25104 * normal/datetime.c: Likewise.
25105 * bus/usb/usbtrans.c: Likewise.
25106 * bus/usb/ohci.c: Likewise.
25107 * bus/usb/uhci.c: Likewise.
25108 * bus/usb/usb.c: Likewise.
25109 * mmap/efi/mmap.c: Likewise.
25110 * mmap/i386/pc/mmap_helper.S: Likewise.
25111 * mmap/i386/pc/mmap.c: Likewise.
25112 * mmap/i386/mmap.c: Likewise.
25113 * mmap/i386/uppermem.c: Likewise.
25114 * mmap/mmap.c: Likewise.
25115 * commands/acpi.c: Likewise.
25116 * commands/echo.c: Likewise.
25117 * commands/blocklist.c: Likewise.
25118 * commands/loadenv.c: Likewise.
25119 * commands/usbtest.c: Likewise.
25120 * commands/boot.c: Likewise.
25121 * commands/parttool.c: Likewise.
25122 * commands/search.c: Likewise.
25123 * commands/cat.c: Likewise.
25124 * commands/i386/pc/play.c: Likewise.
25125 * commands/i386/pc/drivemap.c: Likewise.
25126 * commands/i386/pc/vbeinfo.c: Likewise.
25127 * commands/i386/pc/acpi.c: Likewise.
25128 * commands/i386/pc/vbetest.c: Likewise.
25129 * commands/ls.c: Likewise.
25130 * commands/cmp.c: Likewise.
25131 * commands/test.c: Likewise.
25132 * commands/efi/acpi.c: Likewise.
25133 * commands/gptsync.c: Likewise.
25134 * commands/help.c: Likewise.
25135 * partmap/amiga.c: Likewise.
25136 * partmap/apple.c: Likewise.
25137 * partmap/acorn.c: Likewise.
25138 * partmap/pc.c: Likewise.
25139 * partmap/sun.c: Likewise.
25140 * partmap/gpt.c: Likewise.
25141 * script/sh/lexer.c: Likewise.
25142 * script/sh/function.c: Likewise.
25143 * font/font.c: Likewise.
25144 * font/font_cmd.c: Likewise.
25145 * loader/powerpc/ieee1275/linux.c: Likewise.
25146 * loader/efi/chainloader.c: Likewise.
25147 * loader/multiboot_loader.c: Likewise.
25148 * loader/macho.c: Likewise.
25149 * loader/i386/multiboot.c: Likewise.
25150 * loader/i386/linux.c: Likewise.
25151 * loader/i386/pc/linux.c: Likewise.
25152 * loader/i386/pc/multiboot2.c: Likewise.
25153 * loader/i386/pc/chainloader.c: Likewise.
25154 * loader/i386/pc/xnu.c: Likewise.
25155 * loader/i386/bsd_trampoline.S: Likewise.
25156 * loader/i386/efi/linux.c: Likewise.
25157 * loader/i386/multiboot_elfxx.c: Likewise.
25158 * loader/i386/bsd_helper.S: Likewise.
25159 * loader/i386/bsd.c: Likewise.
25160 * loader/i386/linux_trampoline.S: Likewise.
25161 * loader/i386/xnu_helper.S: Likewise.
25162 * loader/i386/xnu.c: Likewise.
25163 * loader/i386/bsd_pagetable.c: Likewise.
25164 * loader/i386/multiboot_helper.S: Likewise.
25165 * loader/xnu.c: Likewise.
25166 * loader/xnu_resume.c: Likewise.
25167 * io/gzio.c: Likewise.
25168 * term/efi/console.c: Likewise.
25169 * term/terminfo.c: Likewise.
25170 * term/ieee1275/ofconsole.c: Likewise.
25171 * term/i386/pc/serial.c: Likewise.
25172 * term/i386/pc/vesafb.c: Likewise.
25173 * term/i386/pc/vga.c: Likewise.
25174 * term/usb_keyboard.c: Likewise.
25175 * term/gfxterm.c: Likewise.
25176 * aclocal.m4: Likewise.
25177 * util/lvm.c: Likewise.
25178 * util/grub.d/30_os-prober.in: Likewise.
25179 * util/grub.d/10_hurd.in: Likewise.
25180 * util/console.c: Likewise.
25181 * util/grub-macho2img.c: Likewise.
25182 * util/grub-probe.c: Likewise.
25183 * util/hostfs.c: Likewise.
25184 * util/i386/pc/grub-mkimage.c: Likewise.
25185 * util/i386/pc/grub-setup.c: Likewise.
25186 * util/i386/efi/grub-mkimage.c: Likewise.
25187 * util/grub-mkconfig.in: Likewise.
25188 * util/raid.c: Likewise.
25189 * util/resolve.c: Likewise.
25190 * util/grub-mkdevicemap.c: Likewise.
25191 * util/grub-emu.c: Likewise.
25192 * util/getroot.c: Likewise.
25193 * util/hostdisk.c: Likewise.
25194 * util/usb.c: Likewise.
25195 * util/grub-editenv.c: Likewise.
25196 * util/misc.c: Likewise.
25197
d2d49665 251982009-06-10 Felix Zielcke <fzielcke@z-51.de>
25199
25200 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
25201 `genparttoollist.sh'.
25202 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
25203 Add `*.sh' to the list find searches for and change `mdate.sh'
25204 to `mdate-sh'.
25205
fe052e37 252062009-06-10 Pavel Roskin <proski@gnu.org>
25207
2763ac18 25208 * include/grub/multiboot2.h: Provide compatibility defines for
25209 multiboot2.h.
25210 * include/multiboot2.h: Include stdint.h only if needed, using
25211 angle brackets.
25212 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
25213 grub/multiboot2.h.
25214 * loader/ieee1275/multiboot2.c: Likewise.
25215 * loader/multiboot2.c: Likewise.
25216 * loader/multiboot_loader.c: Likewise.
25217
437e6adc 25218 * configure.ac: Use -nostdlib when probing for the target. It
25219 should not be required to have libc for the target.
25220
06a6836c 25221 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
25222 they fail without libc headers for the target.
25223 * include/grub/powerpc/libgcc.h: Use weak attribute for all
25224 exports.
25225 * include/grub/sparc64/libgcc.h: Likewise. Don't use
25226 preprocessor conditionals.
25227
fe052e37 25228 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
25229 build system doesn't need to be aware of the tar.c internals.
25230
afd22553 252312009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 25232
afd22553 25233 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 25234
6b787c4f 252352009-06-09 Robert Millan <rmh.grub@aybabtu.com>
25236
25237 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
25238 disk limit to 26 for IDE, Virtio, Xen and SCSI.
25239
252402009-06-09 Felix Zielcke <fzielcke@z-51.de>
25241
25242 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 25243 aren't available if ata.mod gets used.
6b787c4f 25244
473d1e45 252452009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 25246
473d1e45 25247 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 25248 initialising controller.
473d1e45 25249 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 25250
255a27d4 252512009-06-08 Felix Zielcke <fzielcke@z-51.de>
25252
25253 * util/i386/pc/grub-install.in: Add a parameter --disk-module
25254 to choose between ata and biosdisk module on i386-pc.
25255
473d1e45 252562009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 25257
d55842d8 25258 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
25259 Subclass and Programming Interface fields in terms of the 3 byte
25260 Class Code register.
25261 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
25262
fa5db0b1 25263 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
25264 interface is OHCI. Add grub_dprintf for symmetry with
25265 bus/usb/uhci.c.
25266 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
25267 interface is UHCI. Add interf variable for programming
25268 interface. Print interface with class/subclass.
25269
c0947beb 25270 * bus/usb/ohci.c: Set interf with correct field.
25271
69da8877 25272 * bus/usb/uhci.c: Remove unneeded doubled lines.
25273 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
25274 Remove whitespace inside comment.
25275
9e172e30 252762009-06-08 Robert Millan <rmh.grub@aybabtu.com>
25277
25278 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
25279 as fallback an equivalent option without depth.
25280
de65ee2b 252812009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
25282
25283 Not fail if unable to retrieve C/H/S on LBA disks
25284
473d1e45 25285 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 25286 if unable to retrieve C/H/S on LBA disks
25287
b57ea2c9 252882009-06-08 Pavel Roskin <proski@gnu.org>
25289
25290 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
25291 about aliasing.
25292
af361263 252932009-06-08 Felix Zielcke <fzielcke@z-51.de>
25294
25295 * Makefile.in (uninstall): Remove all $lib_DATA files.
25296
4c9ec6b3 252972009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
25298
25299 Bugfix: install on partitionless device
25300
25301 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
25302 is a whole disk
25303
e76fc924 253042009-06-08 Felix Zielcke <fzielcke@z-51.de>
25305
25306 * Makefile.in (uninstall): Remove all $include_DATA files.
25307
ba5a0d05 253082009-06-08 Felix Zielcke <fzielcke@z-51.de>
25309
25310 * commands/true.c: New file. Implement the true and false commands.
25311 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
25312 (true_mod_SOURCES): New variable.
25313 (true_mod_CFLAGS): Likewise.
25314 (true_mod_LDFLAGS): Likewise.
25315
c8048e32 253162009-06-05 Colin D Bennett <colin@gibibit.com>
25317
25318 Optimized font character lookup using binary search instead of linear
25319 search. Fonts now are required to have the character index ordered by
25320 code point.
25321
25322 * font/font.c (load_font_index): Verify that fonts have ordered
25323 character indices.
25324 (find_glyph): Use binary search instead of linear search to find a
25325 character in a font.
25326
408305be 253272009-06-05 Michael Scherer <misc@mandriva.org>
25328
25329 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
25330 uses case sensitive btree.
25331 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
25332 only for case insensitive filesystems.
25333
8ee1e0d9 253342009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
25335
25336 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
25337 * conf/common.rmk (search_mod_CFLAGS): likewise
25338
a9966eb1 253392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25340
473d1e45 25341 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 25342 compensate a compiler bug
25343
9e7100fb 253442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25345
473d1e45 25346 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 25347 instead of '\b'
473d1e45 25348
ede21d71 253492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25350
25351 Definitions for creating asm symbols with Apple's CC
25352
25353 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
25354 [APPLE_CC] (VARIABLE): likewise
25355
9dbf7653 253562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25357
25358 Disable lnxboot.img when compiled
25359 with Apple's CC
25360
25361 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
25362 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
25363 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
25364 [! APPLE_CC] (CODE_LENG): skip
25365 [! APPLE_CC] (setup_sects): likewise
25366 [! APPLE_CC]: skip filling
473d1e45 25367
e93cdc3d 253682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25369
25370 Address in trampolines based on 32-bit registers when compiled
25371 with Apple's CC
25372
473d1e45 25373 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 25374 for addresses
25375 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
25376
6c688477 253772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25378
25379 Avoid aliases when compiling with Apple's CC for PCBIOS machine
25380
25381 * kern/misc.c [APPLE_CC] (memcpy): new function
25382 [APPLE_CC] (memmove): likewise
25383 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 25384 (memcpy): define alias conditionally on !APPLE_CC
6c688477 25385 (memset): likewise
25386 (abort): likewise
25387 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
25388 APPLE_CC are defined
25389 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
25390 (grub_assert_fail): make prototype conditional
25391
e37ffc5c 253922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25393
25394 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
25395
473d1e45 25396 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
25397 grub-macho2img
e37ffc5c 25398 (CLEANFILES): add grub-macho2img
25399 (grub_macho2img_SOURCES): new variable
25400 * kern/i386/pc/startup.S (bss_start): new variable
25401 (bss_end): likewise
25402 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
25403 * util/grub-macho2img.c: new file
25404
cf00df31 254052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25406
25407 Use objconv when compiling with Apple's CC
25408
25409 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
25410 (efiemu64.o): likewise
25411 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
25412 when compiling with Apple's CC
25413 (efiemu64_s.o): likewise
25414 * configure.ac: check for objconv when compiling with Apple's CC
25415 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 25416
d119a20c 254172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25418
25419 Define segment as well as section when compiling with
25420 Apple's CC
25421
25422 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
25423 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
25424 (efiemu_convert_pointer): likewise
25425 (efiemu_set_virtual_address_map): likewise
25426 (efiemu_convert_pointer): likewise
25427 (efiemu_getcrc32): likewise
25428 (init_crc32_table): likewise
25429 (reflect): likewise
25430 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
25431 (GRUB_MOD_DEP): likewise
473d1e45 25432
c8600122 254332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25434
25435 Allow a compilation without -mcmodel=large
25436
25437 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
25438 when compiled without -mcmodel=large
473d1e45 25439 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 25440 without -mcmodel=large
473d1e45 25441 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 25442 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 25443
e8df1d4e 254442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25445
25446 Remove nested functions in efiemu core
25447
25448 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 25449
cc6c3ac1 254502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25451
25452 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
25453
25454 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
25455 temporary storage
473d1e45 25456 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
25457 using Apple's CC
cc6c3ac1 25458 (grub_cpu_is_tsc_supported): likewise
25459 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 25460
3e325901 254612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25462
25463 Absolute addressing through constant with Apple's cc
25464
25465 * kern/i386/pc/startup.S: Define necessary constants
25466 and address through it when using ABS with Apple's CC
25467 * boot/i386/pc/diskboot.S: likewise
25468 * boot/i386/pc/boot.S: likewise
25469 * boot/i386/pc/lnxboot.S: likewise
25470 * boot/i386/pc/cdboot.S: likewise
25471 * mmap/i386/pc/mmap_helper.S: likewise
25472 * commands/i386/pc/drivemap_int13h.S: likewise
25473
2b167a72 254742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25475
25476 Check if compiler is apple cc
25477
25478 * Makefile.in (ASFLAGS): new variable
25479 (TARGET_ASFLAGS): likewise
25480 (TARGET_MODULE_FORMAT): likewise
25481 (TARGET_APPLE_CC): likewise
25482 (OBJCONV): likewise
25483 (TARGET_IMG_CFLAGS): likewise
25484 (TARGET_CPPFLAGS): add includedir
25485 * configure.ac: call grub_apple_cc and grub_apple_target_cc
25486 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
25487 Check for linker script only if compiler isn't Apple's CC
25488 (TARGET_MODULE_FORMAT): set
25489 (TARGET_APPLE_CC): likewise
25490 (TARGET_ASFLAGS): likewise
25491 (ASFLAGS): likewise
25492 Check for objcopy only if compiler isn't Apple's CC
25493 Check for BSS symbol only if compiler isn't Apple's CC
25494 * genmk.rb: adapt nm options if we use Apple's utils
25495 * aclocal.m4 (grub_apple_cc): new test
25496 (grub_apple_target_cc): likewise
473d1e45 25497
fb14123e 254982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25499
25500 Simplify sed expressions and improve awk
25501
25502 * Makefile.in (install-local): simplify sed expression
25503 * gencmdlist.sh: likewise
25504 * genmoddep.awk: avoid adding module as a dependency of itself
25505
5b889789 255062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25507
25508 Add missing start symbols
25509
25510 * boot/i386/pc/boot.S: add start
fb14123e 25511 * boot/i386/pc/pxeboot.S: likewise
473d1e45 25512
fd2bf2e3 255132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25514
25515 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 25516
25517 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 25518 (relocate_addresses): consider both r_addend and value at offset
25519 (make_mods_section): zerofill modinfo and header
25520 (convert_elf): write prefix here
473d1e45 25521
5389763d 255222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25523
25524 Use .asciz instead of .string
25525
25526 * i386/pc/diskboot.S: use .asciz instead of .string
25527 * i386/pc/boot.S: likewise
25528 * include/grub/dl.h (GRUB_MOD_DEP): likewise
25529 (GRUB_MOD_NAME): likewise
473d1e45 25530
3eb5ed4e 255312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25532
25533 gfxpayload support
25534
25535 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
25536 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
25537 (grub_video_setup): remove
25538 (grub_video_set_mode): new prototype
25539 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
25540 (vid_mode): remove
25541 (linux_vesafb_res): compile only on PCBIOS
25542 (grub_linux_boot): support gfxpayload
25543 * loader/i386/pc/xnu.c (video_hook): new function
25544 (grub_xnu_set_video): support gfxpayload
25545 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
25546 (DEFAULT_VIDEO_HEIGHT): likewise
25547 (DEFAULT_VIDEO_FLAGS): likewise
25548 (DEFAULT_VIDEO_MODE): new definition
25549 (video_hook): new function
25550 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 25551 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 25552 loading xnu
25553 * video/video.c (grub_video_setup): removed
473d1e45 25554 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 25555 grub_video_setup
25556
4b0e1143 255572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25558
25559 Avoid calling biosdisk in drivemap
25560
25561 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
25562 (revparse_biosdisk): likewise
25563 (list_mappings): derive name from id directly
25564 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 25565
fda6cb98 255662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25567
25568 Script fixes
25569
25570 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
25571 (grub_lexer_param): add tokenonhold
25572 (grub_script_create_cmdline): remove cmdline. All callers updated
25573 (grub_script_function_create): make functionname
25574 grub_script_arg. All callers updated
25575 (grub_script_execute_argument_to_string): new prototype
25576 * kern/parser.c (state_transitions): reorder
25577 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 25578 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 25579 make global
25580 (grub_script_execute_cmdline): use new format
25581 * script/sh/function.c (grub_script_function_create): make functionname
25582 grub_script_arg. All callers updated
473d1e45 25583 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 25584 (grub_script_yylex): remove
25585 (grub_script_yylex2): renamed to ...
25586 (grub_script_yylex): ...renamed
25587 parse the expressions like a${b}c
25588 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
25589 (GRUB_PARSER_TOKEN_VAR): remove
25590 (GRUB_PARSER_TOKEN_NAME): likewise
25591 ("if"): declare as typeless
25592 ("while"): likewise
25593 ("function"): likewise
25594 ("else"): likewise
25595 ("then"): likewise
25596 ("fi"): likewise
25597 (text): remove
25598 (argument): likewise
25599 (script): accept empty scripts and make exit on error
25600 (arguments): use GRUB_PARSER_TOKEN_ARG
25601 (function): likewise
25602 (command): move error handling to script
25603 (menuentry): move grub_script_lexer_ref before
473d1e45 25604 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 25605 argument. All callers updated
25606
f4448a07 256072009-06-04 Robert Millan <rmh.grub@aybabtu.com>
25608
25609 Prevent GRUB from probing floppies during boot.
25610
25611 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
25612 * commands/search.c (options): Add --no-floppy.
25613 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
25614 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
25615 --no-floppy when searching for UUIDs.
25616
2bf5885a 256172009-06-04 Robert Millan <rmh.grub@aybabtu.com>
25618
25619 Simplify the code duplication in commands/search.c.
25620
25621 * commands/search.c (search_label, search_fs_uuid): Merge into ...
25622 (search_fs): ... this. Update all users.
25623
f6fd460a 256242009-06-03 Felix Zielcke <fzielcke@z-51.de>
25625
25626 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
25627
cbb3c83e 256282009-05-28 Pavel Roskin <proski@gnu.org>
25629
57788cfd 25630 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
25631 Remove the original symlink explicitly.
25632
cbb3c83e 25633 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
25634 just one slash. That's how grub_fshelp_find_file() does it.
25635
cd0d5e30 256362009-05-26 Pavel Roskin <proski@gnu.org>
25637
f0f8bbe2 25638 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
25639 to `str'.
25640
cd0d5e30 25641 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
25642 possibly unused.
25643
8c2cab51 256442009-05-25 Christian Franke <franke@computer.org>
25645
25646 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
25647 register.
25648 (grub_atapi_identify): Add wait after drive select.
25649 (grub_ata_identify): Do more strict status register check before
25650 calling grub_atapi_identify (). Suppress error message if status
25651 register is 0x00 after command failure. Add status register
25652 check after PIO read to avoid bogus identify due to stuck DRQ.
25653 Thanks to Pavel Roskin for testing.
25654 (grub_device_initialize): Remove unsafe status register check.
25655 Thanks to 'phcoder' for problem report and patch.
25656 Prevent sign extension in debug message.
25657
230c0ad6 256582009-05-23 Colin D Bennett <colin@gibibit.com>
25659
25660 Cleaned up `include/grub/normal.h'. Grouped prototypes by
25661 definition file, and functions defined in `normal/menu.c' have had
25662 their prototypes moved to `include/grub/menu.h' for consistency.
25663
25664 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
25665 from normal.h.
25666 (grub_menu_get_entry): Likewise.
25667 (grub_menu_get_timeout): Likewise.
25668 (grub_menu_set_timeout): Likewise.
25669 (grub_menu_execute_entry): Likewise.
25670 (grub_menu_execute_with_fallback): Likewise.
25671 (grub_menu_entry_run): Likewise.
25672
25673 * include/grub/normal.h: Re-ordered and grouped function
25674 prototypes by file that the function is defined in.
25675 (grub_menu_execute_callback): Removed; moved to menu.h.
25676 (grub_menu_get_entry): Likewise.
25677 (grub_menu_get_timeout): Likewise.
25678 (grub_menu_set_timeout): Likewise.
25679 (grub_menu_execute_entry): Likewise.
25680 (grub_menu_execute_with_fallback): Likewise.
25681 (grub_menu_entry_run): Likewise.
25682 (grub_menu_addentry): Renamed from this ...
25683 (grub_normal_add_menu_entry): ... to this.
25684
25685 * normal/main.c (grub_menu_addentry): Renamed from this ...
25686 (grub_normal_add_menu_entry): ... to this.
25687
25688 * script/sh/execute.c (grub_script_execute_menuentry): Update
25689 reference to renamed grub_menu_addentry function.
25690
861f03a5 256912009-05-23 Felix Zielcke <fzielcke@z-51.de>
25692
25693 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
25694
96b1619a 256952009-05-22 Pavel Roskin <proski@gnu.org>
25696
bf6a5fb2 25697 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
25698 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
25699 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
25700 compiling for the i386 targets, but not for the utilities.
25701
96b1619a 25702 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
25703 to grub_uint8_t.
25704 (grub_root_drive): Likewise.
25705 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
25706 remove alignment.
25707 (grub_root_drive): Change size to byte.
25708 (grub_start_addr): Remove.
25709 (grub_end_addr): Likewise.
25710 (grub_apm_bios_info): Likewise.
25711
b729776b 257122009-05-21 Felix Zielcke <fzielcke@z-51.de>
25713
25714 * normal/i386: Remove.
25715 * normal/powerpc: Likewise.
25716 * normal/sparc64: Likewise.
25717 * normal/x86_64: Likewise.
25718
0a15ce80 257192009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
25720
25721 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 25722 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 25723 * loader/i386/xnu_helper.S: Likewise
d6da58e6 25724
33db9015 257252009-05-18 Colin D Bennett <colin@gibibit.com>
25726
d6da58e6 25727 Display error messages when parsing a Lua statement fails.
25728 Previously, executing a syntactically invalid statement like
25729 ")foo" or "bar;" would silently fail.
33db9015 25730
25731 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 25732 (grub_lua_parse_line): Improved reporting of Lua parser and
25733 execution errors.
33db9015 25734
46422c89 257352009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25736
25737 Remove -Werror which causes build to fail on some systems
25738
25739 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
25740 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
25741 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 25742
22f53a96 257432009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25744
25745 trampoline for linux on 64-bit platform
25746
18f547ad 25747 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
25748 loader/i386/efi/linux_trampoline.S
25749 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 25750 declaration
d6da58e6 25751 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
25752 here
22f53a96 25753 * loader/i386/linux_trampoline.S: moved here
d6da58e6 25754 * loader/i386/efi/linux.c (allocate_pages): reserve space for
25755 trampoline
22f53a96 25756 (jumpvector): removed
25757 (grub_linux_trampoline_start): new declaration
25758 (grub_linux_trampoline_end): likewise
25759 (grub_linux_boot): use trampoline when on 64-bit platform
25760 * loader/i386/linux.c: likewise
25761
cb5a0f40 257622009-05-16 Pavel Roskin <proski@gnu.org>
25763
25764 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
25765 const to avoid a warning.
25766 (grub_lua_setenv): Likewise.
25767 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
25768 lmsg to fix a warning.
25769
334f2c28 257702009-05-16 Felix Zielcke <fzielcke@z-51.de>
25771
25772 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 25773 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25774 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
25775 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25776 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
25777 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25778 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
25779 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 25780
59e5d3ec 257812009-05-16 Felix Zielcke <fzielcke@z-51.de>
25782
25783 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
25784
9d87a1ba 257852009-05-16 Bean <bean123ch@gmail.com>
25786
25787 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
25788 (lua_mod_SOURCES): New variable.
25789 (lua_mod_CFLAGS): Likewise.
25790 (lua_mod_LDFLAGS): Likewise.
25791
25792 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
25793 (setjmp_mod_SOURCES): New variable.
25794 (setjmp_mod_CFLAGS): Likewise.
25795 (setjmp_LDFLAGS): Likewise.
25796
25797 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
25798 (setjmp_mod_SOURCES): New variable.
25799 (setjmp_mod_CFLAGS): Likewise.
25800 (setjmp_LDFLAGS): Likewise.
25801
25802 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
25803 (setjmp_mod_SOURCES): New variable.
25804 (setjmp_mod_CFLAGS): Likewise.
25805 (setjmp_LDFLAGS): Likewise.
25806
25807 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
25808 (setjmp_mod_SOURCES): New variable.
25809 (setjmp_mod_CFLAGS): Likewise.
25810 (setjmp_LDFLAGS): Likewise.
25811
25812 * normal/i386/setjmp.S: Moved from here ...
25813 * lib/i386/setjmp.S: ... Moved here
25814 * normal/x86_64/setjmp.S: Moved from here ...
25815 * lib/x86_64/setjmp.S: ... Moved here
25816 * normal/powerpc/setjmp.S: Moved from here ...
25817 * lib/powerpc/setjmp.S: ... Moved here
25818 * normal/sparc64/setjmp.S: Moved from here ...
25819 * lib/sparc64/setjmp.S: ... Moved here
25820
25821 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
25822 returns_twice in mingw.
25823
25824 * script/lua/grub_lib.c: New file.
25825 * script/lua/grub_lib.h: Likewise.
25826 * script/lua/grub_lua.h: Likewise.
25827 * script/lua/grub_main.c: Likewise.
25828 * script/lua/lapi.c: Likewise.
25829 * script/lua/lapi.h: Likewise.
25830 * script/lua/lauxlib.c: Likewise.
25831 * script/lua/lauxlib.h: Likewise.
25832 * script/lua/lbaselib.c: Likewise.
25833 * script/lua/lcode.c: Likewise.
25834 * script/lua/lcode.h: Likewise.
25835 * script/lua/ldblib.c: Likewise.
25836 * script/lua/ldebug.c: Likewise.
25837 * script/lua/ldebug.h: Likewise.
25838 * script/lua/ldo.c: Likewise.
25839 * script/lua/ldo.h: Likewise.
25840 * script/lua/ldump.c: Likewise.
25841 * script/lua/lfunc.c: Likewise.
25842 * script/lua/lfunc.h: Likewise.
25843 * script/lua/lgc.c: Likewise.
25844 * script/lua/lgc.h: Likewise.
25845 * script/lua/linit.c: Likewise.
25846 * script/lua/liolib.c: Likewise.
25847 * script/lua/llex.c: Likewise.
25848 * script/lua/llex.h: Likewise.
25849 * script/lua/llimits.h: Likewise.
25850 * script/lua/lmathlib.c: Likewise.
25851 * script/lua/lmem.c: Likewise.
25852 * script/lua/lmem.h: Likewise.
25853 * script/lua/loadlib.c: Likewise.
25854 * script/lua/lobject.c: Likewise.
25855 * script/lua/lobject.h: Likewise.
25856 * script/lua/lopcodes.c: Likewise.
25857 * script/lua/lopcodes.h: Likewise.
25858 * script/lua/loslib.c: Likewise.
25859 * script/lua/lparser.c: Likewise.
25860 * script/lua/lparser.h: Likewise.
25861 * script/lua/lstate.c: Likewise.
25862 * script/lua/lstate.h: Likewise.
25863 * script/lua/lstring.c: Likewise.
25864 * script/lua/lstring.h: Likewise.
25865 * script/lua/lstrlib.c: Likewise.
25866 * script/lua/ltable.c: Likewise.
25867 * script/lua/ltable.h: Likewise.
25868 * script/lua/ltablib.c: Likewise.
25869 * script/lua/ltm.c: Likewise.
25870 * script/lua/ltm.h: Likewise.
25871 * script/lua/lua.h: Likewise.
25872 * script/lua/luaconf.h: Likewise.
25873 * script/lua/lualib.h: Likewise.
25874 * script/lua/lundump.c: Likewise.
25875 * script/lua/lundump.h: Likewise.
25876 * script/lua/lvm.c: Likewise.
25877 * script/lua/lvm.h: Likewise.
25878 * script/lua/lzio.c: Likewise.
25879 * script/lua/lzio.h: Likewise.
25880
5e898c9d 258812009-05-16 Bean <bean123ch@gmail.com>
25882
25883 * include/grub/kernel.h (grub_module_header_types): Add type
25884 OBJ_TYPE_CONFIG.
25885
25886 * kern/main.c (grub_load_config): New function.
25887 (grub_main): Call grub_load_config to read boot config.
25888
25889 * grub-mkimage (generate_image): New parameter config_path.
25890 (options): New option --config.
25891 (main): Parse --config option, and pass it to generate_image.
25892
cf353a47 258932009-05-14 Christian Franke <franke@computer.org>
25894
25895 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
25896 This fixes build on Cygwin.
25897
3834887f 258982009-05-14 Pavel Roskin <proski@gnu.org>
25899
25900 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
25901 jump. This saves two bytes, so the typical case of 2 swapped
25902 drives would fit 32 bytes.
25903
8090fc01 259042009-05-13 Pavel Roskin <proski@gnu.org>
25905
ac963883 25906 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
25907 grub_uint32_t to avoid a warning.
25908
8090fc01 25909 * loader/i386/linux.c (allocate_pages): When assigning
25910 real_mode_mem, cast through grub_size_t to fix a warning. The
25911 code already makes sure that the value would fit a pointer.
25912 (grub_linux_setup_video): Cast render_target->data to
25913 grub_size_t to fix a warning.
25914
18f547ad 259152009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 25916
25917 * commands/i386/pc/drivemap.c: New file - implement drivemap
25918 command.
25919 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
25920 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
25921
6f6a8b28 259222009-05-13 Pavel Roskin <proski@gnu.org>
25923
25924 * util/i386/pc/grub-setup.c (setup): Remove unused variable
25925 embedding_area_exists.
25926
15fbf4c4 259272009-05-13 Robert Millan <rmh.grub@aybabtu.com>
25928
25929 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
25930 it easier to understand / work with.
59978c8a 25931 Improve warning messages for cases where there's no embedding area,
25932 or when it is too small (or core.img too large).
15fbf4c4 25933
238e871f 259342009-05-13 Pavel Roskin <proski@gnu.org>
25935
0ab3a9a4 25936 * loader/i386/pc/multiboot2.c: Add necessary includes for
25937 grub_multiboot2_real_boot().
25938
a2c8c5f8 25939 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
25940 PX record is always little-endian. We only need the lower 2
25941 bytes of the mode.
25942
faec96af 25943 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
25944 facilitate code reuse.
25945 (grub_cpio_mount): Use "struct head", not a char buffer. This
25946 fixes a warning reported by gcc 4.4.
25947
238e871f 25948 * kernel/disk.c (grub_disk_read): Use void pointer for the
25949 buffer.
25950 (grub_disk_write): Use const void pointer for the buffer.
25951 Adjust all callers. Remove unnecessary casts.
25952
901d2f0c 259532009-05-10 Robert Millan <rmh.grub@aybabtu.com>
25954
25955 * util/i386/pc/grub-install.in: Update copyright year.
25956
18f547ad 259572009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 25958
25959 gptsync
25960
25961 * commands/gptsync.c: new file
25962 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
25963 (gptsync_mod_SOURCES): new variable
25964 (gptsync_mod_CFLAGS): likewise
25965 (gptsync_mod_LDFLAGS): likewise
18f547ad 25966 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 25967 new definition
25968 (GRUB_PC_PARTITION_TYPE_HFS): likewise
25969 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
25970 * conf/i386-ieee1275.rmk: likewise
25971 * conf/i386-pc.rmk: likewise
25972 * conf/powerpc-ieee1275.rmk: likewise
25973
b4ba690a 259742009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
25975
25976 Fixed grub-emu
25977
25978 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
25979 (grub_dl_ref): likewise
25980
317e1a44 259812009-05-08 Robert Millan <rmh.grub@aybabtu.com>
25982
25983 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
25984 split in two functions (one for msdos and one for gpt).
25985
041b8094 259862009-05-08 Pavel Roskin <proski@gnu.org>
25987
752473c2 25988 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
25989 not modified.
25990
041b8094 25991 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
25992 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
25993 Initialize them with -1. Add sanity check for bad1. Eliminate
25994 nerr variable.
25995
172800ce 259962009-05-08 David S. Miller <davem@davemloft.net>
25997
25998 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
25999
29aa5e81 260002009-05-06 Robert Millan <rmh.grub@aybabtu.com>
26001
26002 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 26003 existence.
29aa5e81 26004
96613b62 260052009-05-05 Felix Zielcke <fzielcke@z-51.de>
26006
26007 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 26008 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 26009
eef73c8a 260102009-05-05 David S. Miller <davem@davemloft.net>
26011
26012 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
26013
119494b5 260142009-05-05 Pavel Roskin <proski@gnu.org>
26015
26016 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
26017 of grub_dl_ref() and grub_dl_unref().
26018 * commands/parttool.c: Remove preprocessor conditionals around
26019 grub_dl_ref() and grub_dl_unref().
26020 * fs/affs.c: Likewise.
26021 * fs/afs.c: Likewise.
26022 * fs/cpio.c: Likewise.
26023 * fs/ext2.c: Likewise.
26024 * fs/fat.c: Likewise.
26025 * fs/hfs.c: Likewise.
26026 * fs/hfsplus.c: Likewise.
26027 * fs/iso9660.c: Likewise.
26028 * fs/jfs.c: Likewise.
26029 * fs/minix.c: Likewise.
26030 * fs/ntfs.c: Likewise.
26031 * fs/reiserfs.c: Likewise.
26032 * fs/sfs.c: Likewise.
26033 * fs/udf.c: Likewise.
26034 * fs/ufs.c: Likewise.
26035 * fs/xfs.c: Likewise.
26036 * include/grub/dl.h: Likewise.
26037 * loader/xnu.c: Likewise.
26038
de5fd76e 260392009-05-04 Pavel Roskin <proski@gnu.org>
26040
26041 * commands/acpi.c: Remove unused variable my_mod.
26042 * partmap/amiga.c: Likewise.
26043 * partmap/apple.c: Likewise.
26044 * partmap/gpt.c: Likewise.
26045 * partmap/pc.c: Likewise.
26046 * partmap/sun.c: Likewise.
26047 * term/gfxterm.c: Likewise.
26048 * term/i386/pc/vesafb.c: Likewise.
26049 * term/i386/pc/vga.c: Likewise.
26050
983598ad 260512009-05-04 David S. Miller <davem@davemloft.net>
26052
26053 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
26054 pointer args to grub_ieee1275_get_property().
26055
8aadec43 26056 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
26057
9554b15e 26058 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
26059 devices, and do not traverse down under controller nodes.
26060
67e23c90 26061 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
26062 (grub_ofdisk_open): Use it to un-escape "," characters.
26063 * kern/disk.c (find_part_sep): New.
26064 (grub_disk_open): Use it to find the first non-escaped ','
26065 character in the disk name.
26066 * util/ieee1275/devicemap.c (escape_of_path): New.
26067 (grub_util_emit_devicemap_entry): Use it.
26068 * util/sparc64/ieee1275/grub-install.in: Update script to
26069 strip partition specifiers properly by not triggering on
26070 '\' escaped ',' characters.
26071
74bfdd2f 260722009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26073
26074 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
26075 to 0x300.
26076 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
26077 resolutions.
26078 (linux_vesafb_modes): Add a lot of additional modes to the list (based
26079 on documentation from Wikipedia).
26080
4241d2b1 260812009-05-04 Pavel Roskin <proski@gnu.org>
26082
26083 * disk/ata.c: Spelling fixes.
26084 * disk/raid.c: Likewise.
26085 * disk/usbms.c: Likewise.
26086 * disk/dmraid_nvidia.c: Likewise.
26087 * kern/ieee1275/openfw.c: Likewise.
26088 * kern/ieee1275/init.c: Likewise.
26089 * kern/ieee1275/cmain.c: Likewise.
26090 * boot/i386/pc/cdboot.S: Likewise.
26091 * video/readers/png.c: Likewise.
26092 * video/i386/pc/vbe.c: Likewise.
26093 * fs/udf.c: Likewise.
26094 * fs/hfs.c: Likewise.
26095 * fs/reiserfs.c: Likewise.
26096 * efiemu/runtime/efiemu.c: Likewise.
26097 * efiemu/main.c: Likewise.
26098 * efiemu/mm.c: Likewise.
26099 * include/grub/elf.h: Likewise.
26100 * include/grub/xnu.h: Likewise.
26101 * include/grub/usbdesc.h: Likewise.
26102 * include/grub/usb.h: Likewise.
26103 * include/grub/script_sh.h: Likewise.
26104 * include/grub/lib/LzmaEnc.h: Likewise.
26105 * include/grub/efiemu/efiemu.h: Likewise.
26106 * include/grub/command.h: Likewise.
26107 * normal/menu.c: Likewise.
26108 * normal/main.c: Likewise.
26109 * normal/datetime.c: Likewise.
26110 * bus/usb/uhci.c: Likewise.
26111 * mmap/i386/uppermem.c: Likewise.
26112 * mmap/mmap.c: Likewise.
26113 * commands/acpi.c: Likewise.
26114 * commands/test.c: Likewise.
26115 * partmap/apple.c: Likewise.
26116 * font/font.c: Likewise.
26117 * loader/sparc64/ieee1275/linux.c: Likewise.
26118 * loader/macho.c: Likewise.
26119 * loader/i386/bsd_trampoline.S: Likewise.
26120 * loader/i386/bsd.c: Likewise.
26121 * loader/xnu.c: Likewise.
26122 * term/i386/pc/vesafb.c: Likewise.
26123 * term/usb_keyboard.c: Likewise.
26124 * util/resolve.c: Likewise.
26125 * util/getroot.c: Likewise.
26126
0cfc0083 261272009-05-04 Felix Zielcke <fzielcke@z-51.de>
26128
26129 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
26130
7c1d00cd 261312009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26132
26133 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
26134 build error.
26135
b01f0548 261362009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26137
26138 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
26139 parameter only available on BIOS.
26140
ecc3eb22 261412009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26142
26143 Removed wrong semicolon in declaration
26144
26145 * grub/misc.h (grub_dprintf): remove semicolon
26146
112972a9 261472009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26148
26149 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
26150 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
26151 is done by grub_cmd_linux() now).
26152 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
26153 restore video to text mode.
26154 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
26155 indicates lack of "vga=" parameter. "vga=0" is mapped to
26156 `GRUB_LINUX_VID_MODE_NORMAL'.
26157
afd5c115 261582009-05-04 Felix Zielcke <fzielcke@z-51.de>
26159
26160 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
26161 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
26162 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 26163 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 26164 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
26165 `grub_script.tab.c'.
26166
26167 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26168 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26169 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26170 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26171 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26172
faa517ce 26173 * Makefile.in: Remove duplicated 2008 in Copyright line.
26174
ae0c0bdc 261752009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26176
473d1e45 26177 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 26178 unconditionally.
26179 * include/grub/util/misc.h (grub_util_warn): New declaration.
26180
26181 * util/i386/pc/grub-install.in: Understand --force and pass it down
26182 to grub-setup.
26183
26184 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
26185 down to setup().
26186 (setup): Improve error messages and add warnings when requested to
26187 install in odd layouts. Refuse to install using blocklists unless
26188 --force was set.
26189
18f547ad 261902009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 26191
26192 * disk/raid.c (grub_raid_scan_device): Improve debug message.
26193
6d260daa 261942009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26195
26196 Updated copyright year
26197
26198 * fs/hfsplus.c: updated copyright year
18f547ad 26199
69f853f8 262002009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26201
26202 HFS+ UUID
26203
18f547ad 26204 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 26205 in the space previously used by unused3
26206 (grub_hfsplus_uuid): new function
26207 (grub_hfsplus_fs): added uuid field
26208
4c402e73 262092009-05-03 Pavel Roskin <proski@gnu.org>
26210
26211 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
26212 suppress warnings. It's no longer needed.
26213 * disk/host.c: Likewise.
26214 * disk/ata_pthru.c: Likewise.
26215 * disk/loopback.c: Likewise.
26216 * hook/datehook.c: Likewise.
26217 * parttool/pcpart.c: Likewise.
26218 * fs/i386/pc/pxe.c: Likewise.
26219 * fs/ntfscomp.c: Likewise.
26220 * efiemu/main.c: Likewise.
26221 * mmap/mmap.c: Likewise.
26222 * commands/crc.c: Likewise.
26223 * commands/hexdump.c: Likewise.
26224 * commands/hdparm.c: Likewise.
26225 * commands/acpi.c: Likewise.
26226 * commands/echo.c: Likewise.
26227 * commands/minicmd.c: Likewise.
26228 * commands/blocklist.c: Likewise.
26229 * commands/memrw.c: Likewise.
26230 * commands/loadenv.c: Likewise.
26231 * commands/usbtest.c: Likewise.
26232 * commands/lsmmap.c: Likewise.
26233 * commands/boot.c: Likewise.
26234 * commands/parttool.c: Likewise.
26235 * commands/configfile.c: Likewise.
26236 * commands/search.c: Likewise.
26237 * commands/ieee1275/suspend.c: Likewise.
26238 * commands/cat.c: Likewise.
26239 * commands/i386/pc/pxecmd.c: Likewise.
26240 * commands/i386/pc/play.c: Likewise.
26241 * commands/i386/pc/halt.c: Likewise.
26242 * commands/i386/pc/vbeinfo.c: Likewise.
26243 * commands/i386/pc/vbetest.c: Likewise.
26244 * commands/lspci.c: Likewise.
26245 * commands/date.c: Likewise.
26246 * commands/handler.c: Likewise.
26247 * commands/ls.c: Likewise.
26248 * commands/test.c: Likewise.
26249 * commands/cmp.c: Likewise.
26250 * commands/efi/loadbios.c: Likewise.
26251 * commands/efi/fixvideo.c: Likewise.
26252 * commands/halt.c: Likewise.
26253 * commands/help.c: Likewise.
26254 * commands/reboot.c: Likewise.
26255 * hello/hello.c: Likewise.
26256 * script/sh/main.c: Likewise.
26257 * loader/xnu.c: Likewise.
26258 * term/terminfo.c: Likewise.
26259 * term/i386/pc/serial.c: Likewise.
26260 * term/usb_keyboard.c: Likewise.
26261
515b5079 262622009-05-03 David S. Miller <davem@davemloft.net>
26263
26264 * normal/menu.c: Include grub/parser.h
26265
dfc31a22 262662009-05-03 Pavel Roskin <proski@gnu.org>
26267
2fee74f1 26268 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
26269 not char*.
26270 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
26271 Suggested by Javier Martín <lordhabbit@gmail.com>
26272
dfc31a22 26273 * util/i386/pc/grub-mkrescue.in: Allow for the case when
26274 efiemu??.o doesn't exist.
26275 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
26276 copying.
26277
18f547ad 262782009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 26279
26280 FreeBSD 64-bit support
26281
18f547ad 26282 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 26283 and loader/i386/bsd_trampoline.S
26284 (bsd_mod_ASFLAGS): new variable
26285 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
26286 (FREEBSD_MODTYPE_KERNEL64): likewise
26287 (grub_bsd64_trampoline_start): likewise
26288 (grub_bsd64_trampoline_end): likewise
26289 (grub_bsd64_trampoline_selfjump): likewise
26290 (grub_bsd64_trampoline_gdt): likewise
26291 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
26292 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
26293 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
26294 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 26295 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 26296 of "attrib" member
26297 * loader/i386/bsd_pagetable.c: new file
26298 * loader/i386/bsd_trampoline.S: likewise
26299 * loader/i386/bsd.c (ALIGN_QWORD): new macro
26300 (ALIGN_VAR): likewise
26301 (entry_hi): new variable
26302 (kern_end_mdofs): likewise
26303 (is_64bit): likewise
26304 (grub_freebsd_add_meta): use ALIGN_VAR
26305 (grub_e820_mmap): new declaration
26306 (grub_freebsd_add_mmap): new function
26307 (grub_freebsd_add_meta_module): support 64 bit kernels
26308 (grub_freebsd_list_modules): use ALIGN_VAR
26309 (gdt_descriptor): new declaration
26310 (grub_freebsd_boot): support 64 bit kernels
26311 (grub_bsd_elf64_hook): new function
26312 (grub_bsd_load_elf): support elf64
26313
038c5720 263142009-05-03 Bean <bean123ch@gmail.com>
26315
26316 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
26317 after we get the result of if statement.
26318
fc45fb58 263192009-05-03 Bean <bean123ch@gmail.com>
26320
26321 * Makefile.in (enable_efiemu): New variable.
26322
26323 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
26324 set.
26325 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
26326 path.
26327 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
26328 path, add -mno-red-zone option.
26329 (efiemu64_s.o): Likewise.
26330 (efiemu64.o): Use macro $^ for source file.
26331
26332 * configure.ac (--enable-efiemu): New option.
26333
bbee0f2b 263342009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26335
26336 xnu support
26337
26338 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
26339 (pkglib_MODULES): add xnu.mod
26340 (xnu_mod_SOURCES): new variable
26341 (xnu_mod_CFLAGS): likewise
26342 (xnu_mod_LDFLAGS): likewise
26343 (xnu_mod_ASFLAGS): likewise
26344 * conf/i386-pc.rmk: likewise
26345 * conf/x86_64-efi.rmk: likewise
7dd4a573 26346 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 26347 new declaration
26348 * include/grub/i386/macho.h: new file
26349 * include/grub/i386/xnu.h: likewise
26350 * include/grub/macho.h: likewise
26351 * include/grub/machoload.h: likewise
26352 * include/grub/x86_64/macho.h: likewise
26353 * include/grub/x86_64/xnu.h: likewise
26354 * include/grub/xnu.h: likewise
26355 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
26356 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
26357 * loader/i386/efi/xnu.c: new file
26358 * loader/i386/pc/xnu.c: likewise
26359 * loader/i386/xnu.c: likewise
26360 * loader/i386/xnu_helper.S: likewise
26361 * loader/macho.c: likewise
26362 * loader/xnu.c: likewise
26363 * loader/xnu_resume.c: likewise
26364 * util/grub-dumpdevtree: likewise
26365 * include/grub/i386/pit.h: include grub/err.h
26366 (grub_pit_wait): export
26367 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 26368
5caf964d 263692009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26370
26371 Efiemu
7dd4a573 26372
5caf964d 26373 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 26374 _linux_efi, linux_efi.
26375 new files in grub-emu
5caf964d 26376 new targets efiemu32.o and efiemu64.o
26377 * loader/linux_normal_efiemu.c: likewise
26378 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 26379 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 26380 files to copy
26381 * include/grub/autoefi.h: new file
7dd4a573 26382 * include/grub/i386/efiemu.h: likewise
5caf964d 26383 * include/grub/i386/pc/efiemu.h: likewise
26384 * include/grub/efi/api.h: add LL suffix when necessary
26385 new definitions relating to tables
26386 * include/grub/efiemu/efiemu.h: new file
26387 * include/grub/efiemu/runtime.h: likewise
26388 * efiemu/prepare.c: likewise
26389 * efiemu/loadcore_common.c: likewise
26390 * efiemu/loadcore64.c: likewise
26391 * efiemu/runtime/efiemu.sh: likewise
26392 * efiemu/runtime/efiemu.S: likewise
26393 * efiemu/runtime/efiemu.c: likewise
26394 * efiemu/runtime/config.h: likewise
26395 * efiemu/prepare32.c: likewise
26396 * efiemu/main.c: likewise
26397 * efiemu/modules/pnvram.c: likewise
26398 * efiemu/modules/i386: likewise
26399 * efiemu/modules/i386/pc: likewise
26400 * efiemu/modules/acpi.c: likewise
26401 * efiemu/i386/pc/cfgtables.c: likewise
26402 * efiemu/i386/loadcore64.c: likewise
26403 * efiemu/i386/loadcore32.c: likewise
26404 * efiemu/prepare64.c: likewise
26405 * efiemu/loadcore.c: likewise
26406 * efiemu/symbols.c: likewise
26407 * efiemu/mm.c: likewise
26408 * efiemu/loadcore32.c: likewise
7dd4a573 26409
264102009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 26411
26412 ACPI spoofing
26413
26414 * commands/acpi.c: new file
26415 * commands/i386/pc/acpi.c: likewise
26416 * commands/efi/acpi.c: likewise
26417 * include/grub/acpi.h: likewise
26418 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
26419 (acpi_mod_SOURCES): new variable
26420 (acpi_mod_CFLAGS): likewise
26421 (acpi_mod_LDFLAGS): likewise
26422 * conf/i386-efi.rmk: likewise
26423 * conf/x86_64-efi.rmk: likewise
26424
7dd4a573 264252009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 26426
26427 Missing part from mmap patch
26428
26429 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
26430 (grub_mmap_unregister)
26431 (grub_mmap_free_and_unregister): use grub_mmap_register
26432
7dd4a573 264332009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 26434
26435 Mmap services
26436
26437 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
26438 * loader/i386/linux.c (find_mmap_size): likewise
26439 (allocate_pages): likewise
26440 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
26441 (grub_fill_multiboot_mmap): likewise
26442 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
26443 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
26444 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
26445 (OPENBSD_MMAP_RESERVED): likewise
26446 * include/grub/i386/pc/memory.h: include grub/memory.h
26447 (grub_lower_mem): removed
26448 (grub_upper_mem): likewise
26449 (GRUB_MACHINE_MEMORY_ACPI): new definition
26450 (GRUB_MACHINE_MEMORY_NVS): likewise
26451 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
26452 (GRUB_MACHINE_MEMORY_HOLE): likewise
26453 (grub_machine_mmap_register): likewise
26454 (grub_machine_mmap_unregister): likewise
26455 (grub_machine_get_upper): likewise
26456 (grub_machine_get_lower): likewise
26457 (grub_machine_get_post64): likewise
26458 * include/grub/i386/efi/memory.h: new file
26459 * include/grub/x86_64/efi/memory.h: likewise
26460 * include/grub/efi/memory.h: likewise
26461 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
26462 (mmap_mod_SOURCES): new variable
26463 (mmap_mod_LDFLAGS): likewise
26464 (mmap_mod_ASFLAGS): likewise
26465 * conf/i386-coreboot.rmk: likewise
26466 * conf/i386-ieee1275.rmk: likewise
26467 * conf/i386-efi.rmk: likewise
26468 * conf/x86_64-efi.rmk: likewise
26469 * include/grub/types.h (UINT_TO_PTR): new macro
26470 (PTR_TO_UINT32): likewise
26471 (PTR_TO_UINT64): likewise
26472 * include/grub/memory.h: new file
26473 * mmap/i386/pc/mmap.c: likewise
26474 * mmap/i386/pc/mmap_helper.S: likewise
26475 * mmap/i386/uppermem.c: likewise
26476 * mmap/mmap.c: likewise
26477 * mmap/efi/mmap.c: likewise
7dd4a573 26478 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 26479 grub_upper_mem
26480 * kern/i386/pc/init.c (grub_lower_mem): removed variable
26481 (grub_upper_mem): likewise
26482 (grub_machine_init): don't use grub_upper_mem,
26483 make grub_lower_mem local
26484 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
26485 grub_mmap_iterate and grub_mmap_get_upper
26486 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
26487
d558e6b5 264882009-05-02 Bean <bean123ch@gmail.com>
26489
26490 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
26491 script/sh/parser.y.
26492 (pkglib_MODULES): Add normal.mod and sh.mod.
26493 (normal_SOURCES): New variable.
26494 (normal_mod_CFLAGS): Likewise.
26495 (normal_mod_LDFLAGS): Likewise.
26496 (sh_mod_SOURCES): Likewise.
26497 (sh_mod_CFLAGS): Likewise.
26498 (sh_mod_LDFLAGS): Likewise.
26499
26500 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
26501 script/sh/lexer.c_DEPENDENCIES.
26502 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
26503 kern/rescue_reader.c and kern/rescue_parser.c.
26504 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
26505 (grub_emu_SOURCES): Change source files.
26506 (pkglib_MODULES): Remove normal.mod.
26507 (normal_SOURCES): Removed.
26508 (normal_mod_CFLAGS): Likewise.
26509 (normal_mod_LDFLAGS): Likewise.
26510 * conf/i386-coreboot.rmk: Likewise.
26511 * conf/i386-efi.rmk: Likewise.
26512 * conf/i386-ieee1276.rmk: Likewise.
26513 * conf/powerpc-ieee1275.rmk: Likewise.
26514 * conf/sparc64-ieee1275.rmk: Likewise.
26515 * conf/x86_64-efi.rmk: Likewise.
26516
26517 * include/grub/command.h (grub_command_execute): New inline function.
26518
26519 * include/grub/menu.h (grub_menu_entry): Removed commands field.
26520
26521 * include/grub/normal.h: Remove <grub/setjmp.h>.
26522 (grub_fs_module_list): Moved to normal/autofs.c.
26523 (grub_exit_env): Removed.
26524 (grub_command_execute): Likewise.
26525 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
26526 parameter script.
26527 (read_command_list): New function declaration.
26528 (read_fs_list): Likewise.
26529
26530 * include/parser.h: Include <grub/reader.h>.
26531 (grub_parser_split_cmdline): Change type of getline parameter.
26532 (grub_parser): New structure.
26533 (grub_parser_class): New variable.
26534 (grub_parser_execute): New function declaration.
26535 (grub_register_rescue_parser): Likewise.
26536 (grub_parser_register): New inline function.
26537 (grub_parser_unregister): Likewise.
26538 (grub_parser_get_current): Likewise.
26539 (grub_parser_set_current): Likewise.
26540
26541 * include/grub/reader.h: New file.
26542 * kern/reader.c: Likewise.
26543 * kern/rescue_parser.c: Likewise.
26544 * kern/rescue_reader.c: Likewise.
26545 * normal/autofs.c: Likewise.
26546 * normal/dyncmd.c: Likewise.
26547
26548 * include/grub/rescue.h: Removed.
26549 * normal/command.h: Likewise.
26550
26551 * include/grub/script.h: Moved to ...
26552 * include/grub/script_sh.h: ... Moved here.
26553 * normal/execute.c: Moved to ...
26554 * script/sh/execute.c: ... Moved here.
26555 * normal/function.c: Moved to ...
26556 * script/sh/function.c: ... Moved here.
26557 * normal/lexer.c: Moved to ...
26558 * script/sh/lexer.c: ... Moved here.
26559 * normal/parser.y: Moved to ...
26560 * script/sh/parser.y: ... Moved here.
26561 * normal/script.c: Moved to ...
26562 * script/sh/script.c: ... Moved here.
26563
26564 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
26565 <grub/reader.h>.
26566 (grub_exit_env): Removed.
26567 (fs_module_list): Moved to normal/autofs.c.
26568 (grub_file_getline): Don't handle comment here.
26569 (free_menu): Skip removed field entry->commands.
26570 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
26571 script parameter.
26572 (read_config_file): Removed nested parameter, change getline function.
26573 (grub_enter_normal_mode): Removed.
26574 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
26575 (read_command_list): Likewise.
26576 (autoload_fs_module): Moved to normal/autofs.c.
26577 (read_fs_list): Likewise.
26578 (reader_nested): New variable.
26579 (grub_normal_execute): Run parser.sh to switch to sh parser.
26580 (grub_cmd_rescue): Removed.
26581 (cmd_normal): Removed.
26582 (grub_cmd_normal): Unregister itself at the beginning. Don't register
26583 rescue command.
26584 (grub_cmdline_run): New function.
26585 (grub_normal_reader_init): Likewise.
26586 (grub_normal_read_line): Likewise.
26587 (grub_env_write_pager): Likewise.
26588 (cmdline): New variable.
26589 (grub_normal_reader): Likewise.
26590 (GRUB_MOD_INIT): Register normal reader and set as current, register
26591 pager hook, register normal command with grub_register_command_prio,
26592 so that it won't show up in command.lst.
26593 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
26594 grub_fs_autoload_hook.
26595
26596 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
26597 (grub_menu_execute_entry): Replace grub_script_execute with
26598 grub_parser_execute, change parameter to grub_command_execute.
26599
26600 * normal/menu_text.c: Remove <grub/script.h>.
26601
26602 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
26603 and <grub/parser.h>.
26604 (run): Change editor_getline to use new parser interface. Change
26605 parameter to grub_command_execute.
26606
26607 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
26608 <grub/reader.h> and <grub/parser.h>.
26609 (grub_load_normal_mode): Execute normal command.
26610 (grub_main): Call grub_register_core_commands,
26611 grub_register_rescue_parser and grub_register_rescue_reader, use
26612 grub_reader_loop to enter input loop.
26613
7dd4a573 26614 * kern/parser.c (grub_parser_split_cmdline): Change type of
26615 getline parameter.
d558e6b5 26616 (grub_parser_class): New variable.
26617 (grub_parser_execute): New function.
26618
26619 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
26620 * loader/multiboot2.c: Likewise.
26621 * loader/sparc64/ieee1275/linux.c: Likewise.
26622
26623 * util/grub-emu.c (read_command_list): New dummy function.
26624
18db813d 266252009-05-02 Robert Millan <rmh.grub@aybabtu.com>
26626
26627 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
26628 count to 16 for CCISS and IDA.
26629
6c67de15 266302009-05-02 Robert Millan <rmh.grub@aybabtu.com>
26631
26632 * normal/menu_text.c (grub_wait_after_message): Print a newline
26633 after waiting for user input.
26634
26635 * loader/i386/linux.c: Include `<grub/normal.h>'.
26636 (grub_cmd_linux): Improve the error message about `ask' mode, by
26637 waiting for user input so it's not missed (we can do this, since
26638 user requested interaction).
26639
d9dc87b0 266402009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26641
26642 Added missing lst to grub-mkrescue
26643
26644 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
26645 and ${input_dir}/parttool.lst
26646
ac8a2baa 266472009-04-30 David S. Miller <davem@davemloft.net>
26648
ad22a610 26649 * util/hostdisk.c (device_is_wholedisk): New function.
26650 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
26651 zero only if device_is_wholedisk() returns true.
26652
6966215d 26653 * util/hostdisk.c (convert_system_partition_to_system_disk):
26654 Handle virtual disk devices named /dev/vdiskX as found on sparc
26655 and powerpc.
26656
ac8a2baa 26657 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
26658 lettered partition specifier is found, convert to numbered.
26659
979b4fb4 266602009-04-29 David S. Miller <davem@davemloft.net>
26661
e2bf39b2 26662 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
26663 * include/grub/sparc64/ieee1275/memory.h: Likewise.
26664
3c64e104 26665 * normal/command.c: Add missing newline at end of file.
26666
979b4fb4 26667 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
26668 warnings.
26669 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
26670 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
26671 grub_ofdisk_read): Likewise, and deal similarly with the fact that
26672 ihandles have a 32-bit type but need to be stored in a "void *".
26673
136d9f82 266742009-04-28 Pavel Roskin <proski@gnu.org>
26675
9459c306 26676 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
26677 not disk. Adjust all dependencies.
2e08a26a 26678 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 26679 grub_disk_close().
26680
136d9f82 26681 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
26682 parent's partition, don't copy it by reference, as it gets freed
26683 on close.
26684
7dd4a573 266852009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 26686
26687 Preboot hooks support
26688
26689 * commands/boot.c (struct grub_preboot_t): new declaration
26690 (preboots_head): new variable
26691 (preboots_tail): likewise
26692 (grub_loader_register_preboot_hook): new function
26693 (grub_loader_unregister_preboot_hook): likewise
26694 (grub_loader_set): launch preboot hooks
26695 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
26696 (grub_loader_register_preboot_hook): new declaration
26697 (grub_loader_unregister_preboot_hook): likewise
26698
5af922b5 266992009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26700
26701 Warning fix
26702
7dd4a573 26703 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 26704 calling grub_dprintf
26705
a5562c30 267062009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
26707
26708 Bug and warning fixes
26709
7dd4a573 26710 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 26711 declaration
26712 * commands/test.c (test_parse): fixed bug with file tests and corrected
26713 declaration of find_file
26714
4006f85c 267152009-04-26 Pavel Roskin <proski@gnu.org>
26716
26717 * Makefile.in: Don't install empty manual pages if help2man is
26718 missing. Use help2man option for output, not shell redirection.
26719
5c77c3de 267202009-04-26 David S. Miller <davem@davemloft.net>
26721
26722 * util/grub-mkdevicemap.c (make_device_map): Add missing
26723 NESTED_FUNC_ATTR to process_device().
26724
033b10a8 267252009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
26726
26727 Test command
26728
26729 * commands/test.c: rewritten to use bash-like test
26730
e4343593 267312009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
26732
26733 Parttool autoloading and improvements
26734
7dd4a573 26735 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 26736 (parttool.lst): new target
26737 * genmk.rb: generate parttool-*
26738 (CLEANFILES): add #{parttool}
26739 (PARTTOOLFILES): new variable
26740 * genparttoollist.sh: new file
7dd4a573 26741 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 26742 (grub_pcpart_type): likewise
26743 * commands/parttool.c (helpmsg): new variable
26744 (grub_cmd_parttool): output help if not enough arguments are supplied
26745 autoload modules
26746 (GRUB_MOD_INIT(parttool)): use helpmsg
26747
0d312500 267482009-04-24 David S. Miller <davem@davemloft.net>
26749
7dd4a573 26750 Avoiding opening same device multiple times in device iterator.
0d312500 26751
26752 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 26753 and use it to build a list of partitions in iterate_disk() and
0d312500 26754 iterate_partition().
26755
ac20caff 26756 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
26757 on disk->data.
26758
0dcf7495 26759 * disk/ieee1275/nand.c (grub_nand_iterate): Return
26760 grub_devalias_iterate() result instead of unconditional 0.
26761 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
26762 Also, capture hook return value, either directly or via
26763 grub_children_iterate(), and propagate to caller.
26764 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
26765 grub_children_iterate): Return value is now 'int' instead of
26766 'grub_err_t'.
26767 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
26768 like a proper iterator, stopping when hooks return non-zero.
26769 (grub_devalias_iterate): Likewise.
26770
c8c08833 267712009-04-23 David S. Miller <davem@davemloft.net>
26772
26773 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
26774
f01005a8 267752009-04-22 David S. Miller <davem@davemloft.net>
26776
26777 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
26778 is larger than address_cells, use that value for address_cells too.
26779
4e8269da 26780 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
26781 IEEE1275_MAX_PATH_LEN): Define.
26782 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
26783 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
26784 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
26785 'devtype'. Explicitly NULL terminate devalias expansion.
26786
a1447506 26787 * util/sparc64/ieee1275/misc.c: New file.
26788 * util/sparc64/ieee1275/grub-setup.c: New file.
26789 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
26790 * util/sparc64/ieee1275/grub-mkimage.c: New file.
26791 * util/sparc64/ieee1275/grub-install.in: New file.
26792 * util/ieee1275/ofpath.c: New file.
26793 * util/ieee1275/devicemap.c: New file.
26794 * util/devicemap.c: New file.
26795 * util/deviceiter.c: New file.
26796 * kern/sparc64/ieee1275/init.c: New file.
26797 * include/grub/util/ofpath.h: New file.
26798 * include/grub/util/deviceiter.h: New file.
26799 * util/grub-mkdevicemap.c: Include deviceiter.h.
26800 Implement using grub_util_emit_devicemap_entry and
26801 grub_util_iterate_devices.
26802 * conf/i386-corebook.rmk: Build util/deviceiter.c and
26803 util/devicemap.c into grub-mkdevicemap
26804 * conf/i386-efi.rmk: Likewise.
26805 * conf/i386-ieee1275.rmk: Likewise.
26806 * conf/i386-pc.rmk: Likewise.
26807 * conf/powerpc-ieee1275.rmk: Likewise.
26808 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
26809 images and installation utilities. Build kernel as image
26810 instead of as elf binary. Use common rules as much as possible.
26811
7dd4a573 268122009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 26813
26814 Correct GPT definition
26815
7dd4a573 26816 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 26817 of "attrib" member
26818
c6c5219f 268192009-04-19 Felix Zielcke <fzielcke@z-51.de>
26820
26821 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
26822
0552ff9f 268232009-04-19 David S. Miller <davem@davemloft.net>
26824
26825 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
26826 (grub_rescue_cmd_linux): Rename to...
26827 (grub_cmd_linux): and fix prototype.
26828 (grub_rescue_cmd_initrd): Rename to...
26829 (grub_cmd_initrd): and fix prototype.
26830 (cmd_linux, cmd_initrd): New.
26831 (GRUB_MOD_INIT(linux)): Use grub_register_command().
26832 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
26833
d1a282fc 268342009-04-17 Pavel Roskin <proski@gnu.org>
26835
07c5039f 26836 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
26837 format.
26838 (grub_ohci_transfer): Likewise.
26839
b012002d 26840 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
26841
1bc09c35 26842 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
26843 return without a value. Fix inconsistent indentation.
26844
e0ff9126 26845 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
26846 match struct grub_fs.
26847
d1a282fc 26848 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
26849 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
26850 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
26851 * commands/lspci.c (grub_lspci_iter): Likewise.
26852
a96df3f2 268532009-04-16 Bean <bean123ch@gmail.com>
26854
26855 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
26856 value.
26857
41bb0fe9 268582009-04-15 Pavel Roskin <proski@gnu.org>
26859
26860 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
26861 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
26862 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
26863 definitions.
26864
596c6970 268652009-04-15 Felix Zielcke <fzielcke@z-51.de>
26866
26867 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 26868 that no multiple data or metadata areas are supported and `Unknown
596c6970 26869 metadata header'.
26870
7dd4a573 268712009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 26872
26873 Move loader out of the kernel
26874
26875 * kern/loader.c: moved to ...
26876 * commands/boot.c: ... moved here
26877 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
26878 * commands/boot.c (grub_cmd_boot): moved here. All users updated
26879 * include/grub/kernel.h (grub_machine_fini): export
26880 * include/grub/loader.h (grub_loader_is_loaded): update declaration
26881 (grub_loader_set): likewise
26882 (grub_loader_unset): likewise
26883 (grub_loader_boot): likewise
26884 * conf/common.rmk: new module boot.mod
26885 (pkglib_MODULES): add boot.mod
26886 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
26887 (grub_emu_SOURCES): likewise
26888 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
26889 (grub_emu_SOURCES): likewise
26890 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
26891 (grub_emu_SOURCES): likewise
26892 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
26893 (grub_emu_SOURCES): likewise
26894 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
26895 (grub_emu_SOURCES): likewise
7dd4a573 26896 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
26897 (grub_emu_SOURCES): likewise
0d5d5653 26898 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 26899 (grub_emu_SOURCES): likewise
0d5d5653 26900
7dd4a573 269012009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 26902
26903 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 26904
5999d619 26905 * kern/misc.c (grub_itoa): Removed function
26906 (grub_ltoa): likewise
26907 (grub_vsprintf): use grub_lltoa
26908
7dd4a573 269092009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 26910
26911 Restore grub-emu
26912
26913 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
26914 * conf/i386-coreboot.rmk: likewise
26915 * conf/i386-ieee1275.rmk: likewise
26916 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 26917
20318222 269182009-04-15 Felix Zielcke <fzielcke@z-51.de>
26919
26920 * INSTALL: Add that `./autogen.sh' needs to be run before
26921 `./configure.'.
26922
d05f0df3 269232009-04-14 Bean <bean123ch@gmail.com>
26924
26925 * Makefile.in (pkglib_DATA): Add handler.lst.
26926 (handler.lst): New rule.
26927
26928 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
26929 * conf/i386-coreboot.rmk: Likewise.
26930 * conf/i386-ieee1275.rmk: Likewise.
26931 * conf/i386-efi.rmk: Likewise.
26932 * conf/x86_64-efi.rmk: Likewise.
26933 * conf/powerpc-ieee1275.rmk: Likewise.
26934 * conf/sparc64-ieee1275.rmk: Likewise.
26935
26936 * genhandlerlist.sh: New file.
26937
26938 * genmk.rb: Add rules to generate handler.lst.
26939
26940 * include/grub/normal.h (grub_file_getline): New function definition.
26941 (read_handler_list): Likewise.
26942 (free_handler_list): Likewise.
26943
26944 * include/grub/term.h (grub_term_register_input): Add name parameter
26945 for auto generation of handler.lst.
26946 (grub_term_register_output): Likewise.
26947
26948 * normal/handler.c: New file.
26949
26950 * normal/main.c (get_line): Renamed to grub_file_getline.
26951 (read_config_file): Use the newly renamed grub_file_getline.
26952 (read_command_list): Likewise.
26953 (read_fs_list): Likewise.
26954 (grub_normal_execute): Call read_handler_list to parse handler.lst.
26955 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
26956
26957 * term/efi/console.c (grub_console_init): Add name parameter for auto
26958 generation of handler.lst.
26959 * term/gfxterm.c: Likewise.
26960 * term/i386/pc/at_keyboard.c: Likewise.
26961 * term/i386/pc/console.c: Likewise.
26962 * term/i386/pc/serial.c: Likewise.
26963 * term/i386/pc/vesafb.c: Likewise.
26964 * term/i386/pc/vga.c: Likewise.
26965 * term/i386/pc/vga_text.c: Likewise.
26966 * term/ieee1275/ofconsole.c: Likewise.
26967 * term/usb_keyboard.c: Likewise.
26968
33c846be 269692009-04-14 Bean <bean123ch@gmail.com>
26970
26971 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
26972 properly with null character.
26973
4484e01e 269742009-04-14 Felix Zielcke <fzielcke@z-51.de>
26975
26976 * configure: Remove.
26977 * config.h.in: Likewise.
f93d668e 26978 * stamp-h.in: Likewise.
4484e01e 26979 * DISTLIST: Likewise.
26980 * conf/common.mk: Likewise.
26981 * conf/i386-coreboot.mk: Likewise.
26982 * conf/i386-efi.mk: Likewise.
26983 * conf/i386-ieee1275.mk: Likewise.
26984 * conf/i386.mk: Likewise.
26985 * conf/i386-pc.mk: Likewise.
26986 * conf/powerpc-ieee1275.mk: Likewise.
26987 * conf/sparc64-ieee1275.mk: Likewise.
26988 * conf/x86_64-efi.mk: Likewise.
26989
26990 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
26991 develop on GRUB.
26992
7dd4a573 269932009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 26994 David S. Miller <davem@davemloft.net>
26995
26996 * util/hostdisk.c (make_device_name): Fix buffer length
26997 calculations.
26998
e25b5a8c 269992009-04-14 Felix Zielcke <fzielcke@z-51.de>
27000
27001 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
27002 <sys/param.h> and <sys/sysctl.h>.
27003 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
27004 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
27005 opening the device and reset them afterwards.
27006
1f1f580c 270072009-04-13 Pavel Roskin <proski@gnu.org>
27008
27009 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
27010 Reported by John Stanley <jpsinthemix@verizon.net>
27011
7ebc2d6b 270122009-04-13 Robert Millan <rmh@aybabtu.com>
27013
27014 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 27015 that name for menuentries when appropriate.
7ebc2d6b 27016
d8ba3667 270172009-04-13 Felix Zielcke <fzielcke@z-51.de>
27018
27019 * util/grub.d/10_freebsd.in: Add a missing `fi'.
27020
cba416eb 270212009-04-13 Robert Millan <rmh@aybabtu.com>
27022
27023 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
27024 to Linux, simply abort telling the user it's no longer supported.
27025
a547a745 270262009-04-13 Felix Zielcke <fzielcke@z-51.de>
27027
27028 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 27029 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 27030 `freebsd_loadenv' only when devices.hints exist.
27031
232a769c 270322009-04-13 Pavel Roskin <proski@gnu.org>
27033
27034 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
27035
c3012039 270362009-04-13 Felix Zielcke <fzielcke@z-51.de>
27037
27038 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
27039 partition number.
27040 (grub_drive): Likewise.
27041
234022fe 270422009-04-13 David S. Miller <davem@davemloft.net>
27043
27044 * kern/sparc64/ieee1275/ieee1275.c: New file.
27045 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
27046 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
27047 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
27048 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
27049 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
27050 grub_ieee1275_alloc_physmem): Declare new exported functions.
27051
d8e1836c 27052 * include/grub/sparc64/ieee1275/loader.h: New file.
27053 * include/grub/sparc64/ieee1275/memory.h: Likewise.
27054 * include/grub/sparc64/kernel.h: Likewise.
27055 * loader/sparc64/ieee1275/linux.c: Likewise.
27056
96bd81ec 27057 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
27058 (grub_fstest_SOURCES): Likewise.
27059
6a4737e5 27060 * util/hostdisk.c (make_device_name): Do not make any assumptions
27061 about the length of drive names.
27062
1d7a72fd 27063 * kern/dl.c (grub_dl_load_file): Close file immediately when
27064 we are done using it.
27065
56bc2471 270662009-04-12 David S. Miller <davem@davemloft.net>
27067
27068 * kern/misc.c (grub_ltoa): Fix cast when handling negative
27069 values. Noticed by Pavel Roskin.
27070
df38d0bb 27071 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
27072 target compiler.
7dd4a573 27073
e382e93a 27074 * genmk.rb: Add more flexible image type specification, also
27075 pass --strip-unneeded to objcopy.
27076 * conf/i386-pc.rmk: Use *_FORMAT.
27077 * conf/i386-pc.mk: Rebuilt.
27078
f5dbbca9 27079 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
27080 (OFDISK_HASH_SZ): Define.
27081 (ofdisk_hash): New hash table.
27082 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
27083 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
27084 instead of device phandle which is not unique.
27085
91c88b12 27086 * kern/sparc64/ieee1275/init.c: Delete, replace with...
27087 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
27088 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
27089 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
27090 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
27091 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
27092 GRUB_KERNEL_MACHINE_DATA_END): Define.
27093 (grub_kernel_image_size, grub_total_module_size): Declare.
27094
5b5d4aa5 270952009-04-12 Pavel Roskin <proski@gnu.org>
27096
7dd4a573 27097 * configure.ac: Change the logic when we check for target tools.
27098 Do it when the target is specified and it's different from the
27099 specified value of the host.
5b5d4aa5 27100
c91e1793 271012009-04-11 Felix Zielcke <fzielcke@z-51.de>
27102
27103 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
27104 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
27105 GNU/kFreeBSD. Check if a device is a character device. Use
27106 DIOCGMEDIASIZE to get the size.
27107 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
27108 support for GNU/kFreeBSD.
27109 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
27110 is a character device instead of a block device. Add support for
27111 FreeBSD device names.
27112
27113 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
27114 is a character device instead of a block device.
27115
27116 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
27117 is a character device instead of a block device.
27118
b1ac8644 271192009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
27120
27121 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
27122 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
27123 FreeBSD. Check if a device is a character device. Use
27124 DIOCGMEDIASIZE to get the size.
27125 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
27126 support for FreeBSD.
27127 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
27128 is a character device instead of a block device. Add support for
27129 FreeBSD device names.
27130
27131 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
27132 a character device instead of a block device.
27133 (grub_util_check_char_device): New function.
27134
27135 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
27136 a character device instead of a block device.
27137
27138 * include/grub/util/getroot.h (grub_util_check_char_device): New
27139 prototype.
27140
a3f7515a 271412009-04-11 David S. Miller <davem@davemloft.net>
27142
27143 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
27144 static libgcc.
27145 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
27146 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
27147 function, if present.
27148 (__bswapdi2): Likewise.
27149
0d44993d 27150 * include/grub/sparc64/ieee1275/boot.h: New file.
27151 * boot/sparc64/ieee1275/boot.S: Likewise.
27152 * boot/sparc64/ieee1275/diskboot.S: Likewise.
27153
ed3d2bc2 27154 * kern/misc.c (grub_ltoa): New function.
27155 (grub_vsprintf): Use it to format 'long' integers.
27156
d3bfb59c 271572009-04-10 David S. Miller <davem@davemloft.net>
27158
27159 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
27160 slots are of type grub_ieee1275_cell_t.
27161 (grub_nand_read): Likewise.
27162 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
27163 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
27164 macros are used to compare values in arg/ret block of the call.
27165 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
27166 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
27167 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
27168 grub_ieee1275_instance_to_path, grub_ieee1275_write,
27169 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
27170 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
27171 grub_ieee1275_close, grub_ieee1275_set_property,
27172 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
27173 grub_ieee1275_cell_t.
27174 * kern/ieee1275/openfw.c (grub_map): Likewise.
27175 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
27176 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
27177
450e2238 27178 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
27179 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
27180 (grub_devalias_iterate): Likewise.
27181
7dd4a573 271822009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 27183
27184 UFS improvements
27185
27186 * fs/ufs.c (INODE_NBLOCKS): new definition
27187 (struct grub_ufs_dirent): added fields for non-BSD dirents
27188 (grub_ufs_get_file_block): fixed double indirect handling
27189 (grub_ufs_lookup_symlink): use more robust way to determine whether
27190 symlink is inline
27191 (grub_ufs_find_file): support for non-BSD dirents
27192 (grub_ufs_dir): support for non-BSD dirents
27193
e7e6862a 271942009-04-10 Bean <bean123ch@gnail.com>
27195
27196 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
27197 attribute, otherwise the size would be wrong for i386 platform.
27198
27199 * include/grub/pci.h (grub_pci_read_word): New inline function.
27200 (grub_pci_read_byte): Likewise.
27201 (grub_pci_write): Likewise.
27202 (grub_pci_write_word): Likewise.
27203 (grub_pci_write_byte): Likewise.
27204
27205 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
27206
27207 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
27208 (find_framebuf): Scan pci to locate the frame buffer address.
27209
27210 * commands/efi/fixvideo.c: New file.
27211
27212 * commands/efi/loadbios.c: Likewise.
27213
27214 * commands/memrw.c: Likewise.
27215
27216 * util/grub-dumpbios.in: Likewise.
27217
27218 * conf/common.rmk (grub-dumpbios): New utility.
27219 (pkglib_MODULES): New module memrw.mod.
27220 (memrw_mod_SOURCE): New macro.
27221 (memrw_mod_CFLAGS): Likewise.
27222 (memrw_mod_LDFLAGS): Likewise.
27223
7dd4a573 27224 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 27225 fixvideo.mod.
27226 (loadbios_mod_SOURCE): New macro.
27227 (loadbios_mod_CFLAGS): Likewise.
27228 (loadbios_mod_LDFLAGS): Likewise.
27229 (fixvideo_mod_SOURCE): Likewise.
27230 (fixvideo_mod_CFLAGS): Likewise.
27231 (fixvideo_mod_LDFLAGS): Likewise.
27232
7dd4a573 27233 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 27234 fixvideo.mod.
27235 (loadbios_mod_SOURCE): New macro.
27236 (loadbios_mod_CFLAGS): Likewise.
27237 (loadbios_mod_LDFLAGS): Likewise.
27238 (fixvideo_mod_SOURCE): Likewise.
27239 (fixvideo_mod_CFLAGS): Likewise.
27240 (fixvideo_mod_LDFLAGS): Likewise.
27241
af63ada2 272422009-04-08 Felix Zielcke <fzielcke@z-51.de>
27243
27244 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
27245
c2cdde70 272462009-04-07 David S. Miller <davem@davemloft.net>
27247
27248 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
27249 support for R_SPARC_OLO10 relocations. Fix compile warning for
27250 R_SPARC_WDISP30 case.
ea3f72cf 27251 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 27252
761319cf 272532009-04-06 Pavel Roskin <proski@gnu.org>
27254
1007d1f5 27255 * include/grub/misc.h (ARRAY_SIZE): New macro.
27256 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
27257 New macro.
27258 * loader/i386/linux.c (allocate_pages): Use free_pages().
27259 (grub_linux_unload): Don't use free_pages().
27260 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
27261 wrong index. Treat all other modes as text modes.
27262 (grub_cmd_linux): Initialize vid_mode unconditionally to
27263 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
27264
761319cf 27265 * commands/help.c (print_command_help): Use cmd->prio, not
27266 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
27267
ea761d40 272682009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 27269
ea761d40 27270 Parttool
27271
27272 * parttool/pcpart.c: new file
27273 * commands/parttool.c: likewise
27274 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
27275 (parttool_mod_SOURCES): new variable
27276 (parttool_mod_CFLAGS): likewise
27277 (parttool_mod_LDFLAGS): likewise
27278 (pcpart_mod_SOURCES): likewise
27279 (pcpart_mod_CFLAGS): likewise
27280 (pcpart_mod_LDFLAGS): likewise
7dd4a573 27281 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 27282 and parttool/pcpart.c
27283 * conf/i386-efi.rmk: likewise
27284 * conf/i386-ieee1275.rmk: likewise
27285 * conf/i386-pc.rmk: likewise
27286 * conf/powerpc-ieee1275.rmk: likewise
27287 * conf/sparc64-ieee1275.rmk: likewise
27288 * conf/x86_64-ieee1275.rmk: likewise
27289
05aaebfb 272902009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27291
27292 Support for mtime and further expandability of dir command
27293
27294 * include/grub/lib/datetime.h: moved to ...
7dd4a573 27295 * include/grub/datetime.h: ... moved here and added
05aaebfb 27296 declaration of grub_unixtime2datetime. All users updated
7dd4a573 27297 * include/grub/fs.h: new syntax for dir and mtime functions in
27298 struct grub_fs
05aaebfb 27299 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
27300 and GRUB_FSHELP_FLAGS_MASK
27301 * commands/ls.c (grub_ls_list_files): Write mtime in long format
27302 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
27303 (grub_ext2_mtime): new function
27304 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
27305 (grub_hfsplus_mtime): new function
27306 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
27307 (GRUB_UFS_ATTR_FILE): likewise
27308 (GRUB_UFS_ATTR_LNK): likewise
27309 (struct grub_ufs_sblock): new fields mtime
27310 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
27311 all users updated
27312 (grub_ufs_dir): mtime support
27313 (grub_ufs_mtime): new function
27314 * fs/affs.c (grub_affs_dir): use new dir syntax
27315 * fs/afs.c (grub_afs_dir): likewise
27316 * fs/cpio.c (grub_cpio_dir): likewise
27317 * fs/fat.c (grub_fat_find_dir): likewise
27318 * fs/hfs.c (grub_hfs_dir): likewise
27319 * fs/iso9660.c (grub_iso9660_dir): likewise
27320 * fs/jfs.c (grub_jfs_dir): likewise
27321 * fs/minix.c (grub_minix_dir): likewise
27322 * fs/ntfs.c (grub_ntfs_dir): likewise
27323 * fs/reiserfs.c (grub_reiserfs_dir): likewise
27324 * fs/sfs.c (grub_sfs_dir): likewise
27325 * fs/xfs.c (grub_xfs_dir): likewise
27326 * util/hostfs.c (grub_hostfs_dir): likewise
27327 * lib/datetime.c: moved to ...
27328 * normal/datetime.c: ... moved here
27329 (grub_unixtime2datetime): new function
27330 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 27331 * normal/completion.c (iterate_dir): use new dir syntax
27332 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 27333 last modification time of a volume
7dd4a573 27334 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 27335 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 27336 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 27337 (normal_mod_SOURCES): likewise
27338 (datetime_mod_SOURCES): Removed lib/datetime.c
27339 * conf/i386-efi.rmk: likewise
7dd4a573 27340 * conf/i386-ieee1275.rmk: likewise
05aaebfb 27341 * conf/i386-pc.rmk: likewise
27342 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 27343 * conf/sparc64-ieee1275.rmk: likewise
27344 * conf/x86_64-efi.rmk: likewise
05aaebfb 27345
8a7e1a14 273462009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27347
27348 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 27349
27350 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 27351 on grub_fat_find_dir
27352 (grub_fat_find_dir): use grub_fat_iterate_dir
27353 (grub_fat_label): likewise
27354
04186a9c 273552009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27356
7dd4a573 27357 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 27358 and command.h
27359 remove extraneous kernel_elf_HEADERS
27360
da4c0bb6 273612009-04-04 Bean <bean123ch@gnail.com>
27362
27363 * include/grub/util/misc.h: Add dummy function fsync for mingw.
27364
27365 * util/misc.c: Likewise.
27366
54ad9555 273672009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27368
27369 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
27370 instead of grub_printf.
27371
7a6bf9f2 273722009-04-03 Robert Millan <rmh@aybabtu.com>
27373
27374 * loader/i386/linux.c (grub_linux_setup_video): Fill
27375 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
27376 values from `mode info' structure instead of hardcoded
27377 values.
27378
3fcc2083 273792009-04-01 Pavel Roskin <proski@gnu.org>
27380
27381 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
27382 unused now.
27383 * genmk.rb: Likewise.
27384 * configure.ac: Likewise.
27385
5ec9740b 273862009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
27387
27388 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
27389 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
27390
5270cec8 273912009-04-01 David S. Miller <davem@davemloft.net>
27392
27393 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 27394 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 27395 (grub_setjmp): Mark with 'returns_twice' attribute.
27396 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
27397 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
27398 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
27399
9c3dd854 274002009-04-01 Robert Millan <rmh@aybabtu.com>
27401
27402 Reapply fix from 2008-07-28 which was accidentally reverted; also
27403 perform the same fix to a similar check in same function.
27404
27405 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
27406 with the same number are found, just use issue a warning with
27407 grub_dprintf(), as this error has been reported to be non-fatal.
27408
0d818b7e 274092009-03-31 Pavel Roskin <proski@gnu.org>
27410
27411 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
27412 for cross-compilation.
27413
95646d92 274142009-03-30 Robert Millan <rmh@aybabtu.com>
27415
27416 Fix i386-ieee1275 build.
27417
27418 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
27419 Remove declaration.
27420
6a003ed1 274212009-03-30 Pavel Roskin <proski@gnu.org>
27422
27423 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
27424 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
27425 zero-terminated, rely only on the strlen value. Fix comparison
27426 of strings differing in length.
27427
92f33540 274282009-03-30 Robert Millan <rmh@aybabtu.com>
27429
27430 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
27431 checking for abi version. Improve error messages on BIOS to notify
27432 user about `linux16' command.
27433
a8c48fd5 274342009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
27435
f968172e 27436 Leak fixes
a8c48fd5 27437
f968172e 27438 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
27439 in case of collision
27440 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 27441
9c323f09 274422009-03-29 Robert Millan <rmh@aybabtu.com>
27443
27444 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
27445 set `vid_mode' accordingly.
27446 (grub_linux_boot): Process `vid_mode' and set video mode.
27447
ae68f423 274482009-03-29 Robert Millan <rmh@aybabtu.com>
27449
27450 * util/grub.d/10_linux.in (linux_entry): New function.
27451 Factorize generation of Linux boot entries.
27452
5709cfc4 274532009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
27454
27455 Make the format of Environment Block plain text. The boot loader
27456 part is not tested well yet.
7dd4a573 27457
5709cfc4 27458 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
27459 (buffer): Removed.
27460 (envblk): Likewise.
27461 (usage): Remove "info" and "clear". Add "unset". Update the
27462 description of "set", as this does not delete variables any
27463 longer.
27464 (create_envblk_file): Complete rewrite.
27465 (open_envblk_file): Likewise.
27466 (cmd_info): Removed.
27467 (cmd_list): Likewise.
27468 (cmd_set): Likewise.
27469 (cmd_clear): Likewise.
27470 (list_variables): New function.
27471 (write_envblk): Likewise.
27472 (set_variables): Likewise.
27473 (unset_variables): Likewise.
27474 (main): Complete rewrite.
27475
27476 * commands/loadenv.c (buffer): Removed.
27477 (envblk): Likewise.
27478 (open_envblk_file): New function.
27479 (read_envblk_file): Complete rewrite.
27480 (grub_cmd_load_env): Likewise.
27481 (grub_cmd_list_env): Likewise.
27482 (struct blocklist): New struct.
27483 (free_blocklists): New function.
27484 (check_blocklists): Likewise.
27485 (write_blocklists): Likewise.
27486 (grub_cmd_save_env): Complete rewrite.
27487
27488 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
27489 a plain text signature.
27490 (GRUB_ENVBLK_MAXLEN): Removed.
27491 (struct grub_envblk): Complete rewrite.
27492 (grub_envblk_find): Removed.
27493 (grub_envblk_insert): Likewise.
27494 (grub_envblk_open): New prototype.
27495 (grub_envblk_set): Likewise.
27496 (grub_envblk_delete): Put const to VALUE.
27497 (grub_envblk_iterate): Put const to NAME and VALUE.
27498 (grub_envblk_close): New prototype.
27499 (grub_envblk_buffer): New inline function.
27500 (grub_envblk_size): Likewise.
27501
27502 * lib/envblk.c: Include grub/mm.h.
27503 (grub_env_find): Removed.
27504 (grub_envblk_open): New function.
27505 (grub_envblk_close): Likewise.
27506 (escaped_value_len): Likewise.
27507 (find_next_line): Likewise.
27508 (grub_envblk_insert): Removed.
27509 (grub_envblk_set): New function.
27510 (grub_envblk_delete): Complete rewrite.
27511 (grub_envblk_iterate): Likewise.
27512
a9368fd3 275132009-03-28 Robert Millan <rmh@aybabtu.com>
27514
27515 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
27516 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
27517 variables. Use 16-bit loader.
27518 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
27519 loader.
27520 * kern/i386/loader.S (grub_linux_boot): Rename to ...
27521 (grub_linux16_boot): ... this. Update all users.
27522 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
27523 (grub_linux_boot): ... this. Update all users.
27524
27525 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
27526 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
27527 commands to `linux16' and `initrd16'.
27528 (GRUB_MOD_FINI(linux)): Rename to ...
27529 (GRUB_MOD_FINI(linux16)): ... this.
27530
e4dd5a7e 275312009-03-24 Pavel Roskin <proski@gnu.org>
27532
27533 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
27534 not just for compilation.
27535
c04d6e05 275362009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
27537
27538 Move multiboot helper out of kernel
27539
27540 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
27541 `loader/i386/multiboot_helper.S'.
27542 * conf/i386-coreboot.rmk: Likewise
27543 * conf/i386-ieee1275.rmk: Likewise
27544
27545 * kern/i386/loader.S: Move multiboot helpers from here...
27546 * loader/i386/multiboot_helper.S: ...moved here
27547 * include/grub/i386/loader.h: Move declarations of multiboot
27548 helpers from here...
27549 * include/grub/i386/multiboot.h: ...moved here
27550 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
27551
42a5b3fc 275522009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27553
27554 * kern/env.c (grub_env_context_open): Added an argument to specify
27555 whether a new context inherits exported variables from current
27556 one. This is useful when making a sandbox to interpret a config
27557 file.
27558 All callers updated.
27559
27560 * include/grub/env.h (grub_env_context_open): Updated the prototype.
27561
b28bbc4e 275622009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27563
27564 * kern/env.c (grub_env_context_close): Fix memory leaks.
27565
f04f02e4 275662009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27567
27568 * normal/main.c (grub_normal_execute): Added an argument
27569 BATCH to specify if an interactive interface should be provided
27570 after reading a config file.
27571 All callers updated.
27572 (read_command_list): Prevent being executed twice.
27573 (read_fs_list): Likewise.
27574
42a5b3fc 27575 * include/grub/normal.h (grub_normal_execute): Updated the
27576 prototype.
f04f02e4 27577
41473ac2 275782009-03-22 Pavel Roskin <proski@gno.org>
27579
fbc00b0c 27580 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
27581 _start.
27582 * kern/i386/pc/startup.S: Likewise.
27583 * kern/i386/efi/startup.S: Likewise.
27584 * kern/i386/ieee1275/startup.S: Likewise.
27585 * kern/i386/coreboot/startup.S: Likewise.
27586 * kern/x86_64/efi/startup.S: Likewise.
27587
41473ac2 27588 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
27589 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
27590 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
27591
2274cc8f 275922009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
27593
27594 Bugfixes in multiboot for bugs uncovered by solaris kernel.
27595
27596 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
27597 limit detection.
27598 Use vaddr of correct segment for entry_point.
27599
b1b797cb 276002009-03-21 Bean <bean123ch@gmail.com>
27601
27602 * commands/blocklist.c: Add include file <grub/command.h>, remove
27603 <grub/normal.h> and <grub/arg.h>.
27604 (grub_cmd_blocklist): Use the new command interface.
27605 (GRUB_MOD_INIT): Likewise.
27606 (GRUB_MOD_FINI): Likewise.
27607 * commands/boot.c: Likewise.
27608 * commands/cat.c: Likewise.
27609 * commands/cmp.c: Likewise.
27610 * commands/configfile.c: Likewise.
27611 * commands/crc.c: Likewise.
27612 * commands/echo.c: Likewise.
27613 * commands/halt.c: Likewise.
27614 * commands/handler.c: Likewise.
27615 * commands/hdparm.c: Likewise.
27616 * commands/help.c: Likewise.
27617 * commands/hexdump.c: Likewise.
27618 * commands/loadenv.c: Likewise.
27619 * commands/ls.c: Likewise.
27620 * commands/lsmmap.c: Likewise.
27621 * commands/lspci.c: Likewise.
27622 * commands/loadenv.c: Likewise.
27623 * commands/read.c: Likewise.
27624 * commands/reboot.c: Likewise.
27625 * commands/search.c: Likewise.
27626 * commands/sleep.c: Likewise.
27627 * commands/test.c: Likewise.
27628 * commands/usbtest.c: Likewise.
27629 * commands/videotest.c: Likewise.
27630 * commands/i386/cpuid.c: Likewise.
27631 * commands/i386/pc/halt.c: Likewise.
27632 * commands/i386/pc/play.c: Likewise.
27633 * commands/i386/pc/pxecmd.c: Likewise.
27634 * commands/i386/pc/vbeinfo.c: Likewise.
27635 * commands/i386/pc/vbetest.c: Likewise.
27636 * commands/ieee1275/suspend.c: Likewise.
27637 * disk/loopback.c: Likewise.
27638 * font/font_cmd.c: Likewise.
27639 * hello/hello.c: Likewise.
27640 * loader/efi/appleloader.c: Likewise.
27641 * loader/efi/chainloader.c: Likewise.
27642 * loader/i386/bsd.c: Likewise.
27643 * loader/i386/efi/linux.c: Likewise.
27644 * loader/i386/ieee1275/linux.c: Likewise.
27645 * loader/i386/linux.c: Likewise.
27646 * loader/i386/pc/chainloader.c: Likewise.
27647 * loader/i386/pc/linux.c: Likewise.
27648 * loader/powerpc/ieee1275/linux.c: Likewise.
27649 * loader/multiboot_loader.c: Likewise.
27650 * term/gfxterm.c: Likewise.
27651 * term/i386/pc/serial.c: Likewise.
27652 * term/terminfo.c: Likewise.
27653
27654 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
27655 * term/i386/pc/vga.c: Likewise.
27656 * video/readers/jpeg.c: Likewise.
27657 * video/readers/png.c: Likewise.
27658 * video/readers/tga.c: Likewise.
27659
27660 * util/grub-fstest (cmd_loopback): Removed.
27661 (cmd_blocklist): Likewise.
27662 (cmd_ls): Likewise.
27663 (grub_register_command): Likewise.
27664 (grub_unregister_command): Likewise.
27665 (execute_command): Use grub_command_find to locate command and execute
27666 it.
27667
27668 * include/grub/efi/chainloader.h: Removed.
27669 * loader/efi/chainloader_normal.c: Likewise.
27670 * loader/i386/bsd_normal.c: Likewise.
27671 * loader/i386/pc/chainloader_normal.c: Likewise.
27672 * loader/i386/pc/multiboot_normal.c: Likewise.
27673 * loader/linux_normal.c: Likewise.
27674 * loader/multiboot_loader_normal.c: Likewise.
27675 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27676
27677 * gencmdlist.sh: Scan new registration command grub_register_extcmd
27678 and grub_register_command_p1.
27679
27680 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
27681 kern/command.c, lib/arg.c and commands/extcmd.c.
27682 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
27683 (minicmd_mod_SOURCES): New variable.
27684 (minicmd_mod_CFLAGS): Likewise.
27685 (minicmd_mod_LDFLAGS): Likewise.
27686 (extcmd_mod_SOURCES): Likewise.
27687 (extcmd_mod_CFLAGS): Likewise.
27688 (extcmd_mod_LDFLAGS): Likewise.
27689 (boot_mod_SOURCES): Removed.
27690 (boot_mod_CFLAGS): Likewise.
27691 (boot_mod_LDFLAGS): Likewise.
27692
27693 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
27694 kern/corecmd.c.
27695 (kernel_img_HEADERS): Add command.h.
27696 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
27697 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
27698 and lib/arg.c.
27699 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
27700 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
27701 remove the corresponding normal mode command.
27702 (normal_mod_SOURCES): Remove normal/arg.c.
27703 * conf/i386-coreboot.rmk: Likewise.
27704 * conf/i386-efi.rmk: Likewise.
27705 * conf/i386-ieee1275.rmk: Likewise.
27706 * conf/powerpc-ieee1275.rmk: Likewise.
27707 * conf/x86_64-efi.rmk: Likewise.
27708
27709 * include/grub/arg.h: Move from here ...
27710 * include/grub/lib/arg.h: ... to here.
27711
27712 * normal/arg.c: Move from here ...
27713 * lib/arg.c: ... to here.
27714
27715 * commands/extcmd.c: New file.
27716 * commands/minicmd.c: Likewise.
27717 * include/grub/command.h: Likewise.
27718 * include/grub/extcmd.h: Likewise.
27719 * kern/command.c: Likewise.
27720 * kern/corecmd.c: Likewise.
27721
27722 * kern/list.c (grub_list_iterate): Return int instead of void.
27723 (grub_list_insert): New function.
27724 (grub_prio_list_insert): Likewise.
27725
27726 * kern/rescue.c (grub_rescue_command): Removed.
27727 (grub_rescue_command_list): Likewise.
27728 (grub_rescue_register_command): Likewise.
27729 (grub_rescue_unregister_command): Likewise.
27730 (grub_rescue_cmd_boot): Move to minicmd.c
27731 (grub_rescue_cmd_help): Likewise.
27732 (grub_rescue_cmd_info): Likewise.
27733 (grub_rescue_cmd_boot): Likewise.
27734 (grub_rescue_cmd_testload): Likewise.
27735 (grub_rescue_cmd_dump): Likewise.
27736 (grub_rescue_cmd_rmmod): Likewise.
27737 (grub_rescue_cmd_lsmod): Likewise.
27738 (grub_rescue_cmd_exit): Likewise.
27739 (grub_rescue_print_devices): Moved to corecmd.c.
27740 (grub_rescue_print_files): Likewise.
27741 (grub_rescue_cmd_ls): Likewise.
27742 (grub_rescue_cmd_insmod): Likewise.
27743 (grub_rescue_cmd_set): Likewise.
27744 (grub_rescue_cmd_unset): Likewise.
7d074e3c 27745 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 27746 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 27747 commands, remove grub_rescue_register_command calls.
b1b797cb 27748
7d074e3c 27749 * normal/command.c (grub_register_command): Removed.
b1b797cb 27750 (grub_unregister_command): Likewise.
27751 (grub_command_find): Likewise.
27752 (grub_iterate_commands): Likewise.
27753 (rescue_command): Likewise.
27754 (export_command): Moved to corecmd.c.
27755 (set_command): Removed.
27756 (unset_command): Likewise.
27757 (insmod_command): Likewise.
27758 (rmmod_command): Likewise.
27759 (lsmod_command): Likewise.
27760 (grub_command_init): Likewise.
27761
27762 * normal/completion.c (iterate_command): Use cmd->prio to check for
27763 active command.
27764 (complete_arguments): Use grub_extcmd_t structure to find options.
27765 (grub_normal_do_completion): Change function grub_iterate_commands to
27766 grub_command_iterate.
27767
27768 * normal/execute.c (grub_script_execute_cmd): No need to parse
27769 argument here.
27770
27771 * normal/main.c (grub_dyncmd_dispatcher): New function.
27772 (read_command_list): Register unload commands as dyncmd.
27773 (grub_cmd_normal): Use new command interface, register rescue,
27774 unregister normal at entry, register normal, unregister rescue at exit.
27775
27776 * include/grub/list.h (grub_list_test_t): New type.
27777 (grub_list_iterate): Return int instead of void.
27778 (grub_list_insert): New function.
27779 (GRUB_AS_NAMED_LIST_P): New macro.
27780 (GRUB_AS_PRIO_LIST): Likewise.
27781 (GRUB_AS_PRIO_LIST_P): Likewise.
27782 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
27783 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
27784 (grub_prio_list): New structure.
27785 (grub_prio_list_insert): New function.
27786 (grub_prio_list_remove): New inline function.
27787
27788 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
27789 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
27790 (GRUB_COMMAND_FLAG_MENU): Likewise.
27791 (GRUB_COMMAND_FLAG_BOTH): Likewise.
27792 (GRUB_COMMAND_FLAG_TITLE): Likewise.
27793 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
27794 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
27795 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
27796 (grub_command): Likewise.
27797 (grub_register_command): Likewise.
27798 (grub_command_find): Likewise.
27799 (grub_iterate_commands): Likewise.
27800 (grub_command_init): Likewise.
27801 (grub_arg_parse): Likewise.
27802 (grub_arg_show_help): Likewise.
27803
27804 * include/grub/rescue.h (grub_rescue_register_command): Removed.
27805 (grub_rescue_unregister_command): Likewise.
27806
27807 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
27808 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
27809 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
27810
27811 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
27812 grub_rescue_cmd_initrd.
27813 * include/grub/i386/loader.h: Likewise.
27814 * include/grub/x86_64/loader.h: Likewise.
27815
27816 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
27817
1f4147aa 278182009-03-21 Bean <bean123ch@gmail.com>
27819
27820 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
27821 instead of stat in mingw environment.
27822
27823 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
27824
27825 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
27826
27827 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
27828 AC_CONFIG_LINKS.
27829
2156d5ba 278302009-03-21 Bean <bean123ch@gmail.com>
27831
27832 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
27833 out of range error.
27834
177b82ca 278352009-03-18 Michel Dänzer <michel@daenzer.net>
27836
27837 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
27838 checking inode flags for EXT4_EXTENTS_FLAG.
27839
14aad807 278402009-03-18 Robert Millan <rmh@aybabtu.com>
27841
27842 * loader/i386/linux.c: Include `<grub/video.h>' and
27843 `<grub/i386/pc/vbe.h>'..
27844 (grub_linux_setup_video): New function. Loosely based on the EFI one.
27845 (grub_linux32_boot): Attempt to configure video settings with
27846 grub_linux_setup_video().
27847 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
27848 to avoid grub_console_fini() which would step out of graphical mode
27849 unconditionally.
27850
8cf83a27 278512009-03-14 Robert Millan <rmh@aybabtu.com>
27852
27853 Fix build on powerpc.
27854 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
27855
40164e75 278562009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
27857
27858 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
27859 background image command.
27860
c58bc32a 278612009-03-12 Colin D Bennett <colin@gibibit.com>
27862
27863 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
27864 (grub_gfxterm_putchar): Extract pairs of identical calls to
27865 draw_cursor out of conditional blocks.
27866
5415144a 278672009-03-11 Pavel Roskin <proski@gnu.org>
27868
27869 * fs/hfs.c (grub_hfs_strncasecmp): New function.
27870 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
27871
6394042e 278722009-03-11 Robert Millan <rmh@aybabtu.com>
27873
27874 * loader/i386/multiboot_elfxx.c
27875 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
27876
b7b50e5f 278772009-03-11 Felix Zielcke <fzielcke@z-51.de>
27878
27879 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
27880 `kern/handler.c'.
27881
1ca7fc96 278822009-03-11 Robert Millan <rmh@aybabtu.com>
27883
27884 * loader/i386/multiboot.c (code_size): New variable.
27885 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 27886 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 27887 4-byte alignment to MBI and others by increasing
7d074e3c 27888 `boot_loader_name_length' appropriately.
1ca7fc96 27889
27890 * loader/i386/multiboot_elfxx.c
27891 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
27892
a83ea1d2 278932009-03-09 Felix Zielcke <fzielcke@z-51.de>
27894
27895 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
27896 `fs/ext2.c'.
27897
aa9f3bff 278982009-03-08 Robert Millan <rmh@aybabtu.com>
27899
27900 Make loader/i386/linux.c usable on i386-pc again.
27901
27902 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
27903 memory to heap.
27904 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
27905 `#error' stanza.
27906
d8b3b60e 279072009-03-07 Bean <bean123ch@gmail.com>
27908
27909 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
27910 allocation.
27911
b362c9e9 279122009-03-06 Robert Millan <rmh@aybabtu.com>
27913
27914 Fix display issue on terminals with screen size other than 80x25
27915 (e.g. gfxterm with resolution higher than 640x480).
27916
27917 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 27918 position relative to the center of the terminal instead of relying
b362c9e9 27919 on a hardcoded offset.
27920
9304eef1 279212009-03-04 Robert Millan <rmh@aybabtu.com>
27922
27923 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
27924 installed.
27925
27926 * Makefile.in (host_kernel): New variable.
27927 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
27928 scripts instead of just the windows one.
27929 * configure.ac: Initialize and AC_SUBST `host_kernel'.
27930
eabc95fb 279312009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 27932
27933 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
27934 `kern/handler.c'.
27935 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27936 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27937 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27938 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27939 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27940 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27941
ceb1223c 279422009-03-04 Felix Zielcke <fzielcke@z-51.de>
27943
27944 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
27945 or if there's no space for the disk label and print the partition number on a
27946 invalid magic.
27947
4910684a 279482009-03-04 Felix Zielcke <fzielcke@z-51.de>
27949
27950 * util/misc.c: Include <time.h>.
27951 (grub_millisleep): New function.
27952
7e9ca17a 279532009-03-04 Bean <bean123ch@gmail.com>
27954
27955 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
27956 another option -mno-red-zone.
27957
27958 * commands/handler.c: Change module description.
27959
27960 * kern/handler.c: Add missing space at the end of description line.
27961
27962 * kern/list.c: Likewise.
27963
f501677c 279642009-03-03 Robert Millan <rmh@aybabtu.com>
27965
27966 Move more components to the relocation area, and fix mbi pointer
27967 handling to use the destination rather than the origin (thanks to
27968 Vladimir Serbinenko for spotting).
27969
27970 * loader/i386/multiboot.c (mbi_dest): New variable.
27971 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
27972 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
27973 relocation area.
27974
9902d047 279752009-03-01 Bean <bean123ch@gmail.com>
27976
50fb7002 27977 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 27978 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
27979 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
27980 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
27981
27982 * loader/i386/efi/linux.c (acpi_guid): New variable.
27983 (acpi_guid): Likewise.
27984 (EBDA_SEG_ADDR): New constant.
27985 (LOW_MEM_ADDR): Likewise.
27986 (FAKE_EBDA_SEG): Likewise.
27987 (fake_bios_data): New function.
27988 (grub_linux_boot): Call fake_bios_data.
27989
71b9f361 279902009-03-01 Bean <bean123ch@gmail.com>
27991
27992 * commands/terminal.c: Removed.
27993
27994 * commands/handler.c: New file.
27995
27996 * include/grub/list.h: Likewise.
27997
27998 * include/grub/handler.h: Likewise.
27999
28000 * kern/list.c: Likewise.
28001
28002 * kern/handler.c: Likewise.
28003
28004 * kern/term.h: Include header file <grub/handler.h>.
28005 (grub_term_input): Move next field to the beginning.
28006 (grub_term_output): Likewise.
28007 (grub_term_input_class): New variable.
28008 (grub_term_output_class): Likewise.
28009 (grub_term_register_input): Changed to inline function.
28010 (grub_term_register_output): Likewise.
28011 (grub_term_unregister_input): Likewise.
28012 (grub_term_unregister_output): Likewise.
28013 (grub_term_set_current_input): Likewise.
28014 (grub_term_set_current_output): Likewise.
28015 (grub_term_get_current_input): Likewise.
28016 (grub_term_get_current_output): Likewise.
28017 (grub_term_iterate_input): Removed.
28018 (grub_term_iterate_output): Likewise.
28019
28020 * kern/term.c (grub_term_list_input): Removed.
28021 (grub_term_list_output): Likewise.
28022 (grub_term_input_class): New variable.
28023 (grub_term_output_class): Likewise.
50fb7002 28024 (grub_cur_term_input): Change variable as macro.
71b9f361 28025 (grub_cur_term_output): Likewise.
28026 (grub_term_register_input): Removed.
28027 (grub_term_register_output): Likewise.
28028 (grub_term_unregister_input): Likewise.
28029 (grub_term_unregister_output): Likewise.
28030 (grub_term_set_current_input): Likewise.
28031 (grub_term_set_current_output): Likewise.
28032 (grub_term_iterate_input): Likewise.
28033 (grub_term_iterate_output): Likewise.
28034 (grub_term_get_current_input): Likewise.
28035 (grub_term_get_current_output): Likewise.
28036
28037 * util/grub-editenv.c: Include header file <grub/handler.h>.
28038 (grub_term_get_current_input): Removed.
28039 (grub_term_get_current_output): Likewise.
28040 (grub_term_input_class): New variable.
50fb7002 28041 (grub_term_output_class): Likewise.
71b9f361 28042
28043 * util/grub-fstest.c (grub_term_get_current_input): Removed.
28044 (grub_term_get_current_output): Likewise.
28045 (grub_term_input_class): New variable.
50fb7002 28046 (grub_term_output_class): Likewise.
71b9f361 28047
28048 * util/grub-probe.c (grub_term_get_current_input): Removed.
28049 (grub_term_get_current_output): Likewise.
28050 (grub_term_input_class): New variable.
50fb7002 28051 (grub_term_output_class): Likewise.
71b9f361 28052
28053 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
28054 (grub_term_get_current_output): Likewise.
28055 (grub_term_input_class): New variable.
50fb7002 28056 (grub_term_output_class): Likewise.
71b9f361 28057
28058 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
28059 (terminal_mod_SOURCES): Likewise.
28060 (terminal_mod_CFLAGS): Likewise.
28061 (terminal_mod_LDFLAGS): Likewise.
28062
28063 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
28064 handler.c.
28065 (kernel_img_SOURCES): Add list.c and handler.c.
28066 (kernel_img_HEADERS): Add list.h and handler.h.
28067
28068 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
28069 handler.c.
28070 (kernel_mod_SOURCES): Add list.c and handler.c.
28071 (kernel_mod_HEADERS): Add list.h and handler.h.
28072
28073 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
28074 handler.c.
28075 (kernel_elf_SOURCES): Add list.c and handler.c.
28076 (kernel_elf_HEADERS): Add list.h and handler.h.
28077
28078 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
28079 handler.c.
28080 (kernel_elf_SOURCES): Add list.c and handler.c.
28081 (kernel_elf_HEADERS): Add list.h and handler.h.
28082
28083 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
28084 handler.c.
28085 (kernel_mod_SOURCES): Add list.c and handler.c.
28086 (kernel_mod_HEADERS): Add list.h and handler.h.
28087
28088 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
28089 handler.c.
28090 (kernel_elf_SOURCES): Add list.c and handler.c.
28091 (kernel_elf_HEADERS): Add list.h and handler.h.
28092
8a31787f 280932009-02-27 Robert Millan <rmh@aybabtu.com>
28094
28095 Factorize elf32 / elf64 code in Multiboot loader. This will
28096 prevent it from getting out of sync again.
28097
28098 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
28099 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
28100 grub_multiboot_load_elf64): Move from here ...
28101 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
28102 grub_multiboot_load_elf): ... to here (new file).
28103
51cd3dfc 281042009-02-27 Robert Millan <rmh@aybabtu.com>
28105
28106 * util/grub.d/10_linux.in: Rename "single-user mode" to
28107 "recovery mode".
28108
6e8c9c3a 281092009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
28110
28111 Don't leak in SCSI code.
28112 * disk/scsi.c (grub_scsi_close): free `scsi'.
28113
4b6bf4f9 281142009-02-27 Robert Millan <rmh@aybabtu.com>
28115
28116 * loader/i386/pc/multiboot.c: Move from here ...
28117 * loader/i386/multiboot.c: ... to here. Update all users.
28118
b9413424 281192009-02-27 Robert Millan <rmh@aybabtu.com>
28120
28121 Patch from Alexandre Bique <bique.alexandre@gmail.com>
28122 * util/i386/pc/grub-setup.c (setup): Fix directory path.
28123
50fb7002 281242009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 28125
28126 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
28127 b-tree.
28128
8cc50345 281292009-02-27 Robert Millan <rmh@aybabtu.com>
28130
28131 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
28132 `0x' qualifier as 0 when base is specified as parameter).
28133
6e09b8b7 281342009-02-24 Bean <bean123ch@gmail.com>
28135
28136 * configure.ac: Check for -mcmodel=large in x86_64 target.
28137
28138 * include/grub/efi/api.h (efi_call_10): New macro.
28139 (efi_wrap_10): New function.
28140
28141 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
28142 (GRUB_PE32_REL_BASED_HIGH): Likewise.
28143 (GRUB_PE32_REL_BASED_LOW): Likewise.
28144 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
28145 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
28146 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
28147 (GRUB_PE32_REL_BASED_SECTION): Likewise.
28148 (GRUB_PE32_REL_BASED_REL): Likewise.
28149 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
28150 (GRUB_PE32_REL_BASED_DIR64): Likewise.
28151 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
28152
28153 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
28154 issue.
28155
28156 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
28157 (efi_wrap_10): New function.
28158
28159 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
28160
28161 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
28162 MB/MBP model (NV chipset).
28163 (devdata_devs): Add devpath_5 to the list.
28164
28165 * load/i386/efi/linux.c (video_base): Remove variable.
28166 (RGB_MASK): New macro.
28167 (RGB_MAGIC): Likewise.
28168 (LINE_MIN): Likewise.
28169 (LINE_MAX): Likewise.
28170 (FBTEST_STEP): Likewise.
28171 (FBTEST_COUNT): Likewise.
28172 (fb_list): New variable.
28173 (grub_find_video_card): Remove function.
28174 (find_framebuf): New function.
28175 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
28176 line length.
28177
28178 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
28179 problem for x86_64.
28180
74b21bee 281812009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
28182
28183 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
28184
28185 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
28186 coding tool name.
28187
a455f472 281882009-02-22 Robert Millan <rmh@aybabtu.com>
28189
28190 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
28191 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
28192 in our relocation, instead of using it directly from heap. Also
28193 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
28194
6374daf3 281952009-02-21 Robert Millan <rmh@aybabtu.com>
28196
28197 Implement USB keyboard support (based on patch by Marco Gerards)
28198
28199 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
28200 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
28201 (usb_keyboard_mod_LDFLAGS): New variables.
28202
28203 * term/usb_keyboard.c: New file.
28204
8fa4ea70 282052009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28206
28207 Corrected wrong declaration
28208
28209 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
28210
353976ac 282112009-02-14 Christian Franke <franke@computer.org>
28212
28213 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
28214 (grub_lspci_iter): Print class code and programming interface byte.
28215
6aa1169b 282162009-02-14 Christian Franke <franke@computer.org>
28217
28218 * gendistlist.sh: Ignore `.svn' directories.
28219
265372ca 282202009-02-14 Felix Zielcke <fzielcke@z-51.de>
28221
28222 * fs/fat.c: Add 2009 to Copyright line.
28223
9ff516f3 282242009-02-14 Christian Franke <franke@computer.org>
28225
28226 * commands/hdparm.c: New file. Provides `hdparm' command
28227 which sends ATA commands via grub_disk_ata_pass_through ().
28228
28229 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
28230
28231 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
28232 and <grub/cpu/io.h> to include/grub/ata.h.
28233 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
28234 (GRUB_CDROM_SECTOR_SIZE): Remove.
28235 (GRUB_ATA_*): Move to include/grub/ata.h.
28236 (GRUB_ATAPI_*): Likewise.
28237 (enum grub_ata_commands): Likewise.
28238 (enum grub_ata_timeout_milliseconds): Likewise.
28239 (struct grub_ata_device): Likewise.
28240 (grub_ata_regset): Likewise.
28241 (grub_ata_regget): Likewise.
28242 (grub_ata_regset2): Likewise.
28243 (grub_ata_regget2): Likewise.
28244 (grub_ata_check_ready): Likewise.
28245 (grub_ata_wait_not_busy): Remove static, exported in
28246 include/grub/ata.h.
28247 (grub_ata_wait_drq): Likewise.
28248 (grub_ata_pio_read): Likewise.
28249
28250 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
28251 function for hdparm.mod.
28252
28253 * include/grub/ata.h: New file, contains declarations from
28254 disk/ata.c.
28255 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
28256
28257 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
28258 (grub_disk_ata_pass_through): New exported variable.
28259
28260 * kern/disk.c (grub_disk_ata_pass_through): New variable.
28261
772e23da 282622009-02-13 Colin D Bennett <colin@gibibit.com>
28263
28264 Support multiple fallback entries, and provide an API to support
28265 executing default+fallback menu entries. Renamed the `terminal' menu
28266 viewer to `text'.
28267
28268 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
28269 variable declaration.
28270 (grub_menu_execute_callback): New structure declaration.
28271 (grub_menu_execute_callback_t): New typedef.
28272 (grub_menu_execute_with_fallback): New function declaration.
28273 (grub_menu_get_entry): Likewise.
28274 (grub_menu_get_timeout): Likewise.
28275 (grub_menu_set_timeout): Likewise.
28276
28277 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
28278
28279 * normal/menu.c (grub_wait_after_message): Moved to
28280 `normal/menu_text.c'.
28281 (draw_border): Likewise.
28282 (print_message): Likewise.
28283 (print_entry): Likewise.
28284 (print_entries): Likewise.
28285 (grub_menu_init_page): Likewise.
28286 (get_entry_number): Likewise.
28287 (print_timeout): Likewise.
28288 (run_menu): Likewise.
28289 (grub_menu_execute_entry): Likewise.
28290 (show_text_menu): Likewise.
28291 (get_and_remove_first_entry_number): New function.
28292 (grub_menu_execute_with_fallback): Likewise.
28293 (get_entry): Renamed to ...
28294 (grub_menu_get_entry): .. this and made it global.
28295 (get_timeout): Renamed to ...
28296 (grub_menu_get_timeout): ... this and made it global.
28297 (set_timeout): Renamed to ...
28298 (grub_menu_set_timeout): ... this and made it global.
28299 (grub_normal_terminal_menu_viewer): Renamed to ...
28300 (grub_normal_text_menu_viewer): ... this.
28301
28302 * normal/menu_text.c: New file. Extracted text-menu-specific code
28303 from normal/menu.c.
28304
28305 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
28306 (normal_mod_SOURCES): Likewise.
28307
28308 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28309 (normal_mod_SOURCES): Likewise.
28310
28311 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28312 (normal_mod_SOURCES): Likewise.
28313
28314 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
28315 (normal_mod_SOURCES): Likewise.
28316
28317 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28318 (normal_mod_SOURCES): Likewise.
28319
28320 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28321 (normal_mod_SOURCES): Likewise.
28322
28323 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28324 (normal_mod_SOURCES): Likewise.
28325
16ac430e 283262009-02-11 Robert Millan <rmh@aybabtu.com>
28327
28328 * util/grub.d/00_header.in: Update old reference to `font' command.
28329
06ff20fc 283302009-02-10 Felix Zielcke <fzielcke@z-51.de>
28331
28332 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
28333
28334 Based on patch from Javier Martín.
28335
96da9407 283362009-02-09 Felix Zielcke <fzielcke@z-51.de>
28337
28338 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 28339 to avoid false positives with FAT.
96da9407 28340 (grub_fstest_SOURCES): Likewise.
28341 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28342 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28343 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28344 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28345 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28346 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28347
6dca6fe4 283482009-02-09 Felix Zielcke <fzielcke@z-51.de>
28349
06ff20fc 28350 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 28351 bpb.version_specific.fat12_or_fat16.fstype and
28352 bpb.version_specific.fat32.fstype.
28353
2550c62f 283542009-02-08 Robert Millan <rmh@aybabtu.com>
28355
be110b30 28356 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 28357
56978920 283582009-02-08 Robert Millan <rmh@aybabtu.com>
28359
28360 * Makefile.in (host_os, host_cpu): New variables.
28361 (target_os): Remove. Update all users.
28362
d64399b5 283632009-02-08 Marco Gerards <marco@gnu.org>
28364
28365 * Makefile.in (enable_grub_emu_usb): New variable.
28366 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
28367 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
28368 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
28369 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
28370 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
28371 `usbtest.mod' and `usbms.mod'.
28372 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
28373 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
28374 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
28375 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
28376 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
28377 variables.
28378
28379 * disk/usbms.c: New file.
28380
28381 * include/grub/usb.h: Likewise.
28382
28383 * include/grub/usbtrans.h: Likewise.
28384
28385 * include/grub/usbdesc.h: Likewise.
28386
28387 * bus/usb/usbtrans.c: Likewise.
28388
28389 * bus/usb/ohci.c: Likewise.
28390
28391 * bus/usb/uhci.c: Likewise.
28392
28393 * bus/usb/usbhub.c: Likewise.
28394
28395 * bus/usb/usb.c: Likewise.
28396
28397 * commands/usbtest.c: Likewise.
28398
28399 * util/usb.c: Likewise.
50fb7002 28400
d64399b5 28401 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
28402
28403 * configure.ac: Test for libusb presence.
50fb7002 28404
d64399b5 28405 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
28406
2b40d6bb 284072009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
28408
28409 * kern/mm.c: Add more comments.
28410
73a4ce81 284112009-02-08 Robert Millan <rmh@aybabtu.com>
28412
28413 Patch from Javier Martín.
28414 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
28415 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
28416
f821ce59 284172009-02-08 Robert Millan <rmh@aybabtu.com>
28418
28419 * fs/cpio.c: Split tar functionality to ...
28420 * fs/tar.c: ... here (new file). Update all users.
28421
aebfc4b0 284222009-02-07 Robert Millan <rmh@aybabtu.com>
28423
28424 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
28425 backward-incompatible features.
28426
28427 Based on patch from Javier Martín, with some adjustments.
28428
50fb7002 284292009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 28430
28431 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
28432
0bb5115e 284332009-02-07 Robert Millan <rmh@aybabtu.com>
28434
28435 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
28436 position of `disk/lvm.c' to ensure grub_init_all() always picks it
28437 after the RAID stuff.
28438
38a0f8e7 284392009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
28440
50fb7002 28441 Fixes problem when running vbetest command as reported by
38a0f8e7 28442 Vladimir Serbinenko <phcoder@gmail.com>.
28443
28444 * (grub_vbe_set_video_mode): Fixed problem with text modes.
28445
3143cc1c 284462009-02-04 Felix Zielcke <fzielcke@z-51.de>
28447
28448 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
28449 /dev/md/NpN style mdraid devices.
28450
9cba6fce 284512009-02-03 Felix Zielcke <fzielcke@z-51.de>
28452
28453 * util/unifont2pff.rb: Remove.
28454
e507a2c1 284552009-02-03 Felix Zielcke <fzielcke@z-51.de>
28456
28457 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
28458 `#'.
28459
d2c2b4cd 284602009-02-03 Felix Zielcke <fzielcke@z-51.de>
28461
28462 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
28463 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28464 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28465 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28466 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28467 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28468 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28469
b4315fb0 284702009-02-02 Christian Franke <franke@computer.org>
28471
28472 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
28473
de3aa260 284742009-02-01 Felix Zielcke <fzielcke@z-51.de>
28475
7c3ff286 28476 * INSTALL: Note that we now require at least autoconf 2.59 and
28477 that LZO is optional.
de3aa260 28478
825a182b 284792009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
28480
28481 Base on patch on bug #24154 created by Tomas Tintera
28482 <trosos@seznam.cz>.
28483
28484 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
28485
a69ef770 284862009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
28487
7c3ff286 28488 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 28489 <bero@arklinux.org>.
28490
28491 * normal/parser.y (script_init): Add missing semicolon.
28492
6fa42fa6 284932009-01-31 Colin D Bennett <colin@gibibit.com>
28494
7c3ff286 28495 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 28496 (free_menu_entry_classes): Added.
28497 (grub_normal_menu_addentry): Added class property handling.
28498 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
28499 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
28500
28501 * normal/menu_viewer.c: New file.
28502
28503 * normal/menu.c (run_menu_entry): Renamed to ...
28504 (grub_menu_execute_entry): ... this and made it as global.
28505 (grub_menu_run): Renamed to ...
28506 (show_text_menu): ... this and made it local.
28507 (show_text_menu): Adapt to new function names.
28508 (grub_normal_terminal_menu_viewer): New global variable.
28509
28510 * include/grub/menu.h: New file.
28511
28512 * include/grub/menu_viewer.h: New file.
28513
28514 * include/grub/normal.h: Added include to grub/menu.h.
28515 (grub_menu_entry): Moved to include/grub/menu.h.
28516 (grub_menu_entry_t): Likewise.
28517 (grub_menu): Likewise.
28518 (grub_menu_t): Likewise.
28519 (grub_normal_terminal_menu_viewer): Added.
28520 (grub_menu_execute_entry): Likewise.
28521 (grub_menu_run): Removed.
28522
28523 * DISTLIST: Added include/grub/menu.h.
28524 Added include/grub/menu_viewer.h.
28525 Added normal/menu_viewer.c.
28526
285272009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
28528
28529 * normal/execute.c (grub_script_execute_menuentry): Changed to use
28530 arglist for menutitle arguments.
28531
28532 * normal/main.c (grub_normal_menu_addentry): Likewise.
28533
28534 * normal/parser.y (menuentry): Likewise.
28535
28536 * normal/script.c (grub_script_create_cmdmenu): Likewise.
28537
28538 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
28539 (grub_script_create_cmdmenu): Likewise.
28540
28541 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
28542
28543 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
28544 changes.
28545
28546 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
28547
28548 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
28549
28550 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
28551
28552 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28553
28554 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28555
28556 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28557
56192c23 285582009-01-30 Christian Franke <franke@computer.org>
28559
28560 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
28561 in option help text.
28562
d72521b3 285632009-01-27 Pavel Roskin <proski@gnu.org>
28564
28565 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
28566
994b5e84 285672009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
28568
28569 * commands/lsmmap.c: Add include to grub/machine/memory.h.
28570
28571 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
28572
28573 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
28574 unregister function.
28575
6a7eab2c 285762009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
28577
28578 * disk/scsi.c (grub_scsi_read): Fix sign problem.
28579
28580 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
28581
28582 * util/grub-mkfont.c (usage): Fix typo.
28583
28584 * util/elf/grub-mkimage.c (load_modules): Fix warning.
28585
1806b56e 285862009-01-26 Daniel Mierswa <impulze@impulze.org>
28587
3fb18f09 28588 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
28589
336e1fb9 28590 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
28591
1806b56e 28592 * kern/misc.c (grub_strcasecmp): New function.
28593 (grub_strcasecmp): Use grub_size_t instead of int for length.
28594 Fix return value.
28595 * include/grub/misc.h: Update function prototypes.
28596
580b2a0f 285972009-01-26 Robert Millan <rmh@aybabtu.com>
28598
28599 * configure.ac: Fix cross-compilation check.
ef257b36 28600
d31c24f1 286012009-01-22 Christian Franke <franke@computer.org>
28602
28603 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
28604 (precision) digit string. Allow `.format2' without `format1' (width).
28605 Limit input chars for `%s' output to `format2' if specified. This is
28606 compatible with standard printf ().
28607
3138b44c 286082009-01-22 Christian Franke <franke@computer.org>
28609
28610 * disk/ata.c (grub_ata_wait_status): Replace by ...
28611 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
28612 other status bits may be invalid while BSY is asserted.
28613 (grub_ata_check_ready): New function.
28614 (grub_ata_cmd): Removed.
28615 (grub_ata_wait_drq): New function.
28616 (grub_ata_strncpy): Remove inline.
28617 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
28618 and error check now done by grub_ata_wait_drq ().
28619 (grub_ata_pio_write): Likewise.
28620 (grub_atapi_identify): Set DEV before check for !BSY. Use
28621 grub_ata_wait_drq () to wait for data.
28622 (grub_ata_device_initialize): Add status register check to
28623 detect missing SATA slave devices. Add debug messages.
28624 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
28625 (grub_atapi_packet): Set DEV before check for !BSY. Replace
28626 transfer loop by grub_ata_pio_write ().
28627 (grub_ata_identify): Set DEV before check for !BSY. Use
28628 grub_ata_wait_drq () to wait for data.
ef257b36 28629 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 28630 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
28631 read/write in one loop. Fix invalid command on write. Fix incomplete
28632 command on (size % batch) == 0. Add missing error check after write of
28633 last block. Add debug messages.
28634 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
28635
59a64ef6 286362009-01-19 Christian Franke <franke@computer.org>
28637
28638 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
28639 (GRUB_ATAPI_IREASON_*): Likewise.
28640 (grub_ata_pio_write): Fix timeout error return.
28641 (grub_atapi_identify): Add grub_ata_wait () after cmd.
28642 (grub_atapi_wait_drq): New function.
28643 (grub_atapi_packet): New parameter `size'.
28644 Use grub_atapi_wait_drq () and direct write instead of
28645 grub_ata_pio_write ().
28646 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
28647 reads the number of bytes requested by the device for each DRQ
28648 assertion.
28649 (grub_atapi_write): Remove old implementation, return not
28650 implemented instead.
28651
1cfe20b3 286522009-01-19 Christian Franke <franke@computer.org>
28653
28654 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
28655 of 512 to calculate data size.
28656 (grub_scsi_read12): Likewise.
28657 (grub_scsi_write10): Likewise.
28658 (grub_scsi_write12): Likewise.
28659 (grub_scsi_read): Adjust size according to blocksize.
28660 Add checks for invalid blocksize and unaligned transfer.
28661
bee5fe5d 286622009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
28663
28664 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
28665
ef257b36 28666 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 28667 width glyphs.
28668
3e643f8c 286692009-01-19 Robert Millan <rmh@aybabtu.com>
28670
28671 * config.guess: Update to latest version from config git.
28672 * config.sub: Likewise.
28673
4fa80998 286742009-01-17 Felix Zielcke <fzielcke@z-51.de>
28675
28676 * Makefile.in: Change font compilation to use new grub-mkfont instead
28677 of java version.
28678
28679 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
28680 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
28681 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28682 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28683 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
28684 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
28685 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
28686 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
28687 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
28688
7086085b 286892009-01-16 Christian Franke <franke@computer.org>
28690
28691 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
28692 (enum grub_ata_timeout_milliseconds): New enum.
28693 (grub_ata_wait_status): Add parameter milliseconds.
28694 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
28695 recovery from timed-out commands.
28696 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
28697 return grub_errno instead of REG_ERROR.
28698 (grub_ata_pio_write): Add parameter milliseconds.
28699 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
28700 Pass milliseconds to grub_ata_wait_status () and
28701 grub_ata_pio_read ().
28702 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
28703 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
28704 grub_ata_wait_status (). Fix IDENTIFY timeout check.
28705 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
28706 It is not suitable for device detection, because DEV bit is ignored,
28707 the command may run too long, and not all devices set the signature
28708 properly.
28709 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
28710 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
28711 Fix device selection, DEV bit must be set first to address the registers
28712 of the correct device.
28713 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
28714 grub_ata_pio_read/write ().
28715 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
28716 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
28717
4a412913 287182009-01-13 Carles Pina i Estany <carles@pina.cat>
28719
28720 * util/grub-editenv.c (main): Use fseeko(), not fseek().
28721
7795c55e 287222009-01-13 Bean <bean123ch@gmail.com>
d913988c 28723
28724 * util/grub-mkfont.c (write_font): forget to remove some debug code.
28725
7795c55e 287262009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 28727
28728 * Makefile.in: (enable_grub_mkfont): New variable.
28729 (freetype_cflags): Likewise.
28730 (freetype_libs): Likewise.
28731
28732 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
28733 (grub_mkfont_SOURCES): New variable.
28734 (grub_mkfont_CFLAGS): Likewise.
28735 (grub_mkfont_LDFLAGS): Likewise.
28736
28737 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
28738 library if `--enable-grub-mkfont' is requested.
28739 (enable_grub_mkfont): New variable.
28740 (freetype_cflags): Likewise.
28741 (freetype_libs): Likewise.
28742
28743 * util/grub-mkfont.c: New file.
28744
093af1fe 287452009-01-12 Christian Franke <franke@computer.org>
28746
28747 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
28748 mode check. Fix setting of compat_use[].
28749
f36cc108 287502009-01-10 Robert Millan <rmh@aybabtu.com>
28751
28752 Update a few copyright years which we forgot to do in 2008 (only for
28753 files whose changes made in 2008 were copyright-significant)
28754
28755 * Makefile.in: Add 2008 to Copyright line.
28756 * disk/ieee1275/ofdisk.c: Likewise.
28757 * disk/efi/efidisk.c: Likewise.
28758 * kern/dl.c: Likewise.
28759 * kern/sparc64/ieee1275/init.c: Likewise.
28760 * kern/mm.c: Likewise.
28761 * kern/efi/mm.c: Likewise.
28762 * boot/i386/pc/boot.S: Likewise.
28763 * genfslist.sh: Likewise.
28764 * fs/iso9660.c: Likewise.
28765 * fs/hfs.c: Likewise.
28766 * fs/jfs.c: Likewise.
28767 * fs/minix.c: Likewise.
28768 * fs/ufs.c: Likewise.
28769 * gensymlist.sh.in: Likewise.
28770 * genkernsyms.sh.in: Likewise.
28771 * include/grub/misc.h: Likewise.
28772 * include/grub/types.h: Likewise.
28773 * include/grub/symbol.h: Likewise.
28774 * include/grub/elf.h: Likewise.
28775 * include/grub/kernel.h: Likewise.
28776 * include/grub/disk.h: Likewise.
28777 * include/grub/dl.h: Likewise.
28778 * include/grub/i386/linux.h: Likewise.
28779 * include/grub/i386/pc/biosdisk.h: Likewise.
28780 * include/grub/efi/api.h: Likewise.
28781 * include/grub/efi/pe32.h: Likewise.
28782 * include/grub/util/misc.h: Likewise.
28783 * normal/execute.c: Likewise.
28784 * normal/arg.c: Likewise.
28785 * normal/completion.c: Likewise.
28786 * normal/lexer.c: Likewise.
28787 * normal/parser.y: Likewise.
28788 * normal/misc.c: Likewise.
28789 * commands/i386/pc/vbeinfo.c: Likewise.
28790 * commands/hexdump.c: Likewise.
28791 * commands/terminal.c: Likewise.
28792 * commands/ls.c: Likewise.
28793 * commands/help.c: Likewise.
28794 * partmap/pc.c: Likewise.
28795 * loader/efi/chainloader.c: Likewise.
28796 * loader/multiboot_loader.c: Likewise.
28797 * loader/i386/pc/multiboot2.c: Likewise.
28798 * term/efi/console.c: Likewise.
28799 * term/i386/pc/serial.c: Likewise.
28800 * util/lvm.c: Likewise.
28801 * util/console.c: Likewise.
28802 * util/i386/efi/grub-mkimage.c: Likewise.
28803 * util/raid.c: Likewise.
28804
7f02114b 288052009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
28806
28807 * commands/videotest.c: Removed include to grub/machine/memory.h.
28808
28809 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
28810 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
28811 (video_mod_SOURCES): Removed.
28812 (video_mod_CFLAGS): Likewise.
28813 (video_mod_LDFLAGS): Likewise.
28814 (gfxterm_mod_SOURCES): Likewise.
28815 (gfxterm_mod_CFLAGS): Likewise.
28816 (gfxterm_mod_LDFLAGS): Likewise.
28817 (videotest_mod_SOURCES): Likewise.
28818 (videotest_mod_CFLAGS): Likewise.
28819 (videotest_mod_LDFLAGS): Likewise.
28820 (bitmap_mod_SOURCES): Likewise.
28821 (bitmap_mod_CFLAGS): Likewise.
28822 (bitmap_mod_LDFLAGS): Likewise.
28823 (tga_mod_SOURCES): Likewise.
28824 (tga_mod_CFLAGS): Likewise.
28825 (tga_mod_LDFLAGS): Likewise.
28826 (jpeg_mod_SOURCES): Likewise.
28827 (jpeg_mod_CFLAGS): Likewise.
28828 (jpeg_mod_LDFLAGS): Likewise.
28829 (png_mod_SOURCES): Likewise.
28830 (png_mod_CFLAGS): Likewise.
28831 (png_mod_LDFLAGS): Likewise.
28832
28833 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
28834 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
28835 (video_mod_SOURCES): Added.
28836 (video_mod_CFLAGS): Likewise.
28837 (video_mod_LDFLAGS): Likewise.
28838 (videotest_mod_SOURCES): Likewise.
28839 (videotest_mod_CFLAGS): Likewise.
28840 (videotest_mod_LDFLAGS): Likewise.
28841 (bitmap_mod_SOURCES): Likewise.
28842 (bitmap_mod_CFLAGS): Likewise.
28843 (bitmap_mod_LDFLAGS): Likewise.
28844 (tga_mod_SOURCES): Likewise.
28845 (tga_mod_CFLAGS): Likewise.
28846 (tga_mod_LDFLAGS): Likewise.
28847 (jpeg_mod_SOURCES): Likewise.
28848 (jpeg_mod_CFLAGS): Likewise.
28849 (jpeg_mod_LDFLAGS): Likewise.
28850 (png_mod_SOURCES): Likewise.
28851 (png_mod_CFLAGS): Likewise.
28852 (png_mod_LDFLAGS): Likewise.
28853 (gfxterm_mod_SOURCES): Likewise.
28854 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 28855 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 28856
28857 * term/gfxterm.c: Removed include to grub/machine/memory.h,
28858 grub/machine/console.h.
28859
644fff97 288602009-01-04 Jerone Young <jerone@gmail.com>
28861
28862 Make on screen instructions clearer
28863
28864 Based on patch created by Jidanni <jidanni@jidanni.org>
28865
28866 * normal/menu.c: print clearer instructions on the screen
28867
1e901a75 288682009-01-02 Colin D Bennett <colin@gibibit.com>
28869
28870 New font engine.
34c44600 28871
1e901a75 28872 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
28873 build system and fixed gfxterm.c to work with different sized fonts.
28874
28875 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 28876
1e901a75 28877 * configure: Re-generated.
34c44600 28878
1e901a75 28879 * DISTLIST: Removed font/manager.c.
28880 Added font/font.c.
28881 Added font/font_cmd.c.
34c44600 28882
1e901a75 28883 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
28884 compilation.
34c44600 28885
1e901a75 28886 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 28887
28888 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 28889
28890 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 28891
1e901a75 28892 * normal/menu.c: Likewise.
34c44600 28893
1e901a75 28894 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
28895 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 28896
1e901a75 28897 * include/grub/font.h: Replaced with new file.
34c44600 28898
1e901a75 28899 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
28900 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
28901 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
28902 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
28903 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 28904 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 28905 fg_red, fg_green, fg_blue, fg_alpha.
28906 (grub_video_adapter): Removed blit_glyph.
34c44600 28907 (grub_video_blit_glyph): Removed.
28908
1e901a75 28909 * font/manager.c: Removed file.
34c44600 28910
28911 * font/font.c: New file.
28912
1e901a75 28913 * font/font_cmd.c: Likewise.
34c44600 28914
1e901a75 28915 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 28916
1e901a75 28917 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
28918 (grub_video_vbe_map_rgba): Likewise.
28919 (grub_video_vbe_unmap_color_int): Likewise.
28920 (grub_video_vbe_blit_glyph): Removed.
28921 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 28922
1e901a75 28923 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
28924 (get_pixel): Likewise.
34c44600 28925 (set_pixel): Likewise.
28926
1e901a75 28927 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 28928
1e901a75 28929 * term/gfxterm.c: Adapted to new font engine.
34c44600 28930
1e901a75 28931 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 28932
1e901a75 28933 * term/i386/pc/vga.c: Likewise.
34c44600 28934
1e901a75 28935 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 28936
1e901a75 28937 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 28938
1e901a75 28939 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 28940
1e901a75 28941 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 28942
1e901a75 28943 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 28944
1e901a75 28945 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 28946
1e901a75 28947 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 28948
1e901a75 28949 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 28950
1e901a75 28951 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
28952
28953 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 28954
1e901a75 28955 * util/grub-mkconfig_lib.in: Changed font extension.
28956
278922e8 289572008-12-28 Felix Zielcke <fzielcke@z-51.de>
28958
28959 * util/getroot.c (grub_util_get_grub_dev): Add support for
28960 /dev/md/dNNpNN style partitionable mdraid devices.
28961
3ced05cf 289622008-12-12 Alex Smith <alex@alex-smith.me.uk>
28963
28964 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
28965 at a time limit of the PXE TFTP API correctly.
28966 (grub_pxefs_close): Likewise.
28967
7fd0ee30 289682008-11-29 Robert Millan <rmh@aybabtu.com>
28969
34c44600 28970 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 28971 grub_ata_device_initialize() calls.
28972
34c44600 289732008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 28974
28975 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
28976 iteration failed.
28977 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
28978
89313780 289792008-11-28 Robert Millan <rmh@aybabtu.com>
28980
28981 Fix build on powerpc-ieee1275. Based on patch created by
28982 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
28983 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28984 `kern/ieee1275/mmap.c'.
28985 * include/grub/powerpc/ieee1275/memory.h: New file.
28986
15257703 28987 Provide grub-install on coreboot.
28988 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
28989 (grub_install_SOURCES): New variable.
28990 * util/i386/pc/grub-install.in: Add a few condition checks to make it
28991 usable on coreboot.
28992
9fc5388a 289932008-11-25 Felix Zielcke <fzielcke@z-51.de>
28994
28995 * util/grub-fstest.c (grub_term_get_current_input): Change return type
28996 to `grub_term_input_t'.
28997 (grub_term_get_current_output): Change return type to
28998 `grub_term_output_t'.
28999
bc3a2f31 290002008-11-22 Robert Millan <rmh@aybabtu.com>
29001
34c44600 29002 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 29003 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
29004 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
29005 grub_vga_text_cls().
29006
80fc88f2 29007 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 29008 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 29009
cbf36fd3 29010 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
29011 to 0x200000 (avoids trouble with some OFW implementations, and matches
29012 with the one in Yaboot).
29013 Reported by Manoel Abranches
29014
73e8e268 290152008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 29016
29017 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
29018 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
29019
73e8e268 29020 * util/grub-mkconfig_lib.in (grub_warn): New function.
29021 (convert_system_path_to_grub_path): Use grub_warn() when issuing
29022 warnings, to obtain consistent formatting.
29023 * util/grub.d/00_header.in: Likewise.
29024 * util/update-grub_lib.in: Likewise.
29025
e94045a1 29026 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 29027 Move comment text to `#error' stanza.
e94045a1 29028
79d29fd7 29029 Harmonize ieee1275's grub_available_iterate() with the generic
29030 grub_machine_mmap_iterate() interface (fixes a recently-introduced
29031 build problem on i386-ieee1275):
29032 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
29033 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
29034 parameter `type'. Update all users of this function.
29035 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
29036 `kern/ieee1275/mmap.c'.
29037 * kern/ieee1275/init.c
29038 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
29039 with ...
29040 (grub_machine_mmap_iterate): ... this.
29041 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
29042 return type to `grub_err_t'. Update all implementations of this
29043 function prototype.
29044 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
29045 Likewise.
29046
60d6b16e 29047 Add `lsmmap' command (lists firmware-provided memory map):
29048 * commands/lsmmap.c: New file.
29049 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
29050 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
29051 variables.
29052 * conf/powerpc-ieee1275.rmk: Likewise.
29053 * conf/i386-coreboot.rmk: Likewise.
29054 * conf/i386-ieee1275.rmk: Likewise.
29055
ebaaf49b 290562008-11-19 Robert Millan <rmh@aybabtu.com>
29057
29058 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 29059 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
29060 constraints to initrd allocation (based on code from
29061 loader/i386/pc/linux.c). Without them, initrd was allocated too high
29062 for Linux to find it.
ebaaf49b 29063
dfab719f 290642008-11-14 Robert Millan <rmh@aybabtu.com>
29065
29066 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
29067 order to cope with duplicate slashes.
29068
10fc3eb9 290692008-11-14 Robert Millan <rmh@aybabtu.com>
29070
29071 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
29072 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
29073 don't want to mess with lower memory, because it is used in the Linux
29074 loader.
29075
29076 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 29077 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 29078 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
29079 is in our heap (probably as a result of it being corrupted during
2f2a3442 29080 decompression). Add #error instance with comment to explain why this
29081 loader isn't currently usable on PC/BIOS.
10fc3eb9 29082
e2e07847 290832008-11-14 Robert Millan <rmh@aybabtu.com>
29084
29085 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 29086 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 29087
fe8e8d69 290882008-11-12 Robert Millan <rmh@aybabtu.com>
29089
29090 Make loader/i386/linux.c buildable on i386-pc (although disabled).
29091
29092 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
29093 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
29094 from here ...
29095 * include/grub/i386/pc/memory.h: ... to here.
29096
976b07d0 290972008-11-12 Robert Millan <rmh@aybabtu.com>
29098
29099 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
29100 split).
29101
29102 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
29103 (grub_console_cur_color, grub_console_real_putchar)
29104 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
29105 (grub_console_setcolorstate, grub_console_setcolor)
29106 (grub_console_getcolor): Move from here ...
29107 * include/grub/i386/vga_common.h: ... to here (new file).
29108
29109 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
29110 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
29111 `<grub/i386/io.h>'.
29112 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
29113 `<grub/i386/vga_common.h>'.
29114
76679cd3 291152008-11-12 Robert Millan <rmh@aybabtu.com>
29116
29117 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
29118 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
29119 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
29120 variables.
29121 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
29122 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
29123
29124 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
29125 grub_console_init() with call to grub_vga_text_init().
29126 (grub_machine_fini): Replace call to
29127 grub_console_fini() with call to grub_vga_text_fini() and
29128 grub_at_keyboard_fini().
29129
29130 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
29131 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
29132 (grub_console_setcolorstate, grub_console_setcolor)
29133 (grub_console_getcolor): New function prototypes.
29134
29135 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
29136 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
29137 (grub_vga_text_setcursor): Static-ize.
29138 (grub_vga_text_term): New structure.
29139 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
29140
29141 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
29142 (grub_console_cur_color, grub_console_standard_color)
29143 (grub_console_normal_color, grub_console_highlight_color)
29144 (map_char, grub_console_putchar, grub_console_getcharwidth)
29145 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
29146 (grub_console_getcolor): Move from here ...
29147 * term/i386/vga_common.c: ... to here (same function names).
29148
95b841d3 291492008-11-12 Robert Millan <rmh@aybabtu.com>
29150
29151 Use newly-added Multiboot support in coreboot.
29152
29153 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
29154 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
29155
29156 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
29157 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
29158 (codestart): Store the MBI in `startup_multiboot_info' when we're
29159 being loaded using Multiboot.
29160
29161 * kern/i386/coreboot/init.c (grub_machine_init): Move
29162 grub_at_keyboard_init() call to beginning of function (useful for
29163 debugging). Call grub_machine_mmap_init() before attempting to use
29164 grub_machine_mmap_iterate().
29165 (grub_lower_mem, grub_upper_mem): Move from here ...
29166 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
29167 here (new file).
29168
29169 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
29170 function prototype.
29171
761ca975 291722008-11-12 Robert Millan <rmh@aybabtu.com>
29173
29174 Fix a regression introduced by the at_keyboard.mod split. Because
29175 some terminals are default on some platforms and non-default on
29176 others, the first terminal being registered determines which is
29177 going to be default.
29178
29179 * kern/term.c (grub_term_register_input): If this is the first
29180 terminal being registered, set it as the current one.
29181 (grub_term_register_output): Likewise.
29182
29183 * term/efi/console.c (grub_console_init): Do not call
29184 grub_term_set_current_output() or grub_term_set_current_input().
29185 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
29186 * term/i386/pc/console.c (grub_console_init): Likewise.
29187 (grub_console_fini): Do not call grub_term_set_current_input()
29188 (but leave grub_term_set_current_output() to restore text mode).
29189
6c529df7 291902008-11-10 Robert Millan <rmh@aybabtu.com>
29191
29192 * util/grub.d/00_header.in: Add backward compatibility check for
29193 versions of terminal.mod that don't understand `terminal_input' or
29194 `terminal_output'.
29195
132e4113 291962008-11-09 Robert Millan <rmh@aybabtu.com>
29197
29198 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
29199 `terminal_input' / `terminal_output', not `terminal'.
29200
ac293d50 292012008-11-08 Robert Millan <rmh@aybabtu.com>
29202
29203 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 29204 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 29205
0025933a 292062008-11-08 Robert Millan <rmh@aybabtu.com>
29207
29208 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 29209 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 29210 members. Update all users.
29211 * util/console.c (grub_ncurses_term): Split in ...
29212 (grub_ncurses_term_input): ... this, and ...
29213 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 29214 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 29215
37c86336 292162008-11-08 Robert Millan <rmh@aybabtu.com>
29217
29218 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
29219 (PKGDATA): Add $(pkgdata_SRCDIR).
29220 (pkglib_BUILDDIR): New variable.
29221 (pkgdata_SRCDIR): New variable.
29222 (build_env.mk): New target.
29223 (include_DATA): New variable.
29224 (install-local): Install $(include_DATA) files in $(includedir).
29225
b6c15a2d 292262008-11-07 Pavel Roskin <proski@gnu.org>
29227
d99d46f1 29228 * gendistlist.sh: Use C locale for sorting to ensure consistent
29229 output on all systems.
29230
b6c15a2d 29231 * util/grub.d/00_header.in: Remove incorrect space before
29232 "serial".
29233
c32ee8c9 292342008-11-07 Robert Millan <rmh@aybabtu.com>
29235
29236 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
29237 per specification.
29238 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
29239 * loader/multiboot_loader.c (find_multi_boot2_header): New function
29240 (based on find_multi_boot1_header).
29241 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
29242 using find_multi_boot2_header(), and abort if neither Multiboot or
29243 Multiboot headers were found.
29244
651c29b7 292452008-11-07 Robert Millan <rmh@aybabtu.com>
29246
29247 Modularize at_keyboard.mod:
29248
29249 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
29250 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29251 (at_keyboard_mod_LDFLAGS): New variables.
29252
29253 Actual terminal split:
29254
29255 * include/grub/term.h (struct grub_term): Split in ...
29256 (struct grub_term_input): ... this, and ...
29257 (struct grub_term_output): ... this. Update all users.
29258 (grub_term_set_current): Split in ...
29259 (grub_term_set_current_input): ... this, and ...
29260 (grub_term_set_current_output): ... this.
29261 (grub_term_get_current): Split in ...
29262 (grub_term_get_current_input): ... this, and ...
29263 (grub_term_get_current_output): ... this.
29264 (grub_term_register): Split in ...
29265 (grub_term_register_input): ... this, and ...
29266 (grub_term_register_output): ... this.
29267 (grub_term_unregister): Split in ...
29268 (grub_term_unregister_input): ... this, and ...
29269 (grub_term_unregister_output): ... this.
29270 (grub_term_iterate): Split in ...
29271 (grub_term_iterate_input): ... this, and ...
29272 (grub_term_iterate_output): ... this.
29273
29274 * kern/term.c (grub_term_list): Split in ...
29275 (grub_term_list_input): ... this, and ...
29276 (grub_term_list_output): ... this. Update all users.
29277 (grub_cur_term): Split in ...
29278 (grub_cur_term_input): ... this, and ...
29279 (grub_cur_term_output): ... this. Update all users.
29280 (grub_term_set_current): Split in ...
29281 (grub_term_set_current_input): ... this, and ...
29282 (grub_term_set_current_output): ... this.
29283 (grub_term_get_current): Split in ...
29284 (grub_term_get_current_input): ... this, and ...
29285 (grub_term_get_current_output): ... this.
29286 (grub_term_register): Split in ...
29287 (grub_term_register_input): ... this, and ...
29288 (grub_term_register_output): ... this.
29289 (grub_term_unregister): Split in ...
29290 (grub_term_unregister_input): ... this, and ...
29291 (grub_term_unregister_output): ... this.
29292 (grub_term_iterate): Split in ...
29293 (grub_term_iterate_input): ... this, and ...
29294 (grub_term_iterate_output): ... this.
29295
29296 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
29297 a check for input and one for output (and only attempt to get keys
29298 from user when input works).
29299
29300 * util/grub-probe.c (grub_term_get_current): Split in ...
29301 (grub_term_get_current_input): ... this, and ...
29302 (grub_term_get_current_output): ... this.
29303 * util/grub-fstest.c: Likewise.
29304 * util/i386/pc/grub-setup.c: Likewise.
29305 * util/grub-editenv.c: Likewise.
29306
29307 Portability adjustments:
29308
29309 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
29310 `term/i386/pc/at_keyboard.c'.
29311 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
29312 grub_keyboard_controller_init() (now handled by terminal .init).
29313 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
29314 grub_at_keyboard_init().
29315 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
29316 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
29317 at_keyboard.mod via input terminal interface).
29318 * include/grub/i386/coreboot/console.h: Convert into a stub for
29319 `<grub/i386/pc/console.h>'.
29320
29321 Migrate full terminals to new API:
29322
29323 * term/efi/console.c (grub_console_term): Split into ...
29324 (grub_console_term_input): ... this, and ...
29325 (grub_console_term_output): ... this. Update all users.
29326 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
29327 (grub_ofconsole_init): Split into ...
29328 (grub_ofconsole_init_input): ... this, and ...
29329 (grub_ofconsole_init_output): ... this.
29330 (grub_ofconsole_term): Split into ...
29331 (grub_ofconsole_term_input): ... this, and ...
29332 (grub_ofconsole_term_output): ... this. Update all users.
29333 * term/i386/pc/serial.c (grub_serial_term): Split into ...
29334 (grub_serial_term_input): ... this, and ...
29335 (grub_serial_term_output): ... this. Update all users.
29336 * term/i386/pc/console.c (grub_console_term): Split into ...
29337 (grub_console_term_input): ... this, and ...
29338 (grub_console_term_output): ... this. Update all users.
29339 (grub_console_term_input): Only enable it on PC/BIOS platform.
29340 (grub_console_init): Remove grub_keyboard_controller_init() call.
29341
29342 Migrate input terminals to new API:
29343
29344 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
29345 `i386' and `i386/pc' to enable build on x86_64 (this driver is
29346 i386-specific anyway).
29347 (grub_console_checkkey): Rename to ...
29348 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
29349 users.
29350 (grub_keyboard_controller_orig): New variable.
29351 (grub_console_getkey): Rename to ...
29352 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
29353 users.
29354 (grub_keyboard_controller_init): Static-ize. Save original
29355 controller value so that it can be restored ...
29356 (grub_keyboard_controller_fini): ... here (new function).
29357 (grub_at_keyboard_term): New structure.
29358 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
29359 functions.
29360
29361 Migrate output terminals to new API:
29362
29363 * term/i386/pc/vga.c (grub_vga_term): Change type to
29364 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
29365 members. Update all users.
29366 * term/gfxterm.c (grub_video_term): Change type to
29367 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
29368 members. Update all users.
29369 * include/grub/i386/pc/console.h (grub_console_checkkey)
29370 (grub_console_getkey): Do not export (no longer needed by gfxterm,
29371 etc).
29372
29373 Migrate `terminal' command and userland tools to new API:
29374
29375 * commands/terminal.c (grub_cmd_terminal): Split into ...
29376 (grub_cmd_terminal_input): ... this, and ...
29377 (grub_cmd_terminal_output): ... this.
29378 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
29379 `terminal_input' and `terminal_output'.
29380 * util/grub.d/00_header.in: Adjust `terminal' calls to new
29381 `terminal_input' / `terminal_output' API.
29382 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
29383 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
29384 provided ${GRUB_TERMINAL}, convert it).
29385
96e5d876 293862008-11-04 Robert Millan <rmh@aybabtu.com>
29387
29388 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
29389 for FreeBSD.
29390 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
29391
556f3775 293922008-11-03 Bean <bean123ch@gmail.com>
29393
29394 * kern/elf.c (grub_elf32_load): Revert to previous code.
29395 (grub_elf64_load): Likewise.
29396
29397 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
29398
926b9823 293992008-11-01 Robert Millan <rmh@aybabtu.com>
29400
29401 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
29402 (TARGET_CPPFLAGS): Likewise.
29403 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
29404
1432e958 294052008-11-01 Carles Pina i Estany <carles@pina.cat>
29406
29407 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
29408
dba3f844 294092008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 29410
29411 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
29412 addition of objects until the code is not going to be able to fail.
29413
dba3f844 294142008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 29415
29416 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
29417 (add a missing NULL check, and correct them by moving the pointer
29418 operations after the actual check).
29419
7ab28c21 294202008-10-29 Robert Millan <rmh@aybabtu.com>
29421
29422 * util/i386/pc/grub-install.in: Handle empty string as output from
29423 make_system_path_relative_to_its_root().
29424
1b7748eb 294252008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
29426
29427 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
29428 circular metadata worst case scenario. If the metadata is circular
29429 then copy the wrap in place.
29430 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
29431 project lib/format_text/layout.h
29432 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
29433
c9618ab2 294342008-10-03 Felix Zielcke <fzielcke@z-51.de>
29435
7a36edca 29436 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 29437
bf981c62 294382008-10-03 Felix Zielcke <fzielcke@z-51.de>
29439
29440 * util/update-grub_lib.in: Mention filename in warning message.
29441
6d994591 294422008-09-29 Felix Zielcke <fzielcke@z-51.de>
29443
29444 * NEWS: Update for rename of update-grub to grub-mkconfig.
29445
18ade780 294462008-09-29 Felix Zielcke <fzielcke@z-51.de>
29447
29448 * util/update-grub_lib.in: Copy to ...
29449 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 29450 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 29451 * util/update-grub.in: Rename to ...
29452 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
29453 option. Add `--output' option to allow users to specify the generated
29454 configuration file. Default to stdout.
29455 (update_grub_dir): Rename to ...
29456 (grub_mkconfig_dir): ... this.
29457 (grub_cfg): Default to an empty string.
29458 * conf/common.rmk (update-grub): Rename to ...
29459 (grub-mkconfig): ... this.
29460 (update-grub_lib): Copy to ...
29461 (grub-mkconfig_lib): ... this.
29462 (update-grub_SCRIPTS): Copy to ...
29463 (grub-mkconfig_SCRIPTS): ... this. Update all users.
29464 (update-grub_DATA): Rename to ...
29465 (grub-mkconfig_DATA): ... this.
29466
556ce6ac 294672008-09-28 Robert Millan <rmh@aybabtu.com>
29468
29469 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
29470 to `modified'. Add the real `created' field.
29471 (grub_iso9660_uuid): Use `modified' rather than `created' for
29472 constructing the UUID.
29473
294742008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 29475
29476 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
29477 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
29478
92274e85 294792008-09-28 Bean <bean123ch@gmail.com>
29480
29481 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
29482 Thanks to Christian Franke for finding this bug.
29483
add6f17a 294842008-09-25 Robert Millan <rmh@aybabtu.com>
29485
29486 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
29487 instances of grub_util_get_disk_name() (see previous commit).
29488
d2a367b8 294892008-09-25 Robert Millan <rmh@aybabtu.com>
29490
29491 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
29492 `util/i386/get_disk_name.c'.
29493 * conf/i386-efi.rmk: Likewise.
29494 * conf/x86_64-efi.rmk: Likewise.
29495 * conf/i386-coreboot.rmk: Likewise.
29496 * conf/i386-ieee1275.rmk: Likewise.
29497 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
29498 `util/ieee1275/get_disk_name.c'.
29499 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
29500 * util/ieee1275/get_disk_name.c: Remove file.
29501 * util/i386/get_disk_name.c: Remove file.
29502 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
29503 "hd%d" for device.map entries, rather than using
29504 grub_util_get_disk_name().
29505
81a06771 295062008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 29507
29508 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
29509 warning.
29510 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
29511
5a004279 295122008-09-24 Carles Pina i Estany <carles@pina.cat>
29513
29514 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
29515 Changed to 0x5100.
29516 (GRUB_TERM_PPAGE): Changed to 0x4900.
29517
397093d3 295182008-09-24 Robert Millan <rmh@aybabtu.com>
29519
29520 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
29521 macros (they were i386-pc specific).
29522 * include/grub/sparc64/ieee1275/console.h: Likewise.
29523 * include/grub/efi/console.h: Likewise.
29524
a91b6c7c 295252008-09-22 Bean <bean123ch@gmail.com>
29526
29527 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
29528 resident and in attribute list.
29529
29530 * include/grub/ntfs.h (BMP_LEN): Removed.
29531
c40fd116 295322008-09-22 Bean <bean123ch@gmail.com>
29533
81a06771 29534 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 29535 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
29536
29537 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
29538 error occurs, as grub_disk_open will call grub_disk_close, which will
29539 call p->close (scsi).
29540
81a06771 295412008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 29542
29543 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
29544 (AC_PREREQ): Bumped to 2.59.
29545 (AC_TRY_COMPILE): Replace obsolete macro with ...
29546 (AC_COMPILE_IFELSE): ... this.
29547 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
29548 (AC_LINK_IFELSE): ... this.
29549
5dc43410 295502008-09-21 Felix Zielcke <fzielcke@z-51.de>
29551
29552 * autogen.sh: Add a call to `gendistlist.sh'.
29553
9035dce4 295542008-09-19 Christian Franke <franke@computer.org>
29555
29556 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
29557 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
29558 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
29559 Export __enable_execute_stack() to modules.
29560 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
29561 New function.
29562
7fd75377 295632008-09-09 Felix Zielcke <fzielcke@z-51.de>
29564
040030b3 29565 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
29566 Sort the list.
29567
295682008-09-09 Felix Zielcke <fzielcke@z-51.de>
29569
29570 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 29571 #include <grub/util/hostdisk.h>.
29572
89d5ffcf 295732008-09-08 Robert Millan <rmh@aybabtu.com>
29574
29575 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
29576 segments when their filesz is zero (grub_file_read() interprets
81a06771 29577 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 29578 Use `lowest_segment' rather than 0 for calculating the current
29579 segment load address.
29580
40da438f 295812008-09-08 Robert Millan <rmh@aybabtu.com>
29582
29583 * util/hostdisk.c (open_device): Replace a grub_util_info() call
29584 with grub_dprintf("hostdisk", ...), as it was so verbose that it
29585 clobbered useful information.
29586
ddbf5556 295872008-09-08 Robert Millan <rmh@aybabtu.com>
29588
29589 * include/grub/util/biosdisk.h: Move to ...
29590 * include/grub/util/hostdisk.h: ... here. Update all users.
29591 * util/biosdisk.c: Move to ...
29592 * util/hostdisk.c: ... here. Update all users.
29593
783d0f48 295942008-09-07 Robert Millan <rmh@aybabtu.com>
29595
29596 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
29597 variables.
29598 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
29599 and length can be stored directly in the `mbi->mmap_addr' and
29600 `mbi->mmap_length' struct fields.
29601
548e2ea5 296022008-09-07 Robert Millan <rmh@aybabtu.com>
29603
29604 * conf/i386.rmk: New file. Provides declaration for building
29605 `cpuid.mod'.
29606 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
29607 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
29608 variables.
29609 Include `conf/i386.mk'.
29610 * conf/i386-efi.rmk: Likewise.
29611 * conf/x86_64-efi.rmk: Likewise.
29612 * conf/i386-coreboot.rmk: Likewise.
29613 * conf/i386-ieee1275.rmk: Likewise.
29614
0ea85a37 296152008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
29616
29617 Based on patch created by Colin D Bennett <colin@gibibit.com>.
29618 Adds optimization support for BGR based modes.
29619
29620 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
29621 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
29622 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29623 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29624 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29625 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29626 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29627 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29628 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29629 (grub_video_i386_vbeblit_index_index): Likewise.
29630 (grub_video_i386_vbeblit_replace_directN): Added.
29631 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
29632 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
29633 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
29634 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
29635 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
29636 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 29637 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 29638 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
29639 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
29640 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
29641 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
29642 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
29643 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
29644
29645 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
29646 (grub_video_i386_vbefill_R8G8B8): Likewise.
29647 (grub_video_i386_vbefill_index): Likewise.
29648 (grub_video_i386_vbefill_direct32): Added.
29649 (grub_video_i386_vbefill_direct24): Likewise.
29650 (grub_video_i386_vbefill_direct16): Likewise.
29651 (grub_video_i386_vbefill_direct8): Likewise.
29652
81a06771 29653 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 29654 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
29655 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
29656 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
29657 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
29658 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 29659
0ea85a37 29660 * video/video.c (grub_video_get_blit_format): Updated to use new
29661 blit formats. Added handling for 16 bit color modes.
81a06771 29662
29663 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 29664 fillers.
29665 (common_blitter): Updated to use new blitters.
29666
29667 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
29668 Removed.
29669 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
29670 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29671 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29672 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29673 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29674 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29675 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29676 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29677 (grub_video_i386_vbeblit_index_index): Likewise.
29678 (grub_video_i386_vbeblit_replace_directN): Added.
29679 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
29680 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
29681 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
29682 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
29683 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
29684 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
29685 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
29686 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
29687 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
29688 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
29689 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
29690 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
29691 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 29692
0ea85a37 29693 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
29694 (grub_video_i386_vbefill_R8G8B8): Likewise.
29695 (grub_video_i386_vbefill_index): Likewise.
29696 (grub_video_i386_vbefill_direct32): Added.
29697 (grub_video_i386_vbefill_direct24): Likewise.
29698 (grub_video_i386_vbefill_direct16): Likewise.
29699 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 29700
0ea85a37 29701 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
29702 types.
81a06771 29703
0ea85a37 29704 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
29705 types.
81a06771 29706
0ea85a37 29707 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
29708 blitter types.
81a06771 29709
0ea85a37 29710 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
29711 types.
29712
e8a83df6 297132008-09-06 Felix Zielcke <fzielcke@z-51.de>
29714
29715 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
29716 RAID level 1.
29717
6bcd8ee5 297182008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 29719
6bcd8ee5 29720 * fs/iso9660.c (grub_iso9660_date): New structure.
29721 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
29722 (grub_iso9660_uuid): New function.
c375ae58 29723
59261157 297242008-09-05 Bean <bean123ch@gmail.com>
29725
29726 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
29727
29728 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
29729 insensitive bit for names in Win32 and Win32 & DOS namespace.
29730
29731 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
29732
29733 * include/grub/types.h (LONG_MAX): Likewise.
29734
58b6645a 297352008-09-04 Felix Zielcke <fzielcke@z-51.de>
29736
4ee55921 29737 * util/getroot.c: Include <config.h>.
29738 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
29739 add support for /dev/md/N devices and handle LVM double dash escaping.
29740
297412008-09-04 Felix Zielcke <fzielcke@z-51.de>
29742
29743 * config.guess: Update to latest version from config git.
29744 * config.sub: Likewise.
58b6645a 29745
9124f65d 297462008-09-03 Robert Millan <rmh@aybabtu.com>
29747
29748 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
29749 `disk->total_sectors'.
29750
81a06771 297512008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 29752
29753 * include/grub/normal.h: Fixed incorrect comment for
29754 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
29755
81a06771 297562008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 29757
29758 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
29759 values with defines.
29760
29761 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
29762 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
29763 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
29764 (GRUB_VBE_MODEATTR_COLOR): Likewise.
29765 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
29766 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
29767 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
29768 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
29769 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
29770 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
29771 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
29772 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
29773 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
29774 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
29775 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
29776 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
29777 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
29778 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
29779 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
29780
93d5cbf8 297812008-08-31 Robert Millan <rmh@aybabtu.com>
29782
29783 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
29784 declaration.
29785 (grub_multiboot): Fix a few warnings.
29786
21751d50 297872008-08-31 Robert Millan <rmh@aybabtu.com>
29788
29789 * loader/i386/pc/multiboot.c: Update comment not to say that
29790 boot_device support is unimplemented.
29791
e27a75c5 297922008-08-31 Robert Millan <rmh@aybabtu.com>
29793
29794 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
29795 or memory map support are unimplemented.
29796
81a06771 297972008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 29798
29799 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
29800
81a06771 298012008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 29802
29803 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
29804 total video memory in 'vbeinfo' output; show color format details for
29805 each video mode.
29806
7c5d8d95 298072008-08-30 Pavel Roskin <proski@gnu.org>
29808
29809 * util/genmoddep.c: Remove for real this time.
29810 * DISTLIST: Remove util/genmoddep.c.
29811
4cebd25a 298122008-08-30 Robert Millan <rmh@aybabtu.com>
29813
29814 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
29815 as required by Multiboot spec (it was already 4-byte aligned, but
29816 only by chance).
29817
b497a269 298182008-08-29 Pavel Roskin <proski@gnu.org>
29819
e3925185 29820 * kern/powerpc/ieee1275/crt0.S: Rename to ...
29821 * kern/powerpc/ieee1275/startup.S: ... this.
29822 * conf/powerpc-ieee1275.rmk: Adjust for the above.
29823 * DISTLIST: Likewise.
29824
b497a269 29825 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
29826 grub/cpu/kernel.h. Add start label for consistency with other
29827 platforms. Add grub_prefix immediately after start. Add jump
29828 to the code after grub_prefix.
29829 * include/grub/powerpc/kernel.h: Provide valid values for
29830 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
29831
6e5a42fe 298322008-08-29 Bean <bean123ch@gmail.com>
29833
29834 * configure.ac: Change host_os to cygwin for mingw.
29835 (asprintf): New check for function.
29836
29837 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
29838 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
29839
29840 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 29841 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 29842 sync, sleep and grub_util_get_disk_size for mingw.
29843
29844 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
29845 to get size in mingw.
29846 (open_device): Use flag O_BINARY if it's defined.
29847 (find_root_device): Add dummy code for mingw.
29848
29849 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
29850 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
29851 (get_scsi_disk_name): Return 0 for mingw.
29852
29853 * util/hostfs.c: #include <grub/util/misc.h>.
29854 (grub_hostfs_open): Use "rb" flag to open file, use
29855 grub_util_get_disk_size to get disk size for mingw.
29856
29857 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
29858 (asprintf): New function if HAVE_ASPRINTF is not set.
29859 (sync): New function for mingw.
29860 (sleep): Likewise.
29861 (grub_util_get_disk_size): Likewise.
29862
ab3f2673 298632008-08-28 Pavel Roskin <proski@gnu.org>
29864
29865 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
29866 kern/time.c.
29867
1c282483 298682008-08-28 Robert Millan <rmh@aybabtu.com>
29869
29870 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
29871
678e849c 298722008-08-28 Robert Millan <rmh@aybabtu.com>
29873
29874 Change find_grub_drive() syntax so it doesn't prevent it from
29875 detecting NULL names as errors.
29876
29877 * util/biosdisk.c (find_grub_drive): Move free slot search code
29878 from here ...
29879 (find_free_slot): ... to here.
29880 (read_device_map): Use find_free_slot() to search for free slots.
29881
965c75ca 298822008-08-27 Marco Gerards <marco@gnu.org>
29883
29884 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
29885 (scsi_mod_SOURCES): New variable.
29886 (scsi_mod_CFLAGS): Likewise
29887 (scsi_mod_LDFLAGS): Likewise.
29888
29889 * disk/scsi.c: New file.
29890
29891 * include/grub/scsi.h: Likewise.
29892
29893 * include/grub/scsicmd.h: Likewise.
29894
29895 * disk/ata.c: Include <grub/scsi.h>.
29896 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
29897 instead.
29898 (grub_ata_iterate): Skip ATAPI devices.
29899 (grub_ata_open): Only handle ATAPI devices.
29900 (struct grub_atapi_read): Removed.
29901 (grub_atapi_readsector): Likewise.
29902 (grub_ata_read): No longer handle ATAPI devices.
29903 (grub_ata_write): Likewise.
29904 (grub_atapi_iterate): New function.
29905 (grub_atapi_read): Likewise.
29906 (grub_atapi_write): Likewise.
29907 (grub_atapi_open): Likewise.
29908 (grub_atapi_close): Likewise.
29909 (grub_atapi_dev): New variable.
29910 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
29911 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
29912
29913 * include/grub/disk.h (enum grub_disk_dev_id): Add
29914 `GRUB_DISK_DEVICE_SCSI_ID'.
29915
c07ae501 299162008-08-26 Robert Millan <rmh@aybabtu.com>
29917
29918 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
29919 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
29920 descriptive.
29921
5ed20adc 299222008-08-23 Bean <bean123ch@gmail.com>
29923
29924 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
29925 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
29926 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
29927 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
29928 dm_nv.mod.
29929 (raid5rec_mod_SOURCES): New macro.
29930 (raid5rec_mod_CFLAGS): Likewise.
29931 (raid5rec_mod_LDFLAGS): Likewise.
29932 (raid6rec_mod_SOURCES): Likewise.
29933 (raid6rec_mod_CFLAGS): Likewise.
29934 (raid6rec_mod_LDFLAGS): Likewise.
29935 (mdraid_mod_SOURCES): Likewise.
29936 (mdraid_mod_CFLAGS): Likewise.
29937 (mdraid_mod_LDFLAGS): Likewise.
29938 (dm_nv_mod_SOURCES): Likewise.
29939 (dm_nv_mod_CFLAGS): Likewise.
29940 (dm_nv_mod_LDFLAGS): Likewise.
29941
29942 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
29943 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
29944 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
29945
29946 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
29947 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
29948
29949 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29950
29951 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29952
29953 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29954
29955 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29956
29957 * disk/raid5_recover.c: New file.
29958
29959 * disk/raid6_recover.c: Likewise.
29960
29961 * disk/mdraid_linux.c: Likewise.
29962
29963 * disk/dmraid_nvidia.c: Likewise.
29964
29965 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
29966 ULONG_MAX.
29967
29968 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
29969 calculate the size of raid device.
29970 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
29971 different layout of raid5.
29972 (grub_raid_scan_device): Remove code specific to mdraid.
29973 (grub_raid_list): New variable.
29974 (free_array): New function.
29975 (grub_raid_register): Likewise.
29976 (grub_raid_unregister): Likewise.
29977 (grub_raid_rescan): Likewise.
29978 (GRUB_MOD_INIT): Don't iterate device here.
29979 (GRUB_MOD_FINI): Use free_array to release resource.
29980
29981 * include/grub/raid.h: Remove macro and structure specific to mdraid.
29982 (grub_raid5_recover_func_t): New function variable type.
29983 (grub_raid6_recover_func_t): Likewise.
29984 (grub_raid5_recover_func): New variable.
29985 (grub_raid6_recover_func): Likewise.
29986 (grub_raid_register): New function.
29987 (grub_raid_unregister): Likewise.
29988 (grub_raid_rescan): Likewise.
29989 (grub_raid_block_xor): Likewise.
29990
29991 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
29992 (CMD_CRC): New macro.
29993 (part): Removed.
29994 (read_file): Handle device as well as file.
29995 (cmd_crc): New function.
29996 (fstest): Handle multiple disks.
29997 (options): Remove part, raw and long, add root and diskcount.
29998 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 29999 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 30000 add handling for the new options, support multiple disks.
30001
30002 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
30003
29c18915 300042008-08-23 Bean <bean123ch@gmail.com>
30005
30006 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
30007
30008 * genfslist.sh: Ignore kernel.mod.
30009
30010 * genpartmaplist.sh: Likewise.
30011
8415f261 300122008-08-23 Robert Millan <rmh@aybabtu.com>
30013
30014 * util/getroot.c (find_root_device): Skip anything that starts with
30015 a dot, not just directories. This avoids things like /dev/.tmp.md0.
30016
d5a7dc5b 300172008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 30018
d5a7dc5b 30019 * util/update-grub.in (GRUB_GFXMODE): Export variable.
30020 * util/grub.d/00_header.in: Allow the administrator to change default
30021 gfxmode via ${GRUB_GFXMODE}.
30022
380cfbb4 300232008-08-21 Felix Zielcke <fzielcke@z-51.de>
30024
30025 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
30026
c9baafe7 300272008-08-21 Robert Millan <rmh@aybabtu.com>
30028
30029 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
30030 loader.
30031 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
30032 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
30033
e290bef2 300342008-08-20 Carles Pina i Estany <carles@pina.cat>
30035
30036 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
30037 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
30038
f9dbfc96 300392008-08-19 Robert Millan <rmh@aybabtu.com>
30040
30041 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
30042 (struct grub_virtual_screen): Remove `cursor_color'.
30043 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
30044 initialization.
30045 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
30046
dd6bd6ab 300472008-08-18 Robert Millan <rmh@aybabtu.com>
30048
30049 Unify (identical) linux_normal.c files.
30050 * loader/i386/efi/linux_normal.c: Move from here ...
30051 * loader/linux_normal.c: ... to here. Update all users.
30052 * loader/i386/pc/linux_normal.c: Delete. Update all users.
30053 * loader/i386/ieee1275/linux_normal.c: Likewise.
30054
7f42f83e 300552008-08-18 Robert Millan <rmh@aybabtu.com>
30056
30057 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
30058 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
30059 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
30060 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
30061 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
30062 New macros.
30063 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
30064 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
30065 (GRUB_LINUX_CL_END_OFFSET): ... to here.
30066 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
30067 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
30068 (GRUB_EFI_CL_END_OFFSET): Rename to ...
30069 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
30070 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
30071 Initialize `params->video_cursor_x' and `params->video_cursor_y'
30072 portably using grub_getxy().
30073 Replace `-EFI' with `-bzImage' in boot message.
30074
38487ddb 300752008-08-17 Robert Millan <rmh@aybabtu.com>
30076
30077 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
30078
deceb3ec 300792008-08-17 Robert Millan <rmh@aybabtu.com>
30080
30081 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
30082
30083 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
30084 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
30085 (grub_machine_mmap_iterate): New function declaration.
30086 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
30087 structure.
30088 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
30089 macros.
30090
30091 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
30092 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
30093 Move e820 parsing from here ...
30094 * kern/i386/pc/mmap.c: New file.
30095 (grub_machine_mmap_iterate): ... to here.
30096
30097 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
30098 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
30099 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
30100 (grub_available_iterate): Redeclare to return `void', and redeclare
30101 its hook to use grub_uint64_t as addr and size parameters, and rename
30102 to ...
30103 (grub_machine_mmap_iterate): ... this. Update all users.
30104
30105 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
30106 to make it more readable. Rename to ...
30107 (grub_machine_mmap_iterate): ... this.
30108
30109 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
30110 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
30111 (grub_multiboot): Allocate an extra region after the payload, and fill
30112 it with a Multiboot memory map. Adjust a.out loader to calculate size
30113 with the extra space.
30114 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
30115 with the extra space.
30116
f8aa0f43 301172008-08-17 Carles Pina i Estany <carles@pina.cat>
30118
9807deb9 30119 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 30120
605f5bb6 301212008-08-17 Felix Zielcke <fzielcke@z-51.de>
30122
30123 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
30124 mdate-sh to the list `find' searches for.
30125 * DISTLIST: Regenerated.
30126
210db6c6 301272008-08-16 Felix Zielcke <fzielcke@z-51.de>
30128
30129 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
30130 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 30131 genmoddep.awk, gensymlist.sh.in.
30132 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 30133 * DISTLIST: Regenerated.
48cdbfd4 30134 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 30135
1082b929 301362008-08-16 Robert Millan <rmh@aybabtu.com>
30137
30138 * disk/raid.c (grub_raid_init): Handle/report errors set by
30139 grub_device_iterate().
30140 * disk/lvm.c (grub_lvm_init): Likewise.
30141
42ce5170 301422008-08-15 Bean <bean123ch@gmail.com>
30143
30144 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30145 and datehook.mod.
30146 (datetime_mod_SOURCES): New macro.
30147 (datetime_mod_CFLAGS): Likewise.
30148 (datetime_mod_LDFLAGS): Likewise.
30149 (date_mod_SOURCES): Likewise.
30150 (date_mod_CFLAGS): Likewise.
30151 (date_mod_LDFLAGS): Likewise.
30152 (datehook_mod_SOURCES): Likewise.
30153 (datehook_mod_CFLAGS): Likewise.
30154 (datehook_mod_LDFLAGS): Likewise.
30155
30156 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30157 and datehook.mod.
30158 (datetime_mod_SOURCES): New macro.
30159 (datetime_mod_CFLAGS): Likewise.
30160 (datetime_mod_LDFLAGS): Likewise.
30161 (date_mod_SOURCES): Likewise.
30162 (date_mod_CFLAGS): Likewise.
30163 (date_mod_LDFLAGS): Likewise.
30164 (datehook_mod_SOURCES): Likewise.
30165 (datehook_mod_CFLAGS): Likewise.
30166 (datehook_mod_LDFLAGS): Likewise.
30167
30168 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30169 and datehook.mod.
30170 (datetime_mod_SOURCES): New macro.
30171 (datetime_mod_CFLAGS): Likewise.
30172 (datetime_mod_LDFLAGS): Likewise.
30173 (date_mod_SOURCES): Likewise.
30174 (date_mod_CFLAGS): Likewise.
30175 (date_mod_LDFLAGS): Likewise.
30176 (datehook_mod_SOURCES): Likewise.
30177 (datehook_mod_CFLAGS): Likewise.
30178 (datehook_mod_LDFLAGS): Likewise.
30179
30180 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30181 and datehook.mod.
30182 (datetime_mod_SOURCES): New macro.
30183 (datetime_mod_CFLAGS): Likewise.
30184 (datetime_mod_LDFLAGS): Likewise.
30185 (date_mod_SOURCES): Likewise.
30186 (date_mod_CFLAGS): Likewise.
30187 (date_mod_LDFLAGS): Likewise.
30188 (datehook_mod_SOURCES): Likewise.
30189 (datehook_mod_CFLAGS): Likewise.
30190 (datehook_mod_LDFLAGS): Likewise.
30191
30192 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30193 and datehook.mod.
30194 (datetime_mod_SOURCES): New macro.
30195 (datetime_mod_CFLAGS): Likewise.
30196 (datetime_mod_LDFLAGS): Likewise.
30197 (date_mod_SOURCES): Likewise.
30198 (date_mod_CFLAGS): Likewise.
30199 (date_mod_LDFLAGS): Likewise.
30200 (datehook_mod_SOURCES): Likewise.
30201 (datehook_mod_CFLAGS): Likewise.
30202 (datehook_mod_LDFLAGS): Likewise.
30203
30204 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
30205
30206 * commands/date.c: New file.
30207
30208 * hook/datehook.c: Likewise.
30209
30210 * include/grub/lib/datetime.h: Likewise.
30211
30212 * include/grub/i386/cmos.h: Likewise.
30213
30214 * lib/datetime.c: Likewise.
30215
30216 * lib/i386/datetime.c: Likewise.
30217
30218 * lib/efi/datetime.c: Likewise.
30219
0e9242da 302202008-08-14 Robert Millan <rmh@aybabtu.com>
30221
30222 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
30223 (grub_mkelfimage_SOURCES): New variable.
30224 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
30225
30226 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
30227 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
30228 * conf/powerpc-ieee1275.rmk: Likewise.
30229 * conf/i386-ieee1275.rmk: Likewise.
30230
30231 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
30232 * kern/i386/coreboot/init.c: Likewise.
30233
30234 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
30235 with `<grub/cpu/kernel.h>'.
30236 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
30237 to ...
30238 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
30239 * kern/i386/coreboot/startup.S: Likewise.
30240
30241 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
30242 (GRUB_MOD_GAP): Remove.
30243 * include/grub/powerpc/kernel.h: New file.
30244 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
30245 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
30246 * include/grub/i386/kernel.h: New file.
30247 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
30248 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
30249 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
30250
30251 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
30252 `grub-mkelfimage'.
30253 Use --directory when invoking grub_mkimage.
30254
30255 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
30256 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
30257 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
30258 and GRUB_KERNEL_CPU_PREFIX.
30259
b86408f8 302602008-08-14 Felix Zielcke <fzielcke@z-51.de>
30261
d5e619ca 30262 * include/grub/err.h (grub_err_printf): New function prototype.
30263 * util/misc.c (grub_err_printf): New function.
30264 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
30265 grub_printf.
30266 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 30267
7161f0e0 302682008-08-13 Robert Millan <rmh@aybabtu.com>
30269
30270 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
30271
a1967522 302722008-08-13 Robert Millan <rmh@aybabtu.com>
30273
30274 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
30275 boot entry.
30276
371458b5 302772008-08-12 Robert Millan <rmh@aybabtu.com>
30278
30279 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
30280 of the relocation code from here ...
30281 (grub_multiboot): ... to here.
30282 (forward_relocator, backward_relocator): Move from here ...
30283 * kern/i386/loader.S (grub_multiboot_forward_relocator)
30284 (grub_multiboot_backward_relocator): ... to here.
30285 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
30286 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
30287 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
30288 (grub_multiboot_forward_relocator_end)
30289 (grub_multiboot_backward_relocator)
30290 (grub_multiboot_backward_relocator_end): New variables.
30291
05f9452b 302922008-08-12 Bean <bean123ch@gmail.com>
30293
30294 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
30295
20024ab0 302962008-08-11 Robert Millan <rmh@aybabtu.com>
30297
30298 * kern/i386/linuxbios/startup.S: Move from here ...
30299 * kern/i386/coreboot/startup.S: ... to here.
30300
30301 * kern/i386/linuxbios/init.c: Move from here ...
30302 * kern/i386/coreboot/init.c: ... to here.
30303
30304 * kern/i386/linuxbios/table.c: Move from here ...
30305 * kern/i386/coreboot/mmap.c: ... to here.
30306
30307 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
30308
e352e9cd 303092008-08-11 Robert Millan <rmh@aybabtu.com>
30310
30311 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
30312 errors. Leave it to the upper layer to handle them.
30313
2d05bc6a 303142008-08-09 Christian Franke <franke@computer.org>
30315
30316 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
30317 * conf/common.rmk: Install `grub-pe2elf' only if requested.
30318 Install `grub.d/10_windows' only on Cygwin.
30319 * configure.ac: Add subst of `target_os'.
30320 Check `target_os' also before setting TARGET_OBJ2ELF.
30321 Add `--enable-grub-pe2elf'.
30322
042bd419 303232008-08-08 Robert Millan <rmh@aybabtu.com>
30324
30325 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
30326 (grub_last_time): Change type to grub_uint64_t.
30327 (grub_disk_open): Migrate code from to using grub_get_time_ms().
30328 (grub_disk_close): Likewise.
30329
30330 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
30331 (run_menu): Migrate code from to using grub_get_time_ms().
30332
30333 * util/misc.c (grub_get_time_ms): New function.
30334
7f280db5 303352008-08-08 Marco Gerards <marco@gnu.org>
30336
30337 * disk/ata.c (grub_ata_regget): Change return type to
30338 `grub_uint8_t'.
30339 (grub_ata_regget2): Likewise.
30340 (grub_ata_wait_status): New function.
30341 (grub_ata_wait_busy): Removed function, updated all users to use
30342 `grub_ata_wait_status'.
30343 (grub_ata_wait_drq): Likewise.
30344 (grub_ata_cmd): New function.
30345 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
30346 error handling.
30347 (grub_ata_pio_write): Add error handling.
30348 (grub_atapi_identify): Likewise.
30349 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
30350 handling.
30351 (grub_ata_identify): Use `grub_ata_cmd' and improve error
30352 handling. Actually use the detected registers. Reorder the
30353 detection logic such that it is easier to read.
30354 (grub_ata_pciinit): Do not assign the same ID to each controller.
30355 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
30356 handling.
30357 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
30358
30359 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
30360
1fbc5e66 303612008-08-08 Marco Gerards <marco@gnu.org>
30362
30363 * NEWS: Update.
30364
819ce6c0 303652008-08-07 Bean <bean123ch@gmail.com>
30366
30367 * include/grub/x86_64/pci.h: New file.
30368
5c41d44d 303692008-08-07 Christian Franke <franke@computer.org>
30370
30371 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
30372 (TIMER2_GATE): Likewise.
30373 (grub_pit_wait): Add enable/disable of the timer2 gate
30374 bit of port 0x61. This fixes a possible infinite loop.
30375
5ebc275d 303762008-08-07 Bean <bean123ch@gmail.com>
30377
30378 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
30379 kern/i386/tsc.c and kern/i386/pit.c.
30380
30381 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
30382 x86_64 platform.
30383
30384 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
30385 <grub/i386/tsc.h>.
30386
30387 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
30388
e383b3d0 303892008-08-07 Bean <bean123ch@gmail.com>
30390
30391 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
30392
30393 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
30394
30395 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
30396 multiple inclusion. Add #include <grub/types.h>.
30397
1cbb58ac 303982008-08-06 Christian Franke <franke@computer.org>
30399
30400 * conf/common.rmk: Build and install `10_windows'.
30401 * util/grub.d/10_windows.in: New script.
30402
337f5a1e 304032008-08-06 Pavel Roskin <proski@gnu.org>
30404
30405 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
30406
057bc4ac 304072008-08-06 Robert Millan <rmh@aybabtu.com>
30408
30409 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
30410 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
30411
2b99f123 304122008-08-06 Bean <bean123ch@gmail.com>
30413
30414 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
30415 (grub_pxefs_fs_int): Remove dummy definition.
30416 (grub_pxefs_open): Use data->block_size to store the current block
30417 size setting.
30418 (grub_pxefs_read): Use block size stored in data->block_size. As the
30419 value of grub_pxe_blksize can be changed after the file is opened.
30420
9f0234cb 304212008-08-06 Bean <bean123ch@gmail.com>
30422
30423 * fs/i386/pc/pxe.c (curr_file): new variable.
30424 (grub_pxefs_open): Simply the handling of pxe file system. Don't
30425 require the dummy internal file system anymore.
30426 (grub_pxefs_read): Removed.
30427 (grub_pxefs_close): Likewise.
30428 (grub_pxefs_fs_int): Likewise.
30429 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
30430 connection when we switch file.
30431 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
30432
a55d42e0 304332008-08-06 Robert Millan <rmh@aybabtu.com>
30434
30435 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
30436 `halt.mod'.
30437 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
30438 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
30439
30440 * kern/i386/halt.c: New file.
30441 * kern/i386/reboot.c: Likewise.
30442 * include/grub/i386/reboot.h: Likewise.
30443 * include/grub/i386/halt.h: Likewise.
30444
30445 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
30446 Include `<grub/cpu/halt.h>'.
30447 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
30448 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
30449
30450 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
30451 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
30452 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
30453 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
30454 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
30455 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
30456 from here ...
30457 * include/grub/i386/at_keyboard.h: ... to here.
30458
24371d26 304592008-08-05 Robert Millan <rmh@aybabtu.com>
30460
30461 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
30462 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
30463 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
30464 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
30465 `kern/generic/millisleep.c'.
30466
30467 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
30468 instead of grub_get_rtc().
30469 (grub_tsc_init): Initialize `tsc_boot_time'.
30470
30471 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
30472 (grub_machine_init): Use grub_tsc_init() rather than
30473 installing an RTC-based handler via grub_install_get_time_ms().
30474
30475 * kern/i386/pit.c: New file.
30476 * include/grub/i386/pit.h: Likewise.
30477
9e7007b3 304782008-08-05 Bean <bean123ch@gmail.com>
30479
30480 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
30481
30482 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
30483 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
30484 (pxe_mod_SOURCES): New macro.
30485 (pxe_mod_CFLAGS): Likewise.
30486 (pxe_mod_LDFLAGS): Likewise.
30487 (pxecmd_mod_SOURCES): Likewise.
30488 (pxecmd_mod_CFLAGS): Likewise.
30489 (pxecmd_mod_LDFLAGS): Likewise.
30490
30491 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
30492 (grub_pxe_call): Likewise.
30493
30494 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
30495
30496 * commands/i386/pc/pxecmd.c: New file.
30497
9f0234cb 30498 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 30499
30500 * include/grub/i386/pc/pxe.h: Likewise.
30501
6977d49f 305022008-08-05 Bean <bean123ch@gmail.com>
30503
30504 * util/console.c (grub_console_cur_color): New variable.
30505 (grub_console_standard_color): Likewise.
30506 (grub_console_normal_color): Likewise.
30507 (grub_console_highlight_color): Likewise.
30508 (color_map): Likewise.
30509 (use_color): Likewise.
30510 (NUM_COLORS): New macro.
30511 (grub_ncurses_setcolorstate): Handle color properly.
30512 (grub_ncurses_setcolor): Don't change color here, just remember the
30513 settings, color will be set in grub_ncurses_setcolorstate.
30514 (grub_ncurses_getcolor): New function.
30515 (grub_ncurses_init): Initialize color pairs.
30516 (grub_ncurses_term): New member grub_ncurses_getcolor.
30517
9c2ff3ee 305182008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 30519
9c2ff3ee 30520 High resolution timer support. Implemented for x86 CPUs using TSC.
30521 Extracted generic grub_millisleep() so it's linked in only as needed.
30522 This requires a Pentium compatible CPU; if the RDTSC instruction is
30523 not supported, then it falls back on the generic grub_get_time_ms()
30524 implementation that uses the machine's RTC.
30525
30526 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
30527 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
30528 `kern/generic/millisleep.c'.
30529
30530 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
30531 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
30532
30533 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
30534 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
30535
30536 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30537
30538 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30539 `kern/generic/millisleep.c'.
30540
30541 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30542
30543 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
30544
30545 * kern/generic/rtc_get_time_ms.c: New file.
30546
30547 * kern/generic/millisleep.c: New file.
337f5a1e 30548
9c2ff3ee 30549 * kern/misc.c: Don't include
30550 <kern/time.h> anymore.
30551 (grub_millisleep_generic): Removed.
30552
30553 * commands/sleep.c (grub_interruptible_millisleep): Uses
30554 grub_get_time_ms() instead of grub_get_rtc().
30555
30556 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
30557 function.
30558 (grub_cpu_is_cpuid_supported): New inline function.
30559 (grub_cpu_is_tsc_supported): New inline function.
30560 (grub_tsc_init): New function prototype.
30561 (grub_tsc_get_time_ms): New function prototype.
30562
30563 * kern/i386/tsc.c (grub_get_time_ms): New file.
30564
30565 * include/grub/time.h: Include <grub/types.h.
30566 (grub_millisleep_generic): Removed.
30567 (grub_get_time_ms): New prototype.
30568 (grub_install_get_time_ms): New prototype.
30569 (grub_rtc_get_time_ms): New prototype.
30570
30571 * kern/time.c (grub_get_time_ms): New function.
30572 (grub_install_get_time_ms): New function.
30573
30574 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
30575 <grub/time.h> anymore.
30576 (grub_millisleep): Removed.
30577 (grub_machine_init): Call grub_tsc_init.
30578
30579 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
30580 get_time_ms() implementation.
30581
30582 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
30583 (ieee1275_get_time_ms): New function.
30584 (grub_machine_init): Install get_time_ms() implementation.
30585
30586 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
30587 (grub_machine_init): Call grub_tsc_init().
30588 (grub_millisleep): Removed.
bf06a93f 30589
9c2ff3ee 30590 * kern/ieee1275/init.c (grub_millisleep): Removed.
30591 (grub_machine_init): Install ieee1275_get_time_ms()
30592 implementation.
30593 (ieee1275_get_time_ms): New function.
30594 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
30595 real work.
30596
9ec92aaf 305972008-08-05 Marco Gerards <marco@gnu.org>
30598
30599 * disk/ata.c: Include <grub/pci.h>.
30600 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
30601 (grub_ata_initialize): Rewritten.
30602 (grub_ata_device_initialize): New function.
30603
8d23f507 306042008-08-04 Pavel Roskin <proski@gnu.org>
30605
30606 * kern/main.c: Include grub/mm.h.
30607
5e15ee3d 306082008-08-04 Robert Millan <rmh@aybabtu.com>
30609
30610 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
30611 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
30612 corruption problem).
30613
a9053f8f 306142008-08-04 Robert Millan <rmh@aybabtu.com>
30615
30616 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
30617 warnings introduced in my last commit.
30618
dd19c7d7 306192008-08-03 Robert Millan <rmh@aybabtu.com>
30620
30621 Make PCI available on all i386 architectures.
30622
30623 * include/grub/i386/pc/pci.h: Move from here ...
30624 * include/grub/i386/pci.h: ... to here.
30625
30626 * include/grub/i386/pc/pci.h: Remove.
30627 * include/grub/i386/efi/pci.h: Remove.
30628 * include/grub/x86_64/efi/pci.h: Remove.
30629
30630 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
30631 `<grub/cpu/pci.h>'.
30632
30633 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
30634 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
30635 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
30636
30637 * conf/i386-ieee1275.rmk: Likewise.
30638
e14a6184 306392008-08-03 Robert Millan <rmh@aybabtu.com>
30640
30641 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
30642 (grub_console_setcursor): Make it possible to set cursor off.
30643
52768e37 306442008-08-03 Robert Millan <rmh@aybabtu.com>
30645
30646 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
30647 of modules instead of assuming which platform provides what.
30648 * util/update-grub.in: Likewise.
30649
2d52f57f 306502008-08-03 Robert Millan <rmh@aybabtu.com>
30651
30652 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
30653 instead of `grub_install_dos_part' to determine whether a drive needs
30654 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 30655 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 30656
2a5cd121 306572008-08-02 Robert Millan <rmh@aybabtu.com>
30658
30659 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
30660
93808428 306612008-08-02 Robert Millan <rmh@aybabtu.com>
30662
30663 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
30664 of informational grub_dprintf() calls.
30665
3bd0a12a 306662008-08-02 Robert Millan <rmh@aybabtu.com>
30667
30668 * disk/memdisk.c (memdisk_size): Don't initialize.
30669 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
30670
30671 * include/grub/i386/pc/kernel.h
30672 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
30673 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
30674 (grub_memdisk_image_size, grub_arch_memdisk_addr)
30675 (grub_arch_memdisk_size): Remove.
30676
30677 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
30678 field (was only used to transfer a constant). Add `type' field to
30679 support multiple module types.
30680 (grub_module_iterate): New function.
30681
30682 * kern/device.c (grub_device_open): Do not hide error messages
30683 when grub_disk_open() fails. Use grub_print_error() instead.
30684
30685 * kern/i386/pc/init.c (grub_arch_modules_addr)
30686 (grub_arch_memdisk_size): Remove functions.
30687 (grub_arch_modules_addr): Return the module address in high memory
30688 (now that it isn't copied anymore).
30689
30690 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
30691 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
30692 decompression routine (grub_total_module_size already includes that
30693 now). Don't copy modules back to low memory.
30694
30695 * kern/main.c: Include `<grub/mm.h>'.
30696 (grub_load_modules): Split out (and use) ...
30697 (grub_module_iterate): ... this function, which iterates through
30698 module objects and runs a hook.
30699 Comment out grub_mm_init_region() call, as it would cause non-ELF
30700 modules to be overwritten.
30701
30702 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
30703 the memdisk image in its own region, make it part of the module list.
30704 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
30705 (main): Parse --memdisk|-m option, and pass user-provided path as
30706 parameter to generate_image().
30707 (add_segments): Pass `memdisk_path' down to load_modules().
30708 (load_modules): Embed memdisk image in module section when requested.
30709 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
30710 `header.type' instead of `header.offset'.
30711
30712 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
30713 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
30714 (memdisk_mod_LDFLAGS): New variables.
30715 * conf/i386-coreboot.rmk: Likewise.
30716 * conf/i386-ieee1275.rmk: Likewise.
30717
a927cc73 307182008-08-02 Robert Millan <rmh@aybabtu.com>
30719
30720 * loader/i386/pc/multiboot.c (playground, forward_relocator)
30721 (backward_relocator): New variables. Used to allocate and relocate
30722 the payload, respectively.
30723 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 30724 address, install the appropriate relocator code in each bound of
a927cc73 30725 the payload, and set the entry point such that
30726 grub_multiboot_real_boot() will jump to one of them.
30727
30728 * kern/i386/loader.S (grub_multiboot_payload_size)
30729 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
30730 (grub_multiboot_payload_entry_offset): New variables.
30731 (grub_multiboot_real_boot): Set cpu context to what the relocator
30732 expects, and jump to the relocator instead of the payload.
30733
30734 * include/grub/i386/loader.h (grub_multiboot_payload_size)
30735 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
30736 (grub_multiboot_payload_entry_offset): Export.
30737
b15d8a0c 307382008-08-01 Bean <bean123ch@gmail.com>
30739
30740 * normal/menu_entry.c (editor_getline): Don't return the original
30741 string as result, as it will be released by lexer once it has done
30742 using it.
30743
cdfb3d22 307442008-08-01 Robert Millan <rmh@aybabtu.com>
30745
30746 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
30747 within menuentries, not before them.
30748 util/grub.d/10_hurd.in: Likewise.
30749
9175e93d 307502008-08-01 Bean <bean123ch@gmail.com>
30751
30752 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
30753 (bufio_mod_SOURCES): New macro.
30754 (bufio_mod_CFLAGS): Likewise.
30755 (bufio_mod_LDFLAGS): Likewise.
30756
30757 * include/grub/bufio.h: New file.
30758
30759 * io/bufio.c: Likewise.
30760
30761 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
30762 (grub_video_reader_png): Use grub_buffile_open to open file.
30763
30764 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
30765 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
30766
30767 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
30768 (grub_video_reader_tga): Use grub_buffile_open to open file.
30769
30770 * font/manager.c: Include <grub/bufio.h>.
30771 (add_font): Use grub_buffile_open to open file.
30772
3d8383e7 307732008-07-31 Robert Millan <rmh@aybabtu.com>
30774
30775 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
30776 ELF segments, use a macro for arbitrarily accessing any of them instead
30777 of preparing a pointer that allows access to one at a time.
30778 (grub_multiboot_load_elf64): Likewise.
30779
16e641b6 307802008-07-31 Bean <bean123ch@gmail.com>
30781
30782 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
30783 GRUB_KERNEL_MACHINE_DATA_END.
30784
59198b72 307852008-07-30 Robert Millan <rmh@aybabtu.com>
30786
30787 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
30788 Increase from 0x50 to 0x60.
30789 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
30790 use UUIDs to identify the root drive for them. If that's not
30791 possible, abort.
30792 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
30793 check, for cross-disk installs.
30794
ae88bca3 307952008-07-30 Robert Millan <rmh@aybabtu.com>
30796
30797 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
30798 is non-empty, use it to set the `prefix' environment variable instead
30799 of the usual approach.
30800 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
30801 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
30802 environment variable instead of dummy make_install_device().
30803
30804 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
30805 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 30806 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 30807
30808 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
30809 New variable reference.
30810 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
30811 New macro. Defines offset of `grub_prefix' within startup.S (relative
30812 to `start').
30813 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
30814 section within startup.S (relative to `start').
30815 * include/grub/i386/coreboot/kernel.h: Likewise.
30816
30817 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
30818 Overwrite grub_prefix with its contents, at the beginning of the
30819 first segment.
30820 (main): Understand -p|--prefix.
30821
14f41dd1 308222008-07-30 Robert Millan <rmh@aybabtu.com>
30823
30824 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
30825
4ca049a3 308262008-07-30 Robert Millan <rmh@aybabtu.com>
30827
30828 * term/i386/pc/vga_text.c (grub_console_cls): Use
30829 grub_console_gotoxy() to go back to beginning of the screen.
30830 Found by Patrick Georgi <patrick.georgi@coresystems.de>
30831
2921d337 308322008-07-29 Christian Franke <franke@computer.org>
30833
30834 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
30835 Add conversion of emulated mount points on Cygwin.
30836
b609876d 308372008-07-29 Christian Franke <franke@computer.org>
30838
30839 * util/update-grub.in: Add a check for admin
30840 group on Cygwin.
30841 Remove old `grub.cfg.new' before creation.
30842 Add `-f' to `mv' to handle the different filesystem
30843 semantics of Windows.
30844
e93e4679 308452008-07-29 Bean <bean123ch@gmail.com>
30846
30847 * normal/main.c (get_line): Fix buffer overflow bug.
30848
41694fd0 308492008-07-28 Robert Millan <rmh@aybabtu.com>
30850
30851 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
30852 (struct grub_apple_header): New struct. Describes the layout of
30853 the partmap header.
30854 (apple_partition_map_iterate): Check the header magic as well as the
30855 partition magic (which was already being checked).
30856
cfd0b4e6 308572008-07-28 Pavel Roskin <proski@gnu.org>
30858
30859 * genmk.rb: Add a warning to the beginning of the output that
30860 it's a generated file and should not be edited.
30861
93cce016 308622008-07-28 Robert Millan <rmh@aybabtu.com>
30863
30864 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
30865 with the same number are found, just use issue a warning with
30866 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 30867
cd1df915 308682008-07-27 Robert Millan <rmh@aybabtu.com>
30869
30870 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
30871 information.
30872
b70a8427 308732008-07-27 Bean <bean123ch@gmail.com>
30874
30875 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
30876 (grub_fat_find_dir): Ignore case when comparing filename.
30877
8f5e379f 308782008-07-27 Bean <bean123ch@gmail.com>
30879
30880 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
30881 smallino, as it's more descriptive, and i8count can be confused with
30882 the other field count.
30883 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
30884 inode type.
30885
a85cd5a0 308862008-07-27 Bean <bean123ch@gmail.com>
30887
30888 * commands/crc.c: New file.
30889
30890 * lib/crc.c: Likewise.
30891
30892 * include/grub/lib/crc.h: Likewise.
30893
30894 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
30895
30896 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
30897 (hexdump): Move this function to ...
30898
30899 * lib/hexdump.c: ... here.
30900
30901 * include/grub/hexdump.h: Renamed to ...
30902
30903 * include/grub/lib/hexdump.h: ... this.
30904
30905 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
30906
30907 * util/grub-editenv.c: Likewise.
30908
30909 * include/envblk.h: Renamed to ...
30910
30911 * include/lib/envblk.h: ... this.
30912
30913 * util/envblk.c: Renamed to ...
30914
30915 * lib/envblk.c: ... this.
30916
30917 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
30918 lib/hexdump.c.
30919 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
30920 (pkglib_MODULES): Add crc.mod.
30921 (hexdump_mod_SOURCES): Add lib/hexdump.c.
30922 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
30923 (crc_mod_SOURCES): New macro.
30924 (crc_mod_CFLAGS): Likewise.
30925 (crc_mod_LDFLAGS): Likewise.
30926
30927 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
30928
30929 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30930
30931 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30932
30933 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30934
30935 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30936
c298def0 309372008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 30938
30939 * commands/help.c: Include <grub/term.h>.
30940 (TERM_WIDTH): Removed. Updated all users.
30941
cc349fb3 309422008-07-27 Pavel Roskin <proski@gnu.org>
30943
30944 * util/getroot.c (find_root_device): Rephrase a comment to avoid
30945 spurious warnings about a comment within a comment.
30946
9051607e 309472008-07-25 Robert Millan <rmh@aybabtu.com>
30948
30949 * util/getroot.c (find_root_device): Skip devices that match
30950 /dev/dm-[0-9]. This lets the real device be found for any type of
30951 abstraction (LVM, EVMS, RAID..).
30952 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
30953 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
30954 device is found first, find_root_device() will now skip it.
30955
01453bfc 309562008-07-24 Pavel Roskin <proski@gnu.org>
30957
30958 * include/grub/types.h: Use __builtin_bswap32() and
30959 __builtin_bswap64() with gcc 4.3 and newer.
30960
6af9849f 309612008-07-24 Christian Franke <franke@computer.org>
30962
3a0fa256 30963 * util/i386/pc/grub-install.in: If `--debug' is specified,
30964 pass `--verbose' to grub-setup.
30965 Abort script if make_system_path_relative_to_its_root() fails.
30966
7810e747 309672008-07-24 Bean <bean123ch@gmail.com>
30968
30969 * configure.ac: Fixed a bug caused by the previous cygwin patch,
30970 variable `target_platform' should be `platform'.
30971
42290e17 309722008-07-24 Bean <bean123ch@gmail.com>
30973
51cc5193 30974 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 30975 (grub_png_init_fixed_block): New function.
30976 (grub_png_decode_image_data): Handle fixed huffman code compression.
30977
2a8a80e4 309782008-07-24 Bean <bean123ch@gmail.com>
30979
30980 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
30981 (grub_pe2elf_SOURCES): New macro.
30982 (CLEANFILES): Add grub-pe2elf.
30983
30984 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
30985 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
30986 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
30987 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
30988 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
30989 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
30990 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
30991 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
30992 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
30993 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
30994 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
30995 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
30996 (GRUB_PE32_DT_FUNCTION): Likewise.
30997 (GRUB_PE32_REL_I386_DIR32): Likewise.
30998 (GRUB_PE32_REL_I386_REL32): Likewise.
30999 (grub_pe32_symbol): New structure.
31000 (grub_pe32_reloc): Likewise.
31001
31002 * util/grub-pe2elf.c: New file.
31003
31004 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
31005 start symbol in non pc platform.
31006
31007 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
31008
31009 The following patches are from Christian Franke.
31010
31011 * include/grub/dl.h: Remove .previous, gas supports this only
31012 for ELF format.
31013
31014 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
31015 Remove .type, gas supports this only for ELF format.
31016
31017 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
31018 nullbytes in symbol table. This fixes an infinite loop if table is
31019 zero filled.
31020
31021 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
31022 TARGET_IMG_LDFLAGS and EXEEXT.
31023
31024 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
31025 TARGET_IMG_LDFLAGS_AC.
31026 (grub_CHECK_STACK_ARG_PROBE): New function.
31027
31028 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
31029
31030 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
31031
31032 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
31033 to set TARGET_IMG_LD* accordingly.
31034 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
31035 Add call to grub_CHECK_STACK_ARG_PROBE.
31036 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
31037
31038 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
31039
31040 * genmk.rb: Add EXEEXT to CLEANFILES.
31041
12ccdb75 310422008-07-23 Robert Millan <rmh@aybabtu.com>
31043
31044 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
31045 define the codes for arrows and lines used for the menu).
31046 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
31047 as well.
31048
31049 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
31050 fonts, because the latter are too slow.
31051
18eeaf04 310522008-07-21 Bean <bean123ch@gmail.com>
31053
31054 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
31055 a20. Run keyboard test last, as it will cause macbook to halt.
31056
b095e2ad 310572008-07-18 Pavel Roskin <proski@gnu.org>
31058
31059 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
31060 load foreign architecture modules correctly anyway. Keep
31061 support for loading host architecture modules, whether we
31062 compile them or not.
31063
737feb35 310642008-07-17 Pavel Roskin <proski@gnu.org>
31065
3f4ce737 31066 * configure.ac: Use -m32 or -m64 regardless of whether we had to
31067 change target_cpu. The compiler default can mismatch target_cpu
31068 in any case.
31069
4ad2d049 31070 * disk/efi/efidisk.c: Fix format warnings on x86_64.
31071 * kern/efi/efi.c: Likewise.
31072
f6130a12 31073 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
31074 target compiler is functional.
31075 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
31076 are set up.
31077
58393a2d 31078 * configure.ac: Default to efi platform for x86_64-apple. Allow
31079 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
31080 adjustments from the rest, only do them if target is not
31081 explicitly given. Merge other adjustments with the final sanity
31082 check. Remove an extraneous check for supported CPU. Be
31083 specific which CPU and which platform is not supported.
31084
737feb35 31085 * configure.ac: Default to pc platform for x86_64.
31086
546f966a 310872008-07-17 Robert Millan <rmh@aybabtu.com>
31088
31089 Partial LinuxBIOS -> Coreboot rename.
31090
31091 * conf/i386-linuxbios.rmk: Renamed to ...
31092 * conf/i386-coreboot.rmk: ... this.
31093 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
31094 * configure.ac: Accept "coreboot" as input platform (but maintain
31095 compatibility with "linuxbios").
31096 * include/grub/i386/linuxbios: Renamed to ...
31097 * include/grub/i386/coreboot: ... this.
31098
20011694 310992008-07-17 Bean <bean123ch@gmail.com>
31100
31101 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 31102 (appleldr_mod_SOURCE): New variable.
20011694 31103 (appleldr_mod_CFLAGS): Likewise.
31104 (appleldr_mod_LDFLAGS): Likewise.
31105 (pci_mod_SOURCES): Likewise.
31106 (pci_mod_CFLAGS): Likewise.
31107 (pci_mod_LDFLAGS): Likewise.
31108 (lspci_mod_SOURCES): Likewise.
31109 (lspci_mod_CFLAGS): Likewise.
31110 (lspci_mod_LDFLAGS): Likewise.
31111
31112 * conf/x86_64-efi.rmk: New file.
31113
31114 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
31115 macro.
31116 (grub_efidisk_write): Likewise.
31117
31118 * include/efi/api.h (efi_call_0): New macro.
31119 (efi_call_1): Likewise.
31120 (efi_call_2): Likewise.
31121 (efi_call_3): Likewise.
31122 (efi_call_4): Likewise.
31123 (efi_call_5): Likewise.
31124 (efi_call_6): Likewise.
31125
31126 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
31127 grub_rescue_cmd_chainloader.
31128
31129 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
31130 (grub_pe32_optional_header): Change some fields based on i386 or
31131 x86_64 platform.
31132 (GRUB_PE32_PE32_MAGIC): Likewise.
31133
31134 * include/grub/efi/uga_draw.h: New file.
31135
31136 * include/grub/elf.h (STN_ABS): New constant.
31137 (R_X86_64_NONE): Relocation constant for x86_64.
31138 (R_X86_64_64): Likewise.
31139 (R_X86_64_PC32): Likewise.
31140 (R_X86_64_GOT32): Likewise.
31141 (R_X86_64_PLT32): Likewise.
31142 (R_X86_64_COPY): Likewise.
31143 (R_X86_64_GLOB_DAT): Likewise.
31144 (R_X86_64_JUMP_SLOT): Likewise.
31145 (R_X86_64_RELATIVE): Likewise.
31146 (R_X86_64_GOTPCREL): Likewise.
31147 (R_X86_64_32): Likewise.
31148 (R_X86_64_32S): Likewise.
31149 (R_X86_64_16): Likewise.
31150 (R_X86_64_PC16): Likewise.
31151 (R_X86_64_8): Likewise.
31152 (R_X86_64_PC8): Likewise.
31153
31154 * include/grub/i386/efi/pci.h: New file.
31155
31156 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
31157 Change it value based on platform.
31158 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
31159 (GRUB_E820_RAM): Likewise.
31160 (GRUB_E820_RESERVED): Likewise.
31161 (GRUB_E820_ACPI): Likewise.
31162 (GRUB_E820_NVS): Likewise.
31163 (GRUB_E820_EXEC_CODE): Likewise.
31164 (GRUB_E820_MAX_ENTRY): Likewise.
31165 (grub_e820_mmap): New structure.
31166 (linux_kernel_header): Change the efi field according to different
31167 kernel version, also field from linux_kernel_header.
31168
31169 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
31170
31171 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
31172 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
31173 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
31174 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
31175 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
31176 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
31177 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
31178 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
31179 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
31180 (GRUB_PCI_ADDR_IO_MASK): Likewise.
31181
31182 * include/grub/x86_64/efi/kernel.h: New file.
31183
31184 * include/grub/x86_64/efi/loader.h: Likewise.
31185
31186 * include/grub/x86_64/efi/machine.h: Likewise.
31187
31188 * include/grub/x86_64/efi/pci.h: Likewise.
31189
31190 * include/grub/x86_64/efi/time.h: Likewise.
31191
31192 * include/grub/x86_64/linux.h: Likewise.
31193
31194 * include/grub/x86_64/setjmp.h: Likewise.
31195
31196 * include/grub/x86_64/time.h: Likewise.
31197
31198 * include/grub/x86_64/types.h: Likewise.
31199
31200 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
31201 GRUB_TARGET_SIZEOF_VOID_P.
31202
31203 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
31204 (grub_efi_locate_handle): Likewise.
31205 (grub_efi_open_protocol): Likewise.
31206 (grub_efi_set_text_mode): Likewise.
31207 (grub_efi_stall): Likewise.
31208 (grub_exit): Likewise.
31209 (grub_reboot): Likewise.
31210 (grub_halt): Likewise.
31211 (grub_efi_exit_boot_services): Likewise.
31212 (grub_get_rtc): Likewise.
31213
31214 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
31215 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
31216 (grub_efi_allocate_pages): Wrap efi calls.
31217 (grub_efi_free_pages): Wrap efi calls.
31218 (grub_efi_get_memory_map): Wrap efi calls.
31219
31220 * kern/x86_64/dl.c: New file.
31221
31222 * kern/x86_64/efi/callwrap.S: Likewise.
31223
31224 * kern/x86_64/efi/startup.S: Likewise.
31225
31226 * loader/efi/appleloader.c: Likewise.
31227
31228 * loader/efi/chainloader.c (cmdline): New variable.
31229 (grub_chainloader_unload): Wrap efi calls.
31230 (grub_chainloader_boot): Likewise.
31231 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
31232 command line.
31233
31234 * loader/efi/chainloader_normal.c (chainloader_command):
31235 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
31236 command line.
31237
31238 * loader/i386/efi/linux.c (allocate_pages): Change allocation
31239 method.
31240 (grub_e820_add_region): New function.
31241 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
31242 booting.
31243 (grub_find_video_card): New function.
31244 (grub_linux_setup_video): New function.
31245 (grub_rescue_cmd_linux): Probe for video information.
31246
31247 * normal/x86_64/setjmp.S: New file.
31248
31249 * term/efi/console.c (map_char): New function.
31250 (grub_console_putchar): Map unicode char.
31251 (grub_console_checkkey): Wrap efi calls.
31252 (grub_console_getkey): Likewise.
31253 (grub_console_getwh): Likewise.
31254 (grub_console_gotoxy): Likewise.
31255 (grub_console_cls): Likewise.
31256 (grub_console_setcolorstate): Likewise.
31257 (grub_console_setcursor): Likewise.
31258
31259 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
31260
59652a20 312612008-07-16 Pavel Roskin <proski@gnu.org>
31262
ef294055 31263 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
31264 format strings.
31265
59652a20 31266 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
31267 pointer, not an integer. This fixes a warning and prevents
31268 precision loss on 64-bit systems.
31269 (relocate_addresses): Remove unneeded cast.
31270
afc3b5d7 312712008-07-15 Pavel Roskin <proski@gnu.org>
31272
506b2b3e 31273 * kern/i386/ieee1275/init.c: Include grub/cache.h.
31274
62ead89c 31275 * term/ieee1275/ofconsole.c: Disable code unused on i386.
31276
c4cd51d7 31277 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
31278 Fix comparison between signed and unsigned.
31279
0d3d8f28 31280 * include/grub/i386/ieee1275/console.h: Declare
31281 grub_console_init() and grub_console_fini().
31282
8804b286 31283 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
31284 It's empty and unused.
31285
ee01cf35 31286 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
31287 beginning to avoid warnings with some compilers.
31288
afc3b5d7 31289 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
31290 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
31291
e4e8eaa5 312922008-07-14 Pavel Roskin <proski@gnu.org>
31293
407aceb4 31294 * kern/env.c (grub_register_variable_hook): Don't copy empty
31295 string, it leaks memory. Pass "" to grub_env_set(), it should
31296 handle constant strings.
31297
e4e8eaa5 31298 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
31299 * commands/cmp.c (grub_cmd_cmp): Likewise.
31300 * kern/dl.c (grub_dl_flush_cache): Likewise.
31301 (grub_dl_load_core): Likewise.
31302 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
31303 (grub_elf64_load_phdrs): Likewise.
31304
d4e2dad3 313052008-07-13 Pavel Roskin <proski@gnu.org>
31306
31307 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
31308 between signed and unsigned.
31309 (LzmaEnc_Finish): Fix warning about an unused parameter.
31310
aa24b516 313112008-07-13 Bean <bean123ch@gmail.com>
31312
31313 * Makefile.in (enable_lzo): New rule.
31314
31315 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
31316
31317 * configure.ac (ENABLE_LZO): New option --enable-lzo.
31318
31319 * boot/i386/pc/lnxboot.S: #include <config.h>.
31320
31321 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 31322 its value according to the compression algorithm used, lzo or lzma.
aa24b516 31323
31324 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
31325 compression algorithm according to configure macro.
31326
31327 * kern/i386/pc/startup.S (codestart): Likewise.
31328
31329 * kern/i386/pc/lzma_decode.S: New file.
31330
31331 * include/grub/lib/LzFind.h: Likewise.
31332
31333 * include/grub/lib/LzHash.h: Likewise.
31334
31335 * include/grub/lib/LzmaDec.h: Likewise.
31336
31337 * include/grub/lib/LzmaEnc.h: Likewise.
31338
31339 * include/grub/lib/LzmaTypes.h: Likewise.
31340
31341 * lib/LzFind.c: Likewise.
31342
31343 * lib/LzmaDec.c: Likewise.
31344
31345 * lib/LzmaEnc.c: Likewise.
31346
4ae821ac 313472008-07-13 Bean <bean123ch@gmail.com>
31348
31349 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
31350 (grub_ext4_extent_header): New structure.
31351 (grub_ext4_extent): Likewise.
31352 (grub_ext4_extent_idx): Likewise.
31353 (grub_ext4_find_leaf): New function.
31354 (grub_ext2_read_block): Handle extents.
31355
9a745147 313562008-07-12 Robert Millan <rmh@aybabtu.com>
31357
31358 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
31359
d49a4cf6 313602008-07-11 Robert Millan <rmh@aybabtu.com>
31361
31362 * util/grub.d/40_custom.in: New file. Example on how to add custom
31363 entries to /etc/grub.d.
31364 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
31365 40_custom (implicitly, by merging all the grub.d rules).
31366
947414b4 313672008-07-11 Pavel Roskin <proski@gnu.org>
31368
0059cf6f 31369 * commands/read.c (grub_getline): Fix invalid memory access.
31370 Don't add newline to the variable value.
31371
947414b4 31372 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
31373 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
31374 (serial_hw_get_port): Check validity of the port number.
31375 (grub_cmd_serial): Check return value of serial_hw_get_port().
31376
62a02d00 313772008-07-07 Pavel Roskin <proski@gnu.org>
31378
31379 * boot/i386/pc/diskboot.S (notification_string): Replace
31380 "Loading kernel" with just "loading". This is shorter, less
31381 confusing and saves a few bytes for possible future changes.
31382
3e5581b0 313832008-07-05 Pavel Roskin <proski@gnu.org>
31384
ea387a48 31385 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
31386 size for ATAPI devices, they are undefined. Output sector
31387 number in decimal form.
31388
3e5581b0 31389 * disk/ata.c: Use named constants for status bits.
31390
fdecb8fd 313912008-07-04 Pavel Roskin <proski@gnu.org>
31392
bcd35b90 31393 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
31394 grub_addr_t before casting it to the void pointer to fix a
31395 warning. Non-addressable regions are discarded earlier.
31396 (grub_arch_modules_addr): Cast _end to grub_addr_t.
31397 * kern/i386/linuxbios/table.c: Include grub/misc.h.
31398 (check_signature): Don't shadow table_header.
31399 (grub_linuxbios_table_iterate): Cast numeric constants to
31400 grub_linuxbios_table_header_t.
31401 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
31402 grub_stop().
31403
af58ab3d 31404 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
31405 prevent warnings.
31406
1759aa57 31407 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
31408 pointer, which can cause warnings. Support 64-bit addresses.
31409
fdecb8fd 31410 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
31411 of sizeof(long). This fixes PowerPC image generation on x86_64.
31412
8516d2a8 314132008-07-04 Robert Millan <rmh@aybabtu.com>
31414
31415 This fixes a performance issue when pc & gpt partmap iterators
31416 didn't abort iteration even after our hook found what it was
fe987087 31417 looking for (often causing expensive probes of non-existent drives).
8516d2a8 31418
31419 Some callers relied on previous buggy behaviour, since they would
34c44600 31420 raise an error when their own hooks caused early abortion of its
8516d2a8 31421 iteration.
31422
31423 * kern/device.c (grub_device_open): Improve error message.
31424 * disk/lvm.c (grub_lvm_open): Likewise.
31425 * disk/raid.c (grub_raid_open): Likewise.
31426
31427 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
31428 when hook requests it, independently of grub_errno.
31429 (pc_partition_map_probe): Do not fail when find_func() caused
31430 early abortion of pc_partition_map_iterate().
31431
31432 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
31433 when hook requests it, independently of grub_errno.
31434 (gpt_partition_map_probe): Do not fail when find_func() caused
31435 early abortion of gpt_partition_map_iterate().
31436
31437 * kern/partition.c (grub_partition_iterate): Abort parent iteration
31438 when hook requests it, independently of grub_errno. Do not fail when
31439 part_map_iterate_hook() caused early abortion of p->iterate().
31440
31441 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
31442 when grub_partition_iterate() returned with non-zero.
31443
277d0de9 314442008-07-03 Pavel Roskin <proski@gnu.org>
31445
31446 * disk/ata.c (grub_ata_pio_write): Check status before writing,
31447 like we do in grub_ata_pio_read().
31448 (grub_ata_readwrite): Always write individual sectors. Fix the
31449 sector count for the remainder.
31450 (grub_ata_write): Enable writing to ATA devices. Correctly
31451 report error for ATAPI devices.
31452
d4c9b428 314532008-07-02 Pavel Roskin <proski@gnu.org>
31454
e43fc690 31455 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
31456 warning.
31457
f707af42 31458 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
31459 for every read sector, we already increment it for the whole
31460 batch. This fixes reading more than 256 sectors at once.
31461
11e16b15 31462 * util/grub-editenv.c (cmd_info): Cast argument to long
31463 explicitly. ptrdiff_t reduces to int on i386.
31464
cbabfdd4 31465 * util/grub-editenv.c (main): Be specific which parameter is
31466 missing.
31467
b8fbce0a 31468 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
31469 (memdisk): Make memdisk_orig_addr a pointer.
31470
c9c8e606 31471 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
31472 for file offsets, use grub_off_t instead. Fix printf format
31473 warnings.
31474
ca62e598 31475 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
31476 there. Real unexpected warnings should not drown in the noise
31477 about known problems.
31478
ce8d1766 31479 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
31480 grub_disk_addr_t for memory addresses.
31481
00c7a56a 31482 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
31483 explicitly to fix a warning.
31484
08d3ef09 31485 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
31486
cb71ba20 31487 * Makefile.in (MODULE_LDFLAGS): New variable.
31488 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
31489 the linker accepts --build-id=none.
31490 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
31491 MODULE_LDFLAGS.
31492 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
31493
d4c9b428 31494 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
31495 those in Linux XFS code. Provide a way to access 64-bit parent
31496 inode.
31497 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
31498 the end of struct grub_xfs_dir_header.
31499
d4156eee 315002008-07-02 Bean <bean123ch@gmail.com>
31501
31502 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
31503 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
31504 and GRUB_IEEE1275_FLAG_NO_ANSI.
31505
31506 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
31507 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
31508 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
31509
31510 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
31511 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
31512
31513 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
31514 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
31515
31516 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
31517 esc sequence on non ANSI terminal.
31518 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
31519
31520 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
31521 beginning of file.
31522
2270f77b 315232008-07-02 Bean <bean123ch@gmail.com>
31524
31525 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
31526 (grub_editenv_SOURCES): New variable.
31527 (pkglib_MODULES): Add loadenv.mod.
31528 (loadenv_mod_SOURCES): New variable.
31529 (loadenv_mod_CFLAGS): Likewise.
31530 (loadenv_mod_LDFLAGS): Likewise.
31531
31532 * include/grub/envblk.h: New file.
31533
31534 * util/envblk.c: New file.
31535
31536 * util/grub-editenv.c: New file.
31537
31538 * commands/loadenv.c: New file.
31539
0e9e51ec 315402008-07-01 Pavel Roskin <proski@gnu.org>
31541
d89b7634 31542 * include/multiboot2.h (struct multiboot_tag_module): Use char,
31543 not unsigned char. This fixes warnings and is consistent with
31544 other tags.
31545
bf1835b1 31546 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
31547
8222a04b 31548 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
31549
6a42d99d 31550 * term/tparm.c (analyze): Always set *popcount.
31551
10b159d1 31552 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
31553 cast to fix a warning.
31554
b8789f6c 31555 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
31556 cast to suppress a warning.
31557
29d7e38a 31558 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
31559 grub_fshelp_read_file() expects.
31560
f341f669 31561 * fs/fat.c: Fix UUID calculation on big-endian systems. We
31562 write uuid as a 32-bit value in CPU byte order, so declare and
31563 use it as such.
31564
0e9e51ec 31565 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
31566 long if the format specifier expects it.
31567 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
31568 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31569 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
31570 long to fix a warning.
31571 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
31572 grub_dprintf() arguments to fix warnings.
31573
3aefa857 315742008-06-30 Pavel Roskin <proski@gnu.org>
31575
56c7668b 31576 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
31577 install_bsd_part immediately before core.img is embedded or
31578 modified on disk. This fixes core.img verification if core.img
31579 cannot be embedded.
31580
3aefa857 31581 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
31582 core_path to calculate the blocklist.
31583 Patch from Javier Martín <lordhabbit@gmail.com>
31584
5444088d 315852008-06-29 Robert Millan <rmh@aybabtu.com>
31586
31587 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
31588 block to disk block.
31589 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
31590 Patch from Niels Böhm <bitbucket@arcor.de>
31591
674835c8 315922008-06-29 Robert Millan <rmh@aybabtu.com>
31593
31594 * util/update-grub_lib.in (font_path): Search for fonts in
31595 /boot/grub first, which is more likely to be readable (we aren't
31596 deciding where fonts live, just looking for them).
31597
f527dbc8 315982008-06-26 Pavel Roskin <proski@gnu.org>
31599
6c2d8df6 31600 * util/biosdisk.c (read_device_map): Don't leave dead map
31601 entries for devices failing stat() check.
31602
f527dbc8 31603 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
31604 core_path_dev for the core.img path on the target device.
31605
aebe3d13 316062008-06-26 Robert Millan <rmh@aybabtu.com>
31607
31608 * disk/fs_uuid.c: New file.
31609 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
31610 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
31611 (fs_uuid_mod_LDFLAGS): New variables.
31612 * include/grub/disk.h (grub_disk_dev_id): Add
31613 `GRUB_DISK_DEVICE_UUID_ID'.
31614 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
31615 implement iterate().
31616
37aaf354 316172008-06-26 Robert Millan <rmh@aybabtu.com>
31618
31619 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
31620 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
31621 Linux image includes no initrd.
31622
25ff262a 316232008-06-21 Javier Martín <lordhabbit@gmail.com>
31624
31625 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
31626 call to resolve the core image location that effectively appended the
31627 name twice.
31628
76a2bd44 316292008-06-21 Robert Millan <rmh@aybabtu.com>
31630
31631 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
31632 call from here ...
31633
31634 * util/grub.d/10_hurd.in: ... to here ...
31635 * util/grub.d/10_linux.in: ... and here.
31636
650e1c79 316372008-06-19 Robert Millan <rmh@aybabtu.com>
31638
fe987087 31639 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 31640 after it has been set by grub_machine_set_prefix().
31641
6ce63911 316422008-06-19 Robert Millan <rmh@aybabtu.com>
31643
31644 * commands/search.c (search_label, search_fs_uuid, search_file): Print
31645 search result when not saving to variable, not the other way around.
31646 When saving to variable, abort iteration as soon as a match is found.
31647
73940cec 316482008-06-19 Robert Millan <rmh@aybabtu.com>
31649
31650 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
31651 check for partition that provides /boot/grub. Its logic is flawed,
31652 as it prevents prepare_grub_to_access_device() from being called
31653 multiple times.
31654
3c62a39d 316552008-06-19 Robert Millan <rmh@aybabtu.com>
31656
31657 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
31658 "insmod" command directly when abstraction modules are needed,
fe987087 31659 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 31660 since it had already been processed).
31661
47395a42 316622008-06-19 Pavel Roskin <proski@gnu.org>
31663
31664 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
31665 changed. This is needed in case GRUB_LIBDIR changes.
31666 * conf/i386-ieee1275.rmk: Likewise.
31667 * conf/i386-linuxbios.rmk: Likewise.
31668 * conf/i386-pc.rmk: Likewise.
31669 * conf/powerpc-ieee1275.rmk: Likewise.
31670
a145ac2d 316712008-06-18 Pavel Roskin <proski@gnu.org>
31672
31673 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
31674 kernel_elf_symlist.c to symlist.c for consistency with other
31675 architectures. Update all users.
31676 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31677
7847c51e 316782008-06-18 Robert Millan <rmh@aybabtu.com>
31679
31680 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
31681 it in prefix.
31682
31683 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
31684 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
31685 a RAID device, run setup() for all members independently on whether
31686 LVM abstraction is being used.
31687 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
31688 If grub-mkimage has set `*install_dos_part == -2', don't override this
31689 value.
31690 Perform *install_dos_part adjustments independently on whether
31691 we're embedding or not.
31692 Clarify error message when image is too big for embedding.
31693 Remove duplicate *install_dos_part stanza.
31694
b23e5644 316952008-06-17 Robert Millan <rmh@aybabtu.com>
31696
31697 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
31698 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
31699 variables.
31700 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
31701 values in grub_ofconsole_normal_color and
31702 grub_ofconsole_highlight_color (they're not directly related to
31703 background and foreground).
31704 (grub_ofconsole_setcolorstate): Extract background and foreground
31705 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
31706
0aac2f79 317072008-06-17 Robert Millan <rmh@aybabtu.com>
31708
31709 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
31710 /boot/grub for the check in last commit, not /boot (they could be
31711 different partitions).
31712
3cca7ef3 317132008-06-16 Robert Millan <rmh@aybabtu.com>
31714
31715 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
31716 asked to setup access for the same partition that provides /boot,
31717 don't bother using UUIDs since our root already has the value we
31718 want.
31719
347396d8 317202008-06-16 Robert Millan <rmh@aybabtu.com>
31721
31722 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
31723 I2O devices.
31724 Patch from Sven Mueller <sven@debian.org>.
31725
991477f8 317262008-06-16 Robert Millan <rmh@aybabtu.com>
31727
31728 * util/update-grub.in: Check for $EUID instead of $UID.
31729 Reported by Vincent Zweije.
31730
d31a32a1 317312008-06-16 Bean <bean123ch@gmail.com>
31732
fe987087 31733 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 31734 (grub_ext2_read_block): Likewise.
31735 (grub_ext2_read_inode): Likewise.
31736 (grub_ext2_mount): Likewise.
31737 (grub_ext2_close): Likewise.
31738 (grub_ext3_get_journal): Removed.
31739
fe987087 31740 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 31741 (grub_reiserfs_read_symlink): Likewise.
31742 (grub_reiserfs_mount): Likewise.
31743 (grub_reiserfs_open): Likewise.
31744 (grub_reiserfs_read): Likewise.
31745 (grub_reiserfs_close): Likewise.
31746 (grub_reiserfs_get_journal): Removed.
31747
31748 * fs/fshelp.c (grub_fshelp_read): Removed.
31749 (grub_fshelp_map_block): Likewise.
31750
31751 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
31752 (grub_fshelp_journal): Likewise.
31753 (grub_fshelp_read): Likewise.
31754 (grub_fshelp_map_block): Likewise.
31755
3540a760 317562008-06-16 Pavel Roskin <proski@gnu.org>
31757
31758 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
31759 floating point anymore.
31760 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
31761
95614c84 317622008-06-15 Pavel Roskin <proski@gnu.org>
31763
31764 * commands/ls.c (grub_ls_list_files): Use integer calculations
31765 for human readable format, avoid floating point use.
31766 * kern/misc.c (grub_ftoa): Remove.
31767 (grub_vsprintf): Remove floating point support.
31768
50465dd6 317692008-06-15 Robert Millan <rmh@aybabtu.com>
31770
fe6b695a 31771 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 31772 devices.
31773 Reported by Max Vozeler.
31774
a9207284 317752008-06-15 Robert Millan <rmh@aybabtu.com>
31776
31777 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
31778 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
31779 skipped later.
31780 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
31781 the beginning of the prefix.
31782
31783 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
31784 It is assumed that if we have a memdisk, grub-mkimage has set
31785 grub_prefix to include the "(memdisk)" drive in it.
31786
a7cbd45a 317872008-06-15 Robert Millan <rmh@aybabtu.com>
31788
31789 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
31790 Initialize keyboard controller after registering the terminal, so that
31791 grub_printf() can be called from grub_keyboard_controller_init().
31792
21cf716a 317932008-06-15 Robert Millan <rmh@aybabtu.com>
31794
31795 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
31796 extent-btree which is written as big endian on disk.
31797 Reported by Alain Greppin <al@chilibi.org>.
31798
23a64d8e 317992008-06-14 Robert Millan <rmh@aybabtu.com>
31800
31801 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
31802 * util/i386/pc/grub-install.in (modules): Likewise.
31803
d687651c 318042008-06-13 Pavel Roskin <proski@gnu.org>
31805
31806 * commands/ls.c (grub_ls_list_files): Fix format warnings.
31807
dfe9ddd4 318082008-06-13 Bean <bean123ch@gmail.com>
31809
31810 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
31811
31812 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
31813
31814 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
31815 to indicate sparse block.
31816
16ae7781 318172008-06-12 Pavel Roskin <proski@gnu.org>
31818
e6d1a308 31819 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
31820 number, grub_fshelp_read() does it for us.
31821
16ae7781 31822 * fs/fshelp.c (grub_fshelp_read): New function. Implement
31823 linear disk read with journal translation.
31824 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
31825 * include/grub/fshelp.h: Declare grub_fshelp_read().
31826
40fd3a2b 318272008-06-09 Pavel Roskin <proski@gnu.org>
31828
31829 * fs/minix.c (grub_minix_mount): Handle error reading
31830 superblock.
31831
f5679726 318322008-06-08 Robert Millan <rmh@aybabtu.com>
31833
31834 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
31835 don't append the RAID prefix afterwards.
31836 Reported by Clint Adams.
31837
ce525529 318382008-06-08 Robert Millan <rmh@aybabtu.com>
31839
31840 Based on description from Pavel:
31841 * kern/disk.c (grub_disk_check_range): Rename to ...
31842 (grub_disk_adjust_range): ... this. Add a comment explaining the
31843 tasks performed by this function.
31844
ad4936a0 318452008-06-08 Robert Millan <rmh@aybabtu.com>
31846
31847 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
31848 `num_serial' (for consistency with other variables).
31849 (struct grub_ntfs_data): Add `uuid' member.
31850 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
31851 (grub_ntfs_uuid): New function.
31852 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
31853
dc20b0f9 318542008-06-07 Pavel Roskin <proski@gnu.org>
31855
31856 * util/biosdisk.c (open_device): Revert last change to the
31857 function, it broke installation. The sector needs to be
31858 different dependent on which device is opened.
31859
c5e3cfba 318602008-06-06 Robert Millan <rmh@aybabtu.com>
31861
31862 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
31863 rest of GRUB, and breakage doesn't happen if its value were modified.
31864
31865 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31866 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
31867 a constant (same value).
31868 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
31869 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
31870
26a1f8c4 318712008-06-06 Robert Millan <rmh@aybabtu.com>
31872
31873 * util/biosdisk.c (open_device): Do not modify sector offset when
31874 accessing a partition. kern/disk.c already handles this for us.
31875
25d6b327 318762008-06-06 Robert Millan <rmh@aybabtu.com>
31877
31878 * util/grub-emu.c (grub_machine_init): Move code in this function from
31879 here ...
31880 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
31881 segfault in case grub_printf() is called).
31882
31883 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
31884 grub_probe. Update all users not to explicitly add it again.
31885 (grub_device): New variable; contains corresponding device for grubdir.
31886 (fs_module, partmap_module, devabstraction_module): Pass
31887 `--device ${grub_device}' to grub_probe to avoid traversing /dev
31888 every time.
31889
9ece62fb 318902008-06-05 Robert Millan <rmh@aybabtu.com>
31891
31892 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
31893 is found, print it (same layout as with labels).
31894
1ad36d37 318952008-06-04 Robert Millan <rmh@aybabtu.com>
31896
31897 * util/biosdisk.c (get_drive): Rename to ...
31898 (find_grub_drive): ... this. Update all users.
31899
31900 (get_os_disk): Rename to ...
31901 (convert_system_partition_to_system_disk): ... this. Update all users.
31902
31903 (find_drive): Rename to ...
31904 (find_system_device): ... this. Update all users.
31905
e6a30859 319062008-06-04 Robert Millan <rmh@aybabtu.com>
31907
31908 * util/biosdisk.c (get_os_disk): Handle IDA devices.
31909 * util/grub-mkdevicemap.c (get_mmc_disk_name)
31910 (make_device_map): Likewise.
31911
00c108a4 319122008-06-01 Robert Millan <rmh@aybabtu.com>
31913
31914 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
31915 before dereferencing it.
31916
31917 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
31918 union with fat12/fat16-specific ones. Add some new fields, including
31919 `num_serial' for both versions.
31920 (struct grub_fat_data): Add `uuid' member.
31921 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
31922 names. Initialize `data->uuid' using `num_serial'.
31923 (grub_fat_uuid): New function.
31924 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
31925
31926 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
31927 (grub_reiserfs_uuid): New function.
31928 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
31929 member.
31930
31931 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
31932 (grub_xfs_uuid): New function.
31933 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
31934
1385c5bb 319352008-06-01 Robert Millan <rmh@aybabtu.com>
31936
31937 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
31938 code that is backward compatible with pre-uuid search command.
31939
c682dfd7 319402008-05-31 Robert Millan <rmh@aybabtu.com>
31941
31942 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
31943 floppies after everything else, to ensure floppy drive isn't accessed
31944 unnecessarily (patch from Bean).
31945
b7db5d47 319462008-05-31 Robert Millan <rmh@aybabtu.com>
31947
31948 * commands/search.c (search_label, search_fs_uuid, search_file): Do
31949 not print device names when we were asked to set a variable.
31950
6e037aa9 319512008-05-31 Robert Millan <rmh@aybabtu.com>
31952
31953 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
31954 using "cursor-on" and "cursor-off" commands (understood at least by
31955 the Open Firmware flavour on OLPC).
31956
41305bc8 319572008-05-31 Michael Gorven <michael@gorven.za.net>
31958
31959 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
31960 on and off sequences.
31961
69ba137e 319622008-05-31 Robert Millan <rmh@aybabtu.com>
31963
31964 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
31965 * util/update-grub.in: Likewise.
31966
520ae21b 319672008-05-30 Pavel Roskin <proski@gnu.org>
31968
31969 * util/biosdisk.c (linux_find_partition): Simplify logic and
31970 make the code more universal. Keep special processing for
31971 devfs, but use a simple rule for all other devices. If the
31972 device ends with a number, append 'p' and the partition number.
31973 Otherwise, append only the partition number.
31974
5786569b 319752008-05-30 Robert Millan <rmh@aybabtu.com>
31976
31977 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
31978 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
31979 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
31980 the `root' parameter to Linux.
31981
51500452 319822008-05-30 Robert Millan <rmh@aybabtu.com>
31983
31984 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
31985 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
31986 --fs_uuid with --fs-uuid.
31987 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
31988 all filesystems support them).
31989
811d3878 319902008-05-30 Robert Millan <rmh@aybabtu.com>
31991
31992 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 31993 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 31994
cab63c95 319952008-05-30 Robert Millan <rmh@aybabtu.com>
31996
31997 * util/grub.d/00_header.in: Remove obsolete comment referencing
31998 convert_system_path_to_grub_path().
31999 * util/update-grub.in: Likewise.
32000 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
32001 (convert_system_path_to_grub_path): Add a warning message explaining
32002 that this function is deprecated. Rely on is_path_readable_by_grub()
32003 for the readability checks.
32004 (font_path): Use is_path_readable_by_grub() for the readability
32005 check rather than convert_system_path_to_grub_path().
32006
972e2f7a 320072008-05-30 Robert Millan <rmh@aybabtu.com>
32008
32009 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
32010 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
32011 converting it first.
32012 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
32013 grub.cfg for access to font file, and afterwards call it again to set
32014 the root device.
32015
62191274 320162008-05-30 Robert Millan <rmh@aybabtu.com>
32017
32018 * commands/search.c (options): Add --fs_uuid option.
32019 (search_fs_uuid): New function.
32020 (grub_cmd_search): Fix --set argument passing.
32021 Use search_fs_uuid() when requested via --fs_uuid.
32022 (grub_search_init): Update help message.
32023 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
32024 and redeclare it as an array of 16-bit words.
32025 (grub_ext2_uuid): New function.
32026 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
32027 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
32028 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
32029 (GRUB_DEVICE_BOOT_UUID): New variables.
32030 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
32031 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
32032 whenever possible.
32033 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
32034 just assume `root' variable has the right value.
32035 * util/grub.d/10_linux.in: Likewise.
32036 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
32037 via PRINT_FS_UUID.
32038 (main): Recognise `-t fs_uuid' argument.
32039
01b73ec8 320402008-05-30 Robert Millan <rmh@aybabtu.com>
32041
32042 * util/biosdisk.c (map): Redefine structure to hold information
32043 about GRUB drive name.
fe6b695a 32044 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 32045 drive names.
32046 (call_hook): Remove.
32047 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
32048 member. Assume drive has partitions.
32049 (grub_util_biosdisk_open): Access device names via `.device' struct
32050 member.
32051 (open_device): Likewise.
32052 (find_drive): Likewise.
32053 (read_device_map): Adjust map[] usage to match the new struct
32054 definition. Don't check for duplicates (still possible, but not cheap
32055 anymore).
32056 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
32057 (make_device_name): Remove assumption of BIOS-like drive names.
32058
22f16596 320592008-05-30 Pavel Roskin <proski@gnu.org>
32060
32061 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
32062 compiling execute.c doesn't need grub_script.tab.h anymore.
32063 (normal/command.c_DEPENDENCIES): Likewise.
32064 (normal/function.c_DEPENDENCIES): Likewise.
32065 * conf/i386-ieee1275.rmk: Likewise.
32066 * conf/i386-linuxbios.rmk: Likewise.
32067 * conf/i386-pc.rmk: Likewise.
32068 * conf/powerpc-ieee1275.rmk: Likewise.
32069 * conf/sparc64-ieee1275.rmk: Likewise.
32070
528ad8f2 320712008-05-29 Pavel Roskin <proski@gnu.org>
32072
d1dff95d 32073 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
32074 when scanning metadata for volume group name.
32075
528ad8f2 32076 * include/grub/script.h: Don't include grub_script.tab.h. It's
32077 a generated file, which may only be included from the files with
32078 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
32079 use union YYSTYPE, as the later allows forward declaration.
32080 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
32081
47248e08 320822008-05-29 Robert Millan <rmh@aybabtu.com>
32083
32084 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
32085 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
32086 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
32087 (grub_console_checkkey): Add grub_dprintf() call to report unknown
32088 scan codes.
32089
ee632529 320902008-05-29 Robert Millan <rmh@aybabtu.com>
32091
32092 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
32093 control key combinations.
32094
eee96e08 320952008-05-29 Robert Millan <rmh@aybabtu.com>
32096
32097 * util/powerpc/ieee1275/grub-install.in: Move from here ...
32098 * util/ieee1275/grub-install.in: ... to here.
32099 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
32100 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
32101 (grub_install_SOURCES): Likewise.
32102
da9a6a94 321032008-05-29 Robert Millan <rmh@aybabtu.com>
32104
32105 * fs/affs.c: Update copyright year.
32106 * fs/ext2.c: Likewise.
32107 * fs/fshelp.c: Likewise.
32108 * fs/hfsplus.c: Likewise.
32109 * fs/ntfs.c: Likewise.
32110 * fs/xfs.c: Likewise.
32111 * include/grub/fshelp.h: Likewise.
32112 * util/grub-mkdevicemap.c: Likewise.
32113
12e65f3a 321142008-05-28 Robert Millan <rmh@aybabtu.com>
32115
32116 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
32117 might need to be fatfs to support some firmware implementations
32118 (e.g. OFW or EFI).
32119
23023641 321202008-05-28 Robert Millan <rmh@aybabtu.com>
32121
32122 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
32123 devices.
32124 * util/grub-mkdevicemap.c (get_mmc_disk_name)
32125 (make_device_map): Likewise.
32126
887d2619 321272008-05-20 Bean <bean123ch@gmail.com>
32128
32129 * fs/fshelp.c (grub_fshelp_map_block): New function.
32130 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
32131 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
32132
32133 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
32134 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
32135 (grub_fshelp_journal): New structure.
32136 (grub_fshelp_map_block): New function prototype.
32137 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
32138 (grub_fshelp_map_block): Likewise.
32139
32140 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
32141 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
32142 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
32143 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
32144 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
32145 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
32146 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
32147 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
32148 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
32149 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
32150 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
32151 (grub_ext2_sblock): New members for journal support.
32152 (grub_ext3_journal_header): New structure.
32153 (grub_ext3_journal_revoke_header): Likewise.
32154 (grub_ext3_journal_block_tag): Likewise.
32155 (grub_ext3_journal_sblock): Likewise.
32156 (grub_fshelp_node): New members logfile and journal.
32157 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
32158 grub_fshelp_map_block to get real block number.
32159 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
32160 number.
32161 (grub_ext2_read_inode): Likewise.
32162 (grub_ext3_get_journal): New function.
32163 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
32164 (grub_ext2_close): Release memory used by journal.
32165
32166 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
32167 (REISERFS_MAGIC_DESC_BLOCK): New macro.
32168 (grub_reiserfs_transaction_header): Renamed to
32169 grub_reiserfs_description_block, replace field data with real_blocks.
32170 (grub_reiserfs_commit_block): New structure.
32171 (grub_reiserfs_data): New member journal.
32172 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
32173 number.
32174 (grub_reiserfs_read_symlink): Likewise.
32175 (grub_reiserfs_iterate_dir): Likewise.
32176 (grub_reiserfs_open): Likewise.
32177 (grub_reiserfs_read): Likewise.
32178 (grub_reiserfs_get_journal): New function.
32179 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
32180 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
32181 using grub_reiserfs_get_journal.
32182 (grub_reiserfs_close): Release memory used by journal.
32183
32184 * fs/affs.c (grub_affs_read_block): Change block type to
32185 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
32186
32187 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
32188
32189 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
32190
32191 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
32192
32193 * fs/udf.c (grub_udf_read_block): Change block type to
32194 grub_disk_addr_t. Use type cast to avoid warning.
32195
32196 * fs/xfs.c (grub_xfs_read_block): Likewise.
32197
b7c6bed5 321982008-05-16 Christian Franke <franke@computer.org>
32199
32200 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
32201 to ensure that break with ESC will always work.
32202 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
32203 Remove ESC from keyboard queue.
32204
eedf167f 322052008-05-16 Christian Franke <franke@computer.org>
32206
32207 * util/biosdisk.c: [__CYGWIN__] Add includes.
32208 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
32209 (get_os_disk): Move variable declarations to OS specific
32210 parts to avoid warning.
32211 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
32212 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
32213 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
32214 Cygwin.
32215 * util/getroot.c: [__CYGWIN__] Add includes.
32216 (strip_extra_slashes): Fix "/" case.
32217 [__CYGWIN__] (get_win32_path): New function.
32218 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
32219 [__CYGWIN__] (find_root_device): Disable.
32220 [__CYGWIN__] (get_bootsec_serial): New function.
32221 [__CYGWIN__] (find_cygwin_root_device): Likewise.
32222 [__linux__] (grub_guess_root_device): Add early returns to simplify
32223 structure.
32224 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
32225 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
32226 check for Linux only.
32227
a079699e 322282008-05-15 Bean <bean123ch@gmail.com>
32229
32230 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
32231 keyboard hang problem in apple's intel mac.
32232
1cf4059a 322332008-05-09 Robert Millan <rmh@aybabtu.com>
32234
32235 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
32236 devices.
32237 * util/grub-mkdevicemap.c (get_virtio_disk_name)
32238 (make_device_map): Likewise.
32239 Reported by Aurelien Jarno <aurel32@debian.org>
32240
ed759390 322412008-05-07 Ian Campbell <ijc@hellion.org.uk>
32242
32243 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
32244 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
32245 (make_device_map): Output entries for xvd type disks.
32246
b56c4eaa 322472008-05-07 Robert Millan <rmh@aybabtu.com>
32248
32249 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
32250 devices.
32251 * util/grub-mkdevicemap.c (get_cciss_disk_name)
32252 (make_device_map): Likewise.
32253 Reported by Roland Dreier <rdreier@cisco.com>
32254
7f8866ed 322552008-05-07 Robert Millan <rmh@aybabtu.com>
32256
32257 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
32258 grub_strstr() call. Correct a few mistakes in failure path handling.
32259
b0346e0f 322602008-05-06 Robert Millan <rmh@aybabtu.com>
32261
32262 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
32263 Do not print a trailing slash (therefore, the root directory is an
32264 empty string).
32265 (convert_system_path_to_grub_path): Do not remove trailing slash
32266 from make_system_path_relative_to_its_root() output.
32267
32268 * util/i386/pc/grub-install.in: Add trailing slash to output from
32269 make_system_path_relative_to_its_root().
32270
6cf12cbd 322712008-05-06 Robert Millan <rmh@aybabtu.com>
32272
32273 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
32274 ensures that output lines aren't intermangled with those sent to
32275 stderr (via grub_util_info()).
32276 * util/grub-probe.c (grub_refresh): Likewise.
32277 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
32278
0fbb3117 322792008-05-05 Christian Franke <franke@computer.org>
32280
32281 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
32282 Add Cygwin device names.
32283 (get_ide_disk_name) [__CYGWIN__]: Likewise.
32284 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
32285 (check_device): Return error instead of success on empty name.
32286 (make_device_map): Move label inside linux specific code to
32287 prevent compiler warning.
32288
8124cdb7 322892008-04-30 Robert Millan <rmh@aybabtu.com>
32290
32291 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
32292 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
32293 first boot option.
32294 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
32295
094c01d0 322962008-04-29 Robert Millan <rmh@aybabtu.com>
32297
32298 * docs/grub.cfg: New file (example GRUB configuration).
32299
f4b1fc02 323002008-04-26 Robert Millan <rmh@aybabtu.com>
32301
329ce2a5 32302 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
32303 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
32304 and `disk/ieee1275/nand.c'.
f4b1fc02 32305
25f16ec1 323062008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 32307
25f16ec1 32308 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
32309 i386-linuxbios.
32310
32311 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
32312 change the buffer size to 4096 for cdrom device.
32313
32314 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
32315 and nand.mod.
32316 (_linux_mod_SOURCES): New variable.
32317 (_linux_mod_CFLAGS): Likewise.
32318 (_linux_mod_LDFLAGS): Likewise.
32319 (linux_mod_SOURCES): Likewise.
32320 (linux_mod_CFLAGS): Likewise.
32321 (linux_mod_LDFLAGS): Likewise.
32322 (nand_mod_SOURCES): Likewise.
32323 (nand_mod_CFLAGS): Likewise.
32324 (nand_mod_LDFLAGS): Likewise.
32325
32326 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
32327 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
32328 type property. (nand device in olpc don't have this property)
32329
32330 * include/grub/disk.h (grub_disk_dev_id): New macro
32331 GRUB_DISK_DEVICE_NAND_ID.
32332
32333 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
32334 function prototype.
32335 (grub_rescue_cmd_initrd): Likewise.
32336
32337 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
32338 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
32339 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 32340
25f16ec1 32341 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
32342 GRUB_MACHINE_IEEE1275 is defined.
32343
32344 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
32345 Use NESTED_FUNC_ATTR attribute on the hook parameter.
32346
32347 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
32348 on nested function heap_init.
32349 (grub_upper_mem): New variable for i386-ieee1275.
32350 (grub_get_extended_memory): New function for i386-ieee1275.
32351 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
32352
32353 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
32354 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
32355 property.
f19dbdb7 32356
25f16ec1 32357 * loader/i386/ieee1275/linux.c: New file.
32358
32359 * loader/i386/ieee1275/linux_normal.c: New file.
32360
32361 * disk/ieee1275/nand.c: New file.
32362
e89d61e9 323632008-04-18 Thomas Schwinge <tschwinge@gnu.org>
32364
32365 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
32366 value.
32367 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
32368
602566f6 323692008-04-18 Robert Millan <rmh@aybabtu.com>
32370
32371 Restructures early code path on ieee1275 to unify grub_main() as
32372 the first C function that is executed in every platform.
32373
32374 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
32375 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
32376 cmain().
32377 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
32378 * kern/ieee1275/cmain.c (cmain): Rename to ...
32379 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
32380 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
32381 at the beginning.
32382
57490c2b 323832008-04-18 Robert Millan <rmh@aybabtu.com>
32384
32385 * util/update-grub.in: Fix syntax error when setting
32386 `GRUB_PRELOAD_MODULES'.
32387 Reported by Stephane Chazelas <stephane@artesyncp.com>
32388
1977517d 323892008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
32390
32391 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
32392 section into account, newer toolchains generate unique build ids
32393 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 32394 we want build ids to be preserved
1977517d 32395 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
32396 far from other sections don't cause the raw binary images grow
32397 size
32398
bfb1f1a2 323992008-04-15 Robert Millan <rmh@aybabtu.com>
32400
32401 * disk/lvm.c: Update copyright year.
32402 * kern/misc.c: Likewise.
32403
01979850 324042008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32405
32406 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 32407 there is no memory left for physical volume name.
01979850 32408
0a1150e2 324092008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32410
32411 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
32412 volume name mapping to support bigger than 9 character names properly.
32413
82ead3fe 324142008-04-13 Robert Millan <rmh@aybabtu.com>
32415
32416 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
32417 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
32418
e54a72f5 324192008-04-13 Christian Franke <franke@computer.org>
32420
32421 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
32422 to create a floppy emulation boot CD when non emulation mode
32423 does not work.
32424 Enable Joliet CD filesystem extension.
32425
9fe86034 324262008-04-13 Robert Millan <rmh@aybabtu.com>
32427
32428 * kern/misc.c (grub_strncat): Fix off-by-one error.
32429 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
32430
32431 * kern/env.c (grub_env_context_close): Clear current context, not
32432 previous one.
32433 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
32434
32435 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
32436
7ceeee39 324372008-04-13 Robert Millan <rmh@aybabtu.com>
32438
32439 Improve robustness when handling LVM.
32440
32441 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 32442 (and leave `*p' unmodified).
7ceeee39 32443 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
32444 through it.
32445 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
32446 iterating through it.
32447 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
32448 through it.
fe6b695a 32449 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 32450 when due) on each grub_lvm_getvalue() or grub_strstr() call.
32451 Don't assume `vg->pvs != NULL' when iterating through it.
32452
58cd3d85 324532008-04-13 Robert Millan <rmh@aybabtu.com>
32454
32455 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
32456 * genmk.rb (partmap): New variable.
32457 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
32458 (#{partmap}): New target rule.
32459 * genpartmaplist.sh: New file.
32460 * Makefile.in (pkglib_DATA): Add partmap.lst.
32461 (partmap.lst): New target rule.
32462 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
32463 modules (including all partition maps), instead of preloading them.
32464
78b51059 324652007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
32466
32467 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
32468 `linux-boot-prober' (if installed) to detect other operating
32469 systems which are installed on the computer and add them to
32470 the boot menu.
32471 * conf/common.rmk: Build and install 30_os-prober.
32472
a91627b4 324732008-04-12 Robert Millan <rmh@aybabtu.com>
32474
32475 * kern/powerpc/ieee1275/init.c: Move from here ...
32476 * kern/ieee1275/init.c: ... to here. Update all users.
32477
32478 * kern/powerpc/ieee1275/cmain.c: Move from here ...
32479 * kern/ieee1275/cmain.c: ... to here. Update all users.
32480
32481 * kern/powerpc/ieee1275/openfw.c: Move from here ...
32482 * kern/ieee1275/openfw.c: ... to here. Update all users.
32483
32484 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
32485 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
32486
322562ea 324872008-04-10 Pavel Roskin <proski@gnu.org>
32488
32489 * configure.ac: Always use "_cv_" in cache variables for
32490 compatibility with Autoconf 2.62.
32491
a02a73c5 324922008-04-07 Robert Millan <rmh@aybabtu.com>
32493
32494 Revert grub/machine/init.h addition by Pavel (since it breaks on
32495 i386-ieee1275 and others):
32496 * util/i386/pc/misc.c: Remove grub/machine/init.h.
32497 * util/powerpc/ieee1275/misc.c: Likewise.
32498
25c024b1 324992008-04-07 Robert Millan <rmh@aybabtu.com>
32500
32501 * util/grub-probe.c (probe): Improve error message.
32502
3cbd2f98 325032008-04-07 Robert Millan <rmh@aybabtu.com>
32504
32505 * util/biosdisk.c (read_device_map): Skip devices that don't exist
32506 (this prevents the presence of a bogus entry from ruining the whole
32507 thing).
32508
87a297bf 325092008-04-06 Pavel Roskin <proski@gnu.org>
32510
36747a62 32511 * util/biosdisk.c: Include grub/util/biosdisk.h.
32512 * util/grub-fstest.c (execute_command): Make static.
32513 * util/grub-mkdevicemap.c (check_device): Likewise.
32514 * util/i386/pc/misc.c: Include grub/machine/init.h.
32515 * util/powerpc/ieee1275/misc.c: Likewise.
32516 * util/lvm.c: Include grub/util/lvm.h.
32517 * util/misc.c: Include grub/kernel.h, grub/misc.h and
32518 grub/cache.h.
32519 * util/raid.c: Include grub/util/raid.h.
32520 (grub_util_getdiskname): Make static.
32521
87a297bf 32522 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
32523 grub_hostfs_fini(), as they are called from grub_init_all() and
32524 grub_fini_all() respectively. This fixes an infinite loop in
32525 grub-fstest due to double registration of hostfs.
32526 Reported by Christian Franke <Christian.Franke@t-online.de>
32527
f6ce7629 325282008-04-05 Pavel Roskin <proski@gnu.org>
32529
32530 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
32531 all 8 functions. Otherwise, probe function 0 only.
32532
070e49e4 325332008-04-04 Pavel Roskin <proski@gnu.org>
32534
8b088a4c 32535 * commands/lspci.c (grub_lspci_iter): Print the bus number
32536 correctly.
32537
4f657021 32538 * commands/lspci.c (grub_pci_classes): Fix typos.
32539 (grub_lspci_iter): Don't print func twice. Print vendor ID
32540 before device ID, as it's normally done.
32541
070e49e4 32542 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
32543 Fix signedness warnings.
32544 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
32545 Likewise.
32546 * util/ieee1275/get_disk_name.c: Include config.h so that
32547 _GNU_SOURCE is defined and getline() is declared. Mark an
32548 unused argument as such. Fix a signedness warning.
32549
ba7328dc 325502008-04-02 Pavel Roskin <proski@gnu.org>
32551
26887f22 32552 * genkernsyms.sh.in: Use more robust assignments for CC and
32553 srcdir. Quote srcdir.
32554 * gensymlist.sh.in: Likewise. Assert at the compile time that
32555 the symbol table is not empty.
32556
ba7328dc 32557 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
32558 * fs/cpio.c (grub_cpio_read): Likewise.
32559
0f582c6b 325602008-04-01 Pavel Roskin <proski@gnu.org>
32561
4b6e1995 32562 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
32563 * disk/host.c (grub_host_open): Likewise.
32564 * disk/loopback.c (grub_loopback_open): Likewise.
32565 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
32566 disk->id as in disk/host.c, not a multi-character constant.
32567
828a2768 32568 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
32569 later is obsolete, potentially dangerous and sets a bad example.
32570 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
32571 * util/misc.c (grub_util_get_image_size): Likewise.
32572
2bb4fb47 32573 * disk/loopback.c (options): Improve help for "--partitions".
32574
0f582c6b 32575 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
32576 options to align them with the short options, e.g. "echo -e".
32577
a33224e0 325782008-03-31 Bean <bean123ch@gmail.com>
32579
32580 * video/reader/png.c (grub_png_data): New member is_16bit and
32581 image_data.
32582 (grub_png_decode_image_header): Detect 16 bit png image.
32583 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
32584 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
32585 (grub_video_reader_png): Release memory occupied by image_data.
32586
32587 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
32588 4096 bytes.
32589 (grub_nfs_mount): Skip the test for sector per cluster.
32590
32591 * include/grub/ntfs.h (MAX_SPC): Removed.
32592
86cb4f54 325932008-03-31 Bean <bean123ch@gmail.com>
32594
32595 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
32596 (grub_probe_SOURCES): Add fs/afs.c.
32597 (grub_fstest_SOURCES): Likewise.
32598 (afs_mod_SOURCES): New variable.
32599 (afs_mod_CFLAGS): Likewise.
32600 (afs_mod_LDFLAGS): Likewise.
32601
32602 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
32603 (grub_emu_SOURCES): Likewise.
32604
32605 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32606
32607 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32608
32609 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32610
32611 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32612
32613 * fs/afs.c: New file.
32614
17c74c21 326152008-03-30 Pavel Roskin <proski@gnu.org>
32616
4cb68e89 32617 * disk/host.c: Include grub/misc.h to fix a warning.
32618 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
32619 warnings about implicit declarations.
32620
8790bb04 32621 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
32622 variable.
32623 * include/grub/i386/loader.h: Change declaration of
32624 grub_linux_boot() to match what grub_loader_set() expects.
32625 * util/getroot.c (grub_guess_root_device): Return const char* to
32626 fix a warning.
32627 * util/grub-probe.c (probe): Fix a warning about uninitialized
32628 abstraction_name variable.
32629 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
32630 second argument as unused to fix a warning.
32631
9a3f3296 32632 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
32633 missing grub_error() call.
32634
0ecef90d 32635 * util/update-grub_lib.in: Define datarootdir, since Autoconf
32636 2.60 and newer uses it to define datadir.
32637
0bf6d401 32638 * commands/sleep.c: Fix warning about implicit declaration.
32639 * disk/memdisk.c: Likewise.
32640 * loader/aout.c: Likewise.
32641 * loader/i386/bsd_normal.c: Likewise.
32642 * util/grub-probe.c: Likewise.
32643
7cdacf97 32644 * commands/i386/cpuid.c (has_longmode): Make static.
32645 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
32646 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
32647
17c74c21 32648 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
32649 GDT. This is more robust, as %ds can change.
32650 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
32651 calling real_to_prot().
32652 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
32653
80a3e68b 326542008-03-28 Pavel Roskin <proski@gnu.org>
32655
32656 * kern/i386/pc/startup.S: Assert that uncompressed functions
32657 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
32658 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
32659 code, as they push parts of the code (error handlers) beyond
32660 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
32661 code as correctness and size.
32662
77bcd272 326632008-03-28 Pavel Roskin <proski@gnu.org>
32664
32665 * kern/i386/pc/startup.S
32666 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
32667 data block address to the real mode, keep offset minimal. This
32668 works around a bug in AWARD BIOS on old Athlon systems, which
32669 makes CD detection hang.
32670
c5dfd43b 326712008-03-26 Pavel Roskin <proski@gnu.org>
32672
32673 * normal/color.c (grub_parse_color_name_pair): Make `name' a
32674 const.
32675 * include/grub/normal.h: Add grub_parse_color_name_pair()
32676 declaration.
32677
bf962df2 326782008-03-24 Bean <bean123ch@gmail.com>
32679
32680 * disk/i386/pc/biosdisk.c (cd_start): Removed.
32681 (cd_count): Removed.
32682 (cd_drive): New variable.
32683 (grub_biosdisk_get_drive): Don't check for (cdN) device.
32684 (grub_biosdisk_call_hook): Likewise.
32685 (grub_biosdisk_iterate): Change cdrom detection method.
32686 (grub_biosdisk_open): Replace cd_start with cd_drive.
32687 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
32688 detect cdrom device.
32689
32690 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
32691 Removed.
32692 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
32693 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
32694 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
32695 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
32696 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
32697 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
32698 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
32699 (grub_biosdisk_cdrp): New structure.
32700 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
32701
32702 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
32703
32704 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
32705 device.
32706
32707 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
32708 New function.
32709
68e7fc7a 327102008-03-20 Robert Millan <rmh@aybabtu.com>
32711
32712 Remove 2 TiB limit in ata.mod.
32713 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
32714 (grub_ata_dumpinfo): Print sector count with 0x%llx.
32715 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
32716 grub_uint64_t instead of grub_uint32_t.
32717
38ad2cf5 327182008-03-05 Bean <bean123ch@gmail.com>
32719
32720 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
32721 (grub_multiboot): Set boot device.
32722
32723 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
32724
2b89344e 327252008-03-02 Bean <bean123ch@gmail.com>
32726
32727 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
32728 symlink_buffer.
32729
87a95d1f 327302008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
32731
32732 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
32733 texinfo.tex.
32734
32735 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
32736 modified.
32737
32738 * docs/fdl.texi: New file.
f19dbdb7 32739
87a95d1f 32740 * docs/mdate-sh: New file. Copied from gnulib.
32741 * docs/texinfo.tex: Likewise.
32742
32743 * config.guess: Updated from gnulib.
32744 * install-sh: Likewise.
32745
7dc15d8e 327462008-02-28 Robert Millan <rmh@aybabtu.com>
32747
32748 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
32749 (aout_mod_SOURCES): New variable.
32750 (aout_mod_CFLAGS): Likewise.
32751 (aout_mod_LDFLAGS): Likewise.
32752
32753 * conf/i386-ieee1275.rmk: Likewise.
32754
b00ab696 327552008-02-28 Robert Millan <rmh@aybabtu.com>
32756
32757 * util/update-grub.in: Reorganise terminal validity check. Accept
32758 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
32759 Based on suggestion by Franklin PIAT.
32760
79ca2d78 327612008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
32762
32763 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
32764 function.
32765 * util/getroot.c (grub_util_check_block_device): New function that
32766 returns the given argument if it is a block device and returns NULL else.
32767 * util/grub-probe.c (argument_is_device): New variable.
32768 (probe): Promote device_name from a variable to an argument. Receive
32769 device_name from grub_util_check_block_device() if path is NULL and from
32770 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 32771 (options): Introduce new parameter '-d, --device'.
79ca2d78 32772 (main): Add description of the new parameter to the help screen.
32773 Rename path variable to argument. Set argument_is_device if the '-d'
32774 option is given. Pass argument to probe() depending on
32775 argument_is_device.
32776
0d16e571 327772008-02-24 Bean <bean123ch@gmail.com>
32778
32779 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
32780 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
32781 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
32782 (GRUB_ISO9660_VOLDESC_PART): Likewise.
32783 (GRUB_ISO9660_VOLDESC_END): Likewise.
32784 (grub_iso9660_primary_voldesc): New member escape.
32785 (grub_iso9660_data): New member joliet.
32786 (grub_iso9660_convert_string): New function.
32787 (grub_iso9660_mount): Detect joliet extension.
32788 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
32789 (grub_iso9660_iso9660_label): Likewise.
32790
32791 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
32792 (grub_setup_SOURCES): Add fs/udf.c.
32793 (grub_fstest_SOURCES): Likewise.
32794 (udf_mod_SOURCES): New variable.
32795 (udf_mod_CFLAGS): Likewise.
32796 (udf_mod_LDFLAGS): Likewise.
32797
32798 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
32799 (grub_emu_SOURCES): Likewise.
32800
32801 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32802
32803 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32804
32805 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32806
32807 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32808
32809 * fs/udf.c: New file.
32810
8a594a17 328112008-02-24 Robert Millan <rmh@aybabtu.com>
32812
32813 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
32814 (normal/lexer.c_DEPENDENCIES): New variables.
32815 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32816 (normal/lexer.c_DEPENDENCIES): Likewise.
32817 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
32818 (normal/lexer.c_DEPENDENCIES): Likewise.
32819 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
32820 (normal/lexer.c_DEPENDENCIES): Likewise.
32821 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32822 (normal/lexer.c_DEPENDENCIES): Likewise.
32823 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32824 (normal/lexer.c_DEPENDENCIES): Likewise.
32825
2dc33c03 328262008-02-23 Robert Millan <rmh@aybabtu.com>
32827
32828 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
32829 since they were intended to be in hex. This didn't break previously
32830 because of a bug in gpt_partition_map_iterate() (see below).
32831
32832 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
32833 when checking the validity of GPT header.
32834 Remove `partno', since it always provides the same information as `i'.
32835
f6f4cfb0 328362008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
32837
32838 * include/grub/efi/time.h: Fix a wrong comment.
32839
79ff665f 328402008-02-19 Pavel Roskin <proski@gnu.org>
32841
32842 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
32843 message.
32844
d38e24c2 328452008-02-19 Bean <bean123ch@gmail.com>
32846
32847 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
32848 (aout_mod_SOURCES): New variable.
32849 (aout_mod_CFLAGS): Likewise.
32850 (aout_mod_LDFLAGS): Likewise.
32851 (_bsd_mod_SOURCES): New variable.
32852 (_bsd_mod_CFLAGS): Likewise.
32853 (_bsd_mod_LDFLAGS): Likewise.
32854 (bsd_mod_SOURCES): New variable.
32855 (bsd_mod_CFLAGS): Likewise.
32856 (bsd_mod_LDFLAGS): Likewise.
32857
32858 * include/grub/aout.h: New file.
32859
32860 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
32861
32862 * include/grub/i386/bsd.h: New file.
32863
32864 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
32865 to make it public.
32866
32867 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
32868 function is called, so that it's possible to change it inside the hook.
32869 (grub_elf64_load): Likewise.
32870 (grub_elf_file): Don't close the file if elf header is not found.
32871 (grub_elf_close): Close the file if grub_elf_file fails (The new
32872 grub_elf_file won't close it).
32873 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
32874 (grub_elf64_size): Likewise.
32875
32876 * kern/i386/loader.S (grub_unix_real_boot): New function.
32877
32878 * loader/aout.c: New file.
32879
32880 * loader/i386/bsd.c: New file.
32881
32882 * loader/i386/bsd_normal.c: New file.
32883
32884 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
32885
32886 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 32887 can test other formats.
d38e24c2 32888
b93bdb0f 328892008-02-19 Robert Millan <rmh@aybabtu.com>
32890
32891 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
32892 (grub_gpt_partition_type_empty): Redefine with macro from
32893 `<grub/gpt_partition.h>'.
32894 (gpt_partition_map_iterate): Adjust partition type comparison.
32895
32896 Export `entry' as partmap-specific `part.data' struct.
32897 (grub_gpt_header, grub_gpt_partentry): Move from here ...
32898
32899 * include/grub/gpt_partition.h (grub_gpt_header)
32900 (grub_gpt_partentry): ... to here (new file).
32901
32902 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
32903
32904 (grub_gpt_partition_type_bios_boot): New const variable, defined
32905 with macro from `<grub/gpt_partition.h>'.
32906
32907 (setup): Replace `first_start' with `embed_region', which keeps
32908 track of the embed region (and is partmap-agnostic).
32909
32910 Replace find_first_partition_start() with find_usable_region(),
32911 which finds a usable region for embedding using partmap-specific
32912 knowledge (supports PC/MSDOS and GPT).
32913
32914 Fix all assumptions that the embed region start at sector 1, using
32915 `embed_region.start' from now on. Similarly, use `embed_region.end'
32916 rather than `first_start' to calculate available size.
32917
32918 In grub_util_info() message, replace "into after the MBR" with an
32919 indication of the specific sector our embed region starts at.
32920
66cb40f6 329212008-02-19 Robert Millan <rmh@aybabtu.com>
32922
32923 * DISTLIST: Replace `commands/ieee1275/halt.c' and
32924 `commands/ieee1275/reboot.c' with `commands/halt.c' and
32925 `commands/reboot.c'.
32926 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
32927 (halt_mod_SOURCES): Likewise.
32928 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
32929 (halt_mod_SOURCES): Likewise.
32930
b7202015 329312008-02-17 Christian Franke <franke@computer.org>
32932
32933 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
32934
32b0fc49 329352008-02-17 Robert Millan <rmh@aybabtu.com>
32936
32937 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
32938 set `first_start' to 0 for non-PC/MSDOS partition maps.
32939
aca63502 329402008-02-16 Robert Millan <rmh@aybabtu.com>
32941
32942 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
32943 do not assume partition map is PC/MSDOS before performing checks that
32944 are specific to that layout.
32945
0de8be86 329462008-02-13 Robert Millan <rmh@aybabtu.com>
32947
32948 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
32949 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
32950 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
32951
c3db8364 329522008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
32953
32954 * configure.ac: Only a cosmetic change on the handling of
32955 -fno-stack-protector.
32956
f714229e 329572008-02-12 Alexandre Boeglin <alex@boeglin.org>
32958
c3db8364 32959 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
32960 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
32961 reboot.c.
f714229e 32962 (grub_install_SOURCES): Add halt.mod and reboot.mod.
32963 (halt_mod_SOURCES): New variable.
32964 (halt_mod_CFLAGS): Likewise.
32965 (halt_mod_LDFLAGS): Likewise.
32966 (reboot_mod_SOURCES): Likewise.
32967 (reboot_mod_CFLAGS): Likewise.
32968 (reboot_mod_LDFLAGS): Likewise.
32969
c3db8364 32970 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
32971 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
32972 reboot.c.
f714229e 32973 (halt_mod_SOURCES): Likewise.
32974 (reboot_mod_SOURCES): Likewise.
32975
c3db8364 32976 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
32977 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 32978 (reboot_mod_SOURCES): Likewise.
32979
32980 * commands/i386/pc/reboot.c: merge this file ...
32981
32982 * commands/ieee1275/reboot.c: ... and this file ...
32983
32984 * commands/reboot.c: ... to this file.
c3db8364 32985 Add some precompiler directive to include the correct header for
32986 each machine.
f714229e 32987
32988 * commands/ieee1275/halt.c: move this file ...
32989
32990 * commands/halt.c: ... to here.
c3db8364 32991 Add some precompiler directive to include the correct header for
32992 each machine.
f714229e 32993
32994 * include/grub/efi/efi.h (grub_reboot): New function declaration.
32995 (grub_halt): Likewise.
32996
32997 * kern/efi/efi.c (grub_reboot): New function.
32998 (grub_halt): Likewise.
32999
c74493e0 330002008-02-12 Robert Millan <rmh@aybabtu.com>
33001
33002 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
33003 /dev (like it is done for /dev/mapper). This doesn't provide support
33004 for EVMS, but at least it is now easy to identify the problem when it
33005 arises.
33006
d0db4b04 330072008-02-11 Robert Millan <rmh@aybabtu.com>
33008
33009 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
33010 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
33011 comparing it with -1, not 0.
33012
bf748642 330132008-02-10 Robert Millan <rmh@aybabtu.com>
33014
33015 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
33016 `disk/lvm.c'.
33017 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33018 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
33019
33020 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
33021 `disk/lvm.c' to the end of the list.
33022 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33023 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33024
b5db202a 330252008-02-10 Robert Millan <rmh@aybabtu.com>
33026
33027 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
33028 grub_print_error() instead. This will let user know why we're entering
33029 rescue mode.
33030 Based on suggestions from Sam Morris.
33031
83abee31 330322008-02-10 Alexandre Boeglin <alex@boeglin.org>
33033
33034 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
33035 on remaining N args, instead of "--" arg N times.
33036
78d5a08b 330372008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
33038
33039 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
33040 (fill_with_default_glyph): Changed to use unknown_glyph for fill
33041 pattern for unknown glyphs.
33042
68807e5f 330432008-02-09 Robert Millan <rmh@aybabtu.com>
33044
33045 * configure.ac: Probe for `help2man'.
33046 * Makefile.in (builddir): New variable.
33047 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
33048 or otherwise add a few flags/options to it.
33049 (install-local): For every executable utility or script that is
33050 installed, invoke $(HELP2MAN) to install a manpage based on --help
33051 output.
33052
33053 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
33054 that it doesn't prevent --help from working in build tree.
33055
33056 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
33057 with `bug-grub@gnu.org'.
33058 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
33059 * util/update-grub.in (usage): New function.
33060 Implement proper argument check, with support for --help and --version
33061 (as well as existing -y).
33062
330632008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 33064
33065 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
33066 avoid overwriting previous output.
33067 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
33068
c1962162 330692008-02-09 Robert Millan <rmh@aybabtu.com>
33070
33071 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
33072 drawing the menu.
33073
3dac2e3f 330742008-02-09 Robert Millan <rmh@aybabtu.com>
33075
33076 * commands/sleep.c: New file.
33077 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
33078 (sleep_mod_SOURCES): New variable.
33079 (sleep_mod_CFLAGS): Likewise.
33080 (sleep_mod_LDFLAGS): Likewise.
33081
7a634e08 330822008-02-09 Robert Millan <rmh@aybabtu.com>
33083
33084 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
33085 situations in which we can deduce the RAID size and the superblock
33086 doesn't match it.
33087
b92f0c18 330882008-02-09 Robert Millan <rmh@aybabtu.com>
33089
33090 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
33091 and return a grub_diskmemberlist_t composed of LVM physical volumes.
33092 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
33093
33094 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
33095 and return a grub_diskmemberlist_t composed of physical array members.
33096 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
33097
33098 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
33099 prototype.
33100 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
33101 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
33102 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
33103
33104 * util/grub-probe.c (probe): Move partmap probing code from here ...
33105 (probe_partmap): ... to here.
33106 (probe): Use probe_partmap() once for the disk we're probing, and
33107 additionally, when such disk contains a memberlist() struct member,
33108 once for each disk that is contained in the structure returned by
33109 memberlist().
33110
91a4bf68 331112008-02-09 Robert Millan <rmh@aybabtu.com>
33112
33113 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
33114 environment variable to 'all' in order to obtain debug output from
33115 non-util/ code.
33116 * util/i386/pc/grub-setup.c (main): Likewise.
33117
a96f9caa 331182008-02-08 Robert Millan <rmh@aybabtu.com>
33119
33120 * disk/raid.c (grub_raid_scan_device): Check for
33121 `array->device[sb.this_disk.number]' rather than for
33122 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 33123 guaranteed to be accessible.
a96f9caa 33124
b37a9222 331252008-02-08 Robert Millan <rmh@aybabtu.com>
33126
33127 * disk/raid.c: Update copyright.
33128 * fs/cpio.c: Likewise.
33129 * include/grub/raid.h: Likewise.
33130 * loader/i386/pc/multiboot.c: Likewise.
33131 * util/hostfs.c: Likewise.
33132
5626aee1 331332008-02-08 Robert Millan <rmh@aybabtu.com>
33134
33135 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
33136 to a grub_disk_t array.
33137 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
33138 `device[x]'.
33139 (grub_raid_scan_device): Replace `device[x].name' accesses with
33140 `device[x]->name'. Simplify initialization of `array->device[x]'.
33141
554f0187 331422008-02-08 Robert Millan <rmh@aybabtu.com>
33143
33144 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
33145 grub_dprintf() calls.
33146 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
33147 error message.
33148
1ec8425d 331492008-02-07 Christian Franke <franke@computer.org>
33150
33151 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
33152 instead of fseek and ftell to support large files.
33153 (grub_hostfs_read): Likewise.
33154
f2156fda 331552008-02-07 Robert Millan <rmh@aybabtu.com>
33156
33157 Patch from Jeroen Dekkers.
33158 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 33159 failure, since successfully reading all array members might not be
f2156fda 33160 required.
33161
9216e0e7 331622008-02-06 Robert Millan <rmh@aybabtu.com>
33163
33164 * util/grub-probe.c (probe): Simplify partmap probing (with the
33165 assumption that the first word up to the underscore equals to
33166 the module name).
33167
b0dfd29a 331682008-02-06 Christian Franke <franke@computer.org>
33169
33170 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
33171 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
33172 last block of a cpio or tar stream.
33173 Check for "TRAILER!!!" instead of any empty data
33174 block to detect last block of a cpio stream.
33175 (grub_cpio_dir): Fix constness of variable np.
33176 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
33177 cpio or tar trailer is detected. This fixes a crash
33178 on open of a non existing file.
33179
c32865bf 331802008-02-05 Bean <bean123ch@gmail.com>
33181
33182 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
33183 address of entry.
33184 (grub_multiboot_load_elf64): Likewise.
33185 (grub_multiboot): Initialize mbi structure.
33186
33187 * util/grub-fstest.c: Don't include unused header file script.h.
33188
fe6b695a 33189 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 33190 of file.
33191 (grub_fstest_SOURCES): Likewise.
33192
409480b7 331932008-02-05 Robert Millan <rmh@aybabtu.com>
33194
33195 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
33196 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
33197 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
33198 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
33199
33200 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
33201 (translation_table): Replace hardcoded values with macros
33202 provided by `<grub/term.h>'.
33203
33204 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
33205 (keyboard_map): Correct/add a few values, with macros provided
33206 by `<grub/term.h>'.
33207 (keyboard_map_shift): Zero values that don't differ from their
33208 `keyboard_map' equivalents.
33209 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
33210 Discard the second scan code that is always sent by Caps lock.
33211 Only use `keyboard_map_shift' when it provides a non-zero value,
33212 otherwise fallback to `keyboard_map'.
33213
99fadbaa 332142008-02-04 Bean <bean123ch@gmail.com>
33215
33216 * Makefile.in (enable_grub_fstest): New variable.
33217
33218 * conf/common.rmk (grub_fstest_init.lst): New rule.
33219 (grub_fstest_init.h): Likewise.
33220 (grub_fstest_init.c): Likewise.
33221 (util/grub-fstest.c_DEPENDENCIES): New variable.
33222 (grub_fstest_SOURCES): Likewise.
33223
33224 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
33225
33226 * util/grub-fstest.c: New file.
33227
bf567c50 332282008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33229
33230 Make grub-setup handle a separate root device.
f19dbdb7 33231
bf567c50 33232 * util/i386/pc/grub-setup.c (setup): Always open the root device,
33233 so that the root device can be compared with the destination
33234 device.
33235 When embedding the core image, if the root and destination devices
33236 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
33237 0xFF.
33238 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 33239
9be6b98b 332402008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33241
33242 Add support for having a grub directory in a different drive. This
33243 is still only the data handling part.
f19dbdb7 33244
9be6b98b 33245 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
33246 (codestart): Save %dh in GRUB_ROOT_DRIVE.
33247 (grub_root_drive): New variable.
33248
33249 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
33250 instead of GRUB_BOOT_DRIVE to construct a device name. Set
33251 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
33252 as it was.
33253
33254 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
33255
33256 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
33257 macro.
33258 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
33259
33260 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
33261 is bogus, because PXE booting does not specify any drive
33262 correctly.
33263
33264 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
33265 am not sure if this is really correct.
33266
33267 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
33268 is always identical to the boot drive when booting from a CD.
33269
33270 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
33271 longer.
33272 (root_drive): New variable.
33273 (real_start): Unconditionally set %dh to ROOT_DRIVE.
33274 (setup_sectors): Push %dx right after popping it, because %dh will
33275 be modified later.
33276 (copy_buffer): Restore %dx.
33277
e0ca0677 332782008-02-03 Robert Millan <rmh@aybabtu.com>
33279
33280 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
33281 use `cdboot.img' for cdrom images.
33282
3b3f6629 332832008-02-03 Robert Millan <rmh@aybabtu.com>
33284
33285 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
33286 only setup gfxterm when `font' command has succeeded.
33287
d42b3672 332882008-02-03 Robert Millan <rmh@aybabtu.com>
33289
33290 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
33291 (grub_rescue_cmd_multiboot_loader)
33292 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
33293
fa370ea6 332942008-02-03 Pavel Roskin <proski@gnu.org>
33295
e0c5dacb 33296 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 33297 %edx and %esi from stack only after grub_gate_a20() is called.
33298 grub_gate_a20() clobbers %edx.
33299
f2a76e1d 333002008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33301
33302 * configure.ac (AC_INIT): Bumped to 1.96.
33303
33304 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
33305 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
33306 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
33307 video/readers/png.c.
33308
90fd32d1 333092008-02-03 Bean <bean123ch@gmail.com>
9be665dd 33310
33311 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
33312 (cdboot_img_SOURCES): New variable.
33313 (cdboot_img_ASFLAGS): New variable.
33314 (cdboot_img_LDFLAGS): New variable.
33315
33316 * boot/i386/pc/cdboot.S: New file.
33317
33318 * disk/i386/pc/biosdisk.c (cd_start): New variable.
33319 (cd_count): Likewise.
33320 (grub_biosdisk_get_drive): Add support for cd device.
33321 (grub_biosdisk_call_hook): Likewise.
33322 (grub_biosdisk_iterate): Likewise.
33323 (grub_biosdisk_open): Likewise.
33324 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
33325 (grub_biosdisk_rw): Support reading from cd device.
33326 (GRUB_MOD_INIT): Iterate cd devices.
33327
33328 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
33329 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
33330 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
33331
33332 * kern/i386/pc/init.c (make_install_device): Check for cd device.
33333
4020aa53 333342008-02-02 Robert Millan <rmh@aybabtu.com>
33335
33336 * commands/read.c: New file.
33337 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
33338 (read_mod_SOURCES): New variable.
33339 (read_mod_CFLAGS): Likewise.
33340 (read_mod_LDFLAGS): Likewise.
33341
e03a1132 333422008-02-02 Robert Millan <rmh@aybabtu.com>
33343
33344 * normal/main.c (grub_normal_execute): Check for `menu->size' when
33345 determining whether menu has to be displayed.
33346
58c69220 333472008-02-02 Marco Gerards <marco@gnu.org>
33348
33349 * bus/pci.c: New file.
33350
33351 * include/grub/pci.h: Likewise.
33352
33353 * include/grub/i386/pc/pci.h: Likewise.
33354
33355 * commands/lspci.c: Likewise.
33356
33357 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
33358 `lspci.mod'.
33359 (pci_mod_SOURCES): New variable.
33360 (pci_mod_CFLAGS): Likewise.
33361 (pci_mod_LDFLAGS): Likewise.
33362 (lspci_mod_SOURCES): Likewise.
33363 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 33364 (lspci_mod_LDFLAGS): Likewise.
58c69220 33365
c004e1b4 333662008-02-02 Bean <bean123ch@gmail.com>
33367
33368 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
33369 (grub_ufs_get_file_block): Fix indirect block calculation problem.
33370
33371 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
33372 (grub_xfs_btree_node): New structure.
33373 (grub_xfs_btree_root): New structure.
33374 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
33375 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
33376 (GRUB_XFS_EXTENT_BLOCK): Likewise.
33377 (GRUB_XFS_EXTENT_SIZE): Likewise.
33378 (grub_xfs_read_block): Support btree format type.
33379 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
33380 Use directory block as basic unit.
33381
33382 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
33383
33384 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
33385 __attribute__ ((__regparm__ (1))).
33386
f95562bf 333872008-02-01 Robert Millan <rmh@aybabtu.com>
33388
33389 Correct a mistake in previous commit.
33390
33391 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
33392 top.
33393 (normal/command.c_DEPENDENCIES): New variable.
33394
7d31f41f 333952008-02-01 Robert Millan <rmh@aybabtu.com>
33396
33397 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
33398 top.
33399 (normal/command.c_DEPENDENCIES): New variable.
33400 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
33401 * conf/i386-ieee1275.rmk: Likewise.
33402 * conf/i386-linuxbios.rmk: Likewise.
33403 * conf/i386-pc.rmk: Likewise.
33404 * conf/sparc64-ieee1275.rmk: Likewise.
33405 * conf/powerpc-ieee1275.rmk: Likewise.
33406 (grub_emu_SOURCES): Add `fs/fshelp.c'.
33407
33408 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
33409
60b6be74 334102008-02-01 Robert Millan <rmh@aybabtu.com>
33411
33412 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
33413 call at beginning of function.
33414
078522ab 334152008-01-31 Pavel Roskin <proski@gnu.org>
33416
33417 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 33418 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
33419 (grub_mkrescue_SOURCES): Likewise.
078522ab 33420 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
33421
ccaa8a5f 334222008-01-30 Robert Millan <rmh@aybabtu.com>
33423
33424 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
33425 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
33426 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
33427 (grub_probe_SOURCES): ... to here.
33428
33429 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
33430 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
33431 * conf/i386-ieee1275.rmk: Likewise.
33432 * conf/i386-linuxbios.rmk: Likewise.
33433 * conf/powerpc-ieee1275.rmk: Likewise.
33434
ae5a9cd7 334352008-01-30 Tristan Gingold <gingold@free.fr>
33436
33437 * kern/rescue.c: Silently accept empty lines.
33438
70bc2ef2 334392008-01-29 Bean <bean123ch@gmail.com>
33440
33441 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
33442 (real_code_2): Code cleanup and change comment style.
33443 (move_memory): Avoid using 32-bit address mode.
33444
6a4d50ea 334452008-01-29 Bean <bean123ch@gmail.com>
33446
33447 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
33448 (png_mod_SOURCES): New variable.
33449 (png_mod_CFLAGS): Likewise.
33450 (png_mod_LDFLAGS): Likewise.
33451
33452 * video/readers/png.c: New file.
33453
11cc30ac 334542008-01-28 Robert Millan <rmh@aybabtu.com>
33455
33456 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
33457 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
33458 `ifndef GRUB_MOD_GAP' hack.
33459 * util/elf/grub-mkimage.c (add_segments): Likewise.
33460
3abc589f 334612008-01-27 Robert Millan <rmh@aybabtu.com>
33462
33463 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
33464 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 33465 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 33466
e1907778 334672008-01-27 Robert Millan <rmh@aybabtu.com>
33468
33469 Get grub-emu to build again (including parallel builds).
33470
33471 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
33472 Split into ...
33473 (util/grub-emu.c_DEPENDENCIES): ... this, ...
33474 (normal/execute.c_DEPENDENCIES): ... this, ...
33475 (grub-emu_DEPENDENCIES): ... and this.
33476
33477 * conf/i386-efi.rmk: Likewise.
33478 * conf/i386-linuxbios.rmk: Likewise.
33479 * conf/i386-ieee1275.rmk: Likewise.
33480 * conf/powerpc-ieee1275.rmk: Likewise.
33481 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
33482
2216b101 334832008-01-27 Robert Millan <rmh@aybabtu.com>
33484
33485 * NEWS: Add a few items.
33486
f75172d9 334872008-01-27 Robert Millan <rmh@aybabtu.com>
33488
33489 Fix parallel builds with grub-emu. Based on earlier commit for
33490 grub-probe and grub-setup.
33491
33492 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33493 (util/grub-emu.c_DEPENDENCIES): ... this.
33494 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33495 (util/grub-emu.c_DEPENDENCIES): ... this.
33496 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33497 (util/grub-emu.c_DEPENDENCIES): ... this.
33498 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33499 (util/grub-emu.c_DEPENDENCIES): ... this.
33500 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33501 (util/grub-emu.c_DEPENDENCIES): ... this.
33502
3f51de77 335032008-01-27 Pavel Roskin <proski@gnu.org>
33504
33505 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
33506 to create a gap between _end and the modules added to the image
33507 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
33508 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
33509 * util/elf/grub-mkimage.c (add_segments): Likewise.
33510
2033f53e 335112008-01-26 Pavel Roskin <proski@gnu.org>
33512
33513 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
33514 just return an error.
33515
22da1f6f 335162008-01-26 Bean <bean123ch@gmail.com>
33517
33518 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
33519 (grub_reiserfs_get_item): Save offset of the next item.
33520 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
33521
2a9525e6 335222008-01-25 Robert Millan <rmh@aybabtu.com>
33523
33524 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
33525 make all filesystem sources appear together (possibly fixing omissions
33526 while at it).
33527 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33528 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33529 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33530 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33531
33532 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
33533 add `kern/file.c'.
33534 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
33535 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
33536 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
33537 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
33538
33539 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
33540 (probe): Add a sanity check to make sure of our ability to read
33541 requested files when probing for filesystem type.
33542
33543 * genmk.rb: Update copyright year (2007).
33544
33545 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
33546 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
33547 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
33548 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
33549 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
33550 : Remove function prototypes.
33551
b95f71b5 335522008-01-25 Robert Millan <rmh@aybabtu.com>
33553
33554 Revert my previous commits (based on wrong assumption of how grub_errno
33555 works).
33556
fe6b695a 33557 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 33558 * kern/file.c (grub_file_open): Likewise.
33559
d08bbb49 335602008-01-24 Pavel Roskin <proski@gnu.org>
33561
33562 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
33563 that hang if GRUB tries to setup colors.
33564 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
33565 colors for firmwares that don't support it.
33566 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
33567 Recognize Open Hack'Ware, set flags to work around its
33568 limitations.
33569
605e36ed 335702008-01-24 Robert Millan <rmh@aybabtu.com>
33571
33572 * kern/file.c (grub_file_open): Do not account previous failures of
33573 unrelated functions when grub_errno is checked for.
33574 Reported by Oleg Strikov.
33575
bac332a1 335762008-01-24 Bean <bean123ch@gmail.com>
33577
33578 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
33579 (grub_ufs_sblock): New member volume name.
33580 (grub_ufs_find_file): Fix string copy bug.
33581 (grub_ufs_label): Implement this function properly.
33582
33583 * fs/hfs.c (grub_hfs_cnid_type): New enum.
33584 (grub_hfs_iterate_records): Use the correct file number for extents
33585 and catalog file. Fix problem in next index calculation.
33586 (grub_hfs_find_node): Replace recursive function call with loop.
33587 (grub_hfs_iterate_dir): Replace recursive function call with loop.
33588
15c80c09 335892008-01-23 Robert Millan <rmh@aybabtu.com>
33590
33591 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
33592 `<grub/symbol.h>' and `<grub/multiboot.h>'.
33593 (grub_multiboot2_real_boot): New function prototype.
33594
33595 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
33596 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
33597
33598 * kern/i386/ieee1275/init.c (grub_os_area_addr)
33599 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
33600
305338fd 336012008-01-23 Robert Millan <rmh@aybabtu.com>
33602
33603 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
33604 #ifdef'ed out grub_printf().
33605
3ea52685 336062008-01-23 Robert Millan <rmh@aybabtu.com>
33607
33608 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
33609 grub_dprintf calls, since they make "debug=all" mode unusable.
33610 (grub_console_checkkey): Likewise.
33611
5882ae4b 336122008-01-23 Robert Millan <rmh@aybabtu.com>
33613
33614 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33615 `term/i386/pc/at_keyboard.c'.
33616 (pkglib_MODULES): Add `serial.mod'.
33617 (serial_mod_SOURCES): New variable.
33618 (serial_mod_CFLAGS): Likewise.
33619 (serial_mod_LDFLAGS): Likewise.
33620
33621 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
33622 `<grub/powerpc/ieee1275/console.h>'.
33623 (grub_keyboard_controller_init): New function prototype.
33624 (grub_console_checkkey): Likewise.
33625 (grub_console_getkey): Likewise.
33626
33627 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
33628 keyboard on i386.
33629
33630 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
33631 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
33632
06ab5303 336332008-01-23 Robert Millan <rmh@aybabtu.com>
33634
33635 * kern/i386/pc/init.c (make_install_device): When memdisk image is
33636 present, "(memdisk)/boot/grub" becomes the default prefix.
33637
33638 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
33639 a memdisk tarball with all the modules. Add --overlay=DIR option that
33640 allows users to overlay additional files into the image.
33641
dbb475a4 336422008-01-23 Robert Millan <rmh@aybabtu.com>
33643
33644 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
33645 and `machine/memory.h'.
33646 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
33647 (_multiboot_mod_SOURCES): New variable.
33648 (_multiboot_mod_CFLAGS): Likewise.
33649 (_multiboot_mod_LDFLAGS): Likewise.
33650 (multiboot_mod_SOURCES): Likewise.
33651 (multiboot_mod_CFLAGS): Likewise.
33652 (multiboot_mod_LDFLAGS): Likewise.
33653
33654 * include/grub/i386/ieee1275/loader.h: New file.
33655
33656 * include/grub/i386/ieee1275/machine.h: Likewise.
33657
33658 * include/grub/i386/ieee1275/memory.h: Likewise.
33659
33660 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
33661 variable declaration.
33662 (grub_os_area_size): Likewise.
33663
33664 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
33665 (grub_lower_mem, grub_upper_mem): New variables.
33666 (grub_stop_floppy): New function (just to make
33667 grub_multiboot2_real_boot() happy).
33668
33669 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
33670 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
33671 (grub_stop): New function.
33672 Include `"../realmode.S"' and `"../loader.S"'.
33673
33674 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
33675 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
33676
33677 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
33678 rely on grub_multiboot2_real_boot() for final boot.
33679
25638629 336802008-01-22 Robert Millan <rmh@aybabtu.com>
33681
33682 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
33683 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
33684 device that doesn't look like an SD card.
33685 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
33686 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
33687 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
33688 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
33689 found.
33690
9dad816d 336912008-01-22 Robert Millan <rmh@aybabtu.com>
33692
33693 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
33694 avoid claiming over our own code.
33695
34842f2d 336962008-01-22 Bean <bean123ch@gmail.com>
33697
33698 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
33699 (jpeg_mod_SOURCES): New variable.
33700 (jpeg_mod_CFLAGS): Likewise.
33701 (jpeg_mod_LDFLAGS): Likewise.
33702
33703 * video/readers/jpeg.c : New file.
33704
44023a28 337052008-01-22 Bean <bean123ch@gmail.com>
33706
33707 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
33708 there are no more items.
33709
bc2d8ac6 337102008-01-21 Robert Millan <rmh@aybabtu.com>
33711
33712 * kern/mm.c (grub_mm_init_region): Improve debug message.
33713
261bd4bc 337142008-01-21 Robert Millan <rmh@aybabtu.com>
33715
33716 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
33717 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
33718 address.
33719 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
33720 a C macro.
33721 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
33722 Indicates start of upper memory.
33723 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
33724 (generate_image): Abort when image size is big enough to corrupt
33725 upper memory.
33726
33727 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
33728 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
33729 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
33730 instead of hardcoding 0xA0000.
33731 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
33732 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
33733 instead of hardcoding 0xA0000.
33734
f970b55e 337352008-01-21 Robert Millan <rmh@aybabtu.com>
33736
33737 * disk/memdisk.c (memdisk_size): New variable.
33738 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
33739 `memdisk_size'.
33740 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
33741 image to dynamic memory.
33742 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
33743 `memdisk_size'. Free memdisk block.
33744
1a8b0526 337452008-01-21 Robert Millan <rmh@aybabtu.com>
33746
33747 Fix detection of very small filesystems (like tar).
33748
33749 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
33750 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
33751 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
33752 a problem with this disk).
33753
6e9b4aab 337542008-01-21 Robert Millan <rmh@aybabtu.com>
33755
33756 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
33757 on grub_biosdisk_rw_standard() error.
33758
0d8837b2 337592008-01-21 Robert Millan <rmh@aybabtu.com>
33760
33761 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
33762 recent changes.
33763 * kern/elf.c: Likewise.
33764 * kern/ieee1275/ieee1275.c: Likewise.
33765 * kern/powerpc/ieee1275/openfw.c: Likewise.
33766 * term/ieee1275/ofconsole.c: Likewise.
33767
ffd36e34 337682008-01-21 Robert Millan <rmh@aybabtu.com>
33769
33770 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
33771
3f0093d0 33772 * include/grub/kernel.h (grub_arch_memdisk_addr)
33773 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 33774
3f0093d0 33775 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
33776 (grub_arch_memdisk_size): ... to here.
ffd36e34 33777
6c391b21 337782008-01-21 Robert Millan <rmh@aybabtu.com>
33779
33780 Mostly based on bugfix from Bean.
33781
33782 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
33783 attribute with hook() parameter.
33784 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
33785 declaration.
33786 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
33787 attribute with hook() parameter.
33788 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
33789 declaration.
33790
55a581dc 337912008-01-21 Robert Millan <rmh@aybabtu.com>
33792
33793 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
33794 (pkglib_MODULES): Add `memdisk.mod'.
33795 (memdisk_mod_SOURCES): New variable.
33796 (memdisk_mod_CFLAGS): Likewise.
33797 (memdisk_mod_LDFLAGS): Likewise.
33798
33799 * disk/memdisk.c: New file.
33800
33801 * include/grub/disk.h (grub_disk_dev_id): Add
33802 `GRUB_DISK_DEVICE_MEMDISK_ID'.
33803
33804 * include/grub/i386/pc/kernel.h
33805 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
33806 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
33807 (grub_kernel_image_size): New variable declaration.
33808 (grub_total_module_size): Likewise.
33809 (grub_memdisk_image_size): Likewise.
33810
33811 * include/grub/i386/pc/memory.h
33812 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
33813
33814 * include/grub/kernel.h: Include `<grub/symbol.h>'.
33815 (grub_arch_memdisk_addr): New variable declaration.
33816 (grub_arch_memdisk_size): Likewise.
33817
33818 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
33819 (grub_arch_memdisk_size): Likewise.
33820
33821 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
33822 (codestart): Replace hardcoded `0x100000' with
33823 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
33824
33825 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
33826 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
33827 not NULL, append the contents of the file it refers to, at the end of
33828 the compressed kernel image. Initialize `grub_memdisk_image_size'
33829 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
33830 (options): Add "memdisk"|'m' option.
33831 (main): Parse --memdisk|-m option, and pass user-provided path as
33832 parameter to generate_image().
33833
3d7f54c9 338342008-01-20 Robert Millan <rmh@aybabtu.com>
33835
33836 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
33837 grub_dprintf() calls from here ...
33838 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
33839
0bf74728 338402008-01-20 Robert Millan <rmh@aybabtu.com>
33841
33842 Fix detection of "real mode" when /options/real-mode? doesn't exist.
33843
33844 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
33845 declaration.
33846 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
33847 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
33848 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 33849 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 33850 property).
33851 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
33852 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
33853
33bf70a7 338542008-01-19 Robert Millan <rmh@aybabtu.com>
33855
fe6b695a 33856 Get rid of confusing function (superseded by
33bf70a7 33857 `grub_ieee1275_get_integer_property')
33858 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
33859 prototype.
33860 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
33861 function.
33862 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
33863 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 33864 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 33865
e2da7d26 338662008-01-19 Robert Millan <rmh@aybabtu.com>
33867
33868 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
33869 command after "shut-down", since implementations differ on which
33870 the command for halt is.
33871
59f1fd8d 338722008-01-19 Robert Millan <rmh@aybabtu.com>
33873
33874 * include/grub/i386/linuxbios/console.h: Add header protection.
33875 (grub_keyboard_controller_init): New function prototype.
33876 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
33877 (KEYBOARD_COMMAND_READ): Likewise.
33878 (KEYBOARD_COMMAND_WRITE): Likewise.
33879 (KEYBOARD_SCANCODE_SET1): Likewise.
33880 (grub_keyboard_controller_write): New function.
33881 (grub_keyboard_controller_read): Likewise.
33882 (grub_keyboard_controller_init): Likewise.
33883
33884 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
33885 (grub_console_init): On coreboot/LinuxBIOS, call
33886 grub_keyboard_controller_init().
33887
5f5a7c15 338882008-01-19 Robert Millan <rmh@aybabtu.com>
33889
33890 PowerPC changes provided by Pavel Roskin.
33891
33892 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
33893 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
33894 don't rely on cmain() doing it.
33895 * kern/i386/ieee1275/startup.S (_start): Store %eax in
33896 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
33897
1210e168 338982008-01-16 Robert Millan <rmh@aybabtu.com>
33899
33900 * include/grub/i386/linuxbios/memory.h
33901 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
33902 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
33903 receive `table_header' as argument. Instead, probe for it in the
33904 known memory ranges where it can be present.
33905 (grub_available_iterate): Do not pass a fixed `table_header' address
33906 to grub_linuxbios_table_iterate().
33907
3d04eab8 339082008-01-15 Robert Millan <rmh@aybabtu.com>
33909
33910 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
33911 * conf/i386-ieee1275.rmk: New file.
33912 * include/grub/i386/ieee1275/console.h: Likewise.
33913 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
33914 * include/grub/i386/ieee1275/kernel.h: Likewise.
33915 * include/grub/i386/ieee1275/time.h: Likewise.
33916 * kern/i386/ieee1275/init.c: Likewise.
33917 * kern/i386/ieee1275/startup.S: Likewise.
33918
d1bc1b73 339192008-01-15 Robert Millan <rmh@aybabtu.com>
33920
33921 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
33922 when pointers are 32-bit (but still do set it to one when they are
33923 64-bit).
33924
66a65807 339252008-01-15 Robert Millan <rmh@aybabtu.com>
33926
33927 * include/grub/ieee1275/ieee1275.h
33928 (grub_ieee1275_get_integer_property): New function prototype.
33929
33930 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
33931 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 33932 grub_ieee1275_get_property() to handle endianness.
66a65807 33933
33934 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
33935 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 33936 where appropriate.
66a65807 33937 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
33938 (grub_map): Likewise.
33939 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
33940
a83ccafd 339412008-01-15 Bean <bean123ch@gmail.com>
33942
33943 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
33944 (grub_script_execute_cmdline): Reset grub_errno.
33945
33946 * normal/main.c (read_config_file): Reset grub_errno.
33947
33948 * normal/parse.y (script_init): New.
33949 (script): Move function and menuentry here.
33950 (delimiter): New.
33951 (command): Add delimiter at the end of command.
33952 (commands): Adjust to match the new command.
33953 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 33954 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 33955 (if): Use the new commands.
33956
33957 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
33958
df6ecfc6 339592008-01-15 Robert Millan <rmh@aybabtu.com>
33960
33961 * normal/menu.c (run_menu): Move timeout message from here ...
33962 (print_timeout): ... to here.
33963 (run_menu): Use print_timeout() once during initial draw to print
33964 the whole message, and again in every clock tick to update only
33965 the number of seconds.
33966
87ae25eb 339672008-01-15 Robert Millan <rmh@aybabtu.com>
33968
33969 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
33970 actual size of `available' from grub_ieee1275_get_property(), and
33971 restrict parsing to that bound.
33972
47bf09a4 339732008-01-15 Christian Franke <franke@computer.org>
33974
33975 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
33976 (argp_program_version): Remove variable.
33977 (argp_program_bug_address): Likewise.
33978 (options): Convert from struct argp_option to struct option.
33979 (struct arguments): Remove.
33980 (parse_opt): Remove.
33981 (usage): New function.
33982 (main): Replace struct args members by simple variables.
33983 Replace argp_parse() by getopt_long().
33984 Add switch to evaluate options.
33985 Add missing "(...)" around root_dev in prefix string.
33986
c86f1469 339872008-01-14 Robert Millan <rmh@aybabtu.com>
33988
33989 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
33990 for grub_ieee1275_exit(), in order to improve portability.
33991
e622c559 339922008-01-14 Robert Millan <rmh@aybabtu.com>
33993
33994 * util/grub.d/10_linux.in (prefix): Define.
33995 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
33996
44cb1ec8 339972008-01-13 Pavel Roskin <proski@gnu.org>
33998
33999 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
34000 grub_errno if no errors have been detected.
34001
1eb8c802 340022008-01-12 Robert Millan <rmh@aybabtu.com>
34003
34004 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
34005 (grub_util_get_dev_abstraction): New function prototype.
34006
34007 * util/getroot.c: Include `<grub/util/getroot.h>'
34008 (grub_util_get_grub_dev): Move detection of abstraction type to ...
34009 (grub_util_get_dev_abstraction): ... here (new function).
34010
34011 * util/grub-probe.c: Convert PRINT_* to an enum. Add
34012 `PRINT_ABSTRACTION'.
34013 (probe): Probe for abstraction type when requested.
34014 (main): Understand `--target=abstraction'.
34015
34016 * util/i386/efi/grub-install.in: Add abstraction module to core
34017 image when it is found to be necessary.
34018 * util/i386/pc/grub-install.in: Likewise.
34019 * util/powerpc/ieee1275/grub-install.in: Likewise.
34020
34021 * util/update-grub_lib.in (font_path): Return system path without
34022 converting to GRUB path.
34023 * util/update-grub.in: Convert system path returned by font_path()
34024 to a GRUB path. Use `grub-probe -t abstraction' to determine what
34025 abstraction module is needed for loading fonts (if any). Export
34026 that as `GRUB_PRELOAD_MODULES'.
34027 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
34028 insmod commands).
34029
52bd3de9 340302008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
34031
34032 Remove some unused code from reiserfs.
f19dbdb7 34033
52bd3de9 34034 * fs/reiserfs.c (struct grub_reiserfs_key)
34035 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
34036 (struct grub_reiserfs_node_body): Removed.
34037 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
34038 Likewise.
34039 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34040 Likewise.
34041 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34042 Likewise.
34043 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34044 Likewise.
34045 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
34046 Likewise.
34047 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
34048 Likewise.
34049 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34050 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34051 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34052
2f80039d 340532008-01-10 Robert Millan <rmh@aybabtu.com>
34054
34055 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
34056 Determines if a file is garbage left by packaging systems, etc.
34057 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
34058 for processing /etc/grub.d scripts.
34059 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
34060 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
34061 as a condition for processing Linux images.
34062
87888032 340632008-01-10 Pavel Roskin <proski@gnu.org>
34064
34065 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
34066 to compile reiserfs.c on PowerPC.
34067
7e54fced 340682008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 34069
34070 * kern/device.c (grub_device_iterate): Do not abort device iteration
34071 when one of the devices cannot be opened.
34072 * kern/disk.c (grub_disk_open): Do not account previous failures of
34073 unrelated functions when grub_errno is checked for.
34074
5aa541e6 340752008-01-08 Robert Millan <rmh@aybabtu.com>
34076
34077 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
34078 `! grub_linux_is_bzimage', change order of address comparison to make
34079 it more intuitive, and improve "too big zImage" error message.
34080
7076340d 340812008-01-08 Robert Millan <rmh@aybabtu.com>
34082
34083 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
34084 `$(update-grub_DATA)'.
34085 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
34086 targets.
34087
9ca70333 340882008-01-07 Robert Millan <rmh@aybabtu.com>
34089
34090 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
34091 which instruction is modified by grub-setup during installation
34092 (since it wasn't obvious by only looking at this file).
34093
38ccf575 340942008-01-07 Robert Millan <rmh@aybabtu.com>
34095
34096 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
34097 listing actual TODO items.
34098
f5db4291 340992008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34100
868967cf 34101 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
34102 correctly.
34103 (grub_reiserfs_get_key_offset): Likewise.
34104 (grub_reiserfs_set_key_offset): Likewise.
34105 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 34106 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 34107
34108 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
34109 better to remove the bitfield version completely.
f19dbdb7 34110
868967cf 341112008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 34112
f5db4291 34113 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
34114 allocated from the heap, due to the fshelp implementation.
34115 (grub_reiserfs_dir): Free NODE, due to the same reason.
34116
492e6d9d 341172008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34118
34119 Mostly from Vincent Pelletier:
f19dbdb7 34120
492e6d9d 34121 * fs/reiserfs.c: New file.
f19dbdb7 34122
492e6d9d 34123 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
34124 (reiserfs_mod_SOURCES): New variable.
34125 (reiserfs_mod_CFLAGS): Likewise.
34126 (reiserfs_mod_LDFLAGS): Likewise.
34127
34128 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
34129 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
34130 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
34131 normal/color.c.
34132
9ce3e7c1 341332008-01-06 Robert Millan <rmh@aybabtu.com>
34134
34135 * normal/color.c: Remove `<grub/env.h>'.
34136
f3b58148 341372008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
34138
34139 * include/grub/normal.h: Include <grub/env.h>.
34140
7ac3bcfa 341412008-01-05 Robert Millan <rmh@aybabtu.com>
34142
34143 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
34144 usage example with `(hd0,1)'.
fb358190 34145 Reported by Samuel Thibault.
7ac3bcfa 34146
c8ee99d7 341472008-01-05 Robert Millan <rmh@aybabtu.com>
34148
34149 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
34150 (grub_linux_boot_zimage): Rename to ...
34151 (grub_linux_boot): ... this.
34152 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
34153 (grub_linux_boot_zimage): Conditionalize zImage copy.
34154
34155 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
34156 (grub_linux_boot_bzimage): Remove prototype.
34157 (grub_linux_boot_zimage): Rename to ...
34158 (grub_linux_boot): ... this.
34159
34160 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
34161 (grub_linux_boot): Remove function.
34162
0ece25b1 341632008-01-05 Robert Millan <rmh@aybabtu.com>
34164
34165 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
34166 (grub_env_write_color_highlight): Likewise.
34167 (grub_wait_after_message): Likewise.
34168
34169 * normal/color.c: New file.
34170
34171 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34172 (normal_mod_DEPENDENCIES): Likewise.
34173
34174 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34175 (normal_mod_DEPENDENCIES): Likewise.
34176
34177 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34178 (normal_mod_DEPENDENCIES): Likewise.
34179
34180 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34181 (normal_mod_DEPENDENCIES): Likewise.
34182
34183 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
34184 for waiting after a message is printed.
34185 * normal/main.c (read_config_file): Likewise.
34186 (grub_normal_init): Register grub_env_write_color_normal() and
34187 grub_env_write_color_highlight() hooks. Mark `color_normal' and
34188 `color_highlight' variables as global.
34189
34190 * normal/menu.c (grub_wait_after_message): New function.
34191 (grub_color_menu_normal): New variable. Replaces ...
34192 (GRUB_COLOR_MENU_NORMAL): ... this macro.
34193 (grub_color_menu_highlight): New variable. Replaces ...
34194 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
34195 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
34196 `GRUB_TERM_COLOR_STANDARD'.
34197 (print_message): Use `grub_setcolorstate' to reload colors. Rename
34198 `normal_code' and `highlight_code' to `old_color_normal' and
34199 `old_color_highlight', respectively.
34200 (grub_menu_init_page): Update colors when drawing the menu, based on
34201 `menu_color_normal' and `menu_color_highlight' variables.
34202 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
34203 a message is printed.
34204
182dd4e5 342052008-01-05 Robert Millan <rmh@aybabtu.com>
34206
34207 * kern/env.c (grub_env_context_open): Propagate hooks for global
34208 variables to new context.
34209
34210 * kern/main.c (grub_set_root_dev): Export `root' variable.
34211
ddf8f6ad 342122008-01-05 Robert Millan <rmh@aybabtu.com>
34213
34214 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 34215 discs unconditionally, since udev and others have options to provide
ddf8f6ad 34216 them.
34217
d8b43d9b 342182008-01-05 Robert Millan <rmh@aybabtu.com>
34219
34220 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
34221
2bff2de3 342222008-01-04 Christian Franke <franke@computer.org>
34223
34224 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
34225 of eisa_mmap.
34226
97eab917 342272008-01-03 Pavel Roskin <proski@gnu.org>
34228
34229 * kern/i386/linuxbios/init.c: Put "void" to all function
34230 declarations with no arguments.
34231 * kern/powerpc/ieee1275/init.c: Likewise.
34232 * term/i386/pc/at_keyboard.c: Likewise.
34233 * term/i386/pc/vga_text.c: Likewise.
34234 * util/grub-mkdevicemap.c: Likewise.
34235
b9416d00 342362008-01-02 Robert Millan <rmh@aybabtu.com>
34237
34238 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
34239 message when loaded image is out of bounds.
34240 (grub_multiboot_load_elf64): Likewise.
34241
92695df9 342422008-01-02 Pavel Roskin <proski@gnu.org>
34243
34244 * util/grub.d/10_linux.in: Try version without ".old" when
34245 looking for initrd. It's better to use initrd from the newer
34246 kernel of the same version than no initrd at all.
34247
d98d9cad 342482008-01-01 Robert Millan <rmh@aybabtu.com>
34249
34250 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
34251
dbfdce36 342522008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
34253
f19dbdb7 34254 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 34255 grub_video_get_active_render_target.
34256 (grub_video_adapter): Added unmap_color and get_active_render_target.
34257
f19dbdb7 34258 * video/video.c: Added grub_video_unmap_color and
dbfdce36 34259 grub_video_get_active_render_target.
34260 (grub_video_get_info): Changed method to accept NULL pointer as an
34261 argument to allow detection of active video adapter.
34262
34263 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
34264 grub_video_vbe_unmap_color_int.
34265 Added grub_video_vbe_unmap_color and
34266 grub_video_vbe_get_active_render_target.
34267 (grub_video_vbe_adapter): Added unmap_color and
34268 get_active_render_target.
34269
f19dbdb7 34270 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 34271 with grub_video_vbe_unmap_color_int.
34272
34273 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
34274 (DEFAULT_NORMAL_COLOR): Likewise.
34275 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
34276 (DEFAULT_FG_COLOR): Removed.
34277 (DEFAULT_BG_COLOR): Likewise.
34278 (DEFAULT_CURSOR_COLOR): Changed value.
34279 (grub_virtual_screen): Added standard_color_setting,
34280 normal_color_setting, highlight_color_setting and term_color.
34281 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
34282 (bitmap_width): Added.
34283 (bitmap_height): Likewise.
34284 (bitmap): Likewise.
34285 (set_term_color): Likewise.
34286 (grub_virtual_screen_setup): Changed to use new terminal coloring
34287 settings.
34288 (grub_gfxterm_init): Added init for bitmap.
34289 (grub_gfxterm_fini): Added destroy for bitmap.
34290 (redraw_screen_rect): Updated to use background bitmap and new
34291 terminal coloring.
34292 (scroll_up): Added optimization for case when there is no bitmap.
34293 (grub_gfxterm_cls): Fixed to use correct background color.
34294 (grub_virtual_screen_setcolorstate): Changed to use new terminal
34295 coloring.
34296 (grub_virtual_screen_setcolor): Likewise.
34297 (grub_virtual_screen_getcolor): Added.
34298 (grub_gfxterm_background_image_cmd): Likewise.
34299 (grub_video_term): Added setcolor and getcolor.
34300 (MOD_INIT): Added registration of background_image command.
34301 (MOD_TERM): Added unregistration for background_image command.
34302
c3c20931 343032007-12-30 Pavel Roskin <proski@gnu.org>
34304
34305 * loader/multiboot_loader.c: Fix multiboot command
34306 unregistration. Fix all typos in the word "multiboot".
34307
df266716 343082007-12-29 Pavel Roskin <proski@gnu.org>
94239199 34309
34310 * util/grub.d/10_linux.in: Refactor search for initrd. Add
34311 support for initrd names used in Fedora.
34312
fc6e896c 343132007-12-26 Bean <bean123ch@gmail.com>
34314
34315 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
34316 (cpio_mod_SOURCES): New variable.
34317 (cpio_mod_CFLAGS): Likewise.
34318 (cpio_mod_LDFLAGS): Likewise.
34319
34320 * fs/cpio.c: New file.
34321
34322 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
34323
34324 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34325
34326 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34327
34328 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34329
533110ad 343302007-12-25 Robert Millan <rmh@aybabtu.com>
34331
34332 * include/grub/term.h (struct grub_term): Add `getcolor' function.
34333 (grub_getcolor): New function.
34334
34335 * kern/term.c (grub_getcolor): New function.
34336 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
34337 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
34338 (print_entry): Set normal and highlight colors to
34339 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
34340 respectively, before printing and restore them to old
34341 values afterwards.
34342 (grub_menu_init_page): Likewise. Fill an additional colored space
34343 that would otherwise be left blank.
34344
34345 * term/efi/console.c (grub_console_getcolor): New function.
34346 (struct grub_console_term.getcolor): New variable.
34347 * term/i386/pc/console.c (grub_console_getcolor): New function.
34348 (struct grub_console_term.getcolor): New variable.
34349 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
34350 (struct grub_console_term.getcolor): New variable.
34351
34352 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
34353 (struct grub_console_term.setcolor): Remove variable.
34354 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
34355 (struct grub_console_term.setcolor): Remove variable.
34356 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
34357 (struct grub_console_term.setcolor): Remove variable.
34358 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
34359 (struct grub_console_term.setcolor): Remove variable.
34360
4931827f 343612007-12-25 Robert Millan <rmh@aybabtu.com>
34362
34363 * configure.ac: Search for possible unifont.hex locations, and
34364 define UNIFONT_HEX if found.
34365
34366 * Makefile.in (UNIFONT_HEX): Define variable.
34367 (DATA): Rename to ...
34368 (PKGLIB): ... this. Update all users.
34369 (PKGDATA): New variable.
34370 (pkgdata_IMAGES): Rename to ...
34371 (pkglib_IMAGES): ... this. Update all users.
34372 (pkgdata_MODULES): Rename to ...
34373 (pkglib_MODULES): ... this. Update all users.
34374 (pkgdata_PROGRAMS): Rename to ...
34375 (pkglib_PROGRAMS): ... this. Update all users.
34376 (pkgdata_DATA): Rename to ...
34377 (pkglib_DATA): ... this. Update all users.
34378 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
34379 (unicode.pff, ascii.pff): New rules.
34380 (all-local): Add `$(PKGDATA)' dependency.
34381 (install-local): Process `$(PKGDATA)'.
34382
34383 * util/update-grub_lib.in (font_path): Search for *.pff files in
34384 a few more locations, including `${pkgdata}'.
34385
57e57e31 343862007-12-23 Robert Millan <rmh@aybabtu.com>
34387
34388 Patch from Bean <bean123ch@gmail.com>:
34389 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
34390 `size'.
34391
4bc72aa9 343922007-12-21 Bean <bean123ch@gmail.com>
34393
34394 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
34395 (ntfscomp_mod_SOURCES): New variable.
34396 (ntfscomp_mod_CFLAGS): Likewise.
34397 (ntfscomp_mod_LDFLAGS): Likewise.
34398
34399 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
34400 (grub_probe_SOURCES): Likewise.
34401 (grub_emu_SOURCES): Likewise.
34402
34403 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34404 (grub_emu_SOURCES): Likewise.
34405
34406 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34407 (grub_emu_SOURCES): Likewise.
34408
34409 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34410 (grub_emu_SOURCES): Likewise.
34411
34412 * fs/ntfs.c (grub_ntfscomp_func): New variable.
34413 (read_run_list): Renamed to grub_ntfs_read_run_list.
34414 (decomp_nextvcn): Moved to ntfscomp.c.
34415 (decomp_getch): Likewise.
34416 (decomp_get16): Likewise.
34417 (decomp_block): Likewise.
34418 (read_block): Likewise.
34419 (read_data): Partially moved to ntfscomp.c.
34420 (fixup): Change unsigned to grub_uint16_t.
34421 (read_mft): Change unsigned long to grub_uint32_t.
34422 (read_attr): Likewise.
34423 (read_data): Likewise.
34424 (read_run_data): Likewise.
34425 (read_run_list): Likewise.
34426 (read_mft): Likewise.
34427
34428 * fs/ntfscomp.c: New file.
34429
34430 * include/grub/ntfs.h: New file.
34431
af680a87 344322007-12-16 Robert Millan <rmh@aybabtu.com>
34433
34434 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
34435 IDE disk check, since Linux is known to support 20 IDE disks.
34436 Reported by Colin Watson.
34437
84be7599 344382007-12-15 Bean <bean123ch@gmail.com>
34439
34440 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
34441 (lnxboot_img_SOURCES): New variable.
34442 (lnxboot_img_ASFLAGS): Likewise.
34443 (lnxboot_img_LDFLAGS): Likewise.
34444
34445 * boot/i386/pc/lnxboot.S: New file.
34446
6af9db01 344472007-11-24 Pavel Roskin <proski@gnu.org>
34448
34449 * configure.ac: Test if '--build-id=none' is supported by the
34450 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
34451 objcopy to generate incorrect binary files (binutils
34452 2.17.50.0.18-1 as shipped by Fedora 8).
34453 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
34454 linking, so that build ID doesn't break the test.
34455
7361cfe6 344562007-11-24 Pavel Roskin <proski@gnu.org>
34457
34458 * include/grub/i386/time.h: use "void" in the argument list
34459 of grub_cpu_idle().
34460 * include/grub/powerpc/time.h: Likewise.
34461 * include/grub/sparc64/time.h: Likewise.
34462
1593e10c 344632007-11-18 Christian Franke <franke@computer.org>
34464
34465 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
34466 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
34467 This fixes the problem that function keys did not work in grub-emu.
34468
3b8db1a8 344692007-11-18 Christian Franke <franke@computer.org>
34470
34471 * disk/host.c (grub_host_open): Remove attribute unused from
34472 name parameter. Add check for "host". This fixes the problem
34473 that grub-emu does not find partitions.
34474
2e29408d 344752007-11-18 Christian Franke <franke@computer.org>
34476
34477 * util/hostfs.c (is_dir): New function.
34478 (grub_hostfs_dir): Handle missing dirent.d_type case.
34479 (grub_hostfs_read): Add missing fseek().
34480 (grub_hostfs_label): Clear label pointer. This fixes a crash
34481 of grub-emu on "ls (host)".
34482
398cd047 344832007-11-18 Christian Franke <franke@computer.org>
34484
34485 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
34486 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
34487 to 64 bit boundary by default.
34488
c405c391 344892007-11-18 Bean <bean123ch@gmail.com>
34490
34491 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
34492 (hexdump_mod_SOURCES): New variable.
34493 (hexdump_mod_CFLAGS): Likewise.
34494 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 34495
c405c391 34496 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34497
34498 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34499
34500 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34501
34502 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34503
34504 * include/grub/hexdump.h: New file.
34505
34506 * commands/hexdump.c: New file.
34507
5cced7fd 345082007-11-10 Robert Millan <rmh@aybabtu.com>
34509
34510 * commands/i386/pc/play.c (beep_off): Switch order of arguments
34511 in grub_outb() calls.
34512 (beep_on): Likewise.
34513
8b714eb0 345142007-11-10 Christian Franke <franke@computer.org>
34515
34516 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
34517 (grub_menu_run): Likewise.
34518
ce0f1839 345192007-11-10 Robert Millan <rmh@aybabtu.com>
34520
34521 * include/grub/i386/efi/machine.h: New file.
34522 * include/grub/i386/linuxbios/machine.h: Likewise.
34523 * include/grub/i386/pc/machine.h: Likewise.
34524 * include/grub/powerpc/ieee1275/machine.h: Likewise.
34525 * include/grub/sparc64/ieee1275/machine.h: Likewise.
34526
34527 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
34528 (serial_hw_io_addr): New variable.
34529 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
34530 instead of `(unsigned short *) 0x400'.
34531
270c237d 345322007-11-10 Bean <bean123ch@gmail.com>
34533
34534 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
34535
a87783bf 345362007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
34537
34538 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
34539 (vga_mod_SOURCES): Added.
34540 (vga_mod_CFLAGS): Likewise.
34541 (vga_mod_LDFLAGS): Likewise.
34542
34543 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
34544 grub_outb() calls.
34545 (set_map_mask): Likewise.
34546 (set_read_map): Likewise.
34547 (set_read_address): Likewise.
34548 (vga_font): Removed variable.
34549 (get_vga_glyph): Removed function.
34550 (invalidate_char): Likewise.
34551 (write_char): Changed to use grub_font_get_glyph() for font
34552 information.
34553 (grub_vga_putchar): Likewise.
34554 (grub_vga_getcharwidth): Likewise.
34555
6433b448 345562007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
34557
34558 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
34559 flags.
34560 (pxeboot_img_LDFLAGS): Likewise.
34561 (diskboot_img_LDFLAGS): Likewise.
34562 (kernel_img_LDFLAGS): Likewise.
34563
49178511 345642007-11-06 Robert Millan <rmh@aybabtu.com>
34565
34566 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
34567 in grub_outb() calls.
34568 (serial_hw_init): Likewise.
34569
53b052de 345702007-11-05 Robert Millan <rmh@aybabtu.com>
34571
34572 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
34573 spaces. Skip non-regular files.
34574
5ab33bba 345752007-11-05 Robert Millan <rmh@aybabtu.com>
34576
34577 * kern/disk.c (grub_disk_firmware_fini)
34578 (grub_disk_firmware_is_tainted): New variables.
34579
34580 * include/grub/disk.h (grub_disk_firmware_fini)
34581 (grub_disk_firmware_is_tainted): Likewise.
34582
34583 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
34584 (grub_disk_biosdisk_fini): ... to here.
34585 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
34586 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
34587 is set. Register grub_disk_biosdisk_fini() in
34588 `grub_disk_firmware_fini'.
34589
34590 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
34591 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
34592 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
34593 to finish existing firmware disk interface.
34594
34595 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
34596 (ata_mod_SOURCES): New variable.
34597 (ata_mod_CFLAGS): Likewise.
34598 (ata_mod_LDFLAGS): Likewise.
34599
0149ab7c 346002007-11-05 Robert Millan <rmh@aybabtu.com>
34601
34602 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
34603 (grub_ata_wait): Reimplement using grub_millisleep().
34604
34605 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
34606 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
34607
be7ac41e 346082007-11-03 Marco Gerards <marco@gnu.org>
34609
34610 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
34611 (CRTC_ADDR_PORT): New macro.
34612 (CRTC_DATA_PORT): Likewise.
34613 (CRTC_CURSOR): Likewise.
34614 (CRTC_CURSOR_ADDR_HIGH): Likewise.
34615 (CRTC_CURSOR_ADDR_LOW): Likewise.
34616 (update_cursor): New function.
34617 (grub_console_real_putchar): Call `update_cursor'.
34618 (grub_console_gotoxy): Likewise.
34619 (grub_console_cls): Set the default color when clearing the
34620 screen.
34621 (grub_console_setcursor): Implemented.
34622
bb06ab2e 346232007-11-03 Marco Gerards <marco@gnu.org>
34624
34625 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
34626 become activate.
34627 (grub_ata_pio_write): Likewise.
34628
34629 (grub_atapi_identify): Wait after issuing an ATA command.
34630 (grub_atapi_packet): Likewise.
34631 (grub_ata_identify): Likewise.
34632 (grub_ata_readwrite): Likewise.
34633
cf8f780b 346342007-11-03 Marco Gerards <marco@gnu.org>
34635
34636 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
34637 (grub_ata_pio_write): Likewise.
34638 (grub_ata_readwrite): Use `grub_error', instead of
34639 returning `grub_errno'.
34640
ed649e54 346412007-11-03 Marco Gerards <marco@gnu.org>
34642
34643 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
34644 grub_ata_pio_write once for every single sector, instead of for
34645 multiple sectors.
34646
ca25d8f0 346472007-10-31 Robert Millan <rmh@aybabtu.com>
34648
34649 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
34650
34651 * conf/i386-linuxbios.rmk: New file.
34652
34653 * kern/i386/pc/hardware.c: Likewise.
34654 * term/i386/pc/at_keyboard.c: Likewise.
34655 * term/i386/pc/vga_text.c: Likewise.
34656
34657 * include/grub/i386/linuxbios/boot.h: Likewise.
34658 * include/grub/i386/linuxbios/console.h: Likewise.
34659 * include/grub/i386/linuxbios/init.h: Likewise.
34660 * include/grub/i386/linuxbios/kernel.h: Likewise.
34661 * include/grub/i386/linuxbios/loader.h: Likewise.
34662 * include/grub/i386/linuxbios/memory.h: Likewise.
34663 * include/grub/i386/linuxbios/serial.h: Likewise.
34664 * include/grub/i386/linuxbios/time.h: Likewise.
34665
34666 * kern/i386/linuxbios/init.c: Likewise.
34667 * kern/i386/linuxbios/startup.S: Likewise.
34668 * kern/i386/linuxbios/table.c: Likewise.
34669
e911ecc1 346702007-10-31 Marco Gerards <marco@gnu.org>
34671
34672 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
34673 (ata_mod_SOURCES): New variable.
34674 (ata_mod_CFLAGS): Likewise.
34675 (ata_mod_LDFLAGS): Likewise.
34676
34677 * disk/ata.c: New file.
34678
34679 * include/grub/disk.h (grub_disk_dev_id): Add
34680 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 34681
7f66d0e0 346822007-10-31 Robert Millan <rmh@aybabtu.com>
34683
34684 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
34685 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
34686
34687 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
34688 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
34689
34690 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
34691 `<grub/types.h>'.
34692
34693 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
34694
5cd7dd46 346952007-10-27 Robert Millan <rmh@aybabtu.com>
34696
3236ca65 34697 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 34698
2ebfc90f 346992007-10-22 Robert Millan <rmh@aybabtu.com>
34700
34701 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
34702 `"../realmode.S"'.
34703 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
34704
73fcb0f3 347052007-10-22 Robert Millan <rmh@aybabtu.com>
34706
34707 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
34708 (pkgdata_MODULES): Add `biosdisk.mod'.
34709 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
34710 variables.
34711
34712 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
34713 (grub_biosdisk_init): Replace with ...
34714 (GRUB_MOD_INIT(biosdisk)): ... this.
34715 (grub_biosdisk_fini): Replace with ...
34716 (GRUB_MOD_FINI(biosdisk)): ... this.
34717
34718 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
34719 (grub_machine_init): Remove call to grub_biosdisk_init().
34720 (grub_machine_fini): Remove call to grub_machine_fini().
34721
34722 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
34723
3381d274 347242007-10-22 Robert Millan <rmh@aybabtu.com>
34725
34726 * include/grub/time.h: New file.
34727 * include/grub/i386/time.h: Likewise.
34728 * include/grub/powerpc/time.h: Likewise.
34729 * include/grub/sparc64/time.h: Likewise.
34730
34731 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
34732 instances to ...
34733 (KERNEL_MACHINE_TIME_HEADER): ... this.
34734 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
34735 instances to ...
34736 (KERNEL_MACHINE_TIME_HEADER): ... this.
34737 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
34738 instances to ...
34739 (KERNEL_MACHINE_TIME_HEADER): ... this.
34740
34741 * kern/i386/efi/init.c: Include `<grub/time.h>'.
34742 (grub_millisleep): New function.
34743 * kern/i386/pc/init.c: Include `<grub/time.h>'.
34744 (grub_millisleep): New function.
34745 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
34746 Remove `grub/machine/time.h' include.
34747 (grub_millisleep): New function.
34748 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
34749 Remove `grub/machine/time.h' include.
34750 (grub_millisleep): New function.
34751
34752 * include/grub/misc.h (grub_div_roundup): New function.
34753
34754 * kern/misc.c: Include `<grub/time.h>'.
34755 (grub_millisleep_generic): New function.
34756
34757 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
34758 Add `time.h'.
34759 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
34760 Add `time.h'.
34761 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
34762 `machine/time.h'. Add `time.h'.
34763 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34764
a39a0312 347652007-10-21 Robert Millan <rmh@aybabtu.com>
34766
34767 * include/grub/misc.h (grub_max): New function.
34768
2aad70e2 347692007-10-21 Robert Millan <rmh@aybabtu.com>
34770
34771 * util/misc.c (grub_util_info): Call fflush() before returning.
34772
54b71c4b 347732007-10-20 Robert Millan <rmh@aybabtu.com>
34774
34775 * genmk.rb (Image): Copy `extra_flags' from here ...
34776 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
34777
34778 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
34779 to `argc' and `args' arguments.
34780
a979f513 347812007-10-17 Robert Millan <rmh@aybabtu.com>
34782
34783 * kern/i386/loader.S: New file.
34784
34785 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
34786 * kern/i386/loader.S (grub_linux_prot_size)... to here.
34787 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
34788 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
34789 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
34790 * kern/i386/loader.S (grub_linux_real_addr)... to here.
34791 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
34792 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
34793 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
34794 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
34795 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
34796 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
34797 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
34798 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
34799
34800 * kern/i386/realmode.S: New file.
34801
34802 * kern/i386/pc/startup.S (protstack): Moved from here ...
34803 * kern/i386/realmode.S (protstack)... to here.
34804 * kern/i386/pc/startup.S (gdt): Moved from here ...
34805 * kern/i386/realmode.S (gdt)... to here.
34806 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
34807 * kern/i386/realmode.S (prot_to_real)... to here.
34808
34809 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
34810 `kern/i386/realmode.S'.
34811
825fc8fd 348122007-10-17 Robert Millan <rmh@aybabtu.com>
34813
34814 * include/grub/i386/loader.h: New file.
34815
34816 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
34817 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
34818 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
34819 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
34820 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
34821 * include/grub/i386/loader.h (grub_linux_prot_size)
34822 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
34823 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
34824 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
34825 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
34826
34827 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
34828
e179b2f4 348292007-10-15 Robert Millan <rmh@aybabtu.com>
34830
34831 * normal/misc.c (grub_normal_print_device_info): Do not probe for
34832 filesystem when dev->disk is unset.
34833 Do probe for filesystem even when dev->disk->has_partitions is set.
34834 In case a filesystem is found, always report it.
34835 In case it isn't, if dev->disk->has_partitions is set, report that
34836 a partition table was found instead of reporting that no filesystem
34837 could be identified.
34838
5db82af6 348392007-10-12 Robert Millan <rmh@aybabtu.com>
34840
34841 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
34842 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
34843
68f6ac74 34844 * include/grub/types.h (grub_host_to_target16): New macro.
34845 (grub_host_to_target32): Likewise.
34846 (grub_host_to_target64): Likewise.
34847 (grub_target_to_host16): Likewise.
34848 (grub_target_to_host32): Likewise.
34849 (grub_target_to_host64): Likewise.
5db82af6 34850
34851 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
34852 Renamed from to ...
34853 (GRUB_MOD_ALIGN): ...this. Update all users.
34854
68f6ac74 34855 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
34856 grub_host_to_target32.
34857 Replace grub_be_to_cpu32 with grub_target_to_host32.
34858 (load_modules): Likewise.
34859 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
34860 Replace grub_be_to_cpu32 with grub_target_to_host32.
34861 Replace grub_cpu_to_be16 with grub_host_to_target16.
34862 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 34863
3cf497cc 348642007-10-12 Robert Millan <rmh@aybabtu.com>
34865
34866 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
34867 * util/elf/grub-mkimage.c: ... here.
34868
34869 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
34870 `util/powerpc/ieee1275/grub-mkimage.c'.
34871
c8cc3692 348722007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 34873
c8cc3692 34874 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
34875 and make it easier to figure out.
34876 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
34877 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
34878 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
34879 leave us with less than HEAP_MIN_SIZE total heap.
34880 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 34881
5c58b791 348822007-10-03 Robert Millan <rmh@aybabtu.com>
34883
34884 * include/grub/i386/io.h: New file.
34885 * commands/i386/pc/play.c (inb): Removed.
34886 (outb): Removed.
34887 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34888 with grub_outb().
afcd2ef8 34889 * term/i386/pc/serial.c (inb): Removed.
34890 (outb): Removed.
34891 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34892 with grub_outb().
34893 * term/i386/pc/vga.c (inb): Removed.
34894 (outb): Removed.
34895 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34896 with grub_outb().
5c58b791 34897
1a477ed6 348982007-10-02 Robert Millan <rmh@aybabtu.com>
34899
34900 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
34901 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34902 Reported by Marcin Kurek.
34903
6b5d80fa 349042007-09-07 Robert Millan <rmh@aybabtu.com>
34905
34906 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
34907 SmartFirmware version updates (as released by Sven Luther), and avoid
34908 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
34909 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
34910 known broken.
34911
5618afbf 349122007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
34913
34914 From Hitoshi Ozeki:
34915 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
34916 when merging two regions.
34917
6139dcd9 349182007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
34919
508e39ee 34920 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
34921 * normal/completion.c (grub_normal_do_completion): Likewise.
34922 Reported by Hitoshi Ozeki.
34923
349242007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 34925
6139dcd9 34926 Do not use devices at boot in chainloading.
f19dbdb7 34927
6139dcd9 34928 * loader/i386/pc/chainloader.c (boot_drive): New variable.
34929 (boot_part_addr): Likewise.
34930 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
34931 with BOOT_DRIVE and BOOT_PART_ADDR.
34932 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
34933 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
34934
38da6516 349352007-08-29 Robert Millan <rmh@aybabtu.com>
34936
34937 Patch from Simon Peter <dn.tlp@gmx.net>:
34938 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
34939 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
34940 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
34941 util/i386/pc/grub-setup.c_DEPENDENCIES.
34942 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
34943 util/grub-probe.c_DEPENDENCIES.
34944 * conf/powerpc-ieee1275.rmk: Likewise.
34945
29d0928c 349462007-08-28 Robert Millan <rmh@aybabtu.com>
34947
34948 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
34949 to tell grub-mkdevicemap how to name devices.
34950 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
34951 feature).
34952
34953 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
34954 util/i386/get_disk_name.c.
34955 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
34956 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
34957 util/ieee1275/get_disk_name.c.
34958
34959 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
34960
34961 * DISTLIST: Add util/i386/get_disk_name.c and
34962 util/ieee1275/get_disk_name.c.
34963
34964 * util/grub-mkdevicemap.c: Replace device naming logic with
34965 grub_util_get_disk_name() calls.
34966
5a0d3cca 349672007-08-20 Robert Millan <rmh@aybabtu.com>
34968
34969 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
34970 (so that it works for both plural and singular quantities).
34971
8b72db2f 349722007-08-05 Robert Millan <rmh@aybabtu.com>
34973
34974 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
34975 so that [xz] isn't taken into account when determining order.
34976
352466bf 349772007-08-02 Marco Gerards <marco@gnu.org>
34978
34979 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
34980 `include/multiboot2.h', `include/grub/elfload.h',
34981 `include/multiboot.h', `include/grub/multiboot.h',
34982 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
34983 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
34984 `kern/elf.c', `loader/multiboot_loader.c',
34985 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
34986 `loader/i386/pc/multiboot2.c',
34987 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
34988 `util/i386/pc/grub-mkrescue.in'. Remove
34989 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
34990 `include/grub/i386/pc/util/biosdisk.h' and
34991 `include/grub/powerpc/ieee1275/multiboot.h'.
34992
8f096014 349932007-08-02 Bean <bean123ch@gmail.com>
34994
34995 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
34996 (ntfs_mod_SOURCES): New variable.
34997 (ntfs_mod_CFLAGS): Likewise.
34998 (ntfs_mod_LDFLAGS): Likewise.
34999
35000 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
35001 (grub_probe_SOURCES): Likewise.
35002 (grub_emu_SOURCES): Likewise.
35003
35004 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
35005 (grub_emu_SOURCES): Likewise.
35006
35007 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
35008 (grub_emu_SOURCES): Likewise.
f19dbdb7 35009
8f096014 35010 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
35011
35012 * fs/ntfs.c: New file.
35013
9959f7db 350142007-08-02 Bean <bean123ch@gmail.com>
35015
35016 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
35017
35018 * file.h (grub_file): Likewise.
35019
35020 * fshelp.h (grub_fshelp_read_file): Likewise.
35021
35022 * util/i386/pc/grub-setup.c (setup): Likewise.
35023 (save_first_sector): Likewise.
35024 (save_blocklists): Likewise.
f19dbdb7 35025
9959f7db 35026 * fs/affs.c (grub_affs_read_file): Likewise.
35027
35028 * fs/ext2.c (grub_ext2_read_file): Likewise.
35029
35030 * fs/fat.c (grub_fat_read_data): Likewise.
35031
35032 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
35033
35034 * fs/hfs.c (grub_hfs_read_file): Likewise.
35035
35036 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
35037
35038 * fs/jfs.c (grub_jfs_read_file): Likewise.
35039
35040 * fs/minix.c (grub_minix_read_file): Likewise.
35041
35042 * fs/sfs.c (grub_sfs_read_file): Likewise.
35043
35044 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 35045
9959f7db 35046 * fs/xfs.c (grub_xfs_read_file): Likewise.
35047
35048 * command/blocklist.c (read_blocklist): Likewise.
35049 (print_blocklist): Likewise.
35050
0a203f83 350512007-08-02 Marco Gerards <marco@gnu.org>
35052
35053 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
35054 `util/hostfs.c'.
35055
35056 * disk/host.c: New file.
35057
35058 * util/hostfs.c: Likewise.
35059
35060 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
35061 return `GRUB_ERR_BAD_FS'.
35062 * fs/sfs.c (grub_sfs_mount): Likewise.
35063 * fs/xfs.c (grub_xfs_mount): Likewise.
35064
35065 * include/grub/disk.h (enum grub_disk_dev_id): Add
35066 `GRUB_DISK_DEVICE_HOST_ID'.
35067
35068 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
35069
e5dfe777 350702007-07-24 Jerone Young <jerone@gmail.com>
35071
f19dbdb7 35072 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 35073 modules for compilation.
35074 * conf/powerpc-ieee1275.rmk: Likewise.
35075
35076 * include/multiboot.h: Move multiboot definitions to one file. Rename
35077 many definitions to not get grub specific.
35078 * include/multiboot2.h: Create header with multiboot 2 definitions.
35079 * include/grub/multiboot.h: Header for grub specific function
35080 prototypes and definitions.
35081 * include/grub/multiboot2.h: Likewise.
35082 * include/grub/multiboot_loader.h: Likewise.
35083 * include/grub/i386/pc/multiboot.h: Removed.
35084 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
35085
35086 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
35087 and 2 to allow for one multiboot and module commands.
35088 * loader/multiboot2.c: Add multiboot2 functionality.
35089 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
35090 and definition names.
35091 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
35092 2 functions.
35093 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
35094 ieee1275 specific multiboot2 code.
35095
35096 * kern/i386/pc/startup.S: Change headers and definition names for
35097 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
35098
daf0f0ba 350992007-07-22 Robert Millan <rmh@aybabtu.com>
35100
35101 * geninitheader.sh: Process file specified in first parameter rather
35102 than hardcoding grub_modules_init.lst.
fe6b695a 35103 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 35104 than hardcoding grub_modules_init.h.
35105
35106 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
35107 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
35108 grub_probe_init.[ch] and grub_setup_init.[ch].
35109
35110 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
35111 grub_modules_init.h with grub_emu_init.h.
35112 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
35113 grub_probe_init.[ch] files.
35114 * conf/i386-efi.rmk: Likewise.
35115 * conf/i386-pc.rmk: Likewise.
35116 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
35117 grub_setup_init.[ch] files.
35118
35119 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
35120 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
35121 to initialize modules rather than a list of hardcoded functions.
35122 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
35123 grub_init_all() to initialize modules rather than a list of hardcoded
35124 functions.
35125
54cdc1cc 351262007-07-22 Robert Millan <rmh@aybabtu.com>
35127
35128 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
35129 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
35130
ad0686cc 351312007-07-22 Robert Millan <rmh@aybabtu.com>
35132
35133 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35134 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
35135 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
35136 flag when running on SmartFirmware.
35137 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
35138 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
35139 was set.
35140
35141 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
35142 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
35143 rather than decreasing it.
35144
35145 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
35146 there's not enough space to do it, fail in the same way as when it
35147 can't be done because there are no partitions.
35148
35149 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
35150 when nvsetenv failed.
35151
969c02ec 351522007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
35153
35154 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
35155 because this rule is automatically generated.
35156 (grub-mkrescue): Removed for the same reason as above.
35157
5a79f472 351582007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
35159
35160 Migrate to GNU General Public License Version 3.
f19dbdb7 35161
5a79f472 35162 * COPYING: Replaced with the plain text version of GPLv3.
35163
35164 * config.guess: Updated from gnulib.
35165 * config.sub: Likewise.
35166
35167 * geninit.sh: Output a GPLv3 copyright notice.
35168 * geninitheader.sh: Likewise.
35169 * genmodsrc.sh: Likewise.
35170 * gensymlist.sh.in: Likewise.
35171
35172 * boot/i386/pc/boot.S: Upgraded to GPLv3.
35173 * boot/i386/pc/diskboot.S: Likewise.
35174 * boot/i386/pc/pxeboot.S: Likewise.
35175 * commands/blocklist.c: Likewise.
35176 * commands/boot.c: Likewise.
35177 * commands/cat.c: Likewise.
35178 * commands/cmp.c: Likewise.
35179 * commands/configfile.c: Likewise.
35180 * commands/echo.c: Likewise.
35181 * commands/help.c: Likewise.
35182 * commands/ls.c: Likewise.
35183 * commands/search.c: Likewise.
35184 * commands/terminal.c: Likewise.
35185 * commands/test.c: Likewise.
35186 * commands/videotest.c: Likewise.
35187 * commands/i386/cpuid.c: Likewise.
35188 * commands/i386/pc/halt.c: Likewise.
35189 * commands/i386/pc/play.c: Likewise.
35190 * commands/i386/pc/reboot.c: Likewise.
35191 * commands/i386/pc/vbeinfo.c: Likewise.
35192 * commands/i386/pc/vbetest.c: Likewise.
35193 * commands/ieee1275/halt.c: Likewise.
35194 * commands/ieee1275/reboot.c: Likewise.
35195 * commands/ieee1275/suspend.c: Likewise.
35196 * disk/loopback.c: Likewise.
35197 * disk/lvm.c: Likewise.
35198 * disk/raid.c: Likewise.
35199 * disk/efi/efidisk.c: Likewise.
35200 * disk/i386/pc/biosdisk.c: Likewise.
35201 * disk/ieee1275/ofdisk.c: Likewise.
35202 * font/manager.c: Likewise.
35203 * fs/affs.c: Likewise.
35204 * fs/ext2.c: Likewise.
35205 * fs/fat.c: Likewise.
35206 * fs/fshelp.c: Likewise.
35207 * fs/hfs.c: Likewise.
35208 * fs/hfsplus.c: Likewise.
35209 * fs/iso9660.c: Likewise.
35210 * fs/jfs.c: Likewise.
35211 * fs/minix.c: Likewise.
35212 * fs/sfs.c: Likewise.
35213 * fs/ufs.c: Likewise.
35214 * fs/xfs.c: Likewise.
35215 * hello/hello.c: Likewise.
35216 * include/grub/acorn_filecore.h: Likewise.
35217 * include/grub/arg.h: Likewise.
35218 * include/grub/bitmap.h: Likewise.
35219 * include/grub/boot.h: Likewise.
35220 * include/grub/cache.h: Likewise.
35221 * include/grub/device.h: Likewise.
35222 * include/grub/disk.h: Likewise.
35223 * include/grub/dl.h: Likewise.
35224 * include/grub/elfload.h: Likewise.
35225 * include/grub/env.h: Likewise.
35226 * include/grub/err.h: Likewise.
35227 * include/grub/file.h: Likewise.
35228 * include/grub/font.h: Likewise.
35229 * include/grub/fs.h: Likewise.
35230 * include/grub/fshelp.h: Likewise.
35231 * include/grub/gzio.h: Likewise.
35232 * include/grub/hfs.h: Likewise.
35233 * include/grub/kernel.h: Likewise.
35234 * include/grub/loader.h: Likewise.
35235 * include/grub/lvm.h: Likewise.
35236 * include/grub/misc.h: Likewise.
35237 * include/grub/mm.h: Likewise.
35238 * include/grub/net.h: Likewise.
35239 * include/grub/normal.h: Likewise.
35240 * include/grub/parser.h: Likewise.
35241 * include/grub/partition.h: Likewise.
35242 * include/grub/pc_partition.h: Likewise.
35243 * include/grub/raid.h: Likewise.
35244 * include/grub/rescue.h: Likewise.
35245 * include/grub/script.h: Likewise.
35246 * include/grub/setjmp.h: Likewise.
35247 * include/grub/symbol.h: Likewise.
35248 * include/grub/term.h: Likewise.
35249 * include/grub/terminfo.h: Likewise.
35250 * include/grub/tparm.h: Likewise.
35251 * include/grub/types.h: Likewise.
35252 * include/grub/video.h: Likewise.
35253 * include/grub/efi/api.h: Likewise.
35254 * include/grub/efi/chainloader.h: Likewise.
35255 * include/grub/efi/console.h: Likewise.
35256 * include/grub/efi/console_control.h: Likewise.
35257 * include/grub/efi/disk.h: Likewise.
35258 * include/grub/efi/efi.h: Likewise.
35259 * include/grub/efi/pe32.h: Likewise.
35260 * include/grub/efi/time.h: Likewise.
35261 * include/grub/i386/linux.h: Likewise.
35262 * include/grub/i386/setjmp.h: Likewise.
35263 * include/grub/i386/types.h: Likewise.
35264 * include/grub/i386/efi/kernel.h: Likewise.
35265 * include/grub/i386/efi/loader.h: Likewise.
35266 * include/grub/i386/efi/time.h: Likewise.
35267 * include/grub/i386/pc/biosdisk.h: Likewise.
35268 * include/grub/i386/pc/boot.h: Likewise.
35269 * include/grub/i386/pc/chainloader.h: Likewise.
35270 * include/grub/i386/pc/console.h: Likewise.
35271 * include/grub/i386/pc/init.h: Likewise.
35272 * include/grub/i386/pc/kernel.h: Likewise.
35273 * include/grub/i386/pc/loader.h: Likewise.
35274 * include/grub/i386/pc/memory.h: Likewise.
35275 * include/grub/i386/pc/multiboot.h: Likewise.
35276 * include/grub/i386/pc/serial.h: Likewise.
35277 * include/grub/i386/pc/time.h: Likewise.
35278 * include/grub/i386/pc/vbe.h: Likewise.
35279 * include/grub/i386/pc/vbeblit.h: Likewise.
35280 * include/grub/i386/pc/vbefill.h: Likewise.
35281 * include/grub/i386/pc/vbeutil.h: Likewise.
35282 * include/grub/i386/pc/vga.h: Likewise.
35283 * include/grub/ieee1275/ieee1275.h: Likewise.
35284 * include/grub/ieee1275/ofdisk.h: Likewise.
35285 * include/grub/powerpc/libgcc.h: Likewise.
35286 * include/grub/powerpc/setjmp.h: Likewise.
35287 * include/grub/powerpc/types.h: Likewise.
35288 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
35289 * include/grub/powerpc/ieee1275/console.h: Likewise.
35290 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
35291 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
35292 * include/grub/powerpc/ieee1275/loader.h: Likewise.
35293 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
35294 * include/grub/powerpc/ieee1275/time.h: Likewise.
35295 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
35296 * include/grub/sparc64/libgcc.h: Likewise.
35297 * include/grub/sparc64/setjmp.h: Likewise.
35298 * include/grub/sparc64/types.h: Likewise.
35299 * include/grub/sparc64/ieee1275/console.h: Likewise.
35300 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
35301 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
35302 * include/grub/sparc64/ieee1275/time.h: Likewise.
35303 * include/grub/util/biosdisk.h: Likewise.
35304 * include/grub/util/getroot.h: Likewise.
35305 * include/grub/util/lvm.h: Likewise.
35306 * include/grub/util/misc.h: Likewise.
35307 * include/grub/util/raid.h: Likewise.
35308 * include/grub/util/resolve.h: Likewise.
35309 * io/gzio.c: Likewise.
35310 * kern/device.c: Likewise.
35311 * kern/disk.c: Likewise.
35312 * kern/dl.c: Likewise.
35313 * kern/elf.c: Likewise.
35314 * kern/env.c: Likewise.
35315 * kern/err.c: Likewise.
35316 * kern/file.c: Likewise.
35317 * kern/fs.c: Likewise.
35318 * kern/loader.c: Likewise.
35319 * kern/main.c: Likewise.
35320 * kern/misc.c: Likewise.
35321 * kern/mm.c: Likewise.
35322 * kern/parser.c: Likewise.
35323 * kern/partition.c: Likewise.
35324 * kern/rescue.c: Likewise.
35325 * kern/term.c: Likewise.
35326 * kern/efi/efi.c: Likewise.
35327 * kern/efi/init.c: Likewise.
35328 * kern/efi/mm.c: Likewise.
35329 * kern/i386/dl.c: Likewise.
35330 * kern/i386/efi/init.c: Likewise.
35331 * kern/i386/efi/startup.S: Likewise.
35332 * kern/i386/pc/init.c: Likewise.
35333 * kern/i386/pc/lzo1x.S: Likewise.
35334 * kern/i386/pc/startup.S: Likewise.
35335 * kern/ieee1275/ieee1275.c: Likewise.
35336 * kern/powerpc/cache.S: Likewise.
35337 * kern/powerpc/dl.c: Likewise.
35338 * kern/powerpc/ieee1275/cmain.c: Likewise.
35339 * kern/powerpc/ieee1275/crt0.S: Likewise.
35340 * kern/powerpc/ieee1275/init.c: Likewise.
35341 * kern/powerpc/ieee1275/openfw.c: Likewise.
35342 * kern/sparc64/cache.S: Likewise.
35343 * kern/sparc64/dl.c: Likewise.
35344 * kern/sparc64/ieee1275/init.c: Likewise.
35345 * kern/sparc64/ieee1275/openfw.c: Likewise.
35346 * loader/efi/chainloader.c: Likewise.
35347 * loader/efi/chainloader_normal.c: Likewise.
35348 * loader/i386/efi/linux.c: Likewise.
35349 * loader/i386/efi/linux_normal.c: Likewise.
35350 * loader/i386/pc/chainloader.c: Likewise.
35351 * loader/i386/pc/chainloader_normal.c: Likewise.
35352 * loader/i386/pc/linux.c: Likewise.
35353 * loader/i386/pc/linux_normal.c: Likewise.
35354 * loader/i386/pc/multiboot.c: Likewise.
35355 * loader/i386/pc/multiboot_normal.c: Likewise.
35356 * loader/powerpc/ieee1275/linux.c: Likewise.
35357 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
35358 * normal/arg.c: Likewise.
35359 * normal/cmdline.c: Likewise.
35360 * normal/command.c: Likewise.
35361 * normal/completion.c: Likewise.
35362 * normal/execute.c: Likewise.
35363 * normal/function.c: Likewise.
35364 * normal/lexer.c: Likewise.
35365 * normal/main.c: Likewise.
35366 * normal/menu.c: Likewise.
35367 * normal/menu_entry.c: Likewise.
35368 * normal/misc.c: Likewise.
35369 * normal/parser.y: Likewise.
35370 * normal/script.c: Likewise.
35371 * normal/i386/setjmp.S: Likewise.
35372 * normal/powerpc/setjmp.S: Likewise.
35373 * normal/sparc64/setjmp.S: Likewise.
35374 * partmap/acorn.c: Likewise.
35375 * partmap/amiga.c: Likewise.
35376 * partmap/apple.c: Likewise.
35377 * partmap/gpt.c: Likewise.
35378 * partmap/pc.c: Likewise.
35379 * partmap/sun.c: Likewise.
35380 * term/gfxterm.c: Likewise.
35381 * term/terminfo.c: Likewise.
35382 * term/efi/console.c: Likewise.
35383 * term/i386/pc/console.c: Likewise.
35384 * term/i386/pc/serial.c: Likewise.
35385 * term/i386/pc/vesafb.c: Likewise.
35386 * term/i386/pc/vga.c: Likewise.
35387 * term/ieee1275/ofconsole.c: Likewise.
35388 * util/biosdisk.c: Likewise.
35389 * util/console.c: Likewise.
35390 * util/genmoddep.c: Likewise.
35391 * util/getroot.c: Likewise.
35392 * util/grub-emu.c: Likewise.
35393 * util/grub-mkdevicemap.c: Likewise.
35394 * util/grub-probe.c: Likewise.
35395 * util/lvm.c: Likewise.
35396 * util/misc.c: Likewise.
35397 * util/raid.c: Likewise.
35398 * util/resolve.c: Likewise.
35399 * util/update-grub.in: Likewise.
35400 * util/update-grub_lib.in: Likewise.
35401 * util/grub.d/00_header.in: Likewise.
35402 * util/grub.d/10_hurd.in: Likewise.
35403 * util/grub.d/10_linux.in: Likewise.
35404 * util/i386/efi/grub-install.in: Likewise.
35405 * util/i386/efi/grub-mkimage.c: Likewise.
35406 * util/i386/pc/grub-install.in: Likewise.
35407 * util/i386/pc/grub-mkimage.c: Likewise.
35408 * util/i386/pc/grub-mkrescue.in: Likewise.
35409 * util/i386/pc/grub-setup.c: Likewise.
35410 * util/i386/pc/misc.c: Likewise.
35411 * util/powerpc/ieee1275/grub-install.in: Likewise.
35412 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
35413 * util/powerpc/ieee1275/misc.c: Likewise.
35414 * video/bitmap.c: Likewise.
35415 * video/video.c: Likewise.
35416 * video/i386/pc/vbe.c: Likewise.
35417 * video/i386/pc/vbeblit.c: Likewise.
35418 * video/i386/pc/vbefill.c: Likewise.
35419 * video/i386/pc/vbeutil.c: Likewise.
35420 * video/readers/tga.c: Likewise.
35421
3572d015 354222007-07-02 Robert Millan <rmh@aybabtu.com>
35423
35424 * conf/i386-efi.rmk: Replace obsolete reference to
35425 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
35426 with util/getroot.c.
35427 * conf/powerpc-ieee1275.rmk: Likewise.
35428 * conf/sparc64-ieee1275.rmk: Likewise.
35429
35430 * util/grub-emu.c (main): Fix unchecked pointer handling.
35431
2c2a681b 354322007-07-02 Robert Millan <rmh@aybabtu.com>
35433
35434 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
35435 invocation to fail, in order to support partition-less media.
35436
35437 * util/i386/pc/grub-install.in: Likewise.
35438
35439 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
35440 which fs or partmap modules are needed (akin to its sister scripts).
35441
35442 Also use grub-probe to get rid of unportable /proc/mounts check.
35443
35444 Print the same informational message that the other scripts do, before
fe6b695a 35445 exiting.
2c2a681b 35446
6193defe 354472007-06-23 Robert Millan <rmh@aybabtu.com>
35448
fe6b695a 35449 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 35450 a font file can be found and, if so, echo the GRUB path to it.
35451
35452 * util/update-grub.in: Handle multiple terminals depending on user
35453 input, platform availability and font file presence. Propagate
35454 variables of our findings to /etc/grub.d/ children.
35455
35456 * util/grub.d/00_header.in: Handle multiple terminals, based on
35457 environment setup by update-grub.
35458
eface1dc 354592007-06-23 Robert Millan <rmh@aybabtu.com>
35460
ba50d28f 35461 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 35462
bf697e28 354632007-06-21 Robert Millan <rmh@aybabtu.com>
35464
35465 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
35466 indicate end of data section in kernel image.
35467 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
35468 GRUB_KERNEL_MACHINE_DATA_END.
35469
35470 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
35471 space for it.
35472 * kern/i386/efi/startup.S: Likewise.
35473
35474 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
35475 during image generation. Implement --prefix option to override this
35476 patch.
35477 * util/i386/efi/grub-mkimage.c: Likewise.
35478
35479 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
35480 code to make path relative to its root into a separate function.
35481
35482 * util/i386/pc/grub-install.in: Use newly provided
35483 make_system_path_relative_to_its_root() to convert ${grubdir}, then
35484 pass the result to grub-install --prefix.
35485
baa574b4 354862007-06-13 Robert Millan <rmh@aybabtu.com>
35487
35488 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
35489 DEFAULT_DEVICE_MAP.
35490 * util/grub-emu.c: Use above definitions from misc.h instead of
35491 defining them.
35492 * util/grub-mkdevicemap.c: Likewise.
35493 * util/i386/pc/grub-setup.c: Likewise.
35494 * util/grub-probe.c: Likewise.
35495 (probe): Abort with grub_util_error() when either
35496 grub_guess_root_device or grub_util_get_grub_dev fails.
35497
0215dcbf 354982007-06-12 Robert Millan <rmh@aybabtu.com>
35499
35500 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
35501 "pager" assignment.
35502 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
35503 "pcdata".
35504 * util/grub-probe.c (probe): Likewise for "drive_name".
35505
8af2ab7b 355062007-06-11 Robert Millan <rmh@aybabtu.com>
35507
35508 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
35509 not just the cdrom one.
35510
59d31694 355112007-06-11 Robert Millan <rmh@aybabtu.com>
35512
35513 * util/i386/pc/grub-mkrescue.in: Add "set -e".
35514 Add --pkglibdir=DIR option to override pkglibdir.
35515 Mention --image-type=TYPE in help output.
35516 Fix --grub-mkimage (it was a no-op).
fe6b695a 35517 Abort gracefully when no parameter is given.
59d31694 35518
7ee367e4 355192007-06-11 Robert Millan <rmh@aybabtu.com>
35520
35521 * util/i386/pc/grub-mkrescue.in: New file.
35522 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
35523 * Makefile.in: Handle bin_SCRIPTS.
35524
29b0ed46 355252007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
35526
35527 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
35528 list of video modes.
35529
c0f90770 355302007-06-06 Robert Millan <rmh@aybabtu.com>
35531
35532 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
35533 file doesn't exist, or if it is in a filesystem grub can't read.
35534
35535 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
35536 not abort if GRUB_DRIVE could not be defined. Rearrange generated
35537 header comment to fit in 80 columns when the variables are resolved.
35538
35539 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
35540 could be identified by update-grub. Remove redundant check for
fe6b695a 35541 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 35542 handles that).
35543
fb36dc26 355442007-06-04 Robert Millan <rmh@aybabtu.com>
35545
35546 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
35547
35548 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
35549
35550 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
35551
0c68c93e 355522007-06-04 Robert Millan <rmh@aybabtu.com>
35553
35554 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
35555
35556 * include/grub/partition.h: Declare grub_apple_partition_map_init and
35557 grub_apple_partition_map_fini.
35558
35559 * util/biosdisk.c
35560 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
35561 to access >2 TiB disks).
35562
35563 Print disk->total_sectors with %llu instead of %lu, since this
35564 variable is always 64-bit (prevents wrong disk size from being displayed
35565 on either >2 TiB disk or big-endian CPU).
35566
35567 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
35568 into a generic case that supports all (sane) partition maps.
35569
35570 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
35571 breaks big-endian.
35572
35573 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
35574 and grub_apple_partition_map_fini() after that.
35575
0f23eb74 355762007-06-01 Robert Millan <rmh@aybabtu.com>
35577
35578 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
35579
35580 * util/grub.d/00_header.in: Only enable gfxterm when
35581 convert_system_path_to_grub_path() succeeds.
35582
42c71976 355832007-05-20 Robert Millan <rmh@aybabtu.com>
35584
35585 * util/update-grub_lib.in: New file.
35586 * DISTLIST: Add update-grub_lib.in.
35587 * conf/common.rmk: Generate update-grub_lib and install it in
35588 $(lib_DATA).
35589 * Makefile.in: Add install routine for $(lib_DATA).
35590
35591 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
35592 function provided by update-grub_lib to support arbitrary paths of
35593 unifont.pff.
35594 * util/update-grub.in: Use convert_system_path_to_grub_path() to
35595 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
35596
5beb2291 355972007-05-19 Robert Millan <rmh@aybabtu.com>
35598
35599 * commands/i386/cpuid.c: New module.
35600 * DISTLIST: Add it.
35601 * conf/i386-efi.rmk: Enable cpuid.mod.
35602 * conf/i386-pc.rmk: Likewise.
35603
7262eca1 356042007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
35605
35606 * kern/disk.c (grub_disk_read): Check return value of
35607 grub_realloc().
35608
260ba823 356092007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
35610
35611 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
35612 arrays.
35613 * disk/raid.c (grub_raid_open): Likewise.
35614
1ecb6cf2 356152007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
35616
35617 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
35618 stack instead of on the heap.
35619
35620 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
35621 before doing a read on it.
35622
35623 * configure.ac: Only use -fno-stack-protector for the target
35624 environment.
f19dbdb7 35625
21c8cbb1 356262007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
35627
35628 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
35629 __attribute_ ((unused)) to mode_type argument.
35630
35631 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 35632
21c8cbb1 35633 * kern/misc.c (memcmp): Fix prototype.
35634
35635 * include/grub/partition.h [GRUB_UTIL]
35636 (grub_gpt_partition_map_init): Add prototype.
35637 (grub_gpt_partition_map_fini): Likewise.
35638
35639 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
35640 at the right place.
35641
35642 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
35643 (grub_fat_read_data): Likewise.
35644 (grub_fat_find_dir): Likewise.
35645
35646 * font/manager.c (find_glyph): Make table a const.
35647 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 35648
849d55d3 356492007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
35650
35651 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
35652 code, first search for device in /dev/mapper, then in /dev.
35653 (grub_util_get_grub_dev): New function.
35654 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
35655 prototype.
35656 * util/grub-probe.c (probe): Remove check for RAID, call
35657 grub_util_get_grub_dev() instead of
35658 grub_util_biosdisk_get_grub_dev().
35659 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
35660 grub_util_biosdisk_get_grub_dev().
35661 * util/i386/pc/grub-setup.c (main): Likewise.
35662
8fff7c2f 356632007-05-16 Robert Millan <rmh@aybabtu.com>
35664
35665 * DISTLIST: Update for the latest changes.
35666 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
35667 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
35668 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
35669 grub/util/biosdisk.h.
35670 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
35671 grub/util/biosdisk.h.
35672
48e12b52 356732007-05-16 Robert Millan <rmh@aybabtu.com>
35674
35675 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
35676
46b9d128 356772007-05-16 Robert Millan <rmh@aybabtu.com>
35678
35679 * util/i386/efi/grub-install.in: New.
35680 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
35681 newly added grub-install.
35682 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
35683 include.
35684 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
35685 grub/util/biosdisk.h.
35686 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
35687 grub/util/biosdisk.h.
35688
2d1a40a9 356892007-05-16 Robert Millan <rmh@aybabtu.com>
35690
35691 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
35692 * include/grub/util/biosdisk.h: ... here.
35693 * util/i386/pc/biosdisk.c: Moved to ...
35694 * util/biosdisk.c: ... here.
35695 * util/i386/pc/getroot.c: Moved to ...
35696 * util/getroot.c: ... here.
35697 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
35698 * util/grub-mkdevicemap.c: ... here.
35699 * util/i386/pc/grub-probe.c: Moved to ...
35700 * util/grub-probe.c: ... here.
35701
9e26e3bc 357022007-05-15 Robert Millan <rmh@aybabtu.com>
35703
35704 * util/update-grub.in: Remove duplicated line in grub.cfg header
35705 message.
35706
57f96397 357072007-05-13 Robert Millan <rmh@aybabtu.com>
35708
35709 * util/update-grub.in: Fix a few assumptions about the devices holding
35710 /, /boot and /boot/grub being the same.
35711 * util/grub.d/00_header.in: Likewise.
35712 * util/grub.d/10_hurd.in: Likewise.
35713 * util/grub.d/10_linux.in: Likewise.
35714
35715 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
35716 patterns. Use that to define the `.old' suffix as older than `'.
35717
35718 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
35719
35720 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
35721 the grub.cfg header message.
35722
2e610d62 357232007-05-11 Robert Millan <rmh@aybabtu.com>
35724
35725 * util/update-grub.in: Create device.map if it doesn't already exist,
35726 before attempting to run grub-probe.
35727 Check for grub-probe and grub-mkdevicemap with the same code
35728 grub-install is using.
35729 Remove test mode.
35730
3f6a10ef 357312007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
35732
35733 * Makefile.in: Add the datarootdir autoconf variable.
35734
02e7b75e 357352007-05-09 Robert Millan <rmh@aybabtu.com>
35736
35737 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 35738 fail gracefully if dev->disk->partition == NULL.
02e7b75e 35739
75f396cc 357402007-05-07 Robert Millan <rmh@aybabtu.com>
35741
35742 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
35743 determine partition map module.
35744 * util/i386/pc/grub-install.in: Use this feature to decide which
35745 partition module to load, instead of hardcoding pc and gpt.
35746
da65cb36 357472007-05-07 Robert Millan <rmh@aybabtu.com>
35748
35749 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
35750 source directory differs from build directory.
35751
b57d6a91 357522007-05-05 Robert Millan <rmh@aybabtu.com>
35753
35754 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
35755 initialisation.
35756
509d00f1 357572007-05-05 Robert Millan <rmh@aybabtu.com>
35758
35759 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
35760
c48f23ef 357612007-05-05 Robert Millan <rmh@aybabtu.com>
35762
35763 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
35764 command-line arguments via ${GRUB_CMDLINE_LINUX}.
35765
20b97658 357662007-05-05 Robert Millan <rmh@aybabtu.com>
35767
35768 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
35769 (grub_probe_SOURCES): Likewise.
35770 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
35771 GPT and initialize dos_part and bsd_part accordingly.
35772 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
35773 install_bsd_part.
35774 (main): Activate gpt module for use during partition identification,
35775 and deactivate it afterwards.
35776 * util/i386/pc/grub-install.in: Add gpt module to core.img.
35777 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
35778 partition identification, and deactivate it afterwards.
35779
99123174 357802007-05-05 Robert Millan <rmh@aybabtu.com>
35781
35782 * term/i386/pc/console.c (grub_console_fini): Call
35783 grub_term_set_current() before grub_term_unregister().
35784
ebd97f6e 357852007-05-04 Robert Millan <rmh@aybabtu.com>
35786
35787 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
35788 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
35789 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
35790 and update-grub_DATA.
35791 * conf/common.rmk: Build and install update-grub components.
35792 * conf/common.mk: Regenerate.
35793 * util/update-grub.in: New. Core of update-grub.
35794 * util/grub.d/00_header.in: New. Generates grub.cfg header.
35795 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
35796 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
35797 * util/grub.d/README: New. Document grub.d directory layout.
35798
b06a264d 357992007-05-01 Robert Millan <rmh@aybabtu.com>
35800
35801 * util/grub-emu.c: Move initialization functions
35802 grub_util_biosdisk_init() and grub_init_all() before
35803 grub_util_biosdisk_get_grub_dev(), which relies on them.
35804
41f0050e 358052007-04-19 Robert Millan <rmh@aybabtu.com>
35806
35807 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
35808 it is used later.
35809
04582bb3 358102007-04-18 Jerone Young <jerone@gmail.com>
35811
f19dbdb7 35812 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 35813 stanza.
35814
08db4632 358152007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 35816
08db4632 35817 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
35818 continue on and look for device node with real device name.
35819
801b76be 358202007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 35821
fe6b695a 35822 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 35823 ability.
35824 * Makefile.in: Add autoconf package transformation code.
35825 * util/i386/pc/grub-install.in: Likewise.
35826 * util/powerpc/ieee1275/grub-install.in: Likewise.
35827
6795c4e1 358282007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
35829
35830 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
35831 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
35832 (EXT2_REVISION): Likewise.
35833 (EXT2_INODE_SIZE): Likewise.
35834 (struct grub_ext2_block_group): Added a missing member
35835 "used_dirs".
35836 (grub_ext2_read_inode): Divide by the inode size in a superblock
35837 instead of 128 to obtain INODES_PER_BLOCK.
35838 Use the macro EXT2_INODE_SIZE instead of directly using
35839 SBLOCK->INODE_SIZE.
35840
d70af616 358412007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
35842
35843 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
35844 superblock instead of the structure size to compute an
35845 offset. This fixes the problem that GRUB could not read a
35846 filesystem when inode size is different from 128-byte.
35847
3b801603 358482007-03-05 Marco Gerards <marco@gnu.org>
35849
35850 * normal/main.c (read_config_file): When "menu" is not set, create
35851 an initial context.
35852
4785bfe4 358532007-02-21 Hollis Blanchard <hollis@penguinppc.org>
35854
35855 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
35856 (HEAP_LIMIT): New macro.
35857 (grub_claim_heap): Claim memory up to `heaplimit'.
35858
a0cbb023 358592007-02-21 Hollis Blanchard <hollis@penguinppc.org>
35860
35861 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
35862 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
35863 (_start): Likewise.
35864 (grub_arch_modules_addr): Return address after `_end'.
35865 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
35866 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
35867 (add_segments): Calculate `_end' from phdr size and location.
35868 (ALIGN_UP): Moved to ...
35869 * include/grub/misc.h: here.
35870 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
35871 New macro.
35872 (GRUB_IEEE1275_MODULE_BASE): Removed.
35873
fd7d8eba 358742007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35875
35876 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
35877 loop boundary.
35878
9b09e6fc 358792007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35880
35881 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
35882 All users updated.
35883 (grub_elf64_load_hook_t): Likewise.
35884 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
35885 debug output.
35886
3ce27299 358872007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35888
35889 * kern/mm.c: Update copyright.
35890 (grub_mm_debug): Correct syntax error.
35891 (grub_mm_dump_free): New function.
35892 (grub_debug_free): Call `grub_free'.
35893 * include/grub/mm.h: Update copyright.
35894 (grub_mm_dump_free): Add declaration.
35895
077d5fee 358962007-02-12 Hollis Blanchard <hollis@penguinppc.org>
35897
35898 * include/grub/ieee1275/ieee1275.h: Update copyright.
35899 * kern/powerpc/ieee1275/init.c: Likewise.
35900 * kern/powerpc/ieee1275/openfw.c: Likewise.
35901
35902 * loader/powerpc/ieee1275/linux.c: Likewise.
35903 * include/grub/elfload.h: Likewise.
35904 * kern/elf.c: Likewise.
35905 (grub_elf32_load): Pass `base' and `size' parameters. Update all
35906 callers.
35907 (grub_elf64_load): Likewise.
35908 (grub_elf32_load_segment): Move to a nested function.
35909 (grub_elf64_load_segment): Likewise.
35910
dc946850 359112007-02-12 Hollis Blanchard <hollis@penguinppc.org>
35912
35913 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
35914 prototype.
35915 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
35916 (grub_heap_len): Likewise.
35917 (HEAP_SIZE): New macro.
35918 (grub_claim_heap): New function.
35919 (grub_machine_init): Don't claim heap directly. Call
35920 `grub_claim_heap'.
35921 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
35922 (grub_available_iterate): New function.
35923
baa2a121 359242007-02-03 Thomas Schwinge <tschwinge@gnu.org>
35925
35926 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
35927 * configure.ac: Use it for testing the HOST and TARGET compilers.
35928
4fe9862e 359292006-12-13 Thomas Schwinge <tschwinge@gnu.org>
35930
35931 * Makefile.in (enable_grub_emu): New variable.
35932 * configure.ac (--enable-grub-emu): New option.
35933 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
35934 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
35935 * conf/i386-pc.rmk: Likewise.
35936 * conf/powerpc-ieee1275.rmk: Likewise.
35937 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
35938
a8aa5762 359392006-12-12 Marco Gerards <marco@gnu.org>
35940
35941 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
35942
35943 * kern/env.c (grub_env_unset): Don't free the member `value' when
35944 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
35945 pointer.
35946
35947 * normal/main.c (current_menu): Removed.
35948 (free_menu): Unset the `menu' environment variable.
35949 (grub_normal_menu_addentry): Make use of the environment variable
35950 `menu', instead of using the global `current_menu'. Allocate
35951 memory for the sourcecode of this entry.
35952 (read_config_file): New argument `nested', changed all callers.
35953 Only in the case of a new context, initialize a new menu. Set the
35954 `menu' environment variable.
35955 (grub_normal_execute): Don't set and unset the environment
35956 variable `menu' here anymore. Only free the menu when leaving the
35957 context.
35958
35959 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
35960 leak.
35961
957b3a3e 359622006-12-11 Marco Gerards <marco@gnu.org>
35963
35964 * normal/menu_entry.c (run): Fix off by one bug so the last line
35965 is executed. Move the loader check to outside the loop.
35966
ef875714 359672006-12-08 Hollis Blanchard <hollis@penguinppc.org>
35968
35969 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
35970
4e739985 359712006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
35972
35973 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
35974 the number of sectors. Reported by Andrey Shuvikov
35975 <mr_hyro@yahoo.com>.
f19dbdb7 35976
790707f2 359772006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
35978
35979 * kern/disk.c (grub_disk_read): When there is a read error, always
35980 try to read only the necessary data.
f19dbdb7 35981
790707f2 35982 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
35983 disk/raid.c.
35984 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
35985 prototype.
35986 [GRUB_UTIL] (grub_raid_fini): Likewise.
35987 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 35988 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 35989 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
35990 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
35991 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
35992 and grub_raid_fini().
f19dbdb7 35993
03e58196 359942006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
35995
35996 * include/grub/types.h (__unused): Rename to UNUSED.
35997 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
35998 (grub_elf64_size): Likewise.
f19dbdb7 35999
ae4f23bf 360002006-11-03 Hollis Blanchard <hollis@penguinppc.org>
36001
36002 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
36003 grub_error_push and grub_error_pop in the error-handling path.
36004 (grub_elf32_load_segment): Only call grub_file_read with non-zero
36005 length.
36006
2166cc83 360072006-11-03 Hollis Blanchard <hollis@penguinppc.org>
36008
36009 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
36010 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36011 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36012 (kernel_elf_SOURCES): Likewise.
36013 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
36014 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
36015 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36016 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36017 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
36018 (elf_mod_SOURCES): New variable.
36019 (elf_mod_CFLAGS): Likewise.
36020 (elf_mod_LDFLAGS): Likewise.
36021 * include/grub/types.h (__unused): New macro.
36022 * include/grub/elfload.h: New file.
36023 * kern/elf.c: Likewise.
36024 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
36025 (ELF32_LOADMASK): New macro.
36026 (ELF64_LOADMASK): Likewise.
36027 (vmlinux): Removed.
36028 (grub_linux_load32): New function.
36029 (grub_linux_load64): Likewise.
36030 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
36031 Use grub_elf_t instead of grub_file_t.
36032
a09d5aa5 360332006-11-02 Hollis Blanchard <hollis@penguinppc.org>
36034
36035 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
36036 `catch_result' to struct set_color_args.
36037
d976fc51 360382006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
36039
36040 * normal/menu.c: Include grub/script.h.
36041 * normal/menu_entry.c: Likewise.
36042 * include/grub/normal.h: Do not include grub/script.h.
36043
67507549 360442006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36045
36046 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
36047
69203a99 360482006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36049
36050 * kern/disk.c (grub_disk_open): Print debug messages when opening a
36051 disk.
36052 (grub_disk_close): Print debug messages when closing a disk.
36053 (grub_disk_read): Print debug messages when disk read fails.
36054 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
36055 filesystem type.
36056 * kern/partition.c: Include misc.h.
36057 (grub_partition_iterate): Print debug messages when detecting
36058 partition type.
36059
e2b8278c 360602006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36061
36062 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
36063 is negative.
36064 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
36065
97b2f2ff 360662006-10-26 Hollis Blanchard <hollis@penguinppc.org>
36067
36068 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
36069 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
36070
6555d655 360712006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
36072
36073 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
36074 instead of sizeof(lv). Patch by Michael Guntsche.
36075
4d42b77f 360762006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
36077
36078 * disk/lvm.c: Rename VGS to VG_LIST.
36079 (grub_lvm_iterate): Change VGS->LV to VG-LV.
36080 (grub_lvm_open): Likewise.
36081 Thanks to Michael Guntsche for finding this bug.
36082
5d74d927 360832006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36084
36085 * configure.ac (AC_INIT): Bumped to 1.95.
36086
a1bb27e4 360872006-10-14 Robert Millan <rmh@aybabtu.com>
36088
36089 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
36090 with "/dev/.static/dev/md".
36091
e0994b8b 360922006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
36093
36094 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
36095 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
36096 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
36097 DRIVE_NAME are always freed.
36098
36099 * util/i386/pc/biosdisk.c (make_device_name): Add one into
36100 DOS_PART, as a DOS partition is counted from one instead of zero
36101 now. Reported by Robert Millan.
36102
ddd5cee9 361032006-10-14 Robert Millan <rmh@aybabtu.com>
36104
36105 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
36106 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
36107 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
36108 string returned by grub_guess_root_device.
36109 * util/i386/pc/grub-setup.c: Likewise.
36110 * util/i386/pc/grub-probefs.c: Likewise.
36111
36112 * util/i386/pc/grub-probefs.c: Rename to ...
36113 * util/i386/pc/grub-probe.c: ... this.
36114 * DISTLIST: Remove grub-probefs, add grub-probe.
36115 * conf/i386-efi.rmk: Likewise.
36116 * conf/i386-pc.rmk: Likewise.
36117 * util/i386/pc/grub-install.in: Likewise.
36118
36119 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
36120 choose which information we want to print.
36121
2b002173 361222006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
36123
36124 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
36125 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
36126 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
36127 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
36128 video/readers/tga.c and video/i386/pc/vbeutil.c.
36129
361302006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
36131
36132 Added support for RAID and LVM.
f19dbdb7 36133
2b002173 36134 * disk/lvm.c: New file.
36135 * disk/raid.c: Likewise.
36136 * include/grub/lvm.h: Likewise.
f19dbdb7 36137 * include/grub/raid.h: Likewise.
2b002173 36138 * include/grub/util/lvm.h: Likewise.
36139 * include/grub/util/raid.h: Likewise.
36140 * util/lvm.c: Likewise.
36141 * util/raid.c: Likewise.
36142
36143 * include/grub/disk.h (grub_disk_dev_id): Add
36144 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
36145 (grub_disk_get_size): New prototype.
36146 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
36147 returns a partition.
36148 (grub_disk_get_size): New function.
f19dbdb7 36149
2b002173 36150 * kern/i386/pc/init.c (make_install_device): Copy the prefix
36151 verbatim if grub_install_dos_part is -2.
36152
36153 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
36154 and LVM devices.
36155
36156 * util/i386/pc/grub-setup.c (setup): New argument
36157 MUST_EMBED. Force embedding of GRUB when the argument is
36158 true. Close FILE before returning.
36159 (main): Add support for RAID and LVM.
f19dbdb7 36160
2b002173 36161 * conf/common.rmk: Add RAID and LVM modules.
36162 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
36163 util/lvm.c.
36164 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
36165
36166 * kern/misc.c (grub_strstr): New function.
36167 * include/grub/misc.h (grub_strstr): New prototype.
36168
050548d0 361692006-10-10 Tristan Gingold <tristan.gingold@bull.net>
36170
36171 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
36172
da849d2d 361732006-10-05 Tristan Gingold <tristan.gingold@bull.net>
36174
36175 * kern/misc.c (grub_strtoull): Guess the base only if not
36176 specified.
36177
97b2f2ff 361782006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 36179
36180 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
36181 PowerMac support.
36182
97b2f2ff 361832006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 36184
36185 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
36186
36187 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
36188 Remove `flags' argument. All callers changed.
36189 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
36190 (IEEE1275_IHANDLE_INVALID): New variable.
36191 (IEEE1275_CELL_INVALID): New variable.
36192 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
36193 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
36194 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
36195 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
36196 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
36197 codes from Open Firmware. All callers updated.
36198 (grub_ieee1275_next_property): Directly return Open Firmware return
36199 code.
36200 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36201 Standardize error checking from `grub_ieee1275_get_property'.
36202 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
36203 `devalias' to `aliases'. Correct comments. Consolidate error paths.
36204
97b2f2ff 362052006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 36206
36207 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
36208 `instance_to_package_args' to `instance_to_path_args'.
36209
36210 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
36211 `grub_ieee1275_chosen'.
36212
36213 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
36214 `grub_ieee1275_interpret'.
36215
97b2f2ff 362162006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 36217
36218 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
36219
97b2f2ff 362202006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 36221
36222 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
36223 (__cmpdi): Likewise.
36224
36225 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
36226 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
36227 `grub_ssize_t'.
36228
02bb8acc 36229 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 36230
36231 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
36232 to type `grub_ssize_t'.
36233 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
36234
7f9a8531 362352006-09-22 Marco Gerards <marco@gnu.org>
36236
36237 * normal/script.c (grub_script_create_cmdmenu): Skip leading
36238 newlines.
36239
b5ef1102 362402006-09-22 Marco Gerards <marco@gnu.org>
36241
36242 * commands/echo.c: New file.
36243
36244 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
36245
36246 * conf/common.rmk (echo_mod_SOURCES): New variable.
36247 (echo_mod_CFLAGS): Likewise.
36248 (echo_mod_LDFLAGS): Likewise.
36249
2cff3677 362502006-09-22 Marco Gerards <marco@gnu.org>
36251
36252 * normal/main.c (get_line): Malloc memory instead of using
36253 preallocated memory. Removed the arguments `cmdline' and
36254 `max_len'. Updated all callers.
36255
6ba4688b 362562006-09-22 Marco Gerards <marco@gnu.org>
36257
36258 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
36259 (normal_mod_DEPENDENCIES): Likewise.
36260
36261 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
36262 (normal_mod_DEPENDENCIES): Likewise.
36263
36264 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
36265
e02ac02c 362662006-09-22 Johan Rydberg <jrydberg@gnu.org>
36267
36268 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
36269 programs.
36270 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
36271 (normal_mod_DEPENDENCIES): Likewise.
36272 * conf/i386-pc.mk: Regenerate.
36273 * conf/i386-efi.mk: Likewise
36274 * conf/common.mk: Likewise.
36275 * conf/powerpc-ieee1275.mk: Likewise.
36276 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 36277
8d252e44 362782006-09-22 Robert Millan <rmh@aybabtu.com>
36279
36280 Sync with i386 version.
36281 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
36282 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
36283
209bf7ac 362842006-09-21 Robert Millan <rmh@aybabtu.com>
36285
36286 Import from GRUB Legacy (lib/device.c):
36287 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
36288 (init_device_map) [__linux__]: Add support for I2O devices.
36289
6b146090 362902006-09-14 Marco Gerards <marco@gnu.org>
36291
36292 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
36293 `-melf_i386'.
36294
e38600a8 362952006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 36296
36297 * util/i386/pc/grub-install.in: Skip menu.lst when removing
36298 /boot/grub/*.lst.
78fa1790 36299
2952da5d 36300 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 36301
2952da5d 36302 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
36303 before adding it to device.map.
36304
01b82a64 363052006-08-15 Johan Rydberg <jrydberg@gnu.org>
36306
fe6b695a 36307 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 36308 compiles a file; using the -MD option.
36309 * conf/common.mk: Regenerate.
36310 * conf/i386-pc.mk: Likewise.
36311 * conf/i386-efi.mk: Likewise.
36312 * conf/powerpc-ieee1275.mk: Likewise.
36313 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 36314
1064790d 363152006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
36316
36317 Move the prototypes of grub_setjmp and grub_longjmp to
36318 cpu/setjmp.h, so that each architecture may specify different
36319 attributes.
f19dbdb7 36320
1064790d 36321 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
36322 (grub_longjmp): Likewise.
36323 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
36324 (grub_longjmp): Likewise.
36325 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
36326 (grub_longjmp): Likewise.
36327
36328 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
36329 [!GRUB_UTIL] (grub_longjmp): Removed.
36330
29dda3ed 363312006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
36332
36333 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
36334 "color!" method does not return any value.
36335
ad2a06ed 363362006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36337
36338 * include/grub/bitmap.h: New file.
36339
36340 * include/grub/i386/pc/vbeutil.h: Likewise.
36341
36342 * video/bitmap.c: Likewise.
36343
36344 * video/readers/tga.c: Likewise.
36345
36346 * video/i386/pc/vbeutil.c: Likewise.
36347
36348 * commands/videotest.c: Code cleanup and updated to reflect to new
36349 video API.
36350
36351 * term/gfxterm.c: Likewise.
36352
36353 * video/video.c: Likewise.
36354
36355 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
36356 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
36357 (bitmap_mod_SOURCES): New entry.
36358 (bitmap_mod_CFLAGS): Likewise.
36359 (bitmap_mod_LDFLAGS): Likewise.
36360 (tga_mod_SOURCES): Likewise.
36361 (tga_mod_CFLAGS): Likewise.
36362 (tga_mod_LDFLAGS): Likewise.
36363
36364 * include/grub/video.h (grub_video_blit_operators): New enum type.
36365 (grub_video_render_target): Changed as forward declaration and moved
36366 actual definition to be video driver specific.
36367 (grub_video_adapter.blit_bitmap): Added blitting operator.
36368 (grub_video_adapter.blit_render_target): Likewise.
36369 (grub_video_blit_bitmap): Likewise.
36370 (grub_video_blit_render_target): Likewise.
36371
36372 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
36373 driver specific render target definition.
36374 (grub_video_vbe_map_rgba): Added driver internal helper.
36375 (grub_video_vbe_unmap_color): Updated to use
36376 grub_video_i386_vbeblit_info.
36377 (grub_video_vbe_get_video_ptr): Likewise.
36378
36379 * include/grub/i386/pc/vbeblit.h
36380 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
36381 grub_video_i386_vbeblit_info.
36382 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
36383 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
36384 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
36385 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
36386 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
36387 (grub_video_i386_vbeblit_index_index): Likewise.
36388 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
36389 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36390 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
36391 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
36392 operator.
36393 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
36394 operator.
36395
36396 * video/i386/pc/vbeblit.c: Updated to reflect changes on
36397 include/grub/i386/pc/vbeblit.h.
36398
36399 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
36400 Updated to use grub_video_i386_vbeblit_info.
36401 (grub_video_i386_vbefill_R8G8B8): Likewise.
36402 (grub_video_i386_vbefill_index): Likewise.
36403 (grub_video_i386_vbefill): Added generic filler.
36404
36405 * video/i386/pc/vbefill.c: Updated to reflect changes on
36406 include/grub/i386/pc/vbefill.h.
36407
36408 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
36409 grub_video_i386_vbeblit_info.
36410 (grub_video_vbe_unmap_color): Likewise.
36411 (grub_video_vbe_blit_glyph): Likewise.
36412 (grub_video_vbe_scroll): Likewise.
36413 (grub_video_vbe_draw_pixel): Removed function.
36414 (grub_video_vbe_get_pixel): Likewise.
36415 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
36416 updated code to use it.
36417 (common_blitter): Added common blitter for render target and bitmap.
36418 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
36419 (grub_video_vbe_blit_render_target): Likewise.
36420
bc8c036d 364212006-07-30 Johan Rydberg <jrydberg@gnu.org>
36422
36423 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
36424 is in text mode if there is no console control protocol instance
36425 available.
36426
684a8eff 364272006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36428
36429 * include/grub/video.h: Code cleanup.
36430
36431 * include/grub/i386/pc/vbe.h: Likewise.
36432
36433 * video/i386/pc/vbe.c: Likewise.
36434
36435 * video/i386/pc/vbeblit.c: Likewise.
36436
36437 * video/i386/pc/vbefill.c: Likewise.
36438
36439 * video/video.c: Likewise. Also added more comments.
36440
5915059b 364412006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36442
36443 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
36444 (struct grub_biosdisk_dap): Likewise.
36445
36446 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
36447 linkage settings for all functions.
36448
90ce5d56 364492006-07-12 Marco Gerards <marco@gnu.org>
36450
36451 * configure.ac (--enable-mm-debug): Fix typo.
36452
36453 * genkernsyms.sh.in: Use proper quoting for `CC'.
36454
43e7f879 364552006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
36456
36457 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
36458 (normal_mod_ASFLAGS): Remove "-m32".
36459
4889bdec 364602006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
36461
36462 * util/misc.c: Include config.h.
36463 [!HAVE_MEMALIGN]: Do not include malloc.h.
36464 (grub_memalign): Use posix_memalign, if present. Then, use
36465 memalign, if present. Otherwise, emit an error.
36466
36467 * util/grub-emu.c: Do not include malloc.h.
36468
36469 * include/grub/util/misc.h: Include unistd.h. This is required for
36470 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
36471 D. Eades III <hde@foobar-qux.org>.
36472
36473 * configure.ac (AC_GNU_SOURCE): Added.
36474 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
36475 type.
36476
fd39d4da 364772006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
36478
36479 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
36480 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
36481
b786f3b5 364822006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
36483
36484 * include/grub/types.h (grub_host_addr_t): Rename to
36485 grub_target_addr_t.
36486 (grub_host_off_t): Rename to grub_target_off_t.
36487 (grub_host_size_t): Rename to grub_target_size_t.
36488 (grub_host_ssize_t): Rename to grub_target_ssize_t.
36489 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
36490
36491 * include/grub/kernel.h (struct grub_module_header): Change type
36492 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
36493 (grub_module_info): Likewise.
f19dbdb7 36494
051988bb 364952006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
36496
36497 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
36498 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
36499 Velazquez <jesus.velazquez@gmail.com>.
36500
deae281b 365012006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
36502
36503 Count partitions from 1 instead of 0 in the string representation
36504 of partitions. Still use 0-based internally.
f19dbdb7 36505
deae281b 36506 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
36507 (sun_partition_map_iterate): Use grub_partition_t instead of
36508 struct grub_partition *. Cast DESC->START_CYLINDER to
36509 grub_uint64_t after converting the endian.
36510 (sun_partition_map_probe): Subtract 1 for PARTNUM.
36511 (sun_partition_map_get_name): Add 1 to P->INDEX.
36512
36513 * partmap/pc.c (grub_partition_parse): Subtract 1 for
36514 PCDATA->DOS_PART.
36515 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
36516
36517 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
36518 zero instead of one.
36519 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
36520 (gpt_partition_map_get_name): Add 1 into P->INDEX.
36521
36522 * partmap/apple.c (apple_partition_map_iterate): Change the type
36523 of POS to unsigned.
36524 (apple_partition_map_probe): Subtract 1 for PARTNUM.
36525 (apple_partition_map_get_name): Add 1 into P->INDEX.
36526
36527 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
36528 of POS to unsigned.
36529 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
36530 calculate the offset of a partition.
36531 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
36532 (amiga_partition_map_get_name): Add 1 into P->INDEX.
36533
36534 * partmap/acorn.c (acorn_partition_map_find): Change the type of
36535 SECTOR to grub_disk_addr_t.
36536 (acorn_partition_map_iterate): Likewise.
36537 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
36538 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
36539 top.
36540 (acorn_partition_map_get_name): Add 1 into P->INDEX.
36541
36542 * kern/i386/pc/init.c (make_install_device): Add 1 into
36543 GRUB_INSTALL_DOS_PART.
36544
36545 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
36546 conditional.
36547
524a1e6a 365482006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
36549
36550 Clean up the code to support 64-bit addressing in disks and
36551 files. This change is not enough for filesystems yet.
f19dbdb7 36552
524a1e6a 36553 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
36554 type of "start" to grub_uint64_t.
36555 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
36556 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
36557 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
36558 convert addresses.
36559
36560 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
36561 to grub_disk_addr_t.
36562
36563 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
36564 string.
36565
36566 * partmap/pc.c (pc_partition_map_iterate): Likewise.
36567
36568 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
36569 to char *.
36570
36571 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
36572
36573 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
36574
36575 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
36576
36577 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
36578 to grub_off_t, to detect an error from grub_file_seek.
36579 (grub_multiboot_load_elf32): Likewise.
36580
36581 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
36582 maximum unsigned long value when an overflow is detected.
36583 (grub_strtoull): New function.
36584 (grub_divmod64): Likewise.
36585 (grub_lltoa): use grub_divmod64.
36586
36587 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
36588 grub_disk_addr_t.
36589 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
36590 the pointer to next character. Use grub_strtoull instead of
36591 grub_strtoul.
36592 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
36593 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
36594 respectively.
36595
fe6b695a 36596 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 36597 return value is signed.
36598 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
36599 test if OFFSET is less than zero, as OFFSET is unsigned now.
36600
36601 * kern/disk.c (struct grub_disk_cache): Change the type of
36602 "sector" to grub_disk_addr_t.
36603 (grub_disk_cache_get_index): Change the type of SECTOR to
36604 grub_disk_addr_t. Calculate the hash with SECTOR casted to
36605 unsigned after shifting.
36606 (grub_disk_cache_invalidate): Change the type of SECTOR to
36607 grub_disk_addr_t.
36608 (grub_disk_cache_unlock): Likewise.
36609 (grub_disk_cache_store): Likewise.
36610 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
36611 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
36612 grub_disk_addr_t and grub_uint64_t, respectively.
36613 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
36614 body, as the value of OFFSET is tweaked by
36615 grub_disk_check_range. Change the types of START_SECTOR, LEN and
36616 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
36617 respectively.
36618 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
36619 body, as the value of OFFSET is tweaked by
36620 grub_disk_check_range. Change the types of LEN and N to
36621 grub_size_t.
36622
36623 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
36624 and "saved_offset" to grub_off_t.
36625 (test_header): Cast BUF to char *.
36626 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
36627 to char *.
36628 (grub_gzio_read): Change the types of OFFSET and SIZE to
36629 grub_off_t and grub_size_t, respectively.
36630
36631 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
36632 Removed.
36633 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
36634 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
36635 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
36636 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
36637 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
36638
36639 * include/grub/types.h (grub_off_t): Unconditionally set to
36640 grub_uint64_t.
36641 (grub_disk_addr_t): Changed to grub_uint64_t.
36642
36643 * include/grub/partition.h (struct grub_partition): Change the
36644 types of "start", "len" and "offset" to grub_disk_addr_t,
36645 grub_uint64_t and grub_disk_addr_t, respectively.
36646 (grub_partition_get_start): Return grub_disk_addr_t.
36647 (grub_partition_get_len): Return grub_uint64_t.
36648
36649 * include/grub/misc.h (grub_strtoull): New prototype.
36650 (grub_divmod64): Likewise.
36651
36652 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
36653 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
36654 grub_off_t, respectively.
36655 All callers and references changed.
36656
36657 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
36658 grub_size_t in "read".
36659 All callers and references changed.
36660
36661 * include/grub/file.h (struct grub_file): Change the types of
36662 "offset" and "size" to grub_off_t and grub_off_t,
36663 respectively. Change the type of SECTOR to grub_disk_addr_t in
36664 "read_hook".
36665 (grub_file_read): Change the type of LEN to grub_size_t.
36666 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
36667 grub_off_t.
36668 (grub_file_size): Return grub_off_t.
36669 (grub_file_tell): Likewise.
36670 All callers and references changed.
36671
36672 * include/grub/disk.h (struct grub_disk_dev): Change the types of
36673 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
36674 "write".
36675 (struct grub_disk): Change the type of "total_sectors" to
36676 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 36677 "read_hook".
524a1e6a 36678 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
36679 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
36680 (grub_disk_write): Likewise.
36681 All callers and references changed.
36682
36683 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
36684 char * for grub_strncmp to silence gcc.
36685 (grub_iso9660_mount): Likewise.
36686 (grub_iso9660_mount): Likewise.
36687 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
36688 return statement.
36689 (grub_iso9660_iterate_dir): Likewise.
36690 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
36691
36692 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
36693 LEN to grub_disk_addr_t and grub_size_t, respectively.
36694
36695 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
36696
36697 * fs/jfs.c (grub_jfs_read_file): Likewise.
36698
36699 * fs/minix.c (grub_jfs_read_file): Likewise.
36700
36701 * fs/sfs.c (grub_jfs_read_file): Likewise.
36702
36703 * fs/ufs.c (grub_jfs_read_file): Likewise.
36704
36705 * fs/xfs.c (grub_jfs_read_file): Likewise.
36706
36707 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
36708 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
36709 respectively.
36710
36711 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
36712 BLKNR to -1 instead of returning GRUB_ERRNO.
36713 (grub_ext2_read_file): Change the types of SECTOR and
36714 LEN to grub_disk_addr_t and grub_size_t, respectively.
36715
36716 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
36717 LEN to grub_disk_addr_t and grub_size_t, respectively.
36718
36719 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
36720 grub_file_read.
36721
36722 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
36723 string. Do not cast SECTOR explicitly.
36724
36725 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
36726 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
36727 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
36728 grub_disk_addr_t and grub_size_t, respectively. If the sector is
36729 over 2TB and LBA mode is not supported, raise an error.
36730 (get_safe_sectors): New function.
36731 (grub_biosdisk_read): Use get_safe_sectors.
36732 (grub_biosdisk_write): Likewise.
36733
36734 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
36735 (grub_efidisk_write): Likewise.
36736
36737 * disk/loopback.c (delete_loopback): Cosmetic changes.
36738 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
36739 correctly.
36740 (grub_loopback_open): Likewise.
36741 (grub_loopback_read): Likewise. Also, change the type of POS to
36742 grub_off_t, and fix the usage of grub_memset.
36743
36744 * commands/i386/pc/play.c: Include grub/machine/time.h.
36745
36746 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
36747 print FILE->SIZE.
36748
36749 * commands/configfile.c: Include grub/env.h.
36750
36751 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
36752 GRUB_ERRNO directly instead. Change the type of POS to
36753 grub_off_t. Follow the coding standard.
36754
36755 * commands/blocklist.c: Include grub/partition.h.
36756 (grub_cmd_blocklist): Return an error if the underlying device is
36757 not a disk. Take the starting sector of a partition into account,
36758 if a partition is used.
36759
36760 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
36761 a length field.
36762 (lba_mode): Support 64-bit addresses.
36763 (chs_mode): Likewise.
36764 (copy_buffer): Adapted to the new offsets of a length field and a
36765 segment field.
36766 (blocklist_default_start): Allocate 64-bit space.
36767
36768 * boot/i386/pc/boot.S (force_lba): Removed.
36769 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 36770 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 36771 space.
36772 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
36773 is useless.
36774 (lba_mode): Refactored to support a 64-bit address. More size
36775 optimization.
36776 (setup_sectors): Likewise.
36777
53af98ad 367782006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
36779
36780 * DISTLIST: Added include/grub/i386/linux.h. Removed
36781 include/grub/i386/pc/linux.h
36782
36783 * configure.ac (AC_INIT): Bumped to 1.94.
36784
36785 * config.guess: Updated from gnulib.
36786 * config.sub: Likewise.
36787 * install-sh: Likewise.
36788 * mkinstalldirs: Likewise.
36789
b4c1940a 367902006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
36791
36792 * conf/common.rmk (grub_modules_init.lst): Depended on
36793 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
36794 MODSRCFILES.
36795
36796 * genmk.rb (PModule::rule): Reverted the previous change.
36797
cfca1cfd 367982006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
36799
36800 * conf/common.rmk (grub_modules_init.lst): Depends on
36801 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
36802 that the target does not exist before producing.
36803 (grub_modules_init.h): Remove the target before generating.
36804 (grub_emu_init.c): Likewise.
36805
36806 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
36807
aa6d7826 368082006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
36809
36810 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
36811 for the target-specific tests. Make sure that we also have the
36812 up-to-date target variables for those tests.
36813
26c607b9 368142006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
36815
36816 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
36817 (PModule::rule): Likewise.
36818
0162321a 368192006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
36820
36821 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
36822 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
36823 target-specific flags should be prefixed.
36824 (PModule::rule): Likewise.
36825
6c826348 368262006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
36827
36828 * configure.ac (CMP): Check if cmp is available explicitly.
36829
b977bf01 368302006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
36831
36832 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
36833 (target_cpu): New variable.
36834 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 36835
b977bf01 36836 * util/i386/pc/grub-install.in (host_cpu): Removed.
36837 (target_cpu): New variable.
36838 (pkglibdir): Use target_cpu instead of host_cpu.
36839
36840 * util/genmoddep.c: Removed.
f19dbdb7 36841
b977bf01 36842 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
36843 instead of GRUB_HOST_SIZEOF_VOID_P.
36844 * kern/dl.c: Likewise.
36845
36846 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
36847 ...
36848 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36849 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36850 (GRUB_TARGET_SIZEOF_LONG): ... this.
36851 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36852 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36853 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
36854 to ...
36855 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36856 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36857 (GRUB_TARGET_SIZEOF_LONG): ... this.
36858 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36859 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36860 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
36861 to ...
36862 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36863 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36864 (GRUB_TARGET_SIZEOF_LONG): ... this.
36865 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36866 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36867
36868 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
36869 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
36870 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
36871 instead of GRUB_HOST_SIZEOF_LONG.
36872 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
36873 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
36874 GRUB_CPU_WORDS_BIGENDIAN.
36875 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
36876 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
36877 grub_host_ssize_t.
36878
36879 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
36880 (genmoddep_SOURCES): Likewise.
36881 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
36882 (genmoddep_SOURCES): Likewise.
36883 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
36884 (genmoddep_SOURCES): Likewise.
36885 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
36886 Likewise.
36887 (genmoddep_SOURCES): Likewise.
36888
36889 * genmoddep.awk: New file.
36890
36891 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
36892 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
36893 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
36894 (PModule::rule): Likewise.
36895 (Program::rule): Likewise.
36896 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
36897 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
36898 respectively.
36899
36900 * configure.ac: Rewritten intensively to use host and target
36901 instead of build and host, respectively.
36902
36903 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
36904 (host_cpu): Removed.
36905 (target_cpu): New variable.
36906 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
36907 (BUILD_CC): Removed.
36908 (BUILD_CFLAGS): Likewise.
36909 (BUILD_CPPFLAGS): Likewise.
36910 (TARGET_CC): New variable.
36911 (TARGET_CFLAGS): Likewise.
36912 (TARGET_CPPFLAGS): Likewise.
36913 (TARGET_LDFLAGS): Likewise.
36914 (AWK): Likewise.
36915 (include): Use target_cpu instead of host_cpu.
36916 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 36917
b977bf01 36918 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
36919
f09771a1 369202006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
36921
36922 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
36923 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
36924 field 'false' to 'exec_on_false'.
36925 (grub_script_create_cmdif): Renamed argument names to reflect above
36926 changes.
36927
36928 * normal/execute.c (grub_script_execute_cmdif): Likewise.
36929
36930 * normal/script.c (grub_script_create_cmdif): Likewise.
36931
118f4fb3 369322006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
36933
36934 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
36935 top.
36936 (grub_hfsplus_btree_recptr): Likewise.
36937 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
36938 FILEBLOCK both to pass a block number and store next block
36939 number.
36940 (grub_hfsplus_read_block): Rewritten heavily to support an extent
36941 overflow file correctly. Specify errors appropriately, because
36942 fshelp expects that GRUB_ERRNO is set when fails. Reuse
36943 grub_hfsplus_btree_recptr to get the pointer to a found key.
36944 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
36945 is found.
36946
36947 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
36948 linux.mod.
36949 (_linux_mod_SOURCES): New variable.
36950 (_linux_mod_CFLAGS): Likewise.
36951 (_linux_mod_LDFLAGS): Likewise.
36952 (linux_mod_SOURCES): Likewise.
36953 (linux_mod_CFLAGS): Likewise.
36954 (linux_mod_LDFLAGS): Likewise.
36955
36956 * DISTLIST: Added loader/i386/efi/linux.c,
36957 loader/i386/efi/linux_normal.c and
36958 include/grub/i386/efi/loader.h.
36959
36960 * loader/i386/efi/linux.c: New file.
36961 * loader/i386/efi/linux_normal.c: Likewise.
36962 * include/grub/i386/efi/loader.h: Likewise.
36963
89a7d726 369642006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
36965
36966 * commands/blocklist.c: New file.
36967
36968 * DISTLIST: Added commands/blocklist.c.
36969
36970 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 36971 color for the background, and a darker color for the foreground.
89a7d726 36972 (grub_console_checkkey): Return READ_KEY.
36973 (grub_console_cls): Set the background to
36974 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
36975
36976 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
36977
36978 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
36979 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
36980
36981 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
36982 prototype.
36983
36984 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
36985 BG. The spec is wrong again.
36986
36987 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
36988 prototype.
36989 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
36990
36991 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36992 commands/blocklist.c.
36993 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 36994
89a7d726 36995 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
36996 (blocklist_mod_SOURCES): New variable.
36997 (blocklist_mod_CFLAGS): Likewise.
36998 (blocklist_mod_LDFLAGS): Likewise.
36999
75c8f258 370002006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
37001
37002 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
37003 duplication.
37004 (lba_mode): Use %eax more intensively to reduce the code size.
37005
da2eb181 370062006-05-20 Marco Gerards <marco@gnu.org>
37007
37008 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
37009
37010 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
37011 for `menuentry'.
37012 (script): Accept leading newlines.
37013 (newlines): New rule to describe 0 or more newlines.
37014 (commands): Accept `command' with trailing newline. Fixed the
37015 order in which arguments were passed to `grub_script_add_cmd'.
37016 Accept commands separated by newlines.
37017 (function): Changed to accept newlines.
37018 (menuentry) Rewritten.
37019
37020 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
37021 front of the list, instead of to the end.
37022
577b4050 370232006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
37024
37025 * util/i386/pc/grub-install.in (bindir): New variable.
37026 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
37027 Shaver <lbgwjl@gmail.com>.
37028
0d6e1189 370292006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
37030
37031 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
37032 grub/machine/linux.h
37033 * loader/i386/pc/linux.c: Likewise.
37034
37035 * include/grub/i386/pc/linux.h: Moved to ...
37036 * include/grub/i386/linux.h: ... here.
37037
37038 * include/grub/i386/linux.h (struct linux_kernel_params): New
37039 struct.
f19dbdb7 37040
31b86e9f 370412006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
37042
37043 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
37044 checking.
37045 (grub_video_vbe_blit_glyph): Likewise.
37046 (grub_video_vbe_blit_bitmap): Likewise.
37047 (grub_video_vbe_blit_render_target): Likewise.
37048
83b984de 370492006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
37050
37051 * configure.ac (--with-platform): Properly quote the square
37052 brackets.
37053
5f0413bd 370542006-05-08 Marco Gerards <marco@gnu.org>
37055
37056 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
37057 this...
37058 (kernel_elf_HEADERS): ...to this. Updated all users.
37059 (grubof_symlist.c): Renamed from this...
37060 (kernel_elf_symlist.c): ...to this. Updated all users.
37061 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
37062 (grubof_SOURCES): Renamed from this...
37063 (kernel_elf_SOURCES): ...to this.
37064 (grubof_HEADERS): Renamed from this...
37065 (kernel_elf_HEADERS): ...to this.
37066 (grubof_CFLAGS): Renamed from this...
37067 (kernel_elf_CFLAGS): ...to this.
37068 (grubof_ASFLAGS): Renamed from this...
37069 (kernel_elf_ASFLAGS): ...to this.
37070 (grubof_LDFLAGS): Renamed from this...
37071 (kernel_elf_LDFLAGS): ...to this.
37072
37073 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
37074 this...
37075 (kernel_elf_HEADERS): ...to this. Updated all users.
37076 (grubof_symlist.c): Renamed from this...
37077 (kernel_elf_symlist.c): ...to this. Updated all users.
37078 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
37079 (grubof_SOURCES): Renamed from this...
37080 (kernel_elf_SOURCES): ...to this.
37081 (grubof_HEADERS): Renamed from this...
37082 (kernel_elf_HEADERS): ...to this.
37083 (grubof_CFLAGS): Renamed from this...
37084 (kernel_elf_CFLAGS): ...to this.
37085 (grubof_ASFLAGS): Renamed from this...
37086 (kernel_elf_ASFLAGS): ...to this.
37087 (grubof_LDFLAGS): Renamed from this...
37088 (kernel_elf_LDFLAGS): ...to this.
37089
37090 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
37091 `kernel.elf' instead of `grubof'.
37092
05568c2e 370932006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
37094
37095 Add --with-platform to configure. Use pkglibdir instead of
37096 pkgdatadir. This is reported by Roger Leigh.
37097
37098 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
37099 (host_vendor): Likewise.
37100 (host_os): Likewise.
37101 (pkgdatadir): Likewise.
37102 (platform): New variable.
37103 (pkglibdir): Likewise.
37104 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 37105
05568c2e 37106 * util/i386/pc/grub-install.in (datadir): Removed.
37107 (host_vendor): Likewise.
37108 (host_os): Likewise.
37109 (pkgdatadir): Likewise.
37110 (platform): New variable.
37111 (pkglibdir): Likewise.
37112 Use PKGLIBDIR instead of PKGDATADIR.
37113
37114 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
37115 instead of GRUB_DATADIR.
37116 (main): Likewise.
37117 * util/i386/pc/grub-mkimage.c (usage): Likewise.
37118 (main): Likewise.
37119 * util/i386/efi/grub-mkimage.c (usage): Likewise.
37120 (main): Likewise.
37121
37122 * configure.ac (--with-platform): New option.
37123 Use PLATFORM instead of HOST_VENDOR to specify a platform.
37124
37125 * Makefile.in: Include a makefile based on PLATFORM instead of
37126 HOST_VENDOR.
37127 (pkgdatadir): Not appended by the machine type.
37128 (pkglibdir): Appended by the machine type.
37129 (host_vendor): Removed.
37130 (platform): New variable.
37131 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
37132 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
37133 (uninstall): Likewise.
37134
4e93851c 371352006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
37136
37137 Use the environment context in the menu. Remove the commands
37138 "default" and "timeout", and use variables instead.
f19dbdb7 37139
4e93851c 37140 * normal/menu.c: Include grub/env.h.
37141 (print_entry): Cast TITLE to silence gcc.
37142 (get_timeout): New function.
37143 (set_timeout): Likewise.
37144 (get_entry_number): Likewise.
37145 (run_menu): Use a default entry, a fallback entry and a timeout
37146 in the environment variables "default", "fallback" and
37147 "timeout". Also, tweak the default entry if it is not within the
37148 current menu entries.
37149 (grub_menu_run): Use a fallback entry in the environment variable
37150 "fallback".
37151
37152 * normal/main.c (read_config_file): Do not initialize
37153 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
37154 NEWMENU->TIMEOUT.
37155 (grub_normal_execute): Use a data slot to store the menu.
37156
37157 * include/grub/normal.h (struct grub_menu): Removed default_entry,
37158 fallback_entry and timeout.
37159 (struct grub_menu_list): Removed.
37160 (grub_menu_list_t): Likewise.
37161 (struct grub_context): Likewise.
37162 (grub_context_t): Likewise.
37163 (grub_context_get): Likewise.
37164 (grub_context_get_current_menu): Likewise.
37165 (grub_context_push_menu): Likewise.
37166 (grub_context_pop_menu): Likewise.
37167 (grub_default_init): Likewise.
37168 (grub_default_fini): Likewise.
37169 (grub_timeout_init): Likewise.
37170 (grub_timeout_fini): Likewise.
37171
37172 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
37173 and timeout.mod.
37174 (normal_mod_SOURCES): Removed normal/context.c.
37175
37176 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
37177 commands/default.c, commands/timeout.c and normal/context.c.
37178 (normal_mod_SOURCES): Removed normal/context.c.
37179
37180 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
37181 commands/timeout.c and normal/context.c.
37182 (normal_mod_SOURCES): Removed normal/context.c.
37183
37184 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
37185 commands/default.c, commands/timeout.c and normal/context.c.
37186 (normal_mod_SOURCES): Removed normal/context.c.
37187
37188 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
37189 timeout.mod.
37190 (default_mod_SOURCES): Removed.
37191 (default_mod_CFLAGS): Likewise.
37192 (default_mod_LDFLAGS): Likewise.
37193 (timeout_mod_SOURCES): Removed.
37194 (timeout_mod_CFLAGS): Likewise.
37195 (timeout_mod_LDFLAGS): Likewise.
37196
37197 * DISTLIST: Removed commands/default.c, commands/timeout.c and
37198 normal/context.c.
37199
37200 * commands/default.c: Removed.
37201 * commands/timeout.c: Likewise.
37202 * normal/context.c: Likewise.
37203
1eb9cc1d 372042006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
37205
37206 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
37207
385bd9c1 372082006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
37209
37210 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
37211 "next" to "prev" for readability.
37212 (struct grub_env_sorted_var): New struct.
37213 (grub_env_context): Renamed to ...
37214 (initial_context): ... this.
37215 (grub_env_var_context): Renamed to ...
37216 (current_context): ... this.
37217 (grub_env_find): Look only at CURRENT_CONTEXT.
37218 (grub_env_context_open): Rewritten to copy exported variables from
37219 previous context.
37220 (grub_env_context_close): Rewritten according to the new
37221 scheme. Also, add an assertion to prevent the initial context from
37222 removed.
37223 (grub_env_insert): Removed the code for the sorted list.
37224 (grub_env_remove): Likewise.
37225 (grub_env_export): Simply mark the variable with
37226 GRUB_ENV_VAR_GLOBAL.
37227 (grub_env_set): A cosmetic change for naming consistency.
37228 (grub_env_get): Likewise.
37229 (grub_env_unset): Likewise.
37230 (grub_env_iterate): Rewritten to sort variables within this
37231 function.
37232 (grub_register_variable_hook): Fixed for naming consistency. Call
37233 grub_env_find again, only if NAME is not found at the first time.
37234 (mangle_data_slot_name): New function.
37235 (grub_env_set_data_slot): Likewise.
37236 (grub_env_get_data_slot): Likewise.
37237 (grub_env_unset_data_slot): Likewise.
37238
37239 * include/grub/env.h (grub_env_var_type): New enum.
37240 (GRUB_ENV_VAR_LOCAL): New constant.
37241 (GRUB_ENV_VAR_GLOBAL): Likewise.
37242 (GRUB_ENV_VAR_DATA): Likewise.
37243 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
37244 "type".
37245 (grub_env_set): Replace VAR with NAME for consistency.
37246 (grub_register_variable_hook): Likewise.
37247 (grub_env_export): Specify the name of the argument.
37248 (grub_env_set_data_slot): New prototype.
37249 (grub_env_get_data_slot): Likewise.
37250 (grub_env_unset_data_slot): Likewise.
37251
7f362539 372522006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
37253
37254 Extend the loader so that GRUB can accept a loader which comes
37255 back to GRUB when a loaded image exits. Also, this change adds
37256 support for a chainloader on EFI.
f19dbdb7 37257
7f362539 37258 * term/efi/console.c: Include grub/misc.h.
37259 (grub_console_checkkey): Display a scan code on the top for
37260 debugging. This will be removed once the EFI port gets stable.
37261 Correct the scan code mapping.
37262
37263 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
37264 allocate memory from larger regions, in order to reduce the number
37265 of allocated regions. Otherwise, the MacOSX loader panics.
37266 (filter_memory_map): Avoid less than 1MB for compatibility with
37267 other loaders.
37268 (add_memory_regions): Allocate from the tail of a region, if
37269 possible, to avoid allocating a region near to 1MB, for the MacOSX
37270 loader.
37271
37272 * kern/efi/init.c (grub_efi_set_prefix): Specify
37273 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
37274
37275 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
37276 argument IMAGE_HANDLE and specify it to get a loaded image.
37277 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
37278 grub_efi_get_loaded_image.
fe6b695a 37279 (grub_efi_get_filename): Divide the length by the size of
7f362539 37280 grub_efi_char16_t.
37281 (grub_efi_get_device_path): New function.
37282 (grub_efi_print_device_path): Print End Device Path nodes. Divide
37283 the length by the size of grub_efi_char16_t for a file path device
37284 path node.
37285
37286 * kern/loader.c (grub_loader_noreturn): New variable.
37287 (grub_loader_set): Accept a new argument NORETURN. Set
37288 GRUB_LOADER_NORETURN to NORETURN.
37289 All callers changed.
37290 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
37291 grub_machine_fini.
37292
37293 * include/grub/efi/efi.h (grub_efi_get_device_path): New
37294 prototype.
37295 (grub_efi_get_loaded_image): Take an argument to specify an image
37296 handle.
37297
37298 * include/grub/loader.h (grub_loader_set): Added one more argument
37299 NORETURN.
37300
37301 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
37302 instead of grub_efi_open_protocol.
37303 (grub_efidisk_get_device_name): Likewise.
37304 (grub_efidisk_close): Print a newline.
37305 (grub_efidisk_get_device_handle): Fixed to use
37306 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
37307 GRUB_EFI_DEVICE_PATH_TYPE.
37308
37309 * disk/efi/efidisk.c (device_path_guid): Moved to ...
37310 * kern/efi/efi.c (device_path_guid): ... here.
37311
37312 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
37313 chain.mod.
37314 (kernel_mod_HEADERS): Added efi/disk.h.
37315 (_chain_mod_SOURCES): New variable.
37316 (_chain_mod_CFLAGS): Likewise.
37317 (_chain_mod_LDFLAGS): Likewise.
37318 (chain_mod_SOURCES): Likewise.
37319 (chain_mod_CFLAGS): Likewise.
37320 (chain_mod_LDFLAGS): Likewise.
37321
37322 * DISTLIST: Added include/grub/efi/chainloader.h,
37323 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
37324
37325 * include/grub/efi/chainloader.h: New file.
37326 * loader/efi/chainloader.c: Likewise.
37327 * loader/efi/chainloader_normal.c: Likewise.
37328
c0111d6e 373292006-04-30 Marco Gerards <marco@gnu.org>
37330
37331 * commands/configfile.c (grub_cmd_source): New function.
37332 (GRUB_MOD_INIT): Register the commands `source' and `.'.
37333 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
37334
df5341da 373352006-04-30 Marco Gerards <marco@gnu.org>
37336
37337 * normal/execute.c (grub_script_execute_cmd): Change the return
37338 type to `grub_err_t'. Correctly return the error.
37339 (grub_script_execute_cmdline): In case a command line is not a
37340 command or a function, try to interpret it as an assignment.
37341
f85934bd 373422006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
37343
37344 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
37345 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
37346 skip a node whose name is obviously invalid as UTF-16,
37347 i.e. contains a NUL character. Stop the iteration when the last
37348 directory entry is found. Instead of using the return value of
37349 grub_hfsplus_btree_iterate_node, store the value in RET and use
37350 it, because the iterator can be stopped by the last directory
37351 entry.
37352
8f8a2cf8 373532006-04-30 Marco Gerards <marco@gnu.org>
37354
37355 * include/grub/env.h (grub_env_export): New prototype. Reported
37356 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
37357
a27e84ce 373582006-04-30 Marco Gerards <marco@gnu.org>
37359
37360 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
37361 size of the extents in a catalog file record.
37362
eaef0553 373632006-04-29 Marco Gerards <marco@gnu.org>
37364
37365 * commands/configfile.c (grub_cmd_configfile): Execute the
37366 configfile within its own context.
37367
37368 * include/grub/env.h (grub_env_context_open): New prototype.
37369 (grub_env_context_close): Likewise.
37370
37371 * kern/env.c (grub_env): Removed.
37372 (grub_env_sorted): Likewise.
37373 (grub_env_context): New variable.
37374 (grub_env_var_context): Likewise.
37375 (grub_env_find): Search both the active context and the global
37376 context.
37377 (grub_env_context_open): New function.
37378 (grub_env_context_close): Likewise.
37379 (grub_env_insert): Likewise.
37380 (grub_env_remove): Likewise.
37381 (grub_env_export): Likewise.
37382 (grub_env_set): Changed to use helper functions to avoid code
37383 duplication.
37384 (grub_env_iterate): Rewritten so both the current context and the
37385 global context are being used.
37386
37387 * normal/command.c (export_command): New function.
37388 (grub_command_init): Register the `export' function.
37389
7b455f4d 373902006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
37391
37392 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
37393 explicitly to suppress gcc's warnings.
37394 * fs/fat.c (grub_fat_find_dir): Likewise.
37395 (grub_fat_label): Likewise.
37396 * fs/xfs.c (grub_xfs_read_inode): Likewise.
37397 (grub_xfs_mount): Likewise.
37398 (grub_xfs_label): Likewise.
37399 * fs/affs.c (grub_affs_mount): Likewise.
37400 (grub_affs_label): Likewise.
37401 (grub_affs_iterate_dir): Likewise.
37402 * fs/sfs.c (grub_sfs_mount): Likewise.
37403 (grub_sfs_iterate_dir): Likewise.
37404 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
37405 * fs/hfs.c (grub_hfs_mount): Likewise.
37406 (grub_hfs_cmp_catkeys): Likewise.
37407 (grub_hfs_find_dir): Likewise.
37408 (grub_hfs_dir): Likewise.
37409 (grub_hfs_label): Likewise.
37410 * fs/jfs.c (grub_jfs_mount): Likewise.
37411 (grub_jfs_opendir): Likewise.
37412 (grub_jfs_getent): Likewise.
37413 (grub_jfs_lookup_symlink): Likewise.
37414 (grub_jfs_label): Likewise.
37415 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
37416 (grub_hfsplus_iterate_dir): Likewise.
37417 (grub_hfsplus_btree_iterate_node): Made static.
37418
37419 * util/grub-emu.c (prefix): New variable.
37420 (grub_machine_set_prefix): New function.
37421 (main): Do not set the environment variable "prefix" here. Only
37422 set PREFIX, which is used later by grub_machine_set_prefix.
37423
37424 * include/grub/video.h: Do not include grub/symbol.h.
37425 (grub_video_register): Not exported. This symbol is not defined in
37426 the kernel.
37427 (grub_video_unregister): Likewise.
37428 (grub_video_iterate): Likewise.
37429 (grub_video_setup): Likewise.
37430 (grub_video_restore): Likewise.
37431 (grub_video_get_info): Likewise.
37432 (grub_video_get_blit_format): Likewise.
37433 (grub_video_set_palette): Likewise.
37434 (grub_video_get_palette): Likewise.
37435 (grub_video_set_viewport): Likewise.
37436 (grub_video_get_viewport): Likewise.
37437 (grub_video_map_color): Likewise.
37438 (grub_video_map_rgb): Likewise.
37439 (grub_video_map_rgba): Likewise.
37440 (grub_video_fill_rect): Likewise.
37441 (grub_video_blit_glyph): Likewise.
37442 (grub_video_blit_bitmap): Likewise.
37443 (grub_video_blit_render_target): Likewise.
37444 (grub_video_scroll): Likewise.
37445 (grub_video_swap_buffers): Likewise.
37446 (grub_video_create_render_target): Likewise.
37447 (grub_video_delete_render_target): Likewise.
37448 (grub_video_set_active_render_target): Likewise.
37449
37450 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
37451 Undefined.
37452 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
37453
37454 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
37455 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37456 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37457 instead of $(srcdir)/genkernsyms.sh.
37458
37459 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
37460 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37461 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37462 instead of $(srcdir)/genkernsyms.sh.
37463
37464 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
37465 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37466 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37467 instead of $(srcdir)/genkernsyms.sh.
37468
37469 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
37470 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37471 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37472 instead of $(srcdir)/genkernsyms.sh.
37473
37474 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
37475 genkernsyms.sh.
37476
37477 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
37478 genkernsyms.sh.
37479 (gensymlist.sh): New target.
37480 (genkernsyms.sh): Likewise.
37481
37482 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
37483 genkernsyms.sh.in and gensymlist.sh.in.
37484
37485 * genkernsyms.sh: Removed.
37486 * gensymlist.sh: Likewise.
f19dbdb7 37487
7b455f4d 37488 * genkernsyms.sh.in: New file.
37489 * gensymlist.sh.in: Likewise.
37490
1885bb27 374912006-04-25 Hollis Blanchard <hollis@penguinppc.org>
37492
37493 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
37494 clobber "prefix", since we may have already set it manually.
37495
71538dff 374962006-04-25 Hollis Blanchard <hollis@penguinppc.org>
37497
37498 * kern/misc.c (abort): New alias for grub_abort.
37499
2965c7cc 375002006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
37501
37502 A new machine-specific function "grub_machine_set_prefix" is
37503 defined. This is called after loading modules, so that a prefix
37504 initialization can use modules. Also, this change adds an
37505 intensive debugging feature for the memory manager via the
37506 configure option "--enable-mm-debug".
f19dbdb7 37507
2965c7cc 37508 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
37509 PART.LEN.
37510
37511 * kern/sparc64/ieee1275/init.c (abort): Removed.
37512 (grub_stop): Likewise.
37513 (grub_exit): New function.
37514 (grub_set_prefix): Renamed to ...
37515 (grub_machine_set_prefix): ... this.
37516 (grub_machine_init): Do not call grub_set_prefix.
37517
37518 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
37519 (grub_machine_set_prefix): ... this.
37520 (grub_machine_init): Do not call grub_set_prefix.
37521
37522 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
37523 (grub_machine_init): Do not set the prefix here.
37524
37525 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
37526
37527 * kern/efi/init.c: Include grub/mm.h.
37528 (grub_efi_set_prefix): New function.
37529
37530 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
37531 (grub_efi_get_filename): New function.
37532 (grub_print_device_path): Renamed to ...
37533 (grub_efi_print_device_path): ... this.
37534
37535 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
37536 [MM_DEBUG] (grub_realloc): Likewise.
37537 [MM_DEBUG] (grub_free): Likewise.
37538 [MM_DEBUG] (grub_memalign): Likewise.
37539 [MM_DEBUG] (grub_mm_debug): New variable.
37540 [MM_DEBUG] (grub_debug_malloc): New function.
37541 [MM_DEBUG] (grub_debug_free): New function.
37542 [MM_DEBUG] (grub_debug_realloc): New function.
37543 [MM_DEBUG] (grub_debug_memalign): New function.
37544
37545 * kern/misc.c (grub_abort): Print a newline to distinguish
37546 the message.
37547
37548 * kern/main.c (grub_main): Call grub_machine_set_prefix and
37549 grub_set_root_dev after loading modules. This is necessary when
37550 setting a prefix depends on modules.
37551
37552 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
37553 (grub_efi_print_device_path): ... this.
37554 (grub_efi_get_filename): New prototype.
37555 (grub_efi_set_prefix): Likewise.
37556
37557 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
37558 and grub/disk.h.
37559 (grub_efidisk_get_device_handle): New prototype.
37560 (grub_efidisk_get_device_name): Likewise.
37561
37562 * include/grub/mm.h: Include config.h.
37563 (MM_DEBUG): Removed.
37564 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
37565 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
37566 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
37567 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
37568 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
37569 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
37570 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
37571 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
37572 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
37573
37574 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
37575
37576 * disk/efi/efidisk.c: Include grub/partition.h.
37577 (iterate_child_devices): New function.
37578 (add_device): First, compare only last device path nodes, so that
37579 devices are sorted by the types.
37580 (grub_efidisk_get_device_handle): New function.
37581 (grub_efidisk_get_device_name): Likewise.
37582
37583 * configure.ac (--enable-mm-debug): New option to enable the
37584 memory manager debugging feature. This makes the binary much
37585 bigger, so is disabled by default.
37586
9cacaa17 375872006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
37588
37589 Use grub_abort instead of grub_stop, and grub_exit must be
37590 define in each architecture now. Also, this change adds support
37591 for EFI disks.
f19dbdb7 37592
9cacaa17 37593 * util/i386/pc/grub-probefs.c: Include grub/term.h.
37594 (grub_getkey): New function.
37595 (grub_term_get_current): Likewise.
37596
37597 * util/i386/pc/grub-setup.c: Include grub/term.h.
37598 (grub_getkey): New function.
37599 (grub_term_get_current): Likewise.
37600
37601 * util/misc.c (grub_stop): Renamed to ...
37602 (grub_exit): ... this.
37603
37604 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
37605 (grub_exit): ... this.
37606 (grub_machine_init): Use grub_abort instead of abort.
37607 (grub_stop): Removed.
37608
37609 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
37610 abort.
37611
37612 * kern/i386/pc/startup.S (grub_exit): New function.
37613 (cold_reboot): New label.
37614
37615 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
37616 (grub_efi_init): Call grub_efidisk_init.
37617 (grub_efi_fini): Call grub_efidisk_fini.
37618
37619 * kern/efi/efi.c: Include grub/mm.h.
37620 (grub_efi_console_control_guid): Renamed to ...
37621 (console_control_guid): ... this.
37622 (grub_efi_loaded_image_guid): Renamed to ...
37623 (loaded_image_guid): ... this.
37624 (grub_efi_locate_handle): New function.
37625 (grub_efi_open_protocol): Likewise.
37626 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
37627 GRUB_EFI_CONSOLE_CONTROL_GUID.
37628 (grub_efi_exit): Removed.
37629 (grub_stop): Likewise.
37630 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
37631 (grub_exit): New function.
37632 (grub_print_device_path): Likewise.
37633
37634 * kern/rescue.c (grub_rescue_cmd_exit): New function.
37635 (grub_enter_rescue_mode): Register "exit".
37636
37637 * kern/misc.c (grub_real_dprintf): A cosmetic change.
37638 (grub_abort): New function.
37639
37640 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
37641
37642 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
37643
37644 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
37645
37646 * include/grub/efi/efi.h (grub_efi_exit): Removed.
37647 (grub_print_device_path): New prototype.
37648 (grub_efi_locate_handle): Likewise.
37649 (grub_efi_open_protocol): Likewise.
37650
37651 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
37652 * disk/efi/efidisk.c: Likewise.
37653
37654 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
37655
37656 * include/grub/efi/console_control.h
37657 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
37658
37659 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
37660 last 8 bytes as an array.
37661 (GRUB_EFI_DISK_IO_GUID): New macro.
37662 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
37663 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
37664 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
37665 grub_uint8_t.
37666 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
37667 (struct grub_efi_device_path): Rename the member "sub_type" to
37668 "subtype".
37669 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
37670 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
37671 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
37672 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
37673 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
37674 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
37675 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
37676 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
37677 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
37678 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
37679 (struct grub_efi_pci_device_path): New structure.
37680 (grub_efi_pci_device_path_t): New type.
37681 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
37682 (struct grub_efi_pccard_device_path): New structure.
37683 (grub_efi_pccard_device_path_t): New type.
37684 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
37685 (struct grub_efi_memory_mapped_device_path): New structure.
37686 (grub_efi_memory_mapped_device_path_t): New type.
37687 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
37688 (struct grub_efi_vendor_device_path): New structure.
37689 (grub_efi_vendor_device_path_t): New type.
37690 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
37691 (struct grub_efi_controller_device_path): New structure.
37692 (grub_efi_controller_device_path_t): New type.
37693 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
37694 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
37695 (struct grub_efi_acpi_device_path): New structure.
37696 (grub_efi_acpi_device_path_t): New type.
37697 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
37698 (struct grub_efi_expanded_acpi_device_path): New structure.
37699 (grub_efi_expanded_acpi_device_path_t): New type.
37700 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
37701 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
37702 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
37703 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
37704 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
37705 (struct grub_efi_atapi_device_path): New structure.
37706 (grub_efi_atapi_device_path_t): New type.
37707 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
37708 (struct grub_efi_fibre_channel_device_path): New structure.
37709 (grub_efi_fibre_channel_device_path_t): New type.
37710 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
37711 (struct grub_efi_1394_device_path): New structure.
37712 (grub_efi_1394_device_path_t): New type.
37713 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
37714 (struct grub_efi_usb_device_path): New structure.
37715 (grub_efi_usb_device_path_t): New type.
37716 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
37717 (struct grub_efi_usb_class_device_path): New structure.
37718 (grub_efi_usb_class_device_path_t): New type.
37719 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
37720 (struct grub_efi_i2o_device_path): New structure.
37721 (grub_efi_i2o_device_path_t): New type.
37722 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
37723 (struct grub_efi_mac_address_device_path): New structure.
37724 (grub_efi_mac_address_device_path_t): New type.
37725 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
37726 (struct grub_efi_ipv4_device_path): New structure.
37727 (grub_efi_ipv4_device_path_t): New type.
37728 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
37729 (struct grub_efi_ipv6_device_path): New structure.
37730 (grub_efi_ipv6_device_path_t): New type.
37731 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
37732 (struct grub_efi_infiniband_device_path): New structure.
37733 (grub_efi_infiniband_device_path_t): New type.
37734 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
37735 (struct grub_efi_uart_device_path): New structure.
37736 (grub_efi_uart_device_path_t): New type.
37737 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
37738 (struct grub_efi_vendor_messaging_device_path): New structure.
37739 (grub_efi_vendor_messaging_device_path_t): New type.
37740 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
37741 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
37742 (struct grub_efi_hard_drive_device_path): New structure.
37743 (grub_efi_hard_drive_device_path_t): New type.
37744 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
37745 (struct grub_efi_cdrom_device_path): New structure.
37746 (grub_efi_cdrom_device_path_t): New type.
37747 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
37748 (struct grub_efi_vendor_media_device_path): New structure.
37749 (grub_efi_vendor_media_device_path_t): New type.
37750 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
37751 (struct grub_efi_file_path_device_path): New structure.
37752 (grub_efi_file_path_device_path_t): New type.
37753 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
37754 (struct grub_efi_protocol_device_path): New structure.
37755 (grub_efi_protocol_device_path_t): New type.
37756 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
37757 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
37758 (struct grub_efi_bios_device_path): New structure.
37759 (grub_efi_bios_device_path_t): New type.
37760 (struct grub_efi_disk_io): New structure.
37761 (grub_efi_disk_io_t): New type.
37762 (struct grub_efi_block_io_media): New structure.
37763 (grub_efi_block_io_media_t): New type.
37764 (struct grub_efi_block_io): New structure.
37765 (grub_efi_block_io_t): New type.
37766
37767 * include/grub/misc.h (grub_stop): Removed.
37768 (grub_exit): New prototype.
37769 (grub_abort): Likewise.
37770
37771 * include/grub/disk.h (enum grub_disk_dev_id): Added
37772 GRUB_DISK_DEVICE_EFIDISK_ID.
37773
37774 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
37775 disk/efi/efidisk.c.
37776 (kernel_syms.lst): Remove the target if an error occurs.
37777
49986a9f 377782006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
37779
37780 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
37781 as it was simply too buggy.
37782
970d3b8a 377832006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
37784
37785 * kern/misc.c (grub_lltoa): New function.
37786 (grub_vsprintf): Added support for the long long suffix,
37787 i.e. "ll".
37788
ff04ec24 377892006-04-20 Hollis Blanchard <hollis@penguinppc.org>
37790
37791 * Makefile.in (LDFLAGS): Add variable.
37792 (LD): Remove variable.
37793 * configure.ac: Add -m32 to LDFLAGS.
37794 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
37795 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
37796 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
37797 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
37798 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
37799 variables.
37800 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
37801 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
37802 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
37803
37e5e1a4 378042006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
37805
37806 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
37807 length for unknown glyph.
37808
c352d8dd 378092006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
37810
2eab1c0d 37811 Add support for pre-loaded modules into the EFI port.
f19dbdb7 37812
2eab1c0d 37813 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
37814 completely. Accept one more argument DIR. The caller has changed.
37815
37816 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
37817
37818 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
37819 (grub_efi_loaded_image_guid): New variable.
37820 (grub_efi_get_loaded_image): New function.
37821 (grub_arch_modules_addr): Likewise.
37822
37823 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
37824 prototype.
37825
37826 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
37827 (struct grub_efi_loaded_image): New structure.
37828 (grub_efi_loaded_image_t): New type.
37829
378302006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 37831
c352d8dd 37832 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
37833 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
37834 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
37835
6d01d6b4 378362006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
37837
37838 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
37839
976a4ea0 378402006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
37841
37842 * DISTLIST: Added include/grub/efi/console.h,
37843 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
37844 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
37845
37846 * include/grub/efi/console.h: New file.
37847 * include/grub/efi/time.h: Likewise.
37848 * include/grub/i386/efi/kernel.h: Likewise.
37849 * kern/efi/init.c: Likewise.
37850 * kern/efi/mm.c: Likewise.
37851 * term/efi/console.c: Likewise.
f19dbdb7 37852
976a4ea0 37853 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
37854 (grub_stop): Removed.
37855 (grub_get_rtc): Likewise.
37856 (grub_machine_init): Simply call grub_efi_init.
37857 (grub_machine_fini): Call grub_efi_fini.
37858
37859 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
37860 (grub_efi_output_string): Removed.
37861 (grub_efi_stall): New function.
37862 (grub_stop): Likewise.
37863 (grub_get_rtc): Likewise.
37864
37865 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
37866 (grub_efi_stall): New prototype.
37867 (grub_efi_allocate_pages): Likewise.
37868 (grub_efi_free_pages): Likewise.
37869 (grub_efi_get_memory_map): Likewise.
37870 (grub_efi_mm_init): Likewise.
37871 (grub_efi_mm_fini): Likewise.
37872 (grub_efi_init): Likewise.
37873 (grub_efi_fini): Likewise.
37874
37875 * include/grub/i386/efi/time.h: Do not include
37876 grub/symbol.h. Include grub/efi/time.h.
37877 (GRUB_TICKS_PER_SECOND): Removed.
37878 (grub_get_rtc): Likewise.
37879
37880 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
37881 Added padding. The EFI spec is buggy.
37882 (GRUB_EFI_BLACK): New macro.
37883 (GRUB_EFI_BLUE): Likewise.
37884 (GRUB_EFI_GREEN): Likewise.
37885 (GRUB_EFI_CYAN): Likewise.
37886 (GRUB_EFI_RED): Likewise.
37887 (GRUB_EFI_MAGENTA): Likewise.
37888 (GRUB_EFI_BROWN): Likewise.
37889 (GRUB_EFI_LIGHTGRAY): Likewise.
37890 (GRUB_EFI_BRIGHT): Likewise.
37891 (GRUB_EFI_DARKGRAY): Likewise.
37892 (GRUB_EFI_LIGHTBLUE): Likewise.
37893 (GRUB_EFI_LIGHTGREEN): Likewise.
37894 (GRUB_EFI_LIGHTCYAN): Likewise.
37895 (GRUB_EFI_LIGHTRED): Likewise.
37896 (GRUB_EFI_LIGHTMAGENTA): Likewise.
37897 (GRUB_EFI_YELLOW): Likewise.
37898 (GRUB_EFI_WHITE): Likewise.
37899 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
37900 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
37901 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
37902 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
37903 (GRUB_EFI_BACKGROUND_RED): Likewise.
37904 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
37905 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
37906 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
37907 (GRUB_EFI_TEXT_ATTR): Likewise.
37908
37909 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
37910 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
37911 (kernel_mod_HEADERS): Added efi/time.h.
37912
83709125 379132006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
37914
37915 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
37916 include/grub/efi/api.h, include/grub/efi/console_control.h,
37917 include/grub/efi/efi.h, include/grub/efi/pe32.h,
37918 include/grub/i386/efi/time.h, kern/efi/efi.c,
37919 kern/i386/efi/init.c, kern/i386/efi/startup.S,
37920 and util/i386/efi/grub-mkimage.c.
37921
37922 * Makefile.in (RMKFILES): Added i386-efi.rmk.
37923
37924 * genmk.rb (PModule#rule): Do not export symbols if
37925 #{prefix}_EXPORTS is set to "no".
37926
37927 * conf/i386-efi.mk: New file.
37928 * conf/i386-efi.rmk: Likewise.
37929 * include/grub/efi/api.h: Likewise.
37930 * include/grub/efi/console_control.h: Likewise.
37931 * include/grub/efi/efi.h: Likewise.
37932 * include/grub/efi/pe32.h: Likewise.
37933 * include/grub/i386/efi/time.h: Likewise.
37934 * kern/efi/efi.c: Likewise.
37935 * kern/i386/efi/init.c: Likewise.
37936 * kern/i386/efi/startup.S: Likewise.
37937 * util/i386/efi/grub-mkimage.c: Likewise.
37938
379392006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 37940
37941 * include/grub/script.h: Include <grub/parser.h> and
37942 "grub_script.tab.h".
37943 (struct grub_lexer_param): New struct.
37944 (struct grub_parser_param): Likewise.
37945 (grub_script_create_arglist): Pass the state in an argument.
37946 (grub_script_add_arglist): Likewise.
37947 (grub_script_create_cmdline): Likewise.
37948 (grub_script_create_cmdblock): Likewise.
37949 (grub_script_create_cmdif): Likewise.
37950 (grub_script_create_cmdmenu): Likewise.
37951 (grub_script_add_cmd): Likewise.
37952 (grub_script_arg_add): Likewise.
37953 (grub_script_lexer_ref): Likewise.
37954 (grub_script_lexer_deref): Likewise.
37955 (grub_script_lexer_record_start): Likewise.
37956 (grub_script_lexer_record_stop): Likewise.
37957 (grub_script_mem_record): Likewise.
37958 (grub_script_mem_record_stop): Likewise.
37959 (grub_script_malloc): Likewise.
37960 (grub_script_yylex): Likewise.
37961 (grub_script_yyparse): Likewise.
37962 (grub_script_yyerror): Likewise.
37963 (grub_script_yylex): Likewise.
37964 (grub_script_lexer_init): Return the state.
37965
37966 * normal/lexer.c (grub_script_lexer_state): Removed variable.
37967 (grub_script_lexer_done): Likewise.
37968 (grub_script_lexer_getline): Likewise.
37969 (grub_script_lexer_refs): Likewise.
37970 (script): Likewise.
37971 (newscript): Likewise.
37972 (record): Likewise.
37973 (recording): Likewise.
37974 (recordpos): Likewise.
37975 (recordlen): Likewise.
37976 (grub_script_lexer_init): Return the state instead of setting
37977 global variables.
37978 (grub_script_lexer_ref): Use the newly added argument for state
37979 instead of globals.
37980 (grub_script_lexer_deref): Likewise.
37981 (grub_script_lexer_record_start): Likewise.
37982 (grub_script_lexer_record_stop): Likewise.
37983 (recordchar): Likewise.
37984 (nextchar): Likewise.
37985 (grub_script_yylex2): Likewise.
37986 (grub_script_yylex): Likewise.
37987 (grub_script_yyerror): Likewise.
37988
37989 * normal/parser.y (func_mem): Removed variable.
37990 (menu_entry): Likewise.
37991 (err): Likewise.
37992 (%lex-param): New parser option.
37993 (%parse-param): Likewise.
37994 (script): Always return the AST.
37995 (argument): Pass the state around.
37996 (arguments): Likewise.
37997 (grubcmd): Likewise.
37998 (commands): Likewise.
37999 (function): Likewise.
38000 (menuentry): Likewise.
38001 (if_statement): Likewise.
38002 (if): Likewise.
38003
38004 * normal/script.c (grub_script_memused): Removed variable.
38005 (grub_script_parsed): Likewise.
38006 (grub_script_malloc): Added a state argument. Use that instead of
38007 global variables.
38008 (grub_script_mem_record): Likewise.
38009 (grub_script_mem_record_stop): Likewise.
38010 (grub_script_arg_add): Likewise.
38011 (grub_script_add_arglist): Likewise.
38012 (grub_script_create_cmdline): Likewise.
38013 (grub_script_create_cmdif): Likewise.
38014 (grub_script_create_cmdmenu): Likewise.
38015 (grub_script_add_cmd): Likewise.
38016 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 38017
e2a8c904 380182006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 38019
38020 * normal/command.c (grub_command_init): Remove the title command.
38021
38022 * normal/lexer.c (grub_script_yylex): Renamed from this...
38023 (grub_script_yylex2): ... to this.
38024 (grub_script_yylex): New function. Temporary
38025 introduced to filter some tokens.
38026 (grub_script_yyerror): Print a newline.
38027
38028 * normal/main.c (read_config_file): Output information about the
38029 lines that contain errors. Wait for a key after all lines have
38030 been processed. Don't return an empty menu.
38031
38032 * normal/parser.y (func_mem): Don't initialize.
38033 (menu_entry): Likewise.
38034 (err): New variable.
38035 (script): Don't return anything when an error was encountered.
38036 (ws, returns): Removed rules.
38037 (argument): Disabled concatenated variable support.
38038 (arguments): Remove explicit separators.
38039 (grubcmd): Likewise.
38040 (function): Likewise.
38041 (menuentry): Likewise.
38042 (if): Likewise.
38043 (commands): Likewise. Add error handling.
38044
38045 * normal/script.c (grub_script_create_cmdline): If
38046 `grub_script_parsed' is 0, assume the parser encountered an error.
38047
c9a86192 380482006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
38049
38050 * configure.ac: Add support for EFI. Fix the typo
38051 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
38052
70f3b243 380532006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
38054
38055 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
38056 foreign multibyte characters should be shown correctly.
38057
65f201ad 380582006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
38059
38060 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
38061 calculation.
38062 (read_config_file): Made it to close file before returning.
38063
b4b93674 380642006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
38065
38066 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
38067 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
38068 video/i386/pc/vbefill.c.
38069
38070 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
38071 video/i386/pc/vbefill.c.
38072
38073 * include/grub/video.h (grub_video_blit_format): New enum.
38074 (grub_video_mode_info): Added new member blit_format.
38075 (grub_video_get_blit_format): New function prototype.
38076
38077 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
38078 function prototype.
38079 (grub_video_vbe_map_rgb): Likewise.
38080 (grub_video_vbe_unmap_color): Likewise.
38081
38082 * include/grub/i386/pc/vbeblit.h: New file.
38083
38084 * include/grub/i386/pc/vbefill.h: New file.
38085
38086 * video/video.c (grub_video_get_blit_format): New function.
38087 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
38088 (grub_video_vbe_map_rgb): Likewise.
38089 (grub_video_vbe_unmap_color): Likewise.
38090
38091 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
38092 optimized fills.
38093 (grub_video_vbe_blit_render_target): Changed to use more optimized
38094 blits.
38095 (grub_video_vbe_setup): Added detection for optimized settings.
38096 (grub_video_vbe_create_render_target): Likewise.
38097
38098 * video/i386/pc/vbeblit.c: New file.
38099
38100 * video/i386/pc/vbefill.c: New file.
38101
c2379b9c 381022006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
38103
38104 * font/manager.c (grub_font_get_glyph): Removed font fixup from
38105 here...
38106
38107 * util/unifont2pff.rb: ... and moved it to here. Improved argument
38108 parsing to support both hex and dec ranges. If filename was missing
38109 show usage information.
38110
bd0d7896 381112006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
38112
38113 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
38114 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
38115
38116 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
38117 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
38118 (video_mod_SOURCES): Added.
38119 (video_mod_CFLAGS): Likewise.
38120 (video_mod_LDFLAGS): Likewise.
38121 (gfxterm_mod_SOURCES): Likewise.
38122 (gfxterm_mod_CFLAGS): Likewise.
38123 (gfxterm_mod_LDFLAGS): Likewise.
38124 (videotest_mod_SOURCES): Likewise.
38125 (videotest_mod_CFLAGS): Likewise.
38126 (videotest_mod_LDFLAGS): Likewise.
38127 (vesafb_mod_SOURCES): Removed.
38128 (vesafb_mod_CFLAGS): Likewise.
38129 (vesafb_mod_LDFLAGS): Likewise.
38130 (vga_mod_SOURCES): Likewise.
38131 (vga_mod_CFLAGS): Likewise.
38132 (vga_mod_LDFLAGS): Likewise.
38133
38134 * commands/videotest.c: New file.
38135
38136 * font/manager.c (fill_with_default_glyph): Modified to use
38137 grub_font_glyph.
38138 (grub_font_get_glyph): Likewise.
38139 (fontmanager): Renamed from this...
38140 (font_manager): ... to this.
38141
38142 * include/grub/font.h (grub_font_glyph): Added new structure.
38143 (grub_font_get_glyph): Modified to use grub_font_glyph.
38144
38145 * include/grub/misc.h (grub_abs): Added as inline function.
38146
38147 * include/grub/video.h: New file.
38148
38149 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
38150 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
38151 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
38152 (grub_vbe_get_controller_info): Renamed from this...
38153 (grub_vbe_bios_get_controller_info): ... to this.
38154 (grub_vbe_get_mode_info): Renamed from this...
38155 (grub_vbe_bios_get_mode_info): ... to this.
38156 (grub_vbe_set_mode): Renamed from this...
38157 (grub_vbe_bios_set_mode): ... to this.
38158 (grub_vbe_get_mode): Renamed from this...
38159 (grub_vbe_bios_get_mode): ... to this.
38160 (grub_vbe_set_memory_window): Renamed from this...
38161 (grub_vbe_bios_set_memory_window): ... to this.
38162 (grub_vbe_get_memory_window): Renamed from this...
38163 (grub_vbe_bios_get_memory_window): ... to this.
38164 (grub_vbe_set_scanline_length): Renamed from this...
38165 (grub_vbe_set_scanline_length): ... to this.
38166 (grub_vbe_get_scanline_length): Renamed from this...
38167 (grub_vbe_bios_get_scanline_length): ... to this.
38168 (grub_vbe_set_display_start): Renamed from this...
38169 (grub_vbe_bios_set_display_start): ... to this.
38170 (grub_vbe_get_display_start): Renamed from this...
38171 (grub_vbe_bios_get_display_start): ... to this.
38172 (grub_vbe_set_palette_data): Renamed from this...
38173 (grub_vbe_bios_set_palette_data): ... to this.
38174 (grub_vbe_set_pixel_rgb): Removed.
38175 (grub_vbe_set_pixel_index): Likewise.
38176
38177 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
38178 from this...
38179 (grub_vbe_bios_get_controller_info): ... to this.
38180 (grub_vbe_get_mode_info): Renamed from this...
38181 (grub_vbe_bios_get_mode_info): ... to this.
38182 (grub_vbe_set_mode): Renamed from this...
38183 (grub_vbe_bios_set_mode): ... to this.
38184 (grub_vbe_get_mode): Renamed from this...
38185 (grub_vbe_bios_get_mode): ... to this.
38186 (grub_vbe_set_memory_window): Renamed from this...
38187 (grub_vbe_bios_set_memory_window): ... to this.
38188 (grub_vbe_get_memory_window): Renamed from this...
38189 (grub_vbe_bios_get_memory_window): ... to this.
38190 (grub_vbe_set_scanline_length): Renamed from this...
38191 (grub_vbe_set_scanline_length): ... to this.
38192 (grub_vbe_get_scanline_length): Renamed from this...
38193 (grub_vbe_bios_get_scanline_length): ... to this.
38194 (grub_vbe_set_display_start): Renamed from this...
38195 (grub_vbe_bios_set_display_start): ... to this.
38196 (grub_vbe_get_display_start): Renamed from this...
38197 (grub_vbe_bios_get_display_start): ... to this.
38198 (grub_vbe_set_palette_data): Renamed from this...
38199 (grub_vbe_bios_set_palette_data): ... to this.
38200 (grub_vbe_bios_get_controller_info): Fixed problem with registers
38201 getting corrupted after calling it. Added more pushes and pops.
38202 (grub_vbe_bios_set_mode): Likewise.
38203 (grub_vbe_bios_get_mode): Likewise.
38204 (grub_vbe_bios_get_memory_window): Likewise.
38205 (grub_vbe_bios_set_scanline_length): Likewise.
38206 (grub_vbe_bios_get_scanline_length): Likewise.
38207 (grub_vbe_bios_get_display_start): Likewise.
38208 (grub_vbe_bios_set_palette_data): Likewise.
38209
38210 * normal/cmdline.c (cl_set_pos): Refresh the screen.
38211 (cl_insert): Likewise.
38212 (cl_delete): Likewise.
38213
38214 * term/gfxterm.c: New file.
38215
38216 * term/i386/pc/vesafb.c: Removed file.
38217
38218 * video/video.c: New file.
38219
38220 * video/i386/pc/vbe.c (real2pm): Added new function.
38221 (grub_video_vbe_draw_pixel): Likewise.
38222 (grub_video_vbe_get_video_ptr): Likewise.
38223 (grub_video_vbe_get_pixel): Likewise
38224 (grub_video_vbe_init): Likewise.
38225 (grub_video_vbe_fini): Likewise.
38226 (grub_video_vbe_setup): Likewise.
38227 (grub_video_vbe_get_info): Likewise.
38228 (grub_video_vbe_set_palette): Likewise.
38229 (grub_video_vbe_get_palette): Likewise.
38230 (grub_video_vbe_set_viewport): Likewise.
38231 (grub_video_vbe_get_viewport): Likewise.
38232 (grub_video_vbe_map_color): Likewise.
38233 (grub_video_vbe_map_rgb): Likewise.
38234 (grub_video_vbe_map_rgba): Likewise.
38235 (grub_video_vbe_unmap_color): Likewise.
38236 (grub_video_vbe_fill_rect): Likewise.
38237 (grub_video_vbe_blit_glyph): Likewise.
38238 (grub_video_vbe_blit_bitmap): Likewise.
38239 (grub_video_vbe_blit_render_target): Likewise.
38240 (grub_video_vbe_scroll): Likewise.
38241 (grub_video_vbe_swap_buffers): Likewise.
38242 (grub_video_vbe_create_render_target): Likewise.
38243 (grub_video_vbe_delete_render_target): Likewise.
38244 (grub_video_vbe_set_active_render_target): Likewise.
38245 (grub_vbe_set_pixel_rgb): Remove function.
38246 (grub_vbe_set_pixel_index): Likewise.
38247 (index_color_mode): Remove static variable.
38248 (active_mode): Likewise.
38249 (framebuffer): Likewise.
38250 (bytes_per_scan_line): Likewise.
38251 (grub_video_vbe_adapter): Added new static variable.
38252 (framebuffer): Likewise.
38253 (render_target): Likewise.
38254 (initial_mode): Likewise.
38255 (mode_in_use): Likewise.
38256 (mode_list): Likewise.
38257
5f97350b 382582006-03-10 Marco Gerards <marco@gnu.org>
38259
38260 * configure.ac (AC_INIT): Bumped to 1.93.
38261
38262 * DISTLIST: Added `include/grub/hfs.h'.
38263
a3c5c6f8 382642006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
38265
38266 * boot/i386/pc/boot.S (general_error): Before looping, try INT
38267 18H, which might help the BIOS falling back to next boot media.
38268
6de53d26 382692006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
38270
38271 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
38272 Poe Chen <poe.poechen@gmail.com>.
38273
77c4a393 382742006-01-17 Marco Gerards <marco@gnu.org>
38275
38276 * include/grub/normal.h: Include <grub/script.h>.
38277 (grub_command_list): Removed struct.
38278 (grub_command_list_t): Removed type.
38279 (grub_menu_entry): Remove members `num' and `command_list'. Add
38280 members `commands' and `sourcecode'.
38281 * include/grub/script.h: Add inclusion guards.
38282 (grub_script_cmd_menuentry): New struct.
38283 (grub_script_execute_menuentry): New prototype.
38284 (grub_script_lexer_record_start): Likewise.
38285 (grub_script_lexer_record_stop): Likewise.
38286 * normal/execute.c (grub_script_execute_menuentry): New function.
38287 * normal/lexer.c (record, recording, recordpos, recordlen): New
38288 variables.
38289 (grub_script_lexer_record_start): New function.
38290 (grub_script_lexer_record_stop): Likewise.
38291 (recordchar): Likewise.
38292 (nextchar): Likewise.
38293 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
38294 2048 as the buffer size. Add the tokens `menuentry' and `@'.
38295 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
38296 (current_menu): New variable.
38297 (free_menu): Mainly rewritten.
38298 (grub_normal_menu_addentry): New function.
38299 (read_config_file): Rewritten.
38300 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 38301 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 38302 the menu entry.
38303 (run): Mainly rewritten.
38304 * normal/parser.y (menu_entry): New variable.
38305 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
38306 (menuentry): New rule.
38307 (command): Add `menuentry'.
38308 (if_statement): Allow additional returns before `fi'.
38309 * normal/script.c (grub_script_create_cmdmenu): New function.
38310
144f1f98 383112006-01-03 Marco Gerards <marco@gnu.org>
38312
38313 * INSTALL: GNU Bison is required.
38314 * configure.ac: Rewritten the test to detect Bison.
38315 * Makefile.in (YACC): New variable. Reported by Xun Sun
38316 <xun.sun.cn@gmail.com>.
38317
af4b2d89 383182006-01-03 Marco Gerards <marco@gnu.org>
38319
38320 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
38321 the HFS+ filesystem to filesystem blocks.
38322 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
38323 GCC warning is silenced.
38324
15643b71 383252006-01-03 Marco Gerards <marco@gnu.org>
38326
38327 * partmap/apple.c (apple_partition_map_iterate): Convert the data
38328 read from disk from big endian to host byte order.
38329
00905879 383302006-01-03 Hollis Blanchard <hollis@penguinppc.org>
38331
38332 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
38333 documentation.
38334 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
38335 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
38336 embedded HFS+ filesystem.
38337 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
38338 (grub_hfs_sblock): Move from here...
38339 * include/grub/hfs.h: To here... New file.
38340 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
38341 documentation.
38342 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
38343 New macros.
38344 (grub_hfsplus_volheader): Change type of member `magic' to
38345 `grub_uint16_t'.
38346 (grub_hfsplus_data): Add new member `embedded_offset'.
38347 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
38348 returned block.
38349 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
38350 Calculate the offset.
38351
8899bc3e 383522005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38353
38354 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
38355 Removed.
38356 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
38357
ae8c0277 383582005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38359
38360 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
38361 ENV->NAME is NULL after allocating ENV->VALUE.
38362
07084456 383632005-12-25 Marco Gerards <marco@gnu.org>
38364
38365 * kern/env.c (grub_env_set): Rewritten the error handling code.
38366
4750f5f1 383672005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38368
38369 * geninit.sh: Made more robust, and more portable.
38370
50214199 383712005-12-25 Marco Gerards <marco@gnu.org>
38372
38373 Add support for Apple HFS+ filesystems.
f19dbdb7 38374
50214199 38375 * fs/hfsplus.c: New file.
38376
38377 * DISTLIST: Added `fs/hfsplus.c'.
38378
38379 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
38380 (hfsplus_mod_SOURCES): New variable.
38381 (hfsplus_mod_CFLAGS): Likewise.
38382 (hfsplus_mod_LDFLAGS): Likewise.
38383 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
38384 (grub_setup_SOURCES): Likewise.
38385 (grub_mkdevicemap_SOURCES): Likewise.
38386 (grub_emu_SOURCES): Likewise.
38387 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38388
38389 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
38390
38391 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
38392
befaed6c 383932005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38394
38395 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
38396 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
38397 include/grub/parser.h, include/grub/script.h, kern/parser.c,
38398 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
38399 normal/lexer.c, normal/parser.y, normal/script.c, and
38400 partmap/gpt.c.
38401 Removed kern/sparc64/cache.c.
38402
38403 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
38404 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
38405 grub_emu_init.c.
38406
38407 * configure.ac (AC_INIT): Bumped to 1.92.
38408
6a124103 384092005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
38410
38411 * kern/err.c (grub_error_push): Added new function to support error
38412 stacks.
38413 (grub_error_pop): Likewise.
38414 (grub_error_stack_items): New local variable to support error stacks.
38415 (grub_error_stack_pos): Likewise.
38416 (grub_error_stack_assert): Likewise.
38417 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
38418 stack depth.
38419 (grub_print_error): Added support to print errors from error stack.
38420
38421 * include/grub/err.h (grub_error_push): Added function prototype.
38422 (grub_error_pop): Likewise.
38423
be973c1b 384242005-12-09 Hollis Blanchard <hollis@penguinppc.org>
38425
38426 * configure.ac: Accept `powerpc64' as host_cpu.
38427 (amd64): Rename to `biarch32'.
38428
38429 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
38430 non-cacheline-aligned addresses.
38431
38432 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
38433 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
38434 if `size' is non-zero.
38435
b04216ab 384362005-12-03 Marco Gerards <mgerards@xs4all.nl>
38437
38438 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
38439 and `cd' to make sure the filename is not prefixed with a
38440 directory name.
38441 (pkgdata_MODULES): Add `gpt.mod'.
38442 (gpt_mod_SOURCES): New variable.
38443 (gpt_mod_CFLAGS): Likewise.
38444 (gpt_mod_LDFLAGS): Likewise.
38445
38446 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
38447
38448 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
38449 New macro.
38450
38451 * partmap/gpt.c: New file.
38452
38453 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
38454 GPT partition map is detected.
38455
41730ed9 384562005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
38457
38458 * commands/i386/pc/play.c: New file.
38459 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
38460 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
38461 macros.
f19dbdb7 38462
95dc3643 384632005-11-27 Marco Gerards <mgerards@xs4all.nl>
38464
38465 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
38466 ((unused))' to silence gcc warning.
38467
1569ec51 384682005-11-26 Hollis Blanchard <hollis@penguinppc.org>
38469
38470 * configure.ac: Correct `AC_PROG_YACC' test.
38471
9abde152 384722005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38473
38474 * util/powerpc/ieee1275/grub-install.in: Run the mount point
38475 check before installing files.
38476
44b83271 384772005-11-22 Mike Small <smallm@panix.com>
38478
38479 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
38480 number regex so multidigit numbers are recognized correctly.
38481
384822005-11-22 Mike Small <smallm@panix.com>
38483
38484 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
38485 debugging message before attempting to claim memory.
38486 (grub_rescue_cmd_initrd): Add a claim debugging message and try
38487 multiple addresses in case of failure.
38488
9c12956b 384892005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38490
38491 * term/tparm.c (get_space): Remove empty `if' statement.
38492
38493 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
38494
38495 * kern/parser.c (check_varstate): Rename `state' to 's'.
38496
aeaf81d9 384972005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38498
38499 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
38500 variable definitions to the beginning of each function. Sort stack
38501 variables by size.
38502 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
38503 `buf' argument to `char *'.
38504
79bbb63f 385052005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38506
38507 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
38508 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 38509 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 38510 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
38511 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
38512 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
38513 configfile.mod, search.mod, gzio.mod and test.mod.
38514 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
38515 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
38516 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
38517 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
38518 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
38519 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
38520 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
38521 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
38522 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
38523 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
38524 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38525 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38526 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
38527 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
38528 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
38529 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
38530 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38531 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
38532 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
38533 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
38534 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
38535 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
38536 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
38537
38538 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
38539 `grep --include'.
38540 (pkgdata_MODULES): Add test.mod.
38541
233b1628 385422005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38543
38544 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
38545 appending to variables with "+=".
38546 (PModule): Use full pathname to generate *.lst filenames.
38547
38548 * Makefile.in: Fixed list rules moved from genmk.rb.
38549 (.DELETE_ON_ERROR): New special target.
38550 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
38551
38552 * conf/i386-pc.rmk: Include conf/common.mk.
38553 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 38554 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 38555 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
38556 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
38557 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
38558 configfile.mod, search.mod, gzio.mod and test.mod.
38559 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
38560 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
38561 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
38562 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
38563 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
38564 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
38565 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
38566 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
38567 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
38568 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
38569 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38570 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38571 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
38572 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
38573 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
38574 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
38575 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38576 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
38577 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
38578 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
38579 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
38580 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
38581 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
38582 here...
38583 * conf/common.rmk: ... to here. New file.
38584
38585 * conf/common.mk: New file.
38586
16f820c8 385872005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
38588
38589 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
38590 (grub_script.tab.c): ... here.
38591
38592 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
38593 (grub_script.tab.c): ... here.
38594
38595 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
38596 (grub_script.tab.c): ... here.
38597
38598 * normal/command.c (grub_command_find): Fixed a memory leak of
38599 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
38600
63ba1554 386012005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38602
38603 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
38604 "@" which marks the start of a comment on ARM.
38605 (VARIABLE): Likewise.
38606
7f67dc13 386072005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38608
79bbb63f 38609 Add support for Linux/ADFS partition tables.
7f67dc13 38610
38611 * partmap/acorn.c: New file.
38612
38613 * include/grub/acorn_filecore.h: Likewise.
38614
38615 * DISTLIST: Added `partmap/acorn.c' and
38616 `include/grub/acorn_filecore.h'.
f19dbdb7 38617
7f67dc13 38618 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38619 `partmap/acorn.c'.
38620 (pkgdata_MODULES): Add `acorn.mod'.
38621 (acorn_mod_SOURCES): New variable.
38622 (acorn_mod_CFLAGS): Likewise.
38623
38624 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
38625 `partmap/acorn.c'.
38626 (pkgdata_MODULES): Add `acorn.mod'.
38627 (acorn_mod_SOURCES): New variable.
38628 (acorn_mod_CFLAGS): Likewise.
38629
38630 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
38631 (pkgdata_MODULES): Add `acorn.mod'.
38632 (acorn_mod_SOURCES): New variable.
38633 (acorn_mod_CFLAGS): Likewise.
38634 (acorn_mod_LDFLAGS): Likewise.
38635
38636 * include/types.h (grub_disk_addr_t): New typedef.
38637
6d099807 386382005-11-13 Marco Gerards <mgerards@xs4all.nl>
38639
38640 * geninit.sh: New file.
38641
38642 * geninitheader.sh: Likewise.
38643
38644 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
38645 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
38646 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
38647 * commands/configfile.c (grub_configfile_init)
38648 (grub_configfile_fini): Likewise.
38649 * commands/default.c (grub_default_init, grub_default_fini):
38650 Likewise.
38651 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
38652 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
38653 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
38654 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
38655 Likewise.
38656 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
38657 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
38658 Likewise.
38659 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 38660 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 38661 Likewise.
38662 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
38663 Likewise.
fe6b695a 38664 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 38665 Likewise.
38666 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
38667 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
38668 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
38669 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
38670 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
38671 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
38672 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
38673 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
38674 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
38675 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
38676 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
38677 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
38678 * partmap/amiga.c (grub_amiga_partition_map_init)
38679 (grub_amiga_partition_map_fini): Likewise.
38680 * partmap/apple.c (grub_apple_partition_map_init)
38681 (grub_apple_partition_map_fini): Likewise.
38682 * partmap/pc.c (grub_pc_partition_map_init)
38683 (grub_pc_partition_map_fini): Likewise.
38684 * partmap/sun.c (grub_sun_partition_map_init,
38685 grub_sun_partition_map_fini): Likewise.
38686 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
38687 Likewise.
38688
38689 * util/grub-emu.c: Include <grub_modules_init.h>.
38690 (main): Don't initialize and de-initialize any modules directly,
38691 use `grub_init_all' and `grub_fini_all' instead.
38692
38693 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
38694 `grub_vesafb_mod_init'.
38695 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
38696 all users.
38697 * term/i386/pc/vga.c (grub_vga_init): Renamed to
38698 `grub_vga_mod_init'. Updated all users.
38699 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 38700
6d099807 38701 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
38702 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
38703 rules.
38704
38705 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
38706 Generate a function to initialize the module in utilities.
38707 Updated all callers.
38708 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
38709 initialize the module in utilities. Updated all callers.
38710
9046bcf0 387112005-11-09 Hollis Blanchard <hollis@penguinppc.org>
38712
38713 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
38714 escape sequence and a literal ^L to clear the screen.
38715
38716 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
38717 when returning from Open Firmware.
38718
d13ea639 387192005-11-09 Hollis Blanchard <hollis@penguinppc.org>
38720
38721 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
38722 (grub_ofconsole_height): Likewise.
38723 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
38724 manually insert a '\n'.
38725 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
38726 `grub_ofconsole_height'. Return early if these are already set.
38727
a8fcf206 387282005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
38729
38730 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
38731 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
38732 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
38733 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
38734 and `normal/script.c'.
38735 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38736 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38737 (test_mod_SOURCES): New variable.
38738 (test_mod_CFLAGS): Likewise.
38739 (test_mod_LDFLAGS): Likewise.
38740 (pkgdata_MODULES): Add `test.mod'.
38741 (grub_script.tab.c): New rule.
38742 (grub_script.tab.h): Likewise.
38743
b6b32745 387442005-11-07 Marco Gerards <mgerards@xs4all.nl>
38745
38746 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38747 `commands/test.c', `normal/execute.c', `normal/lexer.c',
38748 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38749 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38750 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38751 (test_mod_SOURCES): New variable.
38752 (test_mod_CFLAGS): Likewise.
38753 (pkgdata_MODULES): Add `test.mod'.
38754 (grub_script.tab.c): New rule.
38755 (grub_script.tab.h): Likewise.
38756
daac212a 387572005-11-06 Marco Gerards <mgerards@xs4all.nl>
38758
38759 Add initial scripting support.
38760
38761 * commands/test.c: New file.
38762 * include/grub/script.h: Likewise.
38763 * normal/execute.c: Likewise.
38764 * normal/function.c: Likewise.
38765 * normal/lexer.c: Likewise.
38766 * normal/parser.y: Likewise.
38767 * normal/script.c: Likewise.
38768
38769 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 38770
daac212a 38771 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
38772 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
38773 `normal/function.c' and `normal/script.c'.
38774 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38775 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 38776 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
38777 variables.
daac212a 38778 (pkgdata_MODULES): Add `test.mod'.
38779 (grub_script.tab.c): New rule.
38780 (grub_script.tab.h): Likewise.
38781
38782 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
38783
38784 * include/grub/normal.h (grub_test_init): New prototype.
38785 (grub_test_fini): Likewise.
f19dbdb7 38786
daac212a 38787 * normal/command.c: Include <grub/script.h>.
38788 (grub_command_execute): Rewritten.
f19dbdb7 38789
daac212a 38790 * util/grub-emu.c (main): Call `grub_test_init' and
38791 `grub_test_fini'.
38792
77500b2b 387932005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38794
38795 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
38796 to 0.
38797 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
38798 there are no pending characters.
38799
e45deb9e 388002005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38801
38802 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
38803 `grub_strndup' to drop device arguments. Replace unnecessary
38804 `grub_strndup' with `grub_strdup'.
38805
4ce32619 388062005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38807
38808 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
38809 `debug' environment variable has been set.
38810
388112005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 38812
4ce32619 38813 * Makefile.in (install-local): Use $(DATA).
38814 (uninstall): Likewise.
38815 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
38816 (sbin_UTILITIES): ... to here.
38817 (sbin_SCRIPTS): New variable.
38818 (grub_install_SOURCES): New variable.
38819 * util/powerpc/ieee1275/grub-install.in: New file.
38820 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
38821 variable.
38822 (add_segments): Call `grub_util_get_path'.
38823
25fe6f03 388242005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
38825
38826 From Timothy Baldwin:
38827 * commands/ls.c (grub_ls_list_files): Close FILE with
38828 grub_file_close.
38829 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
38830
04ccf3ec 388312005-10-24 Marco Gerards <mgerards@xs4all.nl>
38832
38833 * include/grub/parser.h: New file.
38834
38835 * kern/parser.c: Likewise.
38836
38837 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
38838 (grub_setup_SOURCES): Likewise.
38839 (grub_probefs_SOURCES): Likewise.
38840 (grub_emu_SOURCES): Likewise.
38841 (kernel_img_HEADERS): Add `parser.h'.
38842
38843 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
38844 (grub_emu_SOURCES): Add `kern/parser.c'.
38845 (grubof_SOURCES): Likewise.
38846
38847 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
38848 (grubof_SOURCES): Add `kern/parser.c'.
38849
38850 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
38851
38852 * kern/misc.c (grub_split_cmdline): Removed function.
38853
38854 * kern/rescue.c: Include <grub/parser.h>.
38855 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
38856 of `grub_split_cmdline'.
38857
38858 * normal/command.c: Include <grub/parser.h>.
38859 (grub_command_execute): Use `grub_parser_split_cmdline' instead
38860 of `grub_split_cmdline'.
38861
38862 * normal/completion.c: Include <grub/parser.h>.
38863 (cmdline_state): New variable.
38864 (iterate_dir): End the filename with a quote depending on the
38865 command line state.
38866 (get_state): new function.
38867 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
38868 split the arguments and determine the current argument. When the
38869 argument string is not quoted, escape all spaces.
38870
6d8f4b0e 388712005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38872
38873 * normal/sparc64/setjmp.S: New file.
38874
15cf03ed 388752005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38876
38877 * include/grub/sparc64/libgcc.h: New file.
38878 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
38879 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
38880 normal/sparc64/setjmp.c.
38881
03e8661a 388822005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38883
38884 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
38885 * kern/sparc64/cache.S: New file.
38886 * kern/sparc64/cache.c: Removed.
38887 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
38888 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
38889 -mtune=ultrasparc.
38890 (COMMON_LDFLAGS): Add -melf64_sparc.
38891 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
38892 (grubof_SOURCES): Use cache.S instead of cache.c.
38893 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
38894 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
38895 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
38896 commented though.
38897 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
38898 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
38899 (linux_mod_CFLAGS): Commented out.
38900 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
38901 out because module isn't built.
38902 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
38903 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
38904 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
38905 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
38906 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
38907 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
38908 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
38909 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
38910 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
38911 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
38912 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38913 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38914 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
38915 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
38916
34eeec8a 389172005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
38918
38919 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
38920 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
38921 longer, because HFS should not be used on PC.
38922
708367a3 389232005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38924
38925 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
38926 consistently within the loop.
38927
6fa1251a 389282005-10-15 Marco Gerards <mgerards@xs4all.nl>
38929
38930 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
38931 directory can not be read.
38932
4801580b 389332005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38934
38935 * configure.ac (AC_INIT): Increase the version number to 1.91.
38936
38937 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
38938 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
38939 term/i386/pc/serial.c.
38940
219ad426 389412005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38942
38943 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
38944 file size must be permitted.
38945
38946 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
38947 between %ah and %al.
38948
688e5699 389492005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38950
38951 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
38952 grub_uint64_t.
38953 Call the hook with a NUL-terminated filename.
38954 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
38955 grub_cpu_to_be32.
38956
38957 * kern/term.c (cursor_state): New variable.
38958 (grub_term_set_current): Reset the cursor state on a new
38959 terminal.
38960 (grub_setcursor): Rewritten to use CURSOR_STATE.
38961 (grub_getcursor): New function.
38962
38963 * include/grub/term.h (grub_getcursor): New prototype.
38964
38965 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
38966 integers on ARM. Reported by Timothy Baldwin
38967 <T.E.Baldwin99@members.leeds.ac.uk>.
38968
bb34586c 389692005-10-11 Marco Gerards <mgerards@xs4all.nl>
38970
38971 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
38972 allocated.
38973 (grub_sfs_dir): Likewise.
38974
9a909877 389752005-10-09 Marco Gerards <mgerards@xs4all.nl>
38976
38977 Add support for the SFS filesystem.
38978
38979 * fs/sfs.c: New file.
38980
38981 * DISTLIST: Added `fs/sfs.c'.
38982
38983 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
38984 (grub_probefs_SOURCES): Likewise.
38985 (grub_emu_SOURCES): Likewise.
38986 (pkgdata_MODULES): Add `sfs.mod'.
38987 (sfs_mod_SOURCES): New variable.
38988 (sfs_mod_CFLAGS): Likewise.
38989 (sfs_mod_LDFLAGS): Likewise.
38990
38991 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
38992 (pkgdata_MODULES): Add `sfs.mod'.
38993 (sfs_mod_SOURCES): New variable.
38994 (sfs_mod_CFLAGS): Likewise.
38995
38996 * util/grub-emu.c (main): Call `grub_sfs_init' and
38997 `grub_sfs_fini'.
38998
38999 * include/grub/fs.h (grub_sfs_init): New prototype.
39000 (grub_sfs_fini): Likewise.
39001
57bdbde3 390022005-10-07 Marco Gerards <mgerards@xs4all.nl>
39003
39004 Add support for the AFFS filesystem.
39005
39006 * fs/affs.c: New file.
39007
39008 * DISTLIST: Added `fs/affs.c'.
39009
39010 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
39011 (grub_probefs_SOURCES): Likewise.
39012 (grub_emu_SOURCES): Likewise.
39013 (pkgdata_MODULES): Add `affs.mod'.
39014 (affs_mod_SOURCES): New variable.
39015 (affs_mod_CFLAGS): Likewise.
39016 (affs_mod_LDFLAGS): Likewise.
39017
39018 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
39019 (pkgdata_MODULES): Add `affs.mod'.
39020 (affs_mod_SOURCES): New variable.
39021 (affs_mod_CFLAGS): Likewise.
39022
39023 * util/grub-emu.c (main): Call `grub_affs_init' and
39024 `grub_affs_fini'.
39025
39026 * include/grub/fs.h (grub_affs_init): New prototype.
39027 (grub_affs_fini): Likewise.
39028
047b67e0 390292005-10-01 Marco Gerards <mgerards@xs4all.nl>
39030
39031 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
39032
59b8208a 390332005-10-01 Marco Gerards <mgerards@xs4all.nl>
39034
39035 * configure.ac: Accept `x86_64' as host_cpu. In that case add
39036 `-m32' to CFLAGS.
39037
39038 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
39039 linking.
f19dbdb7 39040
59b8208a 39041 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
39042 (COMMON_LDFLAGS): New variable.
39043 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
39044 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
39045 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
39046 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
39047 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
39048 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
39049 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
39050 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
39051 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
39052 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
39053 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
39054 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
39055 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
39056 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
39057 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
39058 variables.
39059 (normal_mod_ASFLAGS): Add `-m32'.
39060
39061 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
39062 (grub_host_size_t, grub_host_ssize_t): New types.
39063 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 39064 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 39065 `GRUB_HOST_SIZEOF_VOID_P'.
39066
39067 * include/grub/kernel.h (struct grub_module_header): Type of
39068 member offset changed to `grub_host_off_t'. Type of member size
39069 changed to `grub_host_size_t'.
39070 (struct grub_module_info): Type of member offset changed to
39071 `grub_host_off_t'. Type of member size changed to
39072 `grub_host_size_t'.
39073
b4093103 390742005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
39075
39076 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 39077
b4093103 39078 * kern/i386/pc/startup.S (multiboot_header): New label.
39079 (multiboot_entry): Likewise.
39080 (multiboot_trampoline): Likewise.
39081
39082 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
39083 Increased to 0x4A0.
39084
39085 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
39086 put parentheses after a question mark.
39087 [!GRUB_UTIL] (my_mod): New variable.
39088
39089 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
39090
b2499b29 390912005-09-28 Marco Gerards <mgerards@xs4all.nl>
39092
39093 Adds support for the XFS filesystem. Btrees are not supported
39094 yet.
39095
39096 * fs/xfs.c: New file.
39097
39098 * DISTLIST: Added `fs/xfs.c'.
39099
39100 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
39101 (grub_probefs_SOURCES): Likewise.
39102 (grub_emu_SOURCES): Likewise.
39103 (pkgdata_MODULES): Add `xfs.mod'.
39104 (xfs_mod_SOURCES): New variable.
39105 (xfs_mod_CFLAGS): Likewise.
39106
39107 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
39108 (pkgdata_MODULES): Add `xfs.mod'.
39109 (xfs_mod_SOURCES): New variable.
39110 (xfs_mod_CFLAGS): Likewise.
39111
39112 * util/grub-emu.c (main): Call `grub_xfs_init' and
39113 `grub_xfs_fini'.
39114
39115 * include/grub/fs.h (grub_xfs_init): New prototype.
39116 (grub_xfs_fini): Likewise.
39117
f19dbdb7 39118
83d37a62 391192005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
39120
39121 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
39122 color modes, allow greater than 16 colors to be configured as
39123 a default palette.
39124
47d2d65e 391252005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39126
39127 * normal/completion.c (complete_arguments): Add the qualifier
39128 const into OPTIONS.
39129
39130 From Omniflux <omniflux+lists@omniflux.com>:
39131 * include/grub/terminfo.h: New file.
39132 * include/grub/tparm.h: Likewise.
39133 * include/grub/i386/pc/serial.h: Likewise.
39134 * term/terminfo.c: Likewise.
39135 * term/tparm.c: Likewise.
39136 * term/i386/pc/serial.c: Likewise.
39137 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
39138 serial.mod.
39139 (terminfo_mod_SOURCES): New variable.
39140 (terminfo_mod_CFLAGS): Likewise.
39141 (serial_mod_SOURCES): Likewise.
39142 (serial_mod_CFLAGS): Likewise.
39143
48b671ff 391442005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
39145
39146 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
39147 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
39148 and kern/powerpc/ieee1275/cmain.c, respectively.
39149
39150 * boot/powerpc/ieee1275/crt0.S: Moved to ...
39151 * kern/powerpc/ieee1275/crt0.S: ... here.
39152
39153 * boot/powerpc/ieee1275/cmain.c: Moved to ...
39154 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 39155
48b671ff 39156 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
39157 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
39158 instead of boot/powerpc/ieee1275/crt0.S and
39159 boot/powerpc/ieee1275/cmain.c, respectively.
39160
39161 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
39162 sectors. It was not used anyway.
39163
09fc77a7 391642005-08-30 Hollis Blanchard <hollis@penguinppc.org>
39165
39166 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
39167 `unused parameter' warning.
39168
003789c7 391692005-08-30 Hollis Blanchard <hollis@penguinppc.org>
39170
39171 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
39172 function.
39173 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
39174 getcharwidth.
39175
67f44c86 391762005-08-28 Marco Gerards <metgerards@student.han.nl>
39177
39178 * include/grub/normal.h (enum grub_completion_type): Added
39179 `GRUB_COMPLETION_TYPE_ARGUMENT'.
39180
39181 * normal/cmdline.c (print_completion): Handle
39182 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
39183 * normal/menu_entry.c (store_completion): Likewise.
39184
39185 * normal/completion.c (complete_arguments): New function.
39186 (grub_normal_do_completion): Call `complete_arguments' when the
39187 current words start with a dash.
39188
0b5abe02 391892005-08-27 Marco Gerards <metgerards@student.han.nl>
39190
39191 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
39192 `gzio.mod' instead of `io.mod').
39193
d9864ee1 391942005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
39195
39196 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
39197 (DISTDIRS): Added io and video.
39198 Rewrite the search routine to make an output consistently.
39199
39200 * DISTLIST: Added conf/sparc64-ieee1275.mk,
39201 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
39202 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
39203 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
39204 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
39205 util/powerpc/ieee1275/misc.c.
f19dbdb7 39206
d9864ee1 39207 * include/grub/gzio.h: New file.
39208 * io/gzio.c: Likewise.
f19dbdb7 39209
d9864ee1 39210 * kern/file.c (grub_file_close): Call grub_device_close only if
39211 FILE->DEVICE is not NULL.
39212
39213 * include/grub/mm.h [!NULL] (NULL): New macro.
39214
39215 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
39216
39217 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
39218 (pkgdata_MODULES): Added gzio.mod.
39219 (gzio_mod_SOURCES): New variable.
39220 (gzio_mod_CFLAGS): Likewise.
39221
39222 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
39223 (pkgdata_MODULES): Added gzio.mod.
39224 (gzio_mod_SOURCES): New variable.
39225 (gzio_mod_CFLAGS): Likewise.
39226
39227 * commands/cat.c: Include grub/gzio.h.
39228 (grub_cmd_cat): Use grub_gzfile_open instead of
39229 grub_file_open.
f19dbdb7 39230
d9864ee1 39231 * commands/cmp.c: Include grub/gzio.h.
39232 (grub_cmd_cmp): Use grub_gzfile_open instead of
39233 grub_file_open.
39234
39235 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
39236 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
39237 grub_file_open.
39238 (grub_rescue_cmd_module): Likewise.
39239
fa46f4b5 392402005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
39241
39242 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
39243 kern/sparc64/ieee1275/init.c because it contains _start.
39244 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
39245
e9211b5d 392462005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
39247
39248 * configure.ac: Add support for sparc64 host with ieee1275
39249 firmware.
39250 * configure: Generated from configure.ac.
39251 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
39252 instead of int.
39253 (grub_ofdisk_read): Likewise.
39254 (grub_ofdisk_open): Use %p to print pointer values, and cast the
39255 pointers as (void *) to remove a warning.
39256 (grub_ofdisk_close): Likewise.
39257 (grub_ofdisk_read): Likewise.
39258 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
39259 returns, so make it return void to remove a warning.
39260 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
39261 Corresponding prototype change.
39262 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
39263 values, and cast the pointers as (void *) to remove a warning.
39264 (grub_mm_dump): Likewise.
39265 * conf/sparc64-ieee1275.mk: New file.
39266 * conf/sparc64-ieee1275.rmk: Likewise.
39267 * include/grub/sparc64/setjmp.h: Likewise.
39268 * include/grub/sparc64/types.h: Likewise.
39269 * include/grub/sparc64/ieee1275/console.h: Likewise.
39270 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
39271 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
39272 * include/grub/sparc64/ieee1275/time.h: Likewise.
39273 * kern/sparc64/cache.c: Likewise.
39274 * kern/sparc64/dl.c: Likewise.
39275 * kern/sparc64/ieee1275/init.c: Likewise.
39276 * kern/sparc64/ieee1275/openfw.c: Likewise.
39277
385c6a92 392782005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
39279
39280 * util/console.c (grub_ncurses_putchar): If C is greater than
39281 0x7f, set C to a question mark.
39282 (grub_ncurses_getcharwidth): New function.
39283 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
39284 getcharwidth.
39285
39286 * normal/menu.c (print_entry): Made aware of Unicode. First,
39287 convert TITLE to UCS-4, and predict the cursor position by
39288 grub_getcharwidth.
39289
39290 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
39291 const to SRC.
39292 * kern/misc.c (grub_utf16_to_utf8): Likewise.
39293
16ccb8b1 392942005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39295
39296 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
39297 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
39298 grub_strcat.
39299
39300 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
39301 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
39302 grub_strcpy and grub_strlen. Take it into account that a space
39303 character is inserted as a delimiter.
39304
6a85ce79 393052005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39306
39307 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 39308 invalid magic in the error.
6a85ce79 39309
39310 * commands/search.c: New file.
f19dbdb7 39311
6a85ce79 39312 * util/grub-emu.c (main): Call grub_search_init and
39313 grub_search_fini.
39314
39315 * kern/rescue.c (grub_rescue_print_disks): Removed.
39316 (grub_rescue_print_devices): New function.
39317 (grub_rescue_cmd_ls): Use grub_device_iterate with
39318 grub_rescue_print_devices instead of grub_disk_dev_iterate with
39319 grub_rescue_print_disks.
39320
39321 * kern/partition.c (grub_partition_iterate): Return the result of
39322 PARTMAP->ITERATE instead of GRUB_ERRNO.
39323
39324 * kern/device.c: Include grub/partition.h.
39325 (grub_device_iterate): New function.
39326
39327 * include/grub/partition.h (grub_partition_iterate): Return int
39328 instead of grub_err_t.
39329
39330 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
39331 prototype.
39332 [GRUB_UTIL] (grub_search_fini): Likewise.
39333
39334 * include/grub/device.h (grub_device_iterate): New prototype.
39335
39336 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
39337 commands/search.c.
39338 (pkgdata_MODULES): Added search.mod.
39339 (search_mod_SOURCES): New variable.
39340 (search_mod_CFLAGS): Likewise.
39341
39342 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
39343 (pkgdata_MODULES): Added search.mod.
39344 (search_mod_SOURCES): New variable.
39345 (search_mod_CFLAGS): Likewise.
39346
39347 * commands/ls.c (grub_ls_list_disks): Renamed to ...
39348 (grub_ls_list_devices): ... this, and use grub_device_iterate.
39349 All callers changed.
39350
39351 * DISTLIST: Added commands/search.c.
39352
ef095434 393532005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39354
39355 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
39356 conversion.
39357 (grub_getcharwidth): New function.
39358
39359 * kern/misc.c (grub_utf8_to_ucs4): New function.
39360
39361 * include/grub/term.h (struct grub_term): Added a new member
39362 "getcharwidth".
39363 (grub_getcharwidth): New prototype.
39364
39365 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
39366
39367 * term/i386/pc/console.c (map_char): New function. Segregated from
39368 grub_console_putchar.
39369 (grub_console_putchar): Use map_char.
39370 (grub_console_getcharwidth): New function.
39371 (grub_console_term): Specified grub_console_getcharwidth as
39372 getcharwidth.
39373
39374 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
39375 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
39376
39377 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
39378 GRUB_ERRNO.
39379 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
39380 on grub_strtoul completely.
39381 (write_char): Declare local variables in the beginning of the
39382 function.
39383 (grub_vesafb_getcharwidth): New function.
39384 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
39385 getcharwidth.
39386
1f0a95e4 393872005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
39388
39389 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
39390 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
39391 commands/i386/pc/vbetest.c.
39392
39393 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
39394 call grub_vbe_get_controller_info again, because the returned
39395 information is volatile.
39396 (grub_vbe_set_video_mode): Mostly rewritten.
39397 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
39398 grub_vbe_status_t correctly.
39399 (grub_vbe_get_video_mode_info): Likewise.
39400 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
39401 several if statements.
39402
39403 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
39404 * commands/i386/pc/vbeinfo.c: ... this.
39405
39406 * commands/i386/pc/vbe_test.c: Renamed to ...
39407 * commands/i386/pc/vbetest.c: ... this.
39408
39409 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
39410 ...
39411 (grub_cmd_vbeinfo): ... this. Save video modes before
39412 iterating. Skip a video mode, if it is not available, not enough
39413 information is given or it is monochrome. Show the memory
39414 model. Leave the interpretation of MODEVAR to grub_strtoul
39415 completely.
39416 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
39417 (GRUB_MOD_FINI): Likewise.
39418
39419 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
39420 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
39421 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
39422 duplicated grub_env_get. Leave the interpretation of MODEVAR to
39423 grub_strtoul completely.
39424 (real2pm): Removed.
39425 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
39426 (GRUB_MOD_FINI): Likewise.
39427
39428 * normal/misc.c: Include grub/mm.h.
39429
39430 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
39431 vbe_list_modes with vbetest.mod and vbeinfo.mod.
39432 (vbe_list_modes_mod_SOURCES): Removed.
39433 (vbe_list_modes_mod_CFLAGS): Likewise.
39434 (vbe_test_mod_SOURCES): Likewise.
39435 (vbe_test_mod_CFLAGS): Likewise.
39436 (vbeinfo_mod_SOURCES): New variable.
39437 (vbeinfo_mod_CFLAGS): Likewise.
39438 (vbetest_mod_SOURCES): Likewise.
39439 (vbetest_mod_CFLAGS): Likewise.
39440
992ffbbe 394412005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
39442
39443 * normal/misc.c: New file.
39444
39445 * DISTLIST: Added normal/misc.c.
f19dbdb7 39446
992ffbbe 39447 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
39448 DISK to HOOK. Call HOOK with DISK.
39449 * partmap/apple.c (apple_partition_map_iterate): Likewise.
39450 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39451 * partmap/sun.c (sun_partition_map_iterate): Likewise.
39452
39453 * normal/menu_entry.c (struct screen): Added a new member
39454 "completion_shown".
39455 (completion_buffer): New global variable.
39456 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
39457 (store_completion): New function.
39458 (complete): Likewise.
39459 (clear_completions): Likewise.
39460 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
39461 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
39462 a tab, call complete.
39463
39464 * normal/completion.c (disk_dev): Removed.
39465 (print_simple_completion): Likewise.
39466 (print_partition_completion): Likewise.
39467 (print_func): New global variable.
39468 (add_completion): Do not take the arguments WHAT or PRINT any
39469 longer. Added a new argument TYPE. Instead of printing directly,
39470 call PRINT_FUNC if not NULL.
39471 All callers changed.
39472 (complete_device): Use a local variable DEV instead of
39473 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
39474 (grub_normal_do_completion): Take a new argument HOOK. Do not
39475 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
39476 empty string, return NULL instead.
39477 All callers changed.
39478
39479 * normal/cmdline.c (print_completion): New function.
39480
39481 * kern/partition.c (grub_partition_iterate): Add an argument DISK
39482 to HOOK.
39483 All callers changed.
39484
39485 * kern/disk.c (grub_print_partinfo): Removed.
39486
39487 * include/grub/partition.h (struct grub_partition_map): Add a new
39488 argument DISK into HOOK of ITERATE.
39489 (grub_partition_iterate): Add a new argument DISK to HOOK.
39490
39491 * include/grub/normal.h (enum grub_completion_type): New enum.
39492 (grub_completion_type_t): New type.
39493 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
39494 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
39495 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
39496 (GRUB_COMPLETION_TYPE_FILE): Likewise.
39497 (grub_normal_do_completion): Added a new argument HOOK.
39498 (grub_normal_print_device_info): New prototype.
39499
39500 * include/grub/disk.h (grub_print_partinfo): Removed.
39501
39502 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
39503 (normal_mod_SOURCES): Likewise.
39504 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39505 (normal_mod_SOURCES): Likewise.
39506
39507 * commands/ls.c (grub_ls_list_disks): Use
39508 grub_normal_print_device_info instead of grub_print_partinfo. Free
39509 PNAME.
39510 (grub_ls_list_files): Use grub_normal_print_device_info instead of
39511 duplicating the code.
39512
0bd41162 395132005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
39514
39515 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 39516 follow GCS more precisely.
39517 * commands/i386/pc/vbe_test.c: Likewise.
39518 * include/grub/i386/pc/vbe.h: Likewise.
39519 * term/i386/pc/vesafb.c: Likewise.
39520 * video/i386/pc/vbe.c: Likewise.
0bd41162 39521
6323696a 395222005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
39523
39524 * DISTLIST: Added term/i386/pc/vesafb.c
39525 DISTLIST: Added video/i386/pc/vbe.c
39526 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
39527 DISTLIST: Added commands/i386/pc/vbe_test.c.
39528 * commands/i386/pc/vbe_list_modes.c: New file.
39529 * commands/i386/pc/vbe_test.c: Likewise.
39530 * term/i386/pc/vesafb.c: Likewise.
39531 * video/i386/pc/vbe.c: Likewise.
39532 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
39533 (grub_vbe_probe) Added prototype.
39534 (grub_vbe_set_video_mode) Likewise.
39535 (grub_vbe_get_video_mode) Likewise.
39536 (grub_vbe_get_video_mode_info) Likewise.
39537 (grub_vbe_set_pixel_rgb) Likewise.
39538 (grub_vbe_set_pixel_index) Likewise.
39539 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
39540 (pkgdata_MODULES): Added vesafb.mod.
39541 (pkgdata_MODULES): Added vbe_list_modes.mod.
39542 (pkgdata_MODULES): Added vbe_test.mod.
39543 (vbe_mod_SOURCES): Added.
39544 (vbe_mod_CFLAGS): Likewise.
39545 (vesafb_mod_SOURCES): Likewise.
39546 (vesafb_mod_CFLAGS): Likewise.
39547 (vbe_list_modes_mod_SOURCES): Likewise.
39548 (vbe_list_modes_mod_CFLAGS): Likewise.
39549 (vbe_test_mod_SOURCES): Likewise.
39550 (vbe_test_mod_CFLAGS): Likewise.
39551
0a74e62f 395522005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
39553
0a74e62f 39554 * normal/command.c (grub_command_execute): If INTERACTIVE is
39555 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
39556 CMDLINE. Disable the pager if INTERACTIVE is true.
39557 All callers are changed.
39558
39559 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
39560 before reading a config file.
39561 * normal/main.c (read_config_file): Even if a command is not
39562 found, register it if it is within an entry.
39563
39564 * util/grub-emu.c: Include sys/types.h and unistd.h.
39565 (options): Added --hold.
39566 (struct arguments): Added a new member "hold".
39567 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
39568 missing.
39569 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
39570 cleared by a debugger, if it is not zero.
39571
39572 * include/grub/normal.h (grub_command_execute): Add an argument
39573 INTERACTIVE.
39574
e51f85ae 395752005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
39576
39577 * DISTLIST: Added include/grub/i386/pc/vbe.h.
39578
e9c6f39b 395792005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
39580
39581 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
39582 program with another one, because the old one didn't detect a bug
39583 in gcc-3.4. Always use regparm 2, because the new test is still
39584 not enough for gcc-4.0. Someone must investigate a simple test
39585 case which detects a bug in gcc-4.0.
39586
8de3495c 395872005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
39588
39589 * DISTLIST: Added normal/completion.c.
39590
39591 * normal/completion.c: New file.
f19dbdb7 39592
8de3495c 39593 * term/i386/pc/console.c (grub_console_getwh): New function.
39594 (grub_console_term): Assign grub_console_getwh to getwh.
39595
39596 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
39597 function is defined in normal/completion.c as
39598 grub_normal_do_completion.
39599 (grub_cmdline_get): Use grub_normal_do_completion instead of
39600 grub_tab_complete.
39601
39602 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
39603 returns non-zero, otherwise return 0.
39604 (grub_partition_iterate): First, probe the partition map. Then,
39605 call ITERATE only for this partition map.
39606
39607 * kern/misc.c (grub_strncmp): Rewritten.
39608
39609 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
39610 returns non-zero. Otherwise return 0.
39611
39612 * include/grub/partition.h (grub_partition_map_iterate): Return
39613 int instead of void.
39614
39615 * include/grub/normal.h (grub_normal_do_completion): New prototype.
39616
39617 * include/grub/misc.h (grub_strncmp): Change the type of N to
39618 grub_size_t.
39619
39620 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
39621 of void.
39622
39623 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 39624 unsigned explicitly before comparing it with I.
8de3495c 39625
39626 * kern/main.c (grub_env_write_root): Add the attribute unused into
39627 VAR.
39628
39629 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
39630 normal/completion.c.
39631 (normal_mod_SOURCES): Likewise.
39632 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39633 (normal_mod_SOURCES): Likewise.
39634
39635 * normal/command.c (grub_iterate_commands): If ITERATE returns
39636 non-zero, return one immediately.
39637
e85e144b 396382005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
39639
39640 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
39641 * kern/i386/pc/startup.S: Updated Global Descriptor table's
39642 descriptions.
39643 (grub_vbe_get_controller_info): New function.
39644 (grub_vbe_get_mode_info): Likewise.
39645 (grub_vbe_set_mode): Likewise.
39646 (grub_vbe_get_mode): Likewise.
39647 (grub_vbe_set_memory_window): Likewise.
39648 (grub_vbe_get_memory_window): Likewise.
39649 (grub_vbe_set_scanline_length): Likewise.
39650 (grub_vbe_get_scanline_length): Likewise.
39651 (grub_vbe_set_display_start): Likewise.
39652 (grub_vbe_get_display_start): Likewise.
39653 (grub_vbe_set_palette_data): Likewise.
39654 * include/grub/i386/pc/vbe.h: New file.
39655
c46153d2 396562005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39657
39658 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
39659 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
39660 * DISTLIST: Likewise.
39661 * kern/ieee1275/of.c: Moved to ...
39662 * kern/ieee1275/ieee1275.c: ... here.
39663
0cb90c45 396642005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39665
39666 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
39667 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
39668 Pass 0 as `end' parameter to grub_strtoul().
39669
a19fb360 396702005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39671
39672 * include/grub/powerpc/ieee1275/console.h: Do not include
39673 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
39674 ifdef.
39675 (grub_console_cur_color): Remove i386-specific prototype.
39676 (grub_console_real_putchar): Likewise.
39677 (grub_console_checkkey): Likewise.
39678 (grub_console_getkey): Likewise.
39679 (grub_console_getxy): Likewise.
39680 (grub_console_gotoxy): Likewise.
39681 (grub_console_cls): Likewise.
39682 (grub_console_setcursor): Likewise.
39683 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
39684 Include <grub/machine/console.h>.
39685 * term/ieee1275/ofconsole.c: Likewise.
39686
4ac9bd04 396872005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
39688
39689 * Makefile.in (LIBLZO): New variable.
39690
39691 * configure.ac: Check for LZO version 2.
39692
39693 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
39694 lzo/lzo1x.h instead of lzo1x.h.
39695
39696 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
39697 of -llzo.
39698
39699 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
39700 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
39701
39702 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
39703 copying the data from PARTITION to P.
39704
f4917dfd 397052005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39706
39707 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
39708 negative, unload the module.
39709
39710 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
39711 map is "pc_partition_map" but not "pc".
39712 (usage): Fix the description. The options are --boot-image and
39713 --core-image but not --boot-file or --core-file.
39714 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
39715 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
39716 DEFAULT_DIRECTORY.
39717
39718 * util/i386/pc/grub-install.in: Do not specify --boot-file or
39719 --core-file. Specify INSTALL_DEVICE as an argument.
39720
39721 * util/console.c: Include config.h.
39722 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
39723 [HAVE_NCURSES_H]: Include ncurses.h.
39724 [HAVE_CURSES_H]: Include curses.h.
39725 [!A_NORMAL] (A_NORMAL): Defined as zero.
39726 [!A_STANDOUT] (A_STANDOUT): Likewise.
39727
39728 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
39729 -lncurses.
39730 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
39731
39732 * configure.ac: Check for curses libraries and headers.
39733
39734 * Makefile.in (LIBCURSES): New variable.
39735
39736 * genmk.rb (Script::rule): Set the executable bits.
39737
39738 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
39739 name of the PC partition map is "pc_partition_map" but not "pc".
39740
0e143073 397412005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39742
39743 * util/i386/pc/grub-install.in (grub_probefs): New variable.
39744 (modules): Likewise.
39745 (usage): Added descriptions for --modules and --grub-probefs.
39746 Handle --modules and --grub-probefs. Save the arguments in MODULES
39747 and GRUB_PROBEFS, respectively.
39748 Auto-detect a filesystem module against GRUBDIR. If the result is
39749 empty and modules are not specified explicitly, abort the
39750 installation. Add the result to MODULES.
39751
39752 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
39753 disk/powerpc/ieee1275/ofdisk.c,
39754 include/grub/powerpc/ieee1275/init.h and
39755 term/powerpc/ieee1275/ofconsole.c.
39756 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
39757 term/ieee1275/ofconsole.c.
39758
39759 * include/grub/powerpc/ieee1275/console.h: Resurrected.
39760
39761 * COPYING: Upgraded to the latest version. Only the address of the
39762 FSF office has changed.
f19dbdb7 39763
efd6e6d5 397642005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39765
39766 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
39767 kern/ieee1275.c with kern/ieee1275/of.c.
39768
39769 * kern/ieee1275.c: Moved to ...
39770 * kern/ieee1275/of.c: ... here.
39771
8ceafda2 397722005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
39773
39774 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 39775 readability.
8ceafda2 39776
39777 * config.guess: Updated to the latest version from gnulib.
39778 * config.sub: Likewise.
39779 * install.sh: Likewise.
39780 * mkinstalldirs: Likewise.
39781
39782 * include/grub/console.h: Removed. This file is arch-specific. Do
39783 not put this in include/grub.
39784
39785 * include/grub/i386/pc/console.h: Resurrected.
39786
39787 * util/console.c: Include grub/machine/console.h instead of
39788 grub/console.h.
39789 * util/grub-emu.c: Likewise.
39790
267f6cd9 397912005-08-04 Marco Gerards <metgerards@student.han.nl>
39792
39793 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
39794 hardcoded value.
f19dbdb7 39795
267f6cd9 39796 From Vincent Pelletier <subdino2004@yahoo.fr>
39797 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
39798 Redefined to use grub_getwh.
39799 (grub_term): New member named getwh.
39800 (grub_getwh): New prototype.
39801 * kern/term.c (grub_getwh): New function.
39802 * term/i386/pc/console.c (grub_console_getwh): New function.
39803 (grub_console_term): New member `getwh'.
39804 * term/i386/pc/vga.c (grub_vga_getwh): New function.
39805 (grub_vga_term): New member `getwh'.
0b5abe02 39806 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 39807 grub_ssize_t.
39808 (grub_ofconsole_getw): New function.
39809 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
39810 (grub_ofconsole_term): New field named getwh and new initial
39811 value.
39812
3be7266d 398132005-08-03 Hollis Blanchard <hollis@penguinppc.org>
39814
39815 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
39816 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
39817 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
39818 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
39819 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
39820 of <grub/machine/ieee1275.h>.
39821 * commands/ieee1275/reboot.c: Likewise.
39822 * boot/powerpc/ieee1275/ieee1275.c: Move ...
39823 * kern/ieee1275.c: ... to here. All users updated. Change all
39824 parameter structs to use new type `grub_ieee1275_cell_t'.
39825 * term/powerpc/ieee1275/ofconsole.c: Move ...
39826 * term/ieee1275/ofconsole.c: ... to here. All users updated.
39827 * disk/powerpc/ieee1275/ofdisk.c: Move ...
39828 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
39829 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
39830 to return int.
39831 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
39832 Remove unused prototypes. All users updated.
39833 * include/grub/powerpc/ieee1275/console.h: Removed.
39834 * include/grub/powerpc/ieee1275/ieee1275.h: Define
39835 `grub_ieee1275_cell_t'.
39836 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
39837 Cast comparisons with -1 to the correct type.
39838 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
39839 type to match `grub_ieee1275_entry_fn'.
39840
8b5f3938 398412005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
39842
39843 * DISTLIST: Added util/i386/pc/grub-probefs.c.
39844
39845 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
39846 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
39847 partmap/sun.c.
39848 (grub_probefs_SOURCES): New variable.
39849
39850 * util/i386/pc/grub-probefs.c: New file.
39851
39852 * util/i386/pc/grub-setup.c (main): Call
39853 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
39854 grub_hfs_init and grub_jfs_init to initialize the system. Call
39855 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
39856 grub_pc_partition_map_fini to finish the system.
39857
ea409713 398582005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
39859
39860 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
39861 function.
39862 (grub_multiboot_load_elf32): Likewise.
39863 (grub_multiboot_is_elf64): Likewise.
39864 (grub_multiboot_load_elf64): Likewise.
39865 (grub_multiboot_load_elf): Likewise.
39866 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
39867 an ELF32 or ELF64 file.
39868 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
39869
39870 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
39871 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
39872 NULL before calling FS->LABEL.
39873 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
39874 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
39875 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
39876 before calling FS->LABEL.
39877
141a288b 398782005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
39879
39880 * util/i386/pc/grub-install.in (datadir): New variable.
39881 (libdir): Removed.
39882 (pkgdatadir): New variable.
39883 (pkglibdir): Removed.
39884
0d5f8a54 398852005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
39886
39887 * DISTLIST: Added util/i386/pc/grub-install.in.
39888
39889 * util/i386/pc/grub-install.in: New file.
39890
39891 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
39892 (grub_install_SOURCES): Likewise.
39893
39894 * genmk.rb: Added support for scripts.
39895 (Script): New class.
39896 (scripts): New variable.
39897
39898 * Makefile.in (install-local): Install sbin_SCRIPTS by
39899 INSTALL_SCRIPT.
39900 (uninstall): Remove sbin_SCRIPTS.
39901
39902 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
39903 device, try to get a GRUB device by
39904 grub_util_biosdisk_get_grub_dev.
39905 Free DEST_DEV.
39906
39907 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
39908 description for --device-map.
39909
5f968e1e 399102005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
39911
39912 Change the semantics of variable hooks. They now return strings
39913 instead of error values.
f19dbdb7 39914
5f968e1e 39915 * util/i386/pc/grub-setup.c: Include grub/env.h.
39916 (setup): Use grub_device_set_root instead of grub_env_set.
39917
39918 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
39919 grub_env_get instead of grub_device_set_root and
39920 grub_device_get_root, respectively.
39921
39922 * kern/main.c (grub_env_write_root): New function.
39923 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
39924 grub_env_set instead of grub_device_set_root.
39925
39926 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
39927 many variables.
39928 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
39929 rather than calling ENV->WRITE_HOOK afterwards.
39930 (grub_env_get): Return the result of ENV->READ_HOOK rather than
39931 passing a pointer of a pointer.
39932 (grub_register_variable_hook): Change the types of "read_hook" and
39933 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
39934 respectively.
39935 Allocate the default empty string on the heap, because this string
39936 may be freed later.
39937
39938 * kern/device.c: Include grub/env.h.
39939 (grub_device_set_root): Removed.
39940 (grub_device_get_root): Likewise.
39941 (grub_device_open): Use grub_env_get instead of
39942 grub_device_get_root.
39943
39944 * include/grub/env.h (grub_env_read_hook_t): New type.
39945 (grub_env_write_hook_t): Likewise.
39946 (grub_env_var): Change the types of "read_hook" and "write_hook"
39947 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
39948 (grub_register_variable_hook): Likewise.
39949
39950 * include/grub/device.h (grub_device_set_root): Removed.
39951 (grub_device_set_root): Likewise.
39952
39953 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
39954 make sure that DIRNAME terminates with '/', so that
39955 grub_fat_find_dir will fail if PATH is not a directory.
39956
39957 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
39958 from DIRNAME.
39959 Use the qualifier auto for print_files and print_files_long.
39960 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
39961 as a regular file.
39962 Put a newline only if there is no error.
39963 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
39964 used.
39965
896f0afd 399662005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
39967
39968 * kern/partition.c (grub_partition_probe): Initialize PART to
39969 NULL. Otherwise, when no partition map is registered, this returns
39970 a garbage.
39971
b28b81b2 399722005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
39973
39974 * partmap/apple.c (apple_partition_map_iterate): Check if POS
39975 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
39976 valid.
39977
5f3607e0 399782005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
39979
39980 * commands/ls.c (grub_ls_list_disks): Print the filesystem
39981 information on each device, if it does not have partitions. Print
39982 "Device" instead of "Disk", because this function is not specific
39983 to disk devices.
39984
39985 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
39986 static to ensure that it is put on the memory rather than a
39987 register.
39988
502c87e8 399892005-07-17 Yoshinori Okuji <okuji@enbug.org>
39990
39991 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
39992 (grub_cat_init): Likewise.
39993 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
39994 (options): Likewise.
39995 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
39996 (grub_configfile_init): Likewise.
39997 * font/manager.c (GRUB_MOD_INIT): Likewise.
39998 * commands/help.c (GRUB_MOD_INIT): Likewise.
39999 (grub_help_init): Likewise.
40000 * normal/command.c (grub_command_init): Likewise.
40001 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
40002 * disk/loopback.c (grub_loop_init): Likewise.
40003 (GRUB_MOD_INIT): Likewise.
40004 * commands/ls.c (grub_ls_init): Likewise.
40005 (GRUB_MOD_INIT): Likewise.
40006 (options): Likewise.
40007 * commands/boot.c (grub_boot_init): Likewise.
40008 (GRUB_MOD_INIT): Likewise.
40009 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
40010 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
40011 (GRUB_MOD_INIT): Likewise.
40012 * commands/cmp.c (grub_cmp_init): Likewise.
40013 (GRUB_MOD_INIT): Likewise.
40014
40015 * normal/arg.c: Use <> instead of "" to include header files.
40016 (SHORT_ARG_HELP): New macro.
40017 (SHORT_ARG_USAGE): Likewise.
40018 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
40019 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
40020 descriptions.
40021 (find_short): Check if C is 'h' or 'u' explicitly.
40022 (grub_arg_show_help): Use space characters instead of tabs. Treat
40023 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
40024 are shown with --help and --usage only if they are not used for
40025 the command itself.
40026 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
40027 'h' and 'u'.
40028
40029 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
40030 const into "longarg". Change the type of "shortarg" to int.
40031
f806d18e 400322005-07-17 Yoshinori Okuji <okuji@enbug.org>
40033
40034 * boot/i386/pc/boot.S (boot_drive_check): New label.
40035
40036 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
40037 macro.
40038
40039 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
40040 which do not pass a boot drive correctly. Copied from GRUB Legacy.
40041
e293232b 400422005-07-17 Yoshinori Okuji <okuji@enbug.org>
40043
40044 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
40045 When turning off Gate A20, skip the check and return immediately,
40046 because this is not fatal usually.
40047
ebedfd00 400482005-07-17 Yoshinori Okuji <okuji@enbug.org>
40049
40050 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
40051 be 0x7C00 instead of 0x8000.
40052
40053 * boot/i386/pc/pxeboot.S: Rewritten.
40054
40055 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
40056 EXT_C.
40057 (gate_a20_check_state): Read a byte from 0x108000. Invert the
40058 result.
40059
654fc59f 400602005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
40061
40062 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
40063 robustness. This routine now supports a BIOS call and System
40064 Control Port A to modify the gate A20.
40065
40066 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40067 Increased to 0x440.
40068
09f9923f 400692005-07-12 Hollis Blanchard <hollis@penguinppc.org>
40070
40071 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
40072 device path and resulting ihandle.
40073 (grub_ofdisk_close): dprintf the ihandle being closed.
40074 (grub_ofdisk_read): dprintf function parameters.
40075 * kern/mm.c (grub_mm_init_region): Likewise.
40076 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
40077 (grub_linux_boot): dprintf the Linux entry point, initrd address and
40078 size, and boot arguments.
40079 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
40080 before loading into memory.
40081 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
40082 before loading into memory.
40083
7ef504d8 400842005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
40085
40086 * kern/mm.c: Added much documentation.
40087 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
40088 8, set to 5 instead of 8.
40089
e0f050c2 400902005-07-10 Yoshinori Okuji <okuji@enbug.org>
40091
40092 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
40093
40094 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
40095 (grub_mkdevicemap_SOURCES): New variable.
40096
40097 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
40098 lib/device.c of GRUB Legacy.
40099
7224189a 401002005-07-10 Yoshinori Okuji <okuji@enbug.org>
40101
40102 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
40103 instead of PATH is NULL.
40104
68c864eb 401052005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
40106
40107 * commands/cmp.c (BUFFER_SIZE): New macro.
40108 (grub_cmd_cmp): Close the right file at the right time. Compare
40109 only data just read. Don't report files of different size as
40110 identical. Dynamically allocate buffers. Move variable
40111 declarations at the beginning of function.
40112
e6f3e614 401132005-07-09 Yoshinori Okuji <okuji@enbug.org>
40114
40115 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
40116 reverse.
40117
f8f1559a 401182004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
40119
40120 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
40121 when backspace is pressed at beginning of line.
40122
39c9d41d 401232005-07-03 Yoshinori Okuji <okuji@enbug.org>
40124
40125 * DISTLIST: Added genfslist.sh.
40126
40127 * normal/main.c (fs_module_list): New variable.
40128 (autoload_fs_module): New function.
40129 (read_fs_list): Likewise.
40130 (grub_normal_execute): Call read_fs_list.
40131
40132 * kern/fs.c (grub_fs_autoload_hook): New variable.
40133 (grub_fs_probe): Added support for auto-loading.
40134
40135 * include/grub/normal.h (struct grub_fs_module_list): New struct.
40136 (grub_fs_module_list_t): New type.
40137
40138 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
40139 (grub_fs_autoload_hook): New prototype.
40140
40141 * genfslist.sh: New file.
f19dbdb7 40142
39c9d41d 40143 * genmk.rb: Added a rule to generate a filesystem list.
40144
121c1d83 401452005-06-30 Marco Gerards <metgerards@student.han.nl>
40146
40147 * configure.ac: Fix the test for cross-compiling.
40148
40149 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
40150 define GRUB_UTIL anymore.
40151
40152 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
40153 so this function works on other systems than just big endian.
40154 (load_modules): Likewise.
40155 (add_segments): Likewise.
40156
e75d76e1 401572005-06-23 Hollis Blanchard <hollis@penguinppc.org>
40158
40159 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
40160 contains `l' modifier, get a long from va_arg().
40161
50b5a0a7 401622005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
40163
40164 * kern/mm.c (grub_free): If the next free block which is being
40165 merged is the first free block, set the first block to the block
40166 being freed.
40167 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
40168
89371b20 401692005-05-08 Hollis Blanchard <hollis@penguinppc.org>
40170
40171 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
40172 `grub_ieee1275_chosen'.
40173
168d6e58 401742005-05-08 Hollis Blanchard <hollis@penguinppc.org>
40175
40176 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
40177 (grub_ieee1275_chosen): New variable.
40178 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
40179 `chosen'.
40180 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
40181 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
40182 Rename first argument to `phandle' for consistency.
40183 (grub_ieee1275_get_property_length): Likewise.
40184 (grub_ieee1275_next_property): Likewise. Change type of first argument
40185 to grub_ieee1275_phandle_t.
40186 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
40187 Move export next to declaration.
40188 (grub_ieee1275_chosen): New variable.
40189 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
40190 Correct cosmetic typo.
40191 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
40192 `grub_ieee1275_chosen'.
40193 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
40194 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
40195 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
40196 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
40197 `grub_ieee1275_chosen'.
40198
ca5baa3f 401992005-05-10 Hollis Blanchard <hollis@penguinppc.org>
40200
40201 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
40202 /chosen/bootargs.
40203 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
40204 /chosen/bootargs as "variable=value" pairs.
40205
708b345f 402062005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
40207
40208 * include/grub/misc.h (grub_dprintf): New macro.
40209 (grub_real_dprintf): New prototype.
40210 (grub_strword): Likewise.
40211 (grub_iswordseparator): Likewise.
40212 * kern/misc.c (grub_real_dprintf): New function.
40213 (grub_strword): Likewise.
40214 (grub_iswordseparator): Likewise.
40215
f4c5e67c 402162005-04-30 Hollis Blanchard <hollis@penguinppc.org>
40217
40218 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
40219 (roundup): Remove macro.
40220 (grub_ieee1275_flags): Make static.
40221 (grub_ieee1275_realmode): Remove.
40222 (grub_ieee1275_test_flag): New function.
40223 (grub_ieee1275_set_flag): Likewise.
40224 (find_options): Rename to `grub_ieee1275_find_options'; update
40225 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
40226 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
40227 (cmain): New prototype.
40228 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
40229 `grub_ieee1275_flags' directly.
40230 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
40231 machine/biosdisk.h.
40232 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
40233 Don't include grub/machine/init.h.
40234 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
40235 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
40236 Remove prototype.
40237 (grub_ieee1275_realmode): Likewise.
40238 (grub_ieee1275_flag): New enum.
40239 (grub_ieee1275_test_flag): New prototype.
40240 (grub_ieee1275_set_flag): New prototype.
40241 * include/grub/powerpc/ieee1275/init.h: Remove file.
40242 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
40243 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
40244 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
40245 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
40246 comment.
40247 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
40248 `grub_ieee1275_test_flag'.
40249 (grub_ieee1275_encode_devname): Likewise.
40250
ed16607e 402512005-04-21 Hollis Blanchard <hollis@penguinppc.org>
40252
40253 * include/grub/powerpc/ieee1275/ieee1275.h
40254 (grub_ieee1275_encode_devname): New prototype.
40255 (grub_ieee1275_get_filename): Likewise.
40256 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
40257 function.
40258 (grub_set_prefix): Likewise.
40259 (grub_machine_init): Call grub_set_prefix.
40260 * kern/powerpc/ieee1275/openfw.c: Fix typos.
40261 (grub_parse_type): New enum.
40262 (grub_ieee1275_get_devargs): New function.
40263 (grub_ieee1275_get_devname): Likewise.
40264 (grub_ieee1275_parse_args): Likewise.
40265 (grub_ieee1275_get_filename): Likewise.
40266 (grub_ieee1275_encode_devname): Likewise.
40267
be369920 402682005-03-30 Marco Gerards <metgerards@student.han.nl>
40269
40270 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
40271 `grub_loader_unset'.
40272
a5ce3a4a 402732005-03-26 Hollis Blanchard <hollis@penguinppc.org>
40274
40275 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
40276 instead of grub_ieee1275_interpret.
40277 (grub_halt_init): New function.
40278 (grub_halt_fini): Likewise.
40279 (GRUB_MOD_INIT): Correct message grammar.
40280 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
40281 instead of grub_ieee1275_interpret.
40282 (grub_reboot_init): New function.
40283 (grub_reboot_fini): Likewise.
40284 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
40285 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
40286 util/i386/pc/misc.c with commands/ieee1275/halt.c,
40287 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
40288 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
40289 function.
40290 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
40291 Add prototype.
40292 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
40293 prototype.
40294 (grub_halt): Likewise.
40295 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
40296 (cmain): Remove __attribute__((unused)).
40297 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
40298 (grub_heap_len): Likewise.
40299 (grub_machine_fini): New function.
40300 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
40301 (grub_halt): Likewise.
40302 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
40303 function.
40304 * util/powerpc/ieee1275/misc.c: New file.
40305
0058f771 403062005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
40307
40308 * DISTLIST: New file.
40309 * gendistlist.sh: Likewise.
f19dbdb7 40310
0058f771 40311 * Makefile.in (COMMON_DISTFILES): Removed.
40312 (BOOT_DISTFILES): Likewise.
40313 (CONF_DISTFILES): Likewise.
40314 (DISK_DISTFILES): Likewise.
40315 (FS_DISTFILES): Likewise.
40316 (INCLUDE_DISTFILES): Likewise.
40317 (KERN_DISTFILES): Likewise.
40318 (LOADER_DISTFILES): Likewise.
40319 (TERM_DISTFILES): Likewise.
40320 (UTIL_DISTFILES): Likewise.
40321 (DISTFILES): Likewise.
40322 (uninstall): Uninstall files in $(pkgdata_DATA).
40323 (DISTLIST): New target.
40324 (distdir): Use the contents of the file DISTLIST to get a list of
40325 distributed files.
40326
46b3b8a5 403272005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
40328
40329 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
40330 descriptor. This is ported from GRUB Legacy.
40331
40332 * gencmdlist.sh: Added an extra semicolon to make it work with
40333 old sed versions. Reported by Robert Bihlmeyer
40334 <robbe@orcus.priv.at>.
40335
5822ff87 403362005-03-08 Yoshinori Okuji <okuji@enbug.org>
40337
40338 Automatic loading of commands is supported.
f19dbdb7 40339
5822ff87 40340 * normal/main.c (read_command_list): New function.
40341 (grub_normal_execute): Call read_command_list.
40342
40343 * normal/command.c (grub_register_command): Return zero or CMD.
40344 Allocate CMD->NAME from the heap.
40345 Initialize CMD->MODULE_NAME to zero.
40346 Find the same name as well. If the same command is found and it is
40347 a dummy command, overwrite members. If it is not a dummy command,
40348 return zero.
40349 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
40350 (grub_command_find): If a dummy command is found, load a module
40351 and retry to find a command only once.
40352
40353 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
40354 make sure that each command is loaded.
40355
40356 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
40357 macro.
40358 (struct grub_command): Remove const from the member `name'.
40359 Add a new member `module_name'.
40360 (grub_register_command): Return grub_command_t.
40361
40362 * commands/help.c (grub_cmd_help): Call grub_command_find to make
40363 sure that each command is loaded.
40364
40365 * genmk.rb (PModule::rule): Specify a module name without the
40366 suffix ".mod" to gencmdlist.sh.
40367
7b1f4b57 403682005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
40369
40370 * gencmdlist.sh: New file.
f19dbdb7 40371
7b1f4b57 40372 * genmk.rb (PModule::rule): Generate a rule for a command list.
40373 Clean command.lst.
40374 Generate command.lst from $(COMMANDFILES).
40375
40376 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
40377 (DATA): Added $(pkgdata_DATA).
40378 (install-local): Install files in $(pkgdata_DATA).
40379
062aaf39 403802005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
40381
40382 * term/i386/pc/vga.c (debug_command): Removed.
40383 (GRUB_MOD_INIT): Do not register the command "debug".
40384
40385 From Hollis Blanchard:
40386 * commands/configfile.c: New file.
40387 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40388 commands/configfile.c.
40389 (pkgdata_MODULES): Added configfile.mod.
40390 (configfile_mod_SOURCES): New variable.
40391 (configfile_mod_CFLAGS): Likewise.
40392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40393 commands/configfile.c.
40394 (pkgdata_MODULES): Added configfile.mod.
40395 (configfile_mod_SOURCES): New variable.
40396 (configfile_mod_CFLAGS): Likewise.
40397 * util/grub-emu.c (main): Call grub_configfile_init and
40398 grub_configfile_fini.
40399 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
40400 prototype.
40401 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 40402
cee01aa6 404032005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
40404
40405 * normal/arg.c (grub_arg_show_help): Do not show the bug report
40406 address.
40407
40408 * commands/help.c (grub_cmd_help): Do not print newlines after
40409 the last command in print_command_help.
40410
93f3a1d8 404112005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
40412
40413 * commands/default.h: New file.
40414 * commands/timeout.h: Likewise.
40415 * normal/context.c: Likewise.
f19dbdb7 40416
93f3a1d8 40417 * util/misc.c: Do not include sys/times.h.
40418 Include sys/time.h and grub/machine/time.h.
40419 (grub_get_rtc): Rewritten with gettimeofday.
40420
40421 * util/grub-emu.c (main): Call grub_default_init and
40422 grub_timeout_init before grub_normal_init, and call
40423 grub_timeout_fini and grub_default_fini after grub_main.
40424
40425 * util/console.c (grub_ncurses_checkkey): Return the read
40426 character or -1.
40427
40428 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
40429 timeouts.
40430
40431 * normal/main.c (read_config_file): Push MENU. If this fails,
40432 print an error and wait for a user input.
40433 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
40434 If a menu is empty or an error occurs, pop MENU.
40435 (grub_normal_execute): Pop and free MENU after grub_menu_run
40436 returns.
40437
40438 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
40439
40440 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
40441 include time.h.
40442 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
40443 without GRUB_UTIL.
40444 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
40445 time.h.
40446 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
40447 without GRUB_UTIL.
40448
40449 * include/grub/normal.h (struct grub_menu_list): New struct.
40450 (grub_menu_list_t): New type.
40451 (struct grub_context): New struct.
40452 (grub_context_t): New type.
40453 (grub_register_command): Got rid of EXPORT_FUNC.
40454 (grub_unregister_command): Likewise.
40455 (grub_context_get): New prototype.
40456 (grub_context_get_current_menu): Likewise.
40457 (grub_context_push_menu): Likewise.
40458 (grub_context_pop_menu): Likewise.
40459 [GRUB_UTIL] (grub_default_init): Likewise.
40460 [GRUB_UTIL] (grub_default_fini): Likewise.
40461 [GRUB_UTIL] (grub_timeout_init): Likewise.
40462 [GRUB_UTIL] (grub_timeout_fini): Likewise.
40463
40464 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
40465 commands/timeout.c and normal/context.c.
40466 (pkgdata_MODULES): Added default.mod and timeout.mod.
40467 (normal_mod_SOURCES): Added normal/context.c.
40468 (default_mod_SOURCES): New variable.
40469 (default_mod_CFLAGS): Likewise.
40470 (timeout_mod_SOURCES): Likewise.
40471 (timeout_mod_CFLAGS): Likewise.
40472 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
40473 conf/i386-pc.rmk.
40474 (pkgdata_MODULES): Added default.mod and timeout.mod.
40475 (normal_mod_SOURCES): Added normal/context.c.
40476 (default_mod_SOURCES): New variable.
40477 (default_mod_CFLAGS): Likewise.
40478 (timeout_mod_SOURCES): Likewise.
40479 (timeout_mod_CFLAGS): Likewise.
40480
40481 * Makefile.in (all-local): Added $(MKFILES).
40482
4ed2e1dd 404832005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
40484
40485 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
40486 (grub_emu_SOURCES): Likewise.
40487 (pkgdata_MODULES): Add `sun.mod'.
40488 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
40489 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40490 `partmap/sun.c'.
40491 (pkgdata_MODULES): Add `sun.mod'.
40492 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
40493 * include/grub/partition.h (grub_sun_partition_map_init): New
40494 prototype.
40495 (grub_sun_partition_map_fini): Likewise.
40496 * partmap/sun.c: New file.
40497 * util/grub-emu.c (main): Initialize and de-initialize the sun
40498 partitionmap support.
40499
4d4e372e 405002005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
40501
40502 This implements an Emacs-like menu entry editor.
f19dbdb7 40503
4d4e372e 40504 * normal/menu_entry.c: New file.
f19dbdb7 40505
4d4e372e 40506 * util/console.c (grub_ncurses_putchar): Translate some Unicode
40507 characters to ASCII.
40508 (saved_char): New variable.
40509 (grub_ncurses_checkkey): Rewritten completely.
40510 (grub_ncurses_getkey): Likewise.
40511 (grub_ncurses_init): Call raw instead of cbreak.
40512
40513 * normal/menu.c (print_entry): Do not put a space.
40514 (init_page): Renamed to ...
40515 (grub_menu_init_page): ... this. All callers changed.
40516 (edit_menu_entry): Removed.
40517 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
40518
40519 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
40520
40521 * kern/misc.c (grub_vprintf): Call grub_refresh.
40522
40523 * normal/menu.c (DISP_LEFT): Renamed to ...
40524 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
40525 * normal/menu.c (DISP_UP): Renamed to ...
40526 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
40527 * normal/menu.c (DISP_RIGHT): Renamed to ...
40528 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
40529 * normal/menu.c (DISP_DOWN): Renamed to ...
40530 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
40531 * normal/menu.c (DISP_HLINE): Renamed to ...
40532 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
40533 * normal/menu.c (DISP_VLINE): Renamed to ...
40534 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
40535 * normal/menu.c (DISP_UL): Renamed to ...
40536 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
40537 * normal/menu.c (DISP_UR): Renamed to ...
40538 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
40539 * normal/menu.c (DISP_LL): Renamed to ...
40540 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
40541 * normal/menu.c (DISP_LR): Renamed to ...
40542 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
40543 * normal/menu.c (TERM_WIDTH): Renamed to ...
40544 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
40545 * normal/menu.c (TERM_HEIGHT): Renamed to ...
40546 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
40547 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
40548 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
40549 * normal/menu.c (TERM_MARGIN): Renamed to ...
40550 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
40551 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
40552 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
40553 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
40554 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
40555 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
40556 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
40557 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
40558 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
40559 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
40560 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
40561 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
40562 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
40563 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
40564 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
40565 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
40566 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
40567 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
40568 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
40569 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
40570 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
40571 All callers changed.
40572
40573 * include/grub/normal.h: New prototype.
40574
40575 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40576 normal/menu_entry.c.
40577 (normal_mod_SOURCES): Likewise.
40578 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40579 (normal_mod_SOURCES): Likewise.
40580
e6b92c8a 405812005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
40582
40583 * include/grub/normal.h (grub_halt_init): New prototype.
40584 (grub_halt_fini): Likewise.
40585 (grub_reboot_init): Likewise.
40586 (grub_reboot_fini): Likewise.
40587
40588 * util/grub-emu.c: Include signal.h.
40589 (main_env): New global variable.
40590 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
40591 catch C-c.
40592 (grub_machine_fini): New function.
40593 (main): Call grub_halt_init and grub_reboot_init before
40594 grub_main, and grub_reboot_fini and grub_halt_fini after it.
40595 Call setjmp with MAIN_ENV to go back afterwards.
40596 Call grub_machine_fini right before return.
40597
40598 * include/grub/util/misc.h: Include setjmp.h.
40599 (main_env): New prototype.
40600
40601 * include/grub/kernel.h (grub_machine_fini): New prototype.
40602 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
40603 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
40604
40605 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
40606 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
40607 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 40608
e6b92c8a 40609 * util/i386/pc/misc.c: New file.
f19dbdb7 40610
e6b92c8a 40611 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40612 util/i386/pc/misc.c, commands/i386/pc/halt.c and
40613 commands/i386/pc/reboot.c.
40614
c642636f 406152005-02-14 Guillem Jover <guillem@hadrons.org>
40616
40617 * include/grub/dl.h (grub_dl_check_header): New prototype.
40618 (grub_arch_dl_check_header): Change return type to grub_err_t,
40619 remove size parameter and export function. Update all callers.
40620 * kern/dl.c (grub_dl_check_header): New function.
40621 (grub_dl_load_core): Use `grub_dl_check_header' instead of
40622 `grub_arch_dl_check_header'. Check ELF type. Check if sections
40623 are inside the core.
40624 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
40625 independent ELF header checks.
40626 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
40627 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
40628 `grub_dl_check_header' instead of explicit checks. Check for the
40629 ELF type.
40630 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
40631 `grub_dl_check_header' instead of explicit checks. Remove arch
40632 specific ELF header checks.
40633
e6b92c8a 40634 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
40635 argument SIZE.
40636
5eabe94b 406372005-02-13 Hollis Blanchard <hollis@penguinppc.org>
40638
40639 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
40640 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
40641
1b14a681 406422005-02-12 Hollis Blanchard <hollis@penguinppc.org>
40643
40644 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 40645 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 40646 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 40647 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 40648 * partmap/amiga.c (amiga_partition_map_iterate): Return
40649 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
40650 * partmap/apple.c (apple_partition_map_iterate): Likewise.
40651
aca108aa 406522005-02-01 Guillem Jover <guillem@hadrons.org>
40653
40654 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
40655 help info.
40656
c9f9c556 406572005-01-31 Marco Gerards <metgerards@student.han.nl>
40658
40659 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
40660 Removed prototype.
40661 (grub_rescue_cmd_linux): New prototype.
40662 (grub_rescue_cmd_initrd): Likewise.
40663 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
40664 `bi_rec'.
40665 (grub_linux_release_mem): Release the memory for the initrd.
40666 (grub_load_linux): Renamed from this...
40667 (grub_rescue_cmd_linux): ...To this. Changed all callers.
40668 Changed `entry' not to be static. Loop over memory regions to
40669 find another one when the default fails.
40670 (grub_rescue_cmd_initrd): New function.
40671 (grub_linux_init): Remove function.
40672 (grub_linux_fini): Likewise.
40673 (GRUB_MOD_INIT): Register `initrd'.
40674 (GRUB_MOD_FINI): Unregister `initrd'.
40675 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
40676 Function removed.
40677 (grub_linux_normal_fini): Likewise.
40678 (GRUB_MOD_INIT): Register `initrd'.
40679 (GRUB_MOD_FINI): Unregister `initrd'.
40680
990cf3aa 406812005-01-31 Marco Gerards <metgerards@student.han.nl>
40682
40683 * commands/help.c: New file.
40684 * normal/arg.c (show_help): Renamed to...
40685 (grub_arg_show_help): ... this.
40686 * commands/i386/pc/halt.c: New file.
40687 * commands/i386/pc/reboot.c: Likewise.
40688 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
40689 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
40690 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
40691 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
40692 variables.
40693 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40694 `commands/help.c'.
40695 (pkgdata_MODULES): Add `help.mod'.
40696 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
40697 * grub/i386/pc/init.h (grub_reboot): New prototype.
40698 (grub_halt): Likewise.
40699 * include/grub/normal.h (grub_arg_show_help): New prototype.
40700 (grub_help_init): Likewise.
40701 (grub_help_fini): Likewise.
40702 * util/grub-emu.c (main): Initialize and deinitialize the help
40703 command.
40704
40705 * normal/cmdline.c (grub_cmdline_get): Doc fix.
40706
40707 * normal/command.c (grub_command_init): Fixed the description of
40708 the `set' and `unset' commands.
40709
407102005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 40711
40712 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
40713 function.
40714 * commands/ieee1275/halt.c: New file.
40715 * commands/ieee1275/reboot.c: Likewise.
40716 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
40717 `__attribute__ ((unused))'. Some GCS related fixed.
40718 (grub_suspend_init) [GRUB_UTIL]: Function removed.
40719 (grub_suspend_fini): Likewise.
40720 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
40721 and `halt.mod'.
40722 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
40723 (halt_mod_CFLAGS): New variables.
40724 * include/grub/powerpc/ieee1275/ieee1275.h
40725 (grub_ieee1275_interpret): New prototype.
40726
1ab09cc7 407272005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
40728
40729 * include/grub/misc.h (memmove): New prototype.
40730 (memcpy): Likewise.
40731
8b8cbdb2 407322005-01-22 Hollis Blanchard <hollis@penguinppc.org>
40733
40734 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
40735 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
40736
e3741a27 407372005-01-22 Marco Gerards <metgerards@student.han.nl>
40738
40739 * kern/misc.c (grub_strndup): Function rewritten.
40740
776bd780 407412005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
40742
40743 * normal/menu.c (TERM_WIDTH): Macro redefined.
40744 (TERM_TOP_BORDER_Y): Likewise.
40745 (draw_border): Replaced while-loop by a for-loop. Make the number
40746 of lines consistent with the number of lines displayed in
40747 print_entries. Added a margin below the rectangle.
40748 (print_entry): Make the entry fit in the rectangle.
40749 (print_entries): Display the scroll arrows next to the right
40750 border.
40751
78026bce 407522005-01-21 Marco Gerards <metgerards@student.han.nl>
40753
40754 * fs/minix.c (grub_minix_find_file): Reserve more space for
40755 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
40756 `grub_strncpy' to copy `path' into it.
40757
67bbaf0f 407582005-01-21 Marco Gerards <metgerards@student.han.nl>
40759
40760 Add the loopback device, a device via which files can be accessed
40761 as devices.
f19dbdb7 40762
67bbaf0f 40763 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
40764 (pkgdata_MODULES): Add loopback.mod.
40765 (loopback_mod_SOURCES): New variable.
40766 (loopback_mod_CFLAGS): Likewise.
40767 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40768 `disk/loopback.c'.
40769 (pkgdata_MODULES): Add loopback.mod.
40770 (loopback_mod_SOURCES): New variable.
40771 (loopback_mod_CFLAGS): Likewise.
40772 * disk/loopback.c: new file.
40773 * include/grub/normal.h (grub_loop_init): New prototype.
40774 (grub_loop_fini): New prototype.
40775 * util/grub-emu.c (main): Initialize and de-initialize loopback
40776 support.
40777 * include/grub/disk.h (grub_disk_dev_id): Add
40778 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
40779
6f1c18bd 407802005-01-20 Hollis Blanchard <hollis@penguinppc.org>
40781
40782 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
40783 function.
40784 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
40785 (suspend_mod_SOURCES): New variable.
40786 (suspend_mod_CFLAGS): Likewise.
40787 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
40788 New prototype.
40789 * commands/ieee1275/suspend.c: New file.
40790
b38551da 407912005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40792
40793 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 40794 ((unused))' to `__attribute__ ((used))'.
b38551da 40795 (GRUB_MOD_FINI): Likewise.
40796 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
40797 * genmk.rb (PModule): Assign space to common symbols when linking
40798 modules.
40799
777aff39 408002005-01-20 Marco Gerards <metgerards@student.han.nl>
40801
40802 * include/grub/mm.h (grub_mm_init_region): Change the type of the
40803 `unsigned' arguments to `grub_size_t'.
40804 (grub_malloc): Likewise.
40805 (grub_realloc): Likewise.
40806 (grub_memalign): Likewise.
40807 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
40808 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
40809 * util/misc.c (grub_malloc): Likewise.
40810 (grub_realloc): Likewise.
40811 * kern/mm.c (get_header_from_pointer): Change the casts to
40812 `unsigned' into a cast to `grub_size_t'.
40813
40814 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
40815 point to `currnode' when `currnode' is changed.
40816
40817 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
40818 Schottelius <nico-linux@schottelius.org>.
40819
d0ff18e1 408202005-01-09 Hollis Blanchard <hollis@penguinppc.org>
40821
40822 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
40823 (note_path): Remove variable.
40824 (GRUB_IEEE1275_NOTE_NAME): New macro.
40825 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
40826 (grub_ieee1275_note_hdr): New structure.
40827 (grub_ieee1275_note_desc): Likewise.
40828 (grub_ieee1275_note): Likewise.
40829 (load_note): Remove `dir' argument. All callers updated. Remove
40830 `note_img' and `path'. Do not load a file from `note_path'.
40831 Initialize a struct grub_ieee1275_note and write that to `out'.
40832 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
40833
4ca7004c 408342005-01-05 Marco Gerards <metgerards@student.han.nl>
40835
40836 * util/misc.c (grub_util_read_image): Revert last change. It
40837 called `grub_util_read_at', which seeks from the beginning of the
40838 file.
40839
0b412211 408402005-01-04 Hollis Blanchard <hollis@penguinppc.org>
40841
40842 * TODO: Add note about endianness in grub-mkimage.
40843 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
40844 section.
40845 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
40846 (grub_mkimage_SOURCES): New target.
40847 * include/grub/kernel.h (grub_start_addr): Remove variable.
40848 (grub_end_addr): Likewise.
40849 (grub_total_module_size): Likewise.
40850 (grub_kernel_image_size): Likewise.
40851 (GRUB_MODULE_MAGIC): New constant.
40852 (grub_module_info): New structure.
40853 (grub_arch_modules_addr): New prototype.
40854 (grub_get_end_addr): Remove prototype.
40855 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
40856 * include/grub/powerpc/ieee1275/kernel.h: New file.
40857 * include/grub/util/misc.h (grub_util_get_fp_size): New
40858 prototype.
40859 (grub_util_read_at): Likewise.
40860 (grub_util_write_image_at): Likewise.
40861 * kern/main.c (grub_get_end_addr): Remove function.
40862 (grub_load_modules): Call grub_arch_modules_addr instead of using
40863 grub_end_addr. Look for a grub_module_info struct in memory. Use
40864 the grub_module_info fields instead of calling grub_get_end_addr
40865 as loop conditions. Move grub_add_unused_region code here.
40866 (grub_add_unused_region): Remove function.
40867 * kern/i386/pc/init.c: Include grub/cache.h.
40868 (grub_machine_init): Remove call to grub_get_end_addr. Remove
40869 one call to add_mem_region.
40870 (grub_arch_modules_addr): New function.
40871 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
40872 (grub_total_module_size): Likewise.
40873 Include grub/machine/kernel.h.
40874 (grub_arch_modules_addr): New function.
40875 * util/grub-emu.c (grub_end_addr): Remove variable.
40876 (grub_total_module_size): Likewise.
40877 (grub_arch_modules_addr): New function.
40878 * util/misc.c: Include unistd.h.
40879 (grub_util_get_fp_size): New function.
40880 (grub_util_read_at): Likewise.
40881 (grub_util_write_image_at): Likewise.
40882 (grub_util_read_image): Call grub_util_read_at.
40883 (grub_util_write_image): Call grub_util_write_image_at.
40884 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
40885 additional memory in kernel_img for a struct grub_module_info.
40886 Fill in that grub_module_info.
40887 * util/powerpc/ieee1275/grub-mkimage.c: New file.
40888
458786f8 408892005-01-03 Hollis Blanchard <hollis@penguinppc.org>
40890
40891 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
40892 New function.
40893 * include/grub/powerpc/ieee1275/ieee1275.h
40894 (grub_ieee1275_milliseconds): New prototype.
40895 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
40896 Change to 1000.
40897 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
40898 grub_ieee1275_milliseconds.
40899
ac507d1b 409002005-01-03 Hollis Blanchard <hollis@penguinppc.org>
40901
40902 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
40903 variable.
40904 (find_options): New function.
40905 (cmain): Call find_options.
40906 * include/grub/powerpc/ieee1275/ieee1275.h
40907 (grub_ieee1275_realmode): New extern variable.
40908 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
40909 grub_map if grub_ieee1275_realmode is false.
40910
6b8fd1c4 409112004-12-29 Marco Gerards <metgerards@student.han.nl>
40912
40913 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
40914 lines are inserted and make it work like readline. Reported by
40915 Vincent Pelletier <subdino2004@yahoo.fr>.
40916
8514a1e0 409172004-12-28 Marco Gerards <metgerards@student.han.nl>
40918
40919 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
40920
40921 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
40922 `kern/powerpc/cache.S'.
40923
924b6140 409242004-12-27 Marco Gerards <metgerards@student.han.nl>
40925
40926 * genmk.rb: Handle the `Program' class in the main loop. Written
40927 by Johan Rydberg <jrydberg@gnu.org>.
40928 (Program): New class.
40929 (programs): New variable.
40930 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
40931 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
40932 instead of "grub/kernel.h". Include <grub/machine/init.h>.
40933 (help_arch): Function removed.
40934 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
40935 `powerpc/libgcc.h' and `loader.h'.
40936 (pkgdata_PROGRAMS): New variable.
40937 (sbin_UTILITIES): Variable removed.
40938 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
40939 (grubof_SOURCES): Variable re-defined so it only includes the
40940 core functionality.
40941 (grubof_CFLAGS): Remove `-DGRUBOF'.
40942 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
40943 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
40944 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
40945 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
40946 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
40947 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
40948 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
40949 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
40950 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
40951 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
40952 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40953 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
40954 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
40955 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
40956 (pc_mod_CFLAGS): New variables.
40957 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
40958 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
40959 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
40960 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
40961 Moved from here...
40962 * include/grub/i386/pc/init.h (grub_os_area_addr)
40963 (rub_os_area_size): ... to here.
40964 * include/grub/powerpc/ieee1275/ieee1275.h
40965 (grub_ieee1275_entry_fn): Export symbol.
40966 * include/grub/powerpc/ieee1275/init.h: New file.
40967 * include/grub/powerpc/libgcc.h: Likewise.
40968 * include/grub/cache.h: Likewise.
40969 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
40970 <hollis@penguinppc.org>.
40971 * kern/dl.c: Include <grub/cache.h>.
40972 (grub_dl_flush_cache): New function.
40973 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
40974 for this module.
40975 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
40976 (grub_console_init): Removed prototypes.
40977 (grub_machine_init): Don't initialize the modules anymore.
40978 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
40979 static.
40980 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
40981 Macro undef removed.
40982 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
40983 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
40984 relocation `R_PPC_REL32'. Return an error when the relocation is
40985 unknown.
40986 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
40987 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
40988 * util/misc.c (grub_arch_sync_caches): Likewise.
40989
e4b47e0c 409902004-12-19 Marco Gerards <metgerards@student.han.nl>
40991
40992 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
40993 `symlist.c', add `grubof_symlist.c'.
40994 (symlist.c): Variable removed.
40995 (grubof_HEADERS): Variable added.
40996 (grubof_symlist.c): New target.
40997 (kernel_syms.lst): Use `grubof_HEADERS' instead of
40998 `kernel_img_HEADERS'.
40999 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
41000 * kern/powerpc/dl.c: New file.
41001 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
41002 Function removed.
41003 (grub_arch_dl_relocate_symbols): Likewise.
41004 (grub_register_exported_symbols): Likewise.
41005
4ceb3636 410062004-12-13 Marco Gerards <metgerards@student.han.nl>
41007
41008 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
41009 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
41010 to fail instead. Reported by Vincent Pelletier
41011 <subdino2004@yahoo.fr>.
41012
41013 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
41014 it is not allocated. Reported by Vincent Pelletier
41015 <subdino2004@yahoo.fr>.
41016
41017 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
41018 output so the output looks better.
f19dbdb7 41019
3f1578fe 410202004-12-04 Marco Gerards <metgerards@student.han.nl>
41021
41022 Modulize the partition map support and add support for the amiga
41023 partition map.
f19dbdb7 41024
3f1578fe 41025 * commands/ls.c: Include <grub/partition.h> instead of
41026 <grub/machine/partition.h>.
41027 * kern/disk.c: Likewise.
41028 * kern/rescue.c: Likewise.
41029 * loader/i386/pc/chainloader.c: Likewise.
41030 * normal/cmdline.c: Likewise.
41031 * kern/powerpc/ieee1275/init.c: Likewise.
41032 (grub_machine_init): Call `grub_pc_partition_map_init',
41033 `grub_amiga_partition_map_init' and
41034 `grub_apple_partition_map_init'.
41035 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
41036 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
41037 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
41038 `partition.h' and `pc_partition.h'.
41039 (grub_setup_SOURCES): Remove
41040 `disk/i386/pc/partition.c'. Add `kern/partition.c',
41041 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
41042 (grub_emu_SOURCES): Likewise.
41043 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
41044 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
41045 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
41046 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
41047 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
41048 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
41049 (grubof_SOURCES): Likewise.
41050 * disk/i386/pc/partition.c: File removed.
41051 * disk/powerpc/ieee1275/partition.c: Likewise.
41052 * include/grub/powerpc/ieee1275/partition.h: Likewise.
41053 * include/grub/i386/pc/partition.h: Likewise.
41054 * kern/partition.c: New file.
41055 * partmap/amiga.c: Likewise.
41056 * partmap/apple.c: Likewise.
41057 * partmap/pc.c: Likewise.
41058 * include/grub/partition.h: Likewise..
41059 * include/grub/pc_partition.h: Likewise.
41060 * util/grub-emu.c: Include <grub/partition.h> instead of
41061 <grub/machine/partition.h>.
41062 (main): Call `grub_pc_partition_map_init',
41063 `grub_amiga_partition_map_init' and
41064 `grub_apple_partition_map_init' and deinitialize afterwards.
41065 * util/i386/pc/biosdisk.c: Include `#include
41066 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
41067 `<grub/machine/partition.h>'.
41068 * util/i386/pc/grub-setup.c: Likewise.
41069 * util/i386/pc/biosdisk.c: Likewise.
41070 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
41071 partition information in case of a PC partition.
41072 * util/i386/pc/grub-setup.c: Include `#include
41073 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
41074 `<grub/machine/partition.h>'.
41075 (setup): Only access the PC specific partition information in case
41076 of a PC partition.
41077
0ef4ced9 410782004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 41079
0ef4ced9 41080 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
41081 (grub_longjmp): Likewise.
41082 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
41083 20.
41084 * normal/powerpc/setjmp.S: New file.
41085 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
41086 `normal/powerpc/setjmp.S'.
41087 (grubof_CFLAGS): Add `-DGRUBOF'.
41088 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
41089 [GRUB_UTIL && !GRUBOF].
f19dbdb7 41090
19950e29 410912004-11-16 Marco Gerards <metgerards@student.han.nl>
41092
41093 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
41094 property named `name'. Correctly handle the error returned by
41095 `grub_ieee1275_finddevice' if a device can not be opened.
41096
a2fea427 410972004-11-02 Hollis Blanchard <hollis@penguinppc.org>
41098
41099 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
41100 `actual' for negativity.
41101 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
41102 kern/fshelp.c.
41103
41ea0ea3 411042004-11-01 Marco Gerards <metgerards@student.han.nl>
41105
41106 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
41107 (PAGE_OFFSET): New macro.
41108 (CRTC_ADDR_PORT): Likewise.
41109 (CRTC_DATA_PORT): Likewise.
41110 (START_ADDR_HIGH_REGISTER): Likewise.
41111 (START_ADDR_LOW_REGISTER): Likewise.
41112 (GRAPHICS_ADDR_PORT): Likewise.
41113 (GRAPHICS_DATA_PORT): Likewise.
41114 (READ_MAP_REGISTER): Likewise.
41115 (INPUT_STATUS1_REGISTER): Likewise.
41116 (INPUT_STATUS1_VERTR_BIT): Likewise.
41117 (page): New variable.
41118 (wait_vretrace): New function.
41119 (set_read_map): Likewise.
41120 (set_start_address): Likewise.
41121 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
41122 the right page.
41123 (check_vga_mem): Take the page into account.
41124 (write_char): Likewise.
41125 (write_cursor): Likewise.
41126 (scroll_up): Likewise. Copy the page to the page that is not
41127 shown and switch between both pages.
41128 (grub_vga_putchar): Fix off by one error.
41129 (grub_vga_cls): Wait for the vertical retrace. Take the page into
41130 account.
41131
ad0bd20b 411322004-11-01 Marco Gerards <metgerards@student.han.nl>
41133
41134 Add support for iso9660 (including rockridge).
f19dbdb7 41135
ad0bd20b 41136 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
41137 (iso9660_mod_SOURCES): New variable.
41138 (iso9660_mod_CFLAGS): Likewise.
41139 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
41140 * include/grub/fs.h (grub_iso9660_init): New prototype.
41141 * util/grub-emu.c (main): Call `grub_iso9660_init'.
41142 * fs/iso9660.c: New file.
41143
41144 * include/grub/misc.h (grub_strncat): New prototype.
41145 * kern/misc.c (grub_strncat): New function.
f19dbdb7 41146
ad0bd20b 41147 * fs/hfs.c (grub_hfs_mount): Translate the error
41148 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
41149 * fs/jfs.c (grub_jfs_mount): Likewise.
41150 * fs/ufs.c (grub_ufs_mount): Likewise.
41151
a5477a59 411522004-10-28 Hollis Blanchard <hollis@penguinppc.org>
41153
41154 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
41155 which initialized BAT registers.
41156 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
41157 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
41158 Move from here...
41159 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
41160 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
41161 ... to here.
41162 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
41163 (grub_mapclaim): Likewise.
41164 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
41165 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
41166 hand.
41167
9304c1f8 411682004-10-19 Hollis Blanchard <hollis@penguinppc.org>
41169
41170 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
41171 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
41172 -ffreestanding and -msoft-float.
41173
86f4ae25 411742004-10-15 Hollis Blanchard <hollis@penguinppc.org>
41175
41176 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
41177 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
41178 set in grub_ieee1275_flags.
41179
38912228 411802004-10-14 Hollis Blanchard <hollis@penguinppc.org>
41181
41182 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
41183 prototype.
41184 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
41185 grub_console_init first.
41186 Change the memory range used for grub_ieee1275_claim and
41187 grub_mm_init_region.
41188 Print an error message if the claim fails.
41189 Include <grub/misc.h>.
41190
d1923dc8 411912004-10-13 Hollis Blanchard <hollis@penguinppc.org>
41192
41193 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
41194 Call grub_children_iterate for device nodes of type `scsi',
41195 `ide', or `ata'.
41196 (grub_ofdisk_open): Remove manual device alias resolution.
41197 Fix memory leak when device cannot be opened.
f19dbdb7 41198 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 41199 (grub_children_iterate): New prototype.
41200 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
41201 New function.
41202 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
41203 Return -1 if args.size was -1.
41204
4512e4f3 412052004-10-11 Hollis Blanchard <hollis@penguinppc.org>
41206
41207 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
41208 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
41209 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
41210 Open Firmware's memory for it; claim memory from _start to _end.
41211 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
41212 (_end): New extern.
41213 (_start): Zero BSS from __bss_start to _end.
41214 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
41215 New extern.
41216 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
41217
4d61feb0 412182004-10-11 Hollis Blanchard <hollis@penguinppc.org>
41219
ad0bd20b 41220 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
41221 -1 if args.base was -1.
4d61feb0 41222
026fa2f9 412232004-10-08 Hollis Blanchard <hollis@penguinppc.org>
41224
41225 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
41226 escape sequence instead of a literal ^L. Also call
41227 grub_ofconsole_gotoxy.
41228
9f2220ef 412292004-10-03 Hollis Blanchard <hollis@penguinppc.org>
41230
41231 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
41232 void * arguments to grub_addr_t. All callers updated. Also make
41233 the `result' argument optional.
41234 (grub_ieee1275_release): change void * arguments to grub_addr_t.
41235 All callers updated.
41236
8a572cd7 412372004-09-22 Hollis Blanchard <hollis@penguinppc.org>
41238
41239 * commands/ls.c (grub_ls_list_files): Use the string following the
41240 initial ')', if present, as the filesystem path.
41241 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
41242
41243 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
41244
18aa81f2 412452004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
41246
41247 Make the source code of the menu interface more readable.
f19dbdb7 41248
18aa81f2 41249 * normal/menu.c: Include grub/mm.h.
41250 (TERM_WIDTH): New macro.
41251 (TERM_HEIGHT): Likewise.
41252 (TERM_INFO_HEIGHT): Likewise.
41253 (TERM_MARGIN): Likewise.
41254 (TERM_SCROLL_WIDTH): Likewise.
41255 (TERM_TOP_BORDER_Y): Likewise.
41256 (TERM_LEFT_BORDER_X): Likewise.
41257 (TERM_BORDER_WIDTH): Likewise.
41258 (TERM_MESSAGE_HEIGHT): Likewise.
41259 (TERM_BORDER_HEIGHT): Likewise.
41260 (TERM_NUM_ENTRIES): Likewise.
41261 (TERM_FIRST_ENTRY_Y): Likewise.
41262 (TERM_ENTRY_WIDTH): Likewise.
41263 (TERM_CURSOR_X): Likewise.
41264 (draw_border): Use macros instead of magic numbers.
41265 (print_entry): Likewise.
41266 (print_entries): Likewise.
41267 (run_menu): Likewise. Also, handle the key 'e'.
41268 (run_menu_entry): Ignore empty command lines.
41269 (print_message): Added a new argument EDIT. If EDIT is true,
41270 print a different message.
41271 (init_page): Likewise.
41272 (edit_menu_entry): New function. Not implemented yet.
41273
b47efe30 412742004-09-17 Marco Gerards <metgerards@student.han.nl>
41275
41276 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
41277 can be loaded from normal mode.
f19dbdb7 41278
b47efe30 41279 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
41280 `multiboot.mod'.
41281 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
41282 (multiboot_mod_CFLAGS): New variables.
41283 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 41284 * loader/i386/pc/multiboot_normal.c: Likewise.
41285
b47efe30 41286 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
41287 attribute `unused'.
f19dbdb7 41288
b47efe30 41289 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
41290 `fdiro' to read the mode information from instead of `diro'.
41291
41292 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
41293 looking up a symlink.
41294
41295 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
41296 macro.
41297 * normal/command.c (grub_command_execute): Don't parse the
41298 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
41299 flags of the command.
41300
41301 * normal/menu.c (grub_menu_run): Fix typo.
41302
da75ac71 413032004-09-14 Hollis Blanchard <hollis@penguinppc.org>
41304
41305 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
41306
41307 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
41308 `y + 1' instead of `y - 1'.
41309
41310 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 41311
062b24c2 413122004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
41313
41314 From Hollis Blanchard <hollis@penguinppc.org>:
41315 * kern/misc.c (memmove): New alias for grub_memmove.
41316 (memcmp): New alias for grub_memcmp.
41317 (memset): New alias for grub_memset.
f19dbdb7 41318 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 41319 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 41320 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 41321 (grub_ieee1275_get_property): Likewise.
f19dbdb7 41322
8ddad845 413232004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
41324
41325 Added normal mode command `chainloader' as module chain.mod, which
41326 depends on normal.mod and _chain.mod.
f19dbdb7 41327
8ddad845 41328 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
41329 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
41330 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
41331 Deleted prototype.
41332 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
41333 but arguments parsing moved to ...
41334 (grub_chainloader_cmd): ... here. New function.
41335 * include/grub/i386/pc/chainloader.h: New file.
41336 * loader/i386/pc/chainloader_normal.c: Likewise.
41337
2c1f4ce3 413382004-09-11 Marco Gerards <metgerards@student.han.nl>
41339
41340 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
41341 (grub_mkimage_LDFLAGS): Likewise.
41342 (grub_emu_SOURCES): Likewise.
41343 (kernel_img_HEADERS): Added fshelp.h.
41344 * fs/ext2.c: Include <grub/fshelp.h>.
41345 (FILETYPE_REG): New macro.
41346 (FILETYPE_INO_REG): Likewise.
41347 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
41348 Changed all users.
41349 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
41350 all users.
41351 (grub_fshelp_node): New struct.
41352 (grub_ext2_data): Added member `diropen'. Changed member `inode'
41353 to a pointer.
41354 (grub_ext2_get_file_block): Removed function.
41355 (grub_ext2_read_block): New function.
41356 (grub_ext2_read_file): Replaced parameter `data' by `node'.
41357 This function was written.
41358 (grub_ext2_mount): Read the root inode. Create a diropen struct.
41359 (grub_ext2_find_file): Removed function.
41360 (grub_ext2_read_symlink): New function.
41361 (grub_ext2_iterate_dir): Likewise.
41362 (grub_ext2_open): Rewritten.
41363 (grub_ext2_dir): Rewritten.
41364 * include/grub/fshelp.h: New file.
41365 * fs/fshelp.c: Likewise.
41366
3c52136a 413672004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
41368
41369 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
41370 (print_message): Add a missing newline.
41371 (run_menu): Added timeout support.
41372 (run_menu_entry): New local function.
41373 (grub_menu_run): Added support for booting.
41374
41375 * kern/loader.c (grub_loader_is_loaded): New function.
41376
41377 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
41378 (grub_get_rtc): Exported.
41379
41380 * include/grub/i386/pc/time.h: Include grub/symbol.h.
41381 (grub_get_rtc): Exported.
41382
41383 * include/grub/normal.h (struct grub_command_list): Remove
41384 constant from the member `command'.
41385
41386 * include/grub/loader.h (grub_loader_is_loaded): Declared.
41387
41388 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
41389
41390 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
41391
aa033560 413922004-08-28 Marco Gerards <metgerards@student.han.nl>
41393
41394 Add support for the JFS filesystem.
41395
41396 * fs/jfs.c: New file.
41397 * include/grub/fs.h (grub_jfs_init): New prototype.
41398 (grub_jfs_fini): New prototype.
41399 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
41400 (grub_emu_SOURCES): Likewise.
41401 (pkgdata_MODULES): Add jfs.mod.
41402 (jfs_mod_SOURCES): New variable.
41403 (jfs_mod_CFLAGS): Likewise.
41404 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
41405 (grubof_SOURCES): Likewise.
41406 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
41407
41408 * fs/fat.c (grub_fat_find_dir): Convert the filename little
41409 endian to the host endian.
41410 (grub_fat_utf16_to_utf8): Move function from there...
41411 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 41412 the endianness of the source string anymore.
aa033560 41413 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
41414
94bc45af 414152004-08-24 Marco Gerards <metgerards@student.han.nl>
41416
41417 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
41418 (grub_boot_fini) [GRUB_UTIL]: Likewise.
41419 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
41420 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 41421
94bc45af 41422 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
41423 (grub_hfs_iterate_dir): Make the function static. Add prototypes
41424 for `node_found' and `it_dir'.
41425 (grub_hfs_dir): Add prototype for `dir_hook'.
41426
41427 * fs/minix.c (grub_minix_get_file_block): Add prototype for
41428 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
41429 and `indir32' to silence a gcc warning.
41430
41431 * include/grub/fs.h (grub_hfs_init): New prototype.
41432 (grub_hfs_fini): Likewise.
f19dbdb7 41433
41434
97543f08 414352004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
41436
41437 Each disk device has its own id now. This is useful to make use
41438 of multiple disk devices.
f19dbdb7 41439
97543f08 41440 * include/grub/disk.h (grub_disk_dev_id): New enum.
41441 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
41442 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
41443
41444 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
41445 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
41446
41447 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
41448 GRUB_DISK_DEVICE_OFDISK_ID as an id.
41449
41450 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
41451 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
41452
41453 * include/grub/disk.h (struct grub_disk_dev): Added a new member
41454 "id" which is used by the cache manager.
41455
41456 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
41457 of just "GRUB".
41458
64372eb4 414592004-08-18 Marco Gerards <metgerards@student.han.nl>
41460
41461 * fs/hfs.c: New file.
41462 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
41463 (grub_emu_SOURCES): Likewise.
41464 (pkgdata_MODULES): Add hfs.mod.
41465 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
41466 (grubof_SOURCES): Likewise.
41467 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
41468
41469 * include/grub/misc.h (grub_strncasecmp): Add prototype.
41470 * kern/misc.c (grub_strncasecmp): Add function.
41471
cc61b58f 414722004-08-14 Marco Gerards <metgerards@student.han.nl>
41473
41474 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
41475 with parentheses.
41476
41477 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
41478 (grub_ext2_dir): In case the directory entry type is unknown, read
41479 it from the inode.
41480
0ef123f6 414812004-08-02 Peter Bruin <pjbruin@dds.nl>
41482
41483 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
41484 grub_load_linux instead of grub_rescue_cmd_linux as second
41485 argument of grub_rescue_register_command.
41486
41487 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
41488
a447c5df 414892004-07-27 Marco Gerards <metgerards@student.han.nl>
41490
41491 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
41492 function.
41493 * commands/boot.c: Remove the check for `GRUB_UTIL'.
41494 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
41495 `loader/powerpc/ieee1275/linux.c',
41496 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
41497 * include/grub/powerpc/ieee1275/ieee1275.h
41498 (grub_ieee1275_release): New prototype.
41499 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
41500 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
41501 normal, boot, linux and linux_normal.
41502 * loader/powerpc/ieee1275/linux.c: New file.
41503 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
41504
5a9e3546 415052004-07-12 Marco Gerards <metgerards@student.han.nl>
41506
41507 * normal/arg.c (grub_arg_parse): Correct error handling after
41508 reallocating the argumentlist (check if `argl' is not null instead
41509 of checking if `args' is not null).
41510 * kern/mm.c (grub_realloc): Return the same pointer when using the
41511 same region, instead of returning the header address.
41512
e15199cb 415132004-07-11 Marco Gerards <metgerards@student.han.nl>
41514
41515 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
41516 one block instead of two when looking for the initial partition.
41517 (grub_partition_probe): Initialize the local variable `p' with 0.
41518 Use base 10 for the grub_strtoul call.
41519 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
41520 need for one local variable.
41521 (grub_strtoul): Don't add the new value to `num', instead of that
41522 just assign it.
41523
020616c2 415242004-07-11 Marco Gerards <metgerards@student.han.nl>
41525
41526 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
41527 (pxeboot_img_SOURCES): New variable.
41528 (pxeboot_img_ASFLAGS): Likewise.
41529 (pxeboot_img_LDFLAGS): Likewise.
41530 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
41531 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
41532 <lode_leroy@hotmail.com>.
41533
6c51eb64 415342004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41535
41536 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
41537 there was no input.
41538
cfb12aff 415392004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41540
41541 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
41542 the history buffer logic.
41543
6eabba74 415442004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41545
41546 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
41547 (FILETYPE_INO_SYMLINK): New macros.
41548 (grub_ext2_find_file): Check if the node is a directory using the
41549 inode stat information instead of using the filetype in the
41550 dirent. Exclude the first character of an absolute symlink.
41551 (grub_ext2_dir): Mask out the filetype part of the mode member of
41552 the inode.
41553
66e19ef8 415542004-05-24 Marco Gerards <metgerards@student.han.nl>
41555
41556 Add support for UFS version 1 and 2. Add support for the minix
41557 filesystem version 1 and 2, both the variants with 14 and 30 long
41558 filenames.
f19dbdb7 41559
66e19ef8 41560 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
41561 fs/minix.c.
41562 (grub_emu_SOURCES): Likewise.
41563 (pkgdata_MODULES): Add ufs.mod and minix.mod.
41564 (ufs_mod_SOURCES): New variable.
41565 (ufs_mod_CFLAGS): Likewise.
41566 (minix_mod_SOURCES): Likewise.
41567 (minix_mod_CFLAGS): Likewise.
41568 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
41569 fs/minix.c.
41570 (grubof_SOURCES): Likewise.
41571 * fs/ufs.c: New file.
41572 * fs/minix.c: New file.
41573 * include/grub/fs.h (grub_ufs_init): New prototype.
41574 (grub_ufs_fini): Likewise.
41575 (grub_minix_init): Likewise.
41576 (grub_minix_fini): Likewise.
41577 * util/grub-emu.c (main): Initialize and deinitialize UFS and
41578 minix fs.
41579
cc2e748a 415802004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
41581
41582 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
41583 commands/ls.c, commands/terminal.c, commands/boot.c,
41584 commands/cmp.c and commands/cat.c.
41585 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
41586
41587 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
41588 "env.h"
41589
4b13b216 415902004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
41591
41592 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
41593 and grub_, respectively. Because the conversion is trivial and
41594 mechanical, I omit the details here. Please refer to the CVS
41595 if you need more information.
41596
6a142551 415972004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
41598
41599 * include/pupa: Renamed to ...
41600 * include/grub: ... this.
41601 * util/i386/pc/pupa-mkimage.c: Renamed to ...
41602 * util/i386/pc/grub-mkimage.c: ... this.
41603 * util/i386/pc/pupa-setup.c: Renamed to ...
41604 * util/i386/pc/grub-setup.c: ... this.
41605 * util/pupa-emu.c: Renamed to ...
41606 * util/grub-emu.c: ... this.
41607
e56cdf21 416082004-03-29 Marco Gerards <metgerards@student.han.nl>
41609
41610 Add support for the newworld apple macintosh (PPC). This has been
41611 tested on the powerbook 2000 only. It only adds support for
41612 generic ieee1275 functions, console and disk support. This should
41613 be easy to port to other architectures with support for Open
41614 Firmware.
f19dbdb7 41615
e56cdf21 41616 * configure.ac: Accept the powerpc as host_cpu. In the case of
41617 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
41618 specific tests are only executed while building for the i386.
41619 Inverse test for crosscompile.
41620 * genmk.rb (Utility): Allow assembler files.
41621 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
41622 * conf/powerpc-ieee1275.rmk: New file.
41623 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
41624 * disk/powerpc/ieee1275/partition.c: Likewise.
41625 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
41626 * include/pupa/powerpc/ieee1275/console.h: Likewise.
41627 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
41628 * include/pupa/powerpc/ieee1275/time.h: Likewise.
41629 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
41630 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
41631 * include/pupa/powerpc/ieee1275/loader.h
41632 * include/pupa/powerpc/setjmp.h: Likewise.
41633 * include/pupa/powerpc/types.h: Likewise.
41634 * kern/powerpc/ieee1275/init.c: Likewise.
41635 * kern/powerpc/ieee1275/openfw.c: Likewise.
41636 * term/powerpc/ieee1275/ofconsole.c: Likewise.
41637
41638 These files were written by Johan Rydberg
41639 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 41640
e56cdf21 41641 * boot/powerpc/ieee1275/cmain.c: New file.
41642 * boot/powerpc/ieee1275/crt0.S: Likewise.
41643 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
41644 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
41645
8c8cc205 416462004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
41647
41648 * Makefile.in: Update copyright.
41649 * genmodsrc.sh: Likewise.
41650 * gensymlist.sh: Likewise.
41651 * term/i386/pc/vga.c: Indent correctly.
41652
41653 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
41654 bugreporting address.
41655 * util/i386/pc/pupa-setup.c (usage): Likewise,
41656 (main): Call pupa_ext2_init and pupa_ext2_fini.
41657
f19dbdb7 41658 * fs/fat.c (log2): Renamed to ...
8c8cc205 41659 (fat_log2): ... this.
41660 All callers changed.
41661 * kern/misc.c (memcpy): Alias to pupa_memmove.
41662 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
41663 lvalue cast.
41664 * util/console.c (pupa_ncurses_fini): Return 0.
41665
41666 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
41667 Move fail label here.
41668 [__GNU__]: Don't warn when using stat.
41669 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
41670 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
41671 long int. Use strtol instead of strtoul.
f19dbdb7 41672
db1771cf 416732004-03-14 Marco Gerards <metgerards@student.han.nl>
41674
41675 * commands/boot.c: New file.
41676 * commands/cat.c: Likewise.
41677 * commands/cmp.c: Likewise.
41678 * commands/ls.c: Likewise.
41679 * commands/terminal.c: Likewise.
41680 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
41681 (pupa_register_command): Changed interface to match the new
41682 argument parser.
41683 (pupa_command_execute): Changed (almost rewritten) so it uses
41684 pupa_split_command. Added support for setting variables using the
41685 syntax `foo=bar'.
41686 (rescue_command): Changed to work with the new argument parser.
41687 (terminal_command): Moved from here to commands/terminal.c.
41688 (set_command): New function.
41689 (unset_command): New function.
41690 (insmod_command): New function.
41691 (rmmod_command): New function.
41692 (lsmod_command): New function.
41693 (pupa_command_init): Don't initialize the command terminal
41694 anymore. Initialize the commands set, unset, insmod, rmmod and
41695 lsmod.
41696 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
41697 (kernel_img_HEADERS): Add arg.h and env.h.
41698 (pupa_mkimage_LDFLAGS): Add kern/env.c.
41699 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
41700 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
41701 normal/arg.c.
41702 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
41703 terminal.mod.
41704 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
41705 (boot_mod_SOURCES): New variable.
41706 (terminal_mod_SOURCES): Likewise.
41707 (ls_mod_SOURCES): Likewise.
41708 (cmp_mod_SOURCES): Likewise.
41709 (cat_mod_SOURCES): Likewise.
41710
41711 * normal/arg.c: New file.
41712 * kern/env.c: Likewise.
41713 * include/pupa/arg.h: Likewise.
41714 * include/pupa/env.h: Likewise.
41715 * font/manager.c (font_command): Changed to match argument parsing
41716 interface changes.
41717 (PUPA_MOD_INIT): Likewise.
41718 * hello/hello.c (pupa_cmd_hello): Likewise.
41719 (PUPA_MOD_INIT): Likewise.
41720 * include/pupa/disk.h: Include <pupa/device.h>.
41721 (pupa_print_partinfo): New prototype.
41722 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
41723 (pupa_dl_get_prefix): Likewise.
41724 * include/pupa/misc.h: Include <pupa/err.h>.
41725 (pupa_isgraph): New prototype.
41726 (pupa_isdigit): Likewise.
41727 (pupa_split_cmdline): Likewise.
41728 * include/pupa/normal.h: Include <pupa/arg.h>.
41729 (pupa_command): Changed the prototype of the member `func' to
41730 match the argument parsing interface. Added member `options'.
41731 (pupa_register_command): Updated to match function.
41732 (pupa_arg_parse): New prototype.
41733 (pupa_hello_init) [PUPA_UTIL]: New prototype.
41734 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
41735 (pupa_ls_init) [PUPA_UTIL]: Likewise.
41736 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
41737 (pupa_cat_init) [PUPA_UTIL]: Likewise.
41738 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
41739 (pupa_boot_init) [PUPA_UTIL]: Likewise.
41740 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
41741 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
41742 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
41743 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
41744 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
41745 * kern/disk.c: Include <pupa/file.h>.
41746 (pupa_print_partinfo): New function.
41747 * kern/dl.c: Include <pupa/env.h>.
41748 (pupa_dl_dir): Variable removed.
41749 (pupa_dl_load): Use the environment variable `prefix' instead of
41750 the variable pupa_dl_dir.
41751 (pupa_dl_set_prefix): Function removed.
41752 (pupa_dl_get_prefix): Likewise.
41753 * kern/i386/pc/init.c: Include <pupa/env.h>.
41754 (pupa_machine_init): Use the environment variable `prefix' instead of
41755 using pupa_dl_set_prefix to set the prefix.
41756 * kern/main.c: Include <pupa/env.h>.
41757 (pupa_set_root_dev): Use the environment variable `prefix' instead of
41758 using pupa_dl_get_prefix to get the prefix.
41759 * kern/misc.c: Include <pupa/env.h>.
41760 (pupa_isdigit): New function.
41761 (pupa_isgraph): Likewise.
41762 (pupa_ftoa): Likewise.
41763 (pupa_vsprintf): Added support for printing values of the type
41764 `double'. Make it possible to format variable output when using
41765 formatting like `%1.2%f'.
41766 (pupa_split_cmdline): New function.
41767 * kern/rescue.c: Include <pupa/env.h>.
41768 (next_word): Removed function.
41769 (pupa_rescue_cmd_prefix): Likewise.
41770 (pupa_rescue_cmd_set): New function.
41771 (pupa_rescue_cmd_unset): New function.
41772 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
41773 split the command line instead of splitting it here. Added
41774 support for setting variables using the syntax `foo=bar'. Don't
41775 initialize the prefix command anymore. Initialized the set and
41776 unset commands.
41777 * normal/cmdline.c: Include <pupa/env.h>.
41778 (pupa_tab_complete): Added prototypes for print_simple_completion,
41779 print_partition_completion, add_completion, iterate_commands,
41780 iterate_dev, iterate_part and iterate_dir. Moved code to print
41781 partition information from here to kern/disk.c.
fe6b695a 41782 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 41783 * normal/main.c: Include <pupa/env.h>.
41784 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
41785 instead of using pupa_dl_get_prefix to get the prefix.
41786 * term/i386/pc/vga.c: Include <pupa/arg.h>.
41787 (check_vga_mem): Cast pointers to `void *' to silence a gcc
41788 warning.
41789 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
41790 (pupa_vga_setcolor): Declare unused variables with `__attribute__
41791 ((unused))' to silence a gcc warning.
41792 (pupa_vga_setcolor): Likewise.
41793 (debug_command): Changed to match argument parsing
41794 interface changes.
41795 * util/pupa-emu.c: Include <pupa/env.h>.
41796 (options): Added 0's for unused fields to silence a gcc warning.
41797 (argp): Likewise.
41798 (main): Use the environment variable `prefix' instead of using
41799 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
41800 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
41801 and terminal.
41802
41803 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
41804 * util/misc.c: Include <malloc.h>.
41805 (pupa_malloc): Rewritten so errors are correctly reported.
41806 (pupa_realloc): Likewise.
41807 (pupa_memalign): Likewise.
41808 (pupa_mm_init_region): Declare unused variables with
41809 `__attribute__ ((unused))' to silence a gcc warning.
41810 * normal/i386/setjmp.S: Remove tab at the end of the file to
41811 silence a gcc warning.
41812 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
41813 variables with `__attribute__ ((unused))' to silence a gcc
41814 warning.
41815 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
41816 local variable i unsigned to silence a gcc warning.
41817
41818 * kern/term.c: Include <pupa/misc.h>.
41819 (pupa_more_lines): New variable.
41820 (pupa_more): Likewise.
41821 (pupa_putcode): When the pager is active pause at the end of every
41822 screen.
41823 (pupa_set_more): New function.
41824 * include/pupa/term.h (pupa_set_more): New prototype.
41825
41826
3b1139cb 418272004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
41828
41829 Now this project is GRUB 2 rather than PUPA. The location of
41830 the CVS repository was moved to GRUB's.
f19dbdb7 41831
3b1139cb 41832 * configure.ac: Use bug-grub as the reporting address.
41833 Use GRUB instead of PUPA.
41834 Change the version number to 1.90.
41835
8367695c 418362004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
41837
41838 * genkernsyms.sh: Updated copyright information.
41839 * genmk.rb: Likewise.
41840 * genmodsrc.sh: Likewise.
41841 * gensymlist.sh: Likewise.
41842 * boot/i386/pc/boot.S: Likewise.
41843 * boot/i386/pc/diskboot.S: Likewise.
41844 * disk/i386/pc/biosdisk.c: Likewise.
41845 * disk/i386/pc/partition.c: Likewise.
41846 * font/manager.c: Likewise.
41847 * fs/ext2.c: Likewise.
41848 * fs/fat.c: Likewise.
41849 * include/pupa/boot.h: Likewise.
41850 * include/pupa/device.h: Likewise.
41851 * include/pupa/disk.h: Likewise.
41852 * include/pupa/dl.h: Likewise.
41853 * include/pupa/elf.h: Likewise.
41854 * include/pupa/err.h: Likewise.
41855 * include/pupa/file.h: Likewise.
41856 * include/pupa/font.h: Likewise.
41857 * include/pupa/fs.h: Likewise.
41858 * include/pupa/kernel.h: Likewise.
41859 * include/pupa/loader.h: Likewise.
41860 * include/pupa/misc.h: Likewise.
41861 * include/pupa/mm.h: Likewise.
41862 * include/pupa/net.h: Likewise.
41863 * include/pupa/normal.h: Likewise.
41864 * include/pupa/rescue.h: Likewise.
41865 * include/pupa/setjmp.h: Likewise.
41866 * include/pupa/symbol.h: Likewise.
41867 * include/pupa/term.h: Likewise.
41868 * include/pupa/types.h: Likewise.
41869 * include/pupa/i386/setjmp.h: Likewise.
41870 * include/pupa/i386/types.h: Likewise.
41871 * include/pupa/i386/pc/biosdisk.h: Likewise.
41872 * include/pupa/i386/pc/boot.h: Likewise.
41873 * include/pupa/i386/pc/console.h: Likewise.
41874 * include/pupa/i386/pc/init.h: Likewise.
41875 * include/pupa/i386/pc/kernel.h: Likewise.
41876 * include/pupa/i386/pc/linux.h: Likewise.
41877 * include/pupa/i386/pc/loader.h: Likewise.
41878 * include/pupa/i386/pc/memory.h: Likewise.
41879 * include/pupa/i386/pc/multiboot.h: Likewise.
41880 * include/pupa/i386/pc/partition.h: Likewise.
41881 * include/pupa/i386/pc/time.h: Likewise.
41882 * include/pupa/i386/pc/vga.h: Likewise.
41883 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
41884 * include/pupa/util/getroot.h: Likewise.
41885 * include/pupa/util/misc.h: Likewise.
41886 * include/pupa/util/resolve.h: Likewise.
41887 * kern/device.c: Likewise.
41888 * kern/disk.c: Likewise.
41889 * kern/dl.c: Likewise.
41890 * kern/err.c: Likewise.
41891 * kern/file.c: Likewise.
41892 * kern/fs.c: Likewise.
41893 * kern/loader.c: Likewise.
41894 * kern/main.c: Likewise.
41895 * kern/misc.c: Likewise.
41896 * kern/mm.c: Likewise.
41897 * kern/rescue.c: Likewise.
41898 * kern/term.c: Likewise.
41899 * kern/i386/dl.c: Likewise.
41900 * kern/i386/pc/init.c: Likewise.
41901 * kern/i386/pc/lzo1x.S: Likewise.
41902 * kern/i386/pc/startup.S: Likewise.
41903 * loader/i386/pc/chainloader.c: Likewise.
41904 * loader/i386/pc/linux.c: Likewise.
41905 * loader/i386/pc/multiboot.c: Likewise.
41906 * normal/cmdline.c: Likewise.
41907 * normal/command.c: Likewise.
41908 * normal/main.c: Likewise.
41909 * normal/menu.c: Likewise.
41910 * normal/i386/setjmp.S: Likewise.
41911 * term/i386/pc/console.c: Likewise.
41912 * term/i386/pc/vga.c: Likewise.
41913 * util/console.c: Likewise.
41914 * util/genmoddep.c: Likewise.
41915 * util/misc.c: Likewise.
41916 * util/pupa-emu.c: Likewise.
41917 * util/resolve.c: Likewise.
41918 * util/unifont2pff.rb: Likewise.
41919 * util/i386/pc/biosdisk.c: Likewise.
41920 * util/i386/pc/getroot.c: Likewise.
41921 * util/i386/pc/pupa-mkimage.c: Likewise.
41922 * util/i386/pc/pupa-setup.c: Likewise.
41923
e6eced71 419242004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
41925
41926 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
41927 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
41928 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
41929 reading and reset it after reading.
41930 (pupa_ext2_close): Return PUPA_ERR_NONE.
41931
41932 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
41933 Correct value.
41934 (struct linux_kernel_header): Add kernel_version and
41935 initrd_addr_max.
41936 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
41937 pupa_file_read succeeds.
41938 (pupa_rescue_cmd_initrd): Implement.
41939
5aded270 419402003-12-03 Marco Gerards <metgerards@student.han.nl>
41941
41942 * fs/ext2.c (pupa_ext2_label): New function.
41943 (pupa_ext2_fs): Added label.
41944 * fs/fat.c (pupa_fat_label): New function.
41945 (pupa_fat_fs): Added label.
41946 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
41947
41948 * kern/misc.c (pupa_strndup): New function.
41949 * include/pupa/misc.h (pupa_strndup): New prototype.
41950
41951 * include/pupa/normal.h: Include <pupa/err.h>.
41952 (pupa_set_history): New prototype.
41953 (pupa_iterate_commands): New prototype.
41954 * normal/cmdline.c: Include <pupa/machine/partition.h>,
41955 <pupa/disk.h>, <pupa/file.h>.
41956 (hist_size): New variable.
41957 (hist_lines): Likewise.
41958 (hist_end): Likewise.
41959 (hist_used): Likewise.
41960 (pupa_set_history): New function.
41961 (pupa_history_get): Likewise.
41962 (pupa_history_add): Likewise.
41963 (pupa_history_replace): Likewise.
41964 (pupa_tab_complete): Likewise.
41965 (pupa_cmdline_run): Added tab completion and history buffer. Tab
41966 completion shows partitionnames while completing partitions, this
41967 feature was suggested by Jeff Bailey.
41968 * normal/command.c (pupa_iterate_commands): New function.
41969 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
41970 (pupa_normal_init): Initialize history buffer.
41971 (PUPA_MOD_INIT): Likewise.
41972 (pupa_normal_fini): Free the history buffer.
41973 (PUPA_MOD_FINI): Likewise.
41974
41975 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
41976 key.
41977
41978 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
41979 * configure.ac [i386]: Check for regparam bug.
41980 (NESTED_FUNC_ATTR) [! i386]: Defined.
41981
1f7315a3 419822003-11-17 Marco Gerards <metgerards@student.han.nl>
41983
41984 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
41985 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
41986 (pupa_emu_SOURCES): New variable.
41987 (pupa_emu_LDFLAGS): Likewise.
41988 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
41989 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
41990 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
41991 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
41992 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
41993 (pupa_jmp_buf): New typedef.
41994 (pupa_setjmp) [PUPA_UTIL]: New macro.
41995 (pupa_longjmp) [PUPA_UTIL]: Likewise.
41996 * include/pupa/term.h (struct pupa_term): New member `refresh'.
41997 (pupa_refresh): New prototype.
41998 * include/pupa/util/getroot.h: New file.
41999 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
42000 it.
42001 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
42002 (pupa_rescue_cmd_cat): Likewise.
42003 (pupa_rescue_cmd_ls): Likewise.
42004 (pupa_rescue_cmd_testload): Likewise.
42005 (pupa_rescue_cmd_lsmod): Likewise.
42006 * normal/cmdline.c (pupa_cmdline_get): Likewise.
42007 * normal/menu.c (run_menu): Likewise.
42008 * kern/term.c (pupa_cls): Likewise.
42009 (pupa_refresh): New function.
42010 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
42011 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
42012 * util/console.c: New file.
f19dbdb7 42013
1f7315a3 42014 * util/i386/pc/getroot.c: New file.
42015 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
42016 (pupa_putchar): New function.
42017 (pupa_refresh): Likewise.
42018 (xgetcwd): Function moved to ...
42019 (strip_extra_slashes): Likewise.
42020 (get_prefix): Likewise.
f19dbdb7 42021 * util/i386/pc/getroot.c: ... here.
1f7315a3 42022 (find_root_device): Function moved and renamed to...
42023 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
42024 Changed all callers.
42025 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
42026 and renamed to...
42027 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
42028 Changed all callers.
42029 * util/misc.c (pupa_memalign): New function.
42030 (pupa_mm_init_region): Likewise.
42031 (pupa_register_exported_symbols): Likewise.
42032 (pupa_putchar): Function removed.
42033 * util/pupa-emu.c: New file.
42034
9a5c1ade 420352003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
42036
42037 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
42038 (_multiboot_mod_SOURCES): New variable.
42039 (_multiboot_mod_CFLAGS): Likewise.
42040 * loader/i386/pc/multiboot.c: New file.
42041 * include/pupa/i386/pc/multiboot.h: Likewise.
42042 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
42043 (pupa_multiboot_real_boot): New function.
42044 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
42045 (pupa_multiboot_real_boot): New prototype.
42046 (pupa_rescue_cmd_multiboot): Likewise
42047 (pupa_rescue_cmd_module): Likewise.
42048
42049 * kern/loader.c (pupa_loader_set): Continue when
42050 pupa_loader_unload_func() fails.
42051 (pupa_loader_unset): New function.
42052 * include/pupa/loader.h (pupa_loader_unset): New prototype.
42053
42054 * kern/misc.c (pupa_stpcpy): New function.
42055 * include/pupa/misc.h (pupa_stpcpy): New prototype.
42056
8e72a9c0 420572003-11-12 Marco Gerards <metgerards@student.han.nl>
42058
42059 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
42060 for available extensions.
42061
42062 * include/pupa/i386/pc/time.h: New file.
42063 * kern/disk.c: Include <pupa/machine/time.h>.
42064 (PUPA_CACHE_TIMEOUT): New macro.
42065 (pupa_last_time): New variable.
42066 (pupa_disk_open): Flush the cache when there was a timeout.
42067 (pupa_disk_close): Reset the timer.
42068 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
42069 pupa_currticks.
42070 * util/misc.c: Include <sys/times.h>
42071 (pupa_get_rtc): New function.
42072
c4adbd32 420732003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
42074
42075 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
42076 as blocks.
42077 (pupa_ext2_get_file_block): Use blocks member.
42078
42079 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
42080 first block. Return -1 instead of pupa_errno on error.
42081
bfd30f06 420822003-10-27 Marco Gerards <metgerards@student.han.nl>
42083
42084 * README: In the pupa-mkimage example use _chain instead of chain
42085 and ext2 instead of fat.
42086 * TODO: Replace ext2fs with jfs as an example. Add an item for
42087 adding journal playback for ext2fs.
42088 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
42089 (pkgdata_MODULES): Added ext2.mod.
42090 (ext2_mod_SOURCES): New variable.
42091 (ext2_mod_CFLAGS): Likewise.
42092 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
42093 * include/pupa/misc.h (pupa_strncpy): New prototype.
42094 (pupa_strcat): Likewise.
42095 (pupa_strncmp): Likewise.
42096 * kern/misc.c (pupa_strcat): Enable function.
42097 (pupa_strncpy): New function.
42098 (pupa_strncmp): Likewise.
42099 * fs/ext2.c: New file.
f19dbdb7 42100
bfd30f06 42101 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
42102 when the read failed before retrying.
42103 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
42104 (_FILE_OFFSET_BITS): Likewise.
42105 * configure.ac: Added AC_SYS_LARGEFILE.
42106
98d15063 421072003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
42108
42109 * genmk.rb (PModule#rule): Make sure to get only symbol names
42110 from the output of nm.
59cad637 42111 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 42112
18d9c7cd 421132003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
42114
42115 I forgot to check in these changes for a long time. This adds
42116 incomplete support for VGA console, and this is still very
42117 buggy. Also, a lot of consideration is required for I18N,
42118 UNICODE, and VGA font issues. Therefore, assume that this is
42119 such that "better than nothing".
f19dbdb7 42120
18d9c7cd 42121 * font/manager.c: New file.
42122 * include/pupa/font.h: Likewise.
42123 * include/pupa/i386/pc/vga.h: Likewise.
42124 * term/i386/pc/vga.c: Likewise.
42125 * util/unifont2pff.rb: Likewise.
42126
42127 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
42128 (pkgdata_MODULES): Added vga.mod and font.mod.
42129 (vga_mod_SOURCES): New variables.
42130 (vga_mod_CFLAGS): Likewise.
42131 (font_mod_SOURCES): Likewise.
42132 (font_mod_CFLAGS): Likewise.
42133
42134 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
42135
42136 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 42137 (struct pupa_term): Added init and fini.
18d9c7cd 42138 Changed the argument of putchar to pupa_uint32_t.
42139
42140 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
42141 (pupa_console_real_putchar): New prototype.
42142 (pupa_console_putchar): Removed.
42143 (pupa_console_checkkey): Exported.
42144 (pupa_console_getkey): Likewise.
42145
42146 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
42147 characters.
42148
42149 * kern/term.c (pupa_term_set_current): Rewritten.
42150 (pupa_putchar): Likewise.
42151 (pupa_putcode): New function.
42152
42153 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
42154 (pupa_console_real_putchar): ... this.
42155 (pupa_vga_set_mode): New function.
42156 (pupa_vga_get_font): Likewise.
42157
42158 * normal/command.c: Include pupa/term.h.
42159 (terminal_command): New function.
42160 (pupa_command_init): Register the command "terminal".
42161
42162 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
42163 (DISP_UP): Likewise.
42164 (DISP_RIGHT): Likewise.
42165 (DISP_DOWN): Likewise.
42166 (DISP_HLINE): Likewise.
42167 (DISP_VLINE): Likewise.
42168 (DISP_UL): Likewise.
42169 (DISP_UR): Likewise.
42170 (DISP_LL): Likewise.
42171 (DISP_LR): Likewise.
42172
42173 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 42174
977329f5 421752003-02-08 NIIBE Yutaka <gniibe@m17n.org>
42176
42177 * util/resolve.c (pupa_util_resolve_dependencies): BUG
42178 FIX. Reverse the path_list.
42179
42180 * include/pupa/normal.h: Export pupa_register_command and
42181 pupa_unregister_command.
42182
42183 * hello/hello.c (pupa_cmd_hello): New module.
42184 * conf/i386-pc.rmk: Added hello.mod.
42185
1f5ab428 421862003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
42187
42188 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 42189
1f5ab428 42190 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
42191 (compress_kernel): New variable.
42192 (generate_image): Heavily modified to support compressing a
42193 large part of the core image.
42194
42195 * util/misc.c (pupa_util_read_image): Fix a file descriptor
42196 leak.
42197 (pupa_util_load_image): New function.
42198
42199 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
42200 (pupa_compressed_size): New variable.
42201 (codestart): Enable Gate A20 here.
42202 Decompress the compressed part of the core image.
42203 Rearrange the code to put functions and variables which are
42204 required for initialization in the non-compressed part.
42205 Include lzo1x.S.
42206
42207 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
42208 here.
42209
42210 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
42211
f19dbdb7 42212 * include/pupa/i386/pc/kernel.h
1f5ab428 42213 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
42214 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
42215 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
42216 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
42217 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
42218
42219 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
42220
42221 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
42222 (Utility#rule): Likewise.
42223
42224 * configure.ac: Check if LZO is available.
42225
ce5bf700 422262003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
42227
42228 * include/pupa/normal.h: New file.
42229 * include/pupa/setjmp.h: Likewise.
42230 * include/pupa/i386/setjmp.h: Likewise.
42231 * normal/cmdline.c: Likewise.
42232 * normal/command.c: Likewise.
42233 * normal/main.c: Likewise.
42234 * normal/menu.c: Likewise.
42235 * normal/i386/setjmp.S: Likewise.
f19dbdb7 42236
ce5bf700 42237 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
42238 (pupa_rescue_cmd_initrd): Likewise.
42239
42240 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
42241 Likewise.
42242
42243 * kern/i386/pc/startup.S (translation_table): New variable.
42244 (translate_keycode): New function.
42245 (pupa_console_getkey): Call translate_keycode.
42246
42247 * kern/rescue.c (attempt_normal_mode): New function.
42248 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
42249 it failed, print a message.
42250
42251 * kern/mm.c (pupa_real_malloc): Print more information when a
42252 free magic is broken.
42253 (pupa_free): If the first free header is not free actually, set
42254 it to P.
42255
42256 * kern/main.c (pupa_load_normal_mode): Just load the module
42257 "normal".
42258 (pupa_main): Don't print the message
42259 "Entering into rescue mode..." here.
42260
42261 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
42262 Declared.
42263 (pupa_rescue_cmd_initrd): Likewise.
42264 (pupa_rescue_cmd_initrd): Likewise.
42265
42266 * include/pupa/symbol.h (FUNCTION): Specify the type.
42267 (VARIABLE): Likewise.
42268
42269 * include/pupa/err.h (pupa_err_t): Added
42270 PUPA_ERR_UNKNOWN_COMMAND.
42271
42272 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
42273 (pupa_dl_get_prefix): Likewise.
42274
42275 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
42276 Added _chain.mod and _linux.mod instead of chain.mod and
42277 linux.mod.
42278 (chain_mod_SOURCES): Renamed to ...
42279 (_chain_mod_SOURCES): ... this.
42280 (chain_mod_CFLAGS): Renamed to ...
42281 (_chain_mod_CFLAGS): ... this.
42282 (linux_mod_SOURCES): Renamed to ...
42283 (_linux_mod_SOURCES): ... this.
42284 (linux_mod_CFLAGS): Renamed to ...
42285 (_linux_mod_CFLAGS): ... this.
42286 (normal_mod_SOURCES): New variable.
42287 (normal_mod_CFLAGS): Likewise.
42288 (normal_mod_ASFLAGS): Likewise.
42289
422902003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
42291
42292 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
42293 possible.
42294
fe6b695a 42295 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 42296 recursively.
42297 (pupa_dl_unref): Unrefer depending modules recursively.
42298 Don't call pupa_dl_unload implicitly, because PUPA can crash if
42299 a module is unloaded before one depending on that module is
42300 unloaded.
42301 (pupa_dl_unload): Unload depending modules explicitly,
42302 if possible.
42303
c04da074 423042003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
42305
42306 * include/pupa/i386/pc/linux.h: New file.
42307 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 42308
c04da074 42309 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
42310 Removed.
42311 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
42312 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
42313 of PUPA_CHAINLOADER_BOOT_SECTOR.
42314
42315 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
42316 (pupa_linux_prot_size): New variable.
42317 (pupa_linux_tmp_addr): Likewise.
42318 (pupa_linux_real_addr): Likewise.
42319 (pupa_linux_boot_zimage): New function.
42320 (pupa_linux_boot_bzimage): Likewise.
42321
42322 * kern/i386/pc/init.c (struct mem_region): New structure.
42323 (MAX_REGIONS): New macro.
42324 (mem_regions): New variable.
42325 (num_regions): Likewise.
42326 (pupa_os_area_addr): Likewise.
42327 (pupa_os_area_size): Likewise.
42328 (pupa_lower_mem): Likewise.
42329 (pupa_upper_mem): Likewise.
42330 (add_mem_region): New function.
42331 (compact_mem_regions): Likewise.
42332 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
42333 the size of the conventional memory and that of so-called upper
42334 memory (before the first memory hole).
42335 Instead of adding each found region to free memory, use
42336 add_mem_region and add them after removing overlaps.
42337 Also, add only 1/4 of the upper memory to free memory. The rest
42338 is used for loading OS images. Maybe this is ad hoc, but this
42339 makes it much easier to relocate OS images when booting.
42340
42341 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
42342 (pupa_enter_rescue_mode): Don't register initrd and module.
42343
42344 * kern/mm.c: Include pupa/dl.h.
42345
42346 * kern/main.c: Include pupa/file.h and pupa/device.h.
42347
42348 * kern/loader.c (pupa_loader_load_module_func): Removed.
42349 (pupa_loader_load_module): Likewise.
42350
42351 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
42352 ``.o''.
42353
42354 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
42355 (pupa_linux_tmp_addr): Likewise.
42356 (pupa_linux_real_addr): Likewise.
42357 (pupa_linux_boot_zimage): Likewise.
42358 (pupa_linux_boot_bzimage): Likewise.
42359
42360 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
42361 (pupa_upper_mem): Likewise.
42362 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
42363 module is too dangerous.
42364
42365 * include/pupa/loader.h (pupa_os_area_addr): Declared.
42366 (pupa_os_area_size): Likewise.
42367 (pupa_loader_set): Remove the first argument. Loader doesn't
42368 manage modules or initrd any longer.
42369 (pupa_loader_load_module): Removed.
42370
42371 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
42372 (linux_mod_SOURCES): New variable.
42373 (linux_mod_CFLAGS): Likewise.
42374
a13f9237 423752003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
42376
42377 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
42378 the length of a blocklist correctly.
42379
42380 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
42381 Use ioctl only if the OS file is a block device.
42382 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
42383 not very useful for normal files.
42384
42385 * kern/main.c (pupa_set_root_dev): New function.
42386 (pupa_load_normal_mode): Likewise.
42387 (pupa_main): Call those above.
42388
42389 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
42390 pupa_uint16_t.
42391
42392 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
42393
a5ffe966 423942003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42395
42396 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
42397 (setup): Configure the installed partition information and the
42398 dl prefix.
42399
42400 * loader/i386/pc/chainloader.c (my_mod): New variable.
42401 (pupa_chainloader_unload): New function.
42402 (pupa_rescue_cmd_chainloader): Refer itself.
42403 (PUPA_MOD_INIT): Save its own module in MY_MOD.
42404
42405 * kern/i386/pc/startup.S (install_partition): Removed.
42406 (version_string): Likewise.
42407 (config_file): Likewise.
42408 (pupa_install_dos_part): New variable.
42409 (pupa_install_bsd_part): Likewise.
42410 (pupa_prefix): Likewise.
42411 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
42412
42413 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
42414 and pupa/misc.h.
42415 (make_install_device): New function.
42416 (pupa_machine_init): Set the dl prefix.
42417
42418 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
42419 (buf): Renamed to ...
42420 (linebuf): ... this.
42421 (pupa_rescue_cmd_prefix): New function.
42422 (pupa_rescue_cmd_insmod): Likewise.
42423 (pupa_rescue_cmd_rmmod): Likewise.
42424 (pupa_rescue_cmd_lsmod): Likewise.
42425 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
42426 rmmod and lsmod.
42427
42428 * kern/mm.c (pupa_memalign): If failed even after invalidating
42429 disk caches, unload unneeded modules and retry.
42430
42431 * kern/misc.c (pupa_memmove): New function.
42432 (pupa_memcpy): Removed.
42433 (pupa_strcpy): New function.
42434 (pupa_itoa): Made static.
42435
42436 * kern/dl.c (pupa_dl_iterate): New function.
42437 (pupa_dl_ref): Likewise.
42438 (pupa_dl_unref): Likewise.
42439 (pupa_dl_unload): Return if succeeded or not.
42440 (pupa_dl_unload_unneeded): New function.
42441 (pupa_dl_unload_all): Likewise.
42442 (pupa_dl_init): Renamed to ...
42443 (pupa_dl_set_prefix): ... this.
42444 (pupa_dl_get_prefix): New function.
42445
42446 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
42447 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
42448 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
42449 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
42450 (pupa_install_dos_part): Declared.
42451 (pupa_install_bsd_part): Likewise.
42452 (pupa_prefix): Likewise.
42453 (pupa_boot_drive): Likewise.
42454
42455 * include/pupa/types.h: Fix a typo.
42456
42457 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
42458 pupa_memmove.
42459 (pupa_memmove): Declared.
42460 (pupa_strcpy): Likewise.
42461
42462 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
42463 pupa_mod_init takes one argument, its own module.
42464 (pupa_dl_unload_unneeded): Declared.
42465 (pupa_dl_unload_all): Likewise.
42466 (pupa_dl_ref): Likewise.
42467 (pupa_dl_unref): Likewise.
42468 (pupa_dl_iterate): Likewise.
42469 (pupa_dl_init): Renamed to ...
42470 (pupa_dl_set_prefix): ... this.
42471 (pupa_dl_get_prefix): Declared.
42472
42473 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 42474 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 42475 unloaded.
42476 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
42477 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
42478
42479 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
42480 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
42481
012d7999 424822003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
42483
42484 * util/i386/pc/pupa-setup.c (setup): Define the internal
42485 function find_first_partition_start at the top level, because GCC
42486 3.0.x cannot compile internal functions in deeper scopes
42487 correctly.
42488 (find_root_device): Use lstat instead of stat.
42489 Don't follow symbolic links.
42490 Fix the path-constructing code.
42491
42492 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
42493 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
42494 by a BLKGETSIZE ioctl first, because block devices don't fill
42495 the member st_mode of the structure stat on Linux.
42496 [__linux__] (linux_find_partition): Use a temporary buffer
42497 REAL_DEV for the working space. Copy it to DEV before returning.
42498 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
42499 buffer cache consistent.
42500 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
42501 strncmp. The previous value was merely wrong.
42502 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
42503
42504 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
42505 FAT size is 12. The previous value was merely wrong.
42506
42507 * kern/main.c (pupa_main): Don't split the starting message from
42508 newlines.
42509
42510 * kern/term.c (pupa_putchar): Put CR after LF instead of before
42511 LF, because BIOS goes crazy about character attributes in this
42512 case.
42513
1cc73a62 425142003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
42515
42516 * include/i386/pc/util/biosdisk.h: New file.
42517 * util/i386/pc/biosdisk.c: Likewise.
42518 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 42519
1cc73a62 42520 * Makefile.in (INCLUDE_DISTFILES): Added
42521 include/pupa/i386/pc/util/biosdisk.h.
42522 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
42523 directory util/i386/pc.
42524 (install-local): Added a rule for sbin_UTILITIES.
42525 (uninstall): Likewise.
42526
42527 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
42528
42529 * util/misc.c (xrealloc): New function.
42530 (pupa_malloc): Likewise.
42531 (pupa_free): Likewise.
42532 (pupa_realloc): Likewise.
42533 (pupa_stop): Likewise.
42534 (pupa_putchar): Likewise.
42535
42536 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
42537
42538 * include/pupa/util/misc.h (xrealloc): Declared.
42539
42540 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
42541 macro.
42542 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
42543 (PUPA_BOOT_MACHINE_BPB_END): ... this.
42544
42545 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
42546 [PUPA_UTIL] (pupa_fat_fini): Likewise.
42547
42548 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
42549 way should be implemented.
42550 [PUPA_UTIL] (pupa_fat_fini): Likewise.
42551
42552 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
42553 the size of NAME for safety.
42554 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
42555 0x88.
42556
42557 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
42558 (pupa_setup_SOURCES): Likewise.
42559
42560 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
42561
08b70fe8 425622002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
42563
42564 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
42565 bunch of pushl's from pusha, because this destroys the return
42566 value.
42567
62ddcc8f 425682002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
42569
42570 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
42571 This means that any missing prototypes could be fatal. Also, you
42572 must take care when writing assembly code. See the comments at
42573 the beginning of startup.S, for more details.
f19dbdb7 42574
62ddcc8f 42575 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
42576 compilation mechanism.
42577 (pupa_chainloader_real_boot): Likewise.
42578 (pupa_biosdisk_rw_int13_extensions): Likewise.
42579 (pupa_biosdisk_rw_standard): Likewise.
42580 (pupa_biosdisk_check_int13_extensions): Likewise.
42581 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
42582 (pupa_biosdisk_get_diskinfo_standard): Likewise.
42583 (pupa_get_memsize): Likewise.
42584 (pupa_get_mmap_entry): Likewise.
42585 (pupa_console_putchar): Likewise.
42586 (pupa_console_setcursor): Likewise.
42587 (pupa_getrtsecs): Use pushl instead of push.
42588
42589 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
42590 memory instead of the stack for a mmap entry, because some
42591 BIOSes may ignore the maximum size and overflow.
42592
42593 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
42594
42595 * genmk.rb (PModule#rule): Compile automatically generated
42596 sources with module-specific CFLAGS as well as other sources.
42597
9962ed99 425982002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42599
42600 * configure.ac: Check ld.
42601 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
42602 respectively, before checking endianness and sizes.
42603
42604 * Makefile.in (LD): New variable.
f19dbdb7 42605
abdfc3c5 426062002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42607
42608 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
42609
6a161fa9 426102002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42611
42612 * Changelog: New file.
42613